В прошлой статье посвященной защите Вашей интеллектуальной собственности я показал Вам, как поставить пароль на открытие PDF файлов. Но сейчас я покажу каким образом можно обойти данную защиту или протестировать. В основе лежит принцип перебора пароля. Данный метод не является 100%’о успешным, чем сложнее пароль, тем бессмысленны попытки его подобрать, слишком много времени будет затрачено.
Полезно знать способы которыми могут воспользоваться не благожелательные пользователи. И так посмотрим, имеется ли искомая утилита в репозитариях Ubuntu 10.10.
keiz@ekz:~$ aptitude search pdfcrack
p pdfcrack – взлом защищённых паролем PDF
Запросим информацию по найденному пакету из репозитариев:
keiz@ekz:~$ aptitude show pdfcrack
Пакет: pdfcrack
Состояние: не установлен
Версия: 0.11-1
Приоритет: необязательный
Раздел: universe/utils
Сопровождающий: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Размер в распакованном виде: 98,3k
Зависимости: libc6 (>= 2.7)
Предлагает: pdf-viewer
Установим данный пакет в нашу систему:
keiz@ekz:~$ sudo aptitude install pdfcrack
[sudo] password for keiz:
Следующие НОВЫЕ пакеты будут установлены:
pdfcrack
0 пакетов обновлено, 1 установлено новых, 0 пакетов отмечено для удаления, и 7 пакетов не обновлено.
Необходимо получить 26,4kБ архивов. После распаковки 98,3kБ будет занято.
Получить:1 http://ru.archive.ubuntu.com/ubuntu/ maverick/universe pdfcrack amd64 0.11-1 [26,4kB]
Для эксперимента и проверки работы данной утилиты я подготовил на основе статьи pdf документ с паролем:
keiz@ekz:~/test_pdf$ pdftk 10-sposobov.pdf output pdf-password.pdf user_pw Aa1234567
pdf-password.pdf — запароленный на открытие pdf документа.
Базовый синтаксис работы, с запароленными файлами следующий:
pdfcrack -f filename.pdf [options]
Запустим процесс восстановления пароля:
keiz@ekz:~/test_pdf$ pdfcrack pdf-password.pdf
PDF version 1.4
Security Handler: Standard
V: 2
R: 3
P: -3904
Length: 128
Encrypted Metadata: True
FileID: 14ee432246429239e579b6971873e93b
U: 3a6e91db263c3256a2f81f515518224900000000000000000000000000000000
O: 762bd530c493d4c9ffec67f06d67b44220ec50fe86b02b290cbe929830397679
Average Speed: 31732.5 w/s. Current Word: ‘rfOb’
Average Speed: 31809.5 w/s. Current Word: ‘AKte’
Average Speed: 31834.3 w/s. Current Word: ‘In9g’
Average Speed: 31830.2 w/s. Current Word: ‘wZOj’
Average Speed: 31805.8 w/s. Current Word: ‘stum’ — как видите, получена первоначальная информация по pdf документу и начат процесс подбора пароля, но что-то он меня сильно огорчает. Судя по тому пароля который мы выставили — сломать его будет нереально.
Если прервать процесс, нажатием клавиш «Ctrl + C»
^CCaught signal 2!
Trying to save state…
Successfully saved state to savedstate.sav! – текущее состоянии подбора сохранится (файл savedstate.sav представляющий собой ASCII text в текущем каталоге) и мы сможем через некоторое время продолжить подбор… Данная функция удобна.
Чтобы продолжить с того места на котором приостановились используем ключ ‘-l’:
keiz@ekz:~/test_pdf$ pdfcrack -f pdf-password.pdf -l savedstate.sav
Loaded state for savedstate.sav
Чтобы увеличить вероятность подбора пароля, можно указать варианты использования определённых символов, это если хоть какие то имеются предпосылки полагать, какой возможный пароль:
keiz@ekz:~/test_pdf$ pdfcrack -f pdf-password.pdf -c aA1234567 — использовать комбинации на основе предполагаемых символов
PDF version 1.4
Security Handler: Standard
V: 2
R: 3
P: -3904
Length: 128
Encrypted Metadata: True
FileID: 14ee432246429239e579b6971873e93b
U: 3a6e91db263c3256a2f81f515518224900000000000000000000000000000000
O: 762bd530c493d4c9ffec67f06d67b44220ec50fe86b02b290cbe929830397679
Average Speed: 31717.3 w/s. Current Word: ’71a44aa’
Average Speed: 31811.0 w/s. Current Word: ‘a75321A’
^CCaught signal 2!
Trying to save state…
Successfully saved state to savedstate.sav!
Можно указать максимальную длину предполагаемого пароля:
keiz@ekz:~/test_pdf$ pdfcrack -f pdf-password.pdf -m 9
Можно указать минимальную длину предполагаемого пароля:
keiz@ekz:~/test_pdf$ pdfcrack -f pdf-password.pdf -n 8
Можно указать файл с готовыми словами которые будут использоваться в качестве пароля, чем больше и разнообразнее словарь — тем велика вероятность подбора:
keiz@ekz:~/test_pdf$ pdfcrack -f pdf-password.pdf -w password.lst — файл с паролями.
PDF version 1.4
Security Handler: Standard
V: 2
R: 3
P: -3904
Length: 128
Encrypted Metadata: True
FileID: 14ee432246429239e579b6971873e93b
U: 3a6e91db263c3256a2f81f515518224900000000000000000000000000000000
O: 762bd530c493d4c9ffec67f06d67b44220ec50fe86b02b290cbe929830397679
found user-password: ‘Aa1234567’ — Результат на лицо, в словаре нашлось искомое слово и пароль был успешно подобран.
В завершении скажу, устанавливая пароля на Ваш PDF-документ имейте ввиду, что выбранный вами парол уже может содержаться в различных словарях. Как сгенерировать устойчивый пароль ко взлому я уже рассписывал в своём блоге. Данный материал ни в коем случае не побуждает к подбору пароля, а всего лишь знакомит читателя со способами которые могут использовать против него самого. На этом всё, удачи!!!