Hashcat — это артефакт взрыва паролей и один из важнейших инструментов информационной безопасности. Настоящим я сохраняю эту статью для записи и резюме на случай чрезвычайной ситуации. Это также может помочь пользователям сети, которые прочитают эту статью.
Hashcat — самая быстрая в мире программа взлома паролей. Это распределенный инструмент с открытым исходным кодом, поддерживающий несколько платформ и несколько алгоритмов.
Официально: https://hashcat.net/hashcat/
Github:https://github.com/hashcat/hashcat
https://github.com/hashcat/hashcat/releases 下载最新版压缩包,解压根据自己的平台运行 hashcat64.exe 或者 hashcat32.exe
Укажите тип хэша, который необходимо взломать, за которым следует число, соответствующее типу хэша
Укажите используемый режим взлома, значение которого относится к параметрам, стоящим ниже:
- [ Attack Modes ] - # | режим ===+===== 0 | Прямой # Прямой взлом словаря 1 | комбинация # комбинация взломать 3 | Брут-форс # Маска Брут Крек 6 | Гибрид Список слов + Маска # Словарь + Взлом маски 7 | Hybrid Mask + Wordlist # Mask+dictionary crack
Включите режим инкрементного взлома, позвольте hashcat выполнять взлом в пределах указанного диапазона длины пароля
Минимальная длина пароля, за которой следует напрямую равное целому числу, настройте режим инкремента для использования вместе
Максимальная длина пароля, за которой следует напрямую равное целому числу, настройте режим инкремента для использования вместе
игнорируйте
--outfile Указывает хеш после успешного взлома и место хранения соответствующего пароля открытого текста
--optimized-kernel-enable Включить оптимизированное ядро (ограничить длину пароля)
--opencl-devices Указывает устройства opencl. Список устройств, которые я поддерживаю здесь, следующий:
Код
* Устройство #1: Intel(R) Core(TM) i7-9750H ЦП @ 2,60 ГГц, пропущено. * Устройство #2: Intel(R) UHD Графика 630, 384/1536 МБ Распределяемая, 24MCU * УСТРОЙСТВО #3: AMD Radeon Pro 555X Compute Движок, 1024/4096 МБ Распределяемый, 12MCU
--opencl-device-types Укажите тип устройства opencl. Hashcat поддерживает следующие типы устройств:
bash
1 | CPU2 | GPU3 | FPGA, DSP, Сопроцессор
Обычно используемый -D 2 указывает взлом графического процессора
bash
? | Набор символов===+==
l | abcdefghijklmnopqrstuvwxyz # Строчные буквы А-Я
u | ABCDEFGHIJKLMNOPQRSTUVWXYZ # Заглавные буквы А-Я
d | 0123456789 # Цифры 0-9
h | 0123456789abcdef # Цифры + abcdef
В | 0123456789ABCDEF # Цифры + ABCDEF
с | ! "#$%&'()*+,-./:; <=>? @[\]^_`{|}~ # Специальные символы
а | ? Л? Ты? Д? s # Все символы, видимые на клавиатуре
b | 0 - 0xff #
bash
--custom-charset1 [chars] эквивалентен -1 --custom-charset2 [chars] эквивалентно -2 --custom-charset3 [символы] эквивалентно -3 --custom-charset4 [chars] эквивалентно -4
с использованием в маске? 1、? 2、? 3、? 4 для обозначения
Некоторые случаи:
bash
--custom-charset1 abcd123456! @-+
В данный момент? 1 означает abcd123456! @-+
bash
--custom-charset2 ? Л? d
В это время? 2 означает ? Л? d то есть ? h Цифры + строчные буквы:
bash
-3 abcdef -4 123456
В это время ? 3? 3? 3? 3? 4? 4? 4? 4 означает, что первые четыре цифры могут быть abcdef, а последние четыре цифры могут быть 123456
код
1q2w3e4r` Значение MD5 составляет `5416d7cd6ef195a0f7622a9c56b55e84
bash
hashcat -a 0 -m 0 '5416d7cd6ef195a0f7622a9c56b55e84' hashpass.txt -o success.txt
Иногда при взломе появляется следующая подсказка:
Код
Информация: Все хэши найдены в потфайле! Use --show to display them.
Это показывает, что пароль был успешно взломан нами раньше, поэтому Hashcat больше не будет отображаться. Вы можете добавить параметры --show позже, чтобы отобразить пароль:
bash
hashcat -a 0 -m 0 'cbc8f5435c87e13c5d14e6ce92358d68' hashpass.txt --Показать cbc8f5435c87e13c5d14e6ce92358d68:123456@abc
hashcat хранит успешно взломанный файл с паролем: ~/.hashcat/hashcat.potfile
Если вы хотите отобразить взломанный пароль напрямую, вы можете напрямую удалить файл.
bash
bash
hashcat -a 1 -m 0 '5416d7cd6ef195a0f7622a9c56b55e84' hashpass1.txt hashpass1.txt
bash
echo -n admin888 |openssl MD5 7fef6171469e80d32c0559f88b377245
Взлом значения MD5 для admin888 :
bash
hashcat -a 6 -m 0 '7fef6171469e80d32c0559f88b377245' hashpass.txt -O
bash
hashcat -a 7 -m 0 '7fef6171469e80d32c0559f88b377245' 'admi? Л? Д? Д? d' hashpass.txt -O
Шифрование MD5 на 23323323 :
bash
$ echo -n 23323323 |openssl MD5 5a745e31dbbd93f4c86d1ef82281688b
Используйте hashcat для взлома:
bash
hashcat -a 3 -m 0 --force '5a745e31dbbd93f4c86d1ef82281688b' '? Д? Д? Д? Д? Д? Д? Д? d' -O
bash
$ echo -n PassWord |openssl MD5 a9d402bfcde5792a8b531b3a82669585
Используйте hashcat для взлома:
bash
hashcat -a 3 -m 0 -1 '? Л? u' --force 'a9d402bfcde5792a8b531b3a82669585' '? 1? 1? 1? 1? 1? 1? 1? 1' -O
Здесь определено пользовательское правило -1. В это время ? 1 означает ? Л? u, то есть прописные и строчные буквы.
Admin88 Значение MD5 2792e40d60bac94b4b163b93566e65a9
bash
hashcat -a 3 -m 0 -1 '? Л? Ты? d' --force '2792e40d60bac94b4b163b93566e65a9' --increment --increment-min 5 --increment-max 7 '? 1? 1? 1? 1? 1? 1? 1' -O
Здесь определено пользовательское правило -1. В это время ? 1 означает ? Л? Ты? d, то есть прописные и строчные буквы + цифры.
admin23323 Значение MD5 a9991129897a44e0d1c2855c3d7dccc4
bash
hashcat -a 3 -m 0 -1 '? Л? Ты? d' --force 'a9991129897a44e0d1c2855c3d7dccc4' 'Админ? 1? 1? 1? 1? 1' -O
Просмотр пароля для MySQL:
mysql
mysql> select Password from mysql.user; +-------------------------------------------+ | Пароль | +-------------------------------------------+ | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | +-------------------------------------------+ 4 rows in set (0.00 сек)
Затем начните использовать словарь для взлома:
bash
hashcat -a 0 -m 300 --force '81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' hashpass.txt -O
Просмотр файла пароля /etc/shadow :
bash
root@kali-linux:~# cat /etc/shadowroot:$6$4ojiBMDPrehqrLkX$d2T7Cn8LKkLk4SDXgCh1IEqjhnsUekXaNUXSxiZIwUTndSqyd.9sEcu80sX9DuEHGmHOeoMev2O0ACYtjMett1:18201:0:999999:7::: Демон:*:18024:0:99999:7::: Бин:*:18024:0:99999:7::: СИС:*:18024:0:99999:7::: Синхронизация:*:18024:0:99999:7::: Игры:*:18024:0:99999:7::: Мужчина:*:18024:0:99999:7::: ЛП:*:18024:0:99999:7::: Почта:*:18024:0:99999:7::: Новости:*:18024:0:99999:7::: УУКП:*:18024:0:99999:7::: Прокси:*:18024:0:99999:7::: www-данные:*:18024:0:99999:7::: Резервное копирование:*:18024:0:99999:7::: Список:*:18024:0:99999:7::: irc:*:18024:0:99999:7::: Комары:*:18024:0:99999:7::: нике:*:18024:0:99999:7::: _apt:*:18024:0:99999:7::: systemd-timesync:*:18024:0:99999:7::: systemd-сеть:*:18024:0:99999:7::: systemd-resolve:*:18024:0:99999:7::: mysql:!: 18024:0:99999:7::: НТП:*:18024:0:99999:7::: messagebus:*:18024:0:99999:7::: arpwatch:!: 18024:0:99999:7::: Дебиан-эксим:!: 18024:0:99999:7::: УУИДД:*:18024:0:99999:7::: Красные носки:!: 18024:0:99999:7::: ЦС:*:18024:0:99999:7::: rwhod:*:18024:0:99999:7::: Йодин:*:18024:0:99999:7::: Миредо:*:18024:0:99999:7::: dnsmasq:*:18024:0:99999:7::: Постгресс:*:18024:0:99999:7::: usbmux:*:18024:0:99999:7::: rtkit:*:18024:0:99999:7::: stunnel4:!: 18024:0:99999:7::: sshd:*:18024:0:99999:7::: Debian-snmp:!: 18024:0:99999:7::: ССЛХ:!: 18024:0:99999:7::: Импульс:*:18024:0:99999:7::: Речь-диспетчер:!: 18024:0:99999:7::: Авахи:*:18024:0:99999:7::: Санед:*:18024:0:99999:7::: Инецим:*:18024:0:99999:7::: Цвет:*:18024:0:99999:7::: Геоклю:*:18024:0:99999:7::: Кинг-Фишер:*:18024:0:99999:7::: Debian-gdm:*:18024:0:99999:7::: Драдис:*:18024:0:99999:7::: Говядина-xss:*:18024:0:99999:7::: systemd-coredump:!!: 18082:
Вы можете видеть, что root имеет пароль. Ранее использовался метод шифрования поверхностного хэша $6 : sha512crypt $6$, SHA512 (Unix).
bash
# Маска взлома корневого пароля Не записывает успешный взлом в potfile hash Укажите устройство 2 (дисплей ядра) для запуска пароля и включите оптимизацию hashcat -a 3 -m 1800 --force '$6$4ojiBMDPrehqrLkX$d2T7Cn8LKkLk4SDXgCh1IEqjhnsUekXaNUXSxiZIwUTndSqyd.9sEcu80sX9DuEHGmHOeoMev2O0ACYtjMett1' '? Л? Л? Л? l' -O -d 2 --potfile-disable# Маска взломать корневой пароль Игнорировать имя пользователя Не записывать успешный взлом в potfile hash Укажите устройство 2 (основной дисплей) для запуска пароля и включения оптимизации hashcat -a 3 -m 1800 --force 'root:$6$4ojiBMDPrehqrLkX$d2T7Cn8LKkLk4SDXgCh1IEqjhnsUekXaNUXSxiZIwUTndSqyd.9sEcu80sX9DuEHGmHOeoMev2O0ACYtjMett1' '? Л? Л? Л? l' -O -d 2 --username --potfile-disable
ЦП и независимая графика, которые поставляются с macOS, не могут быть взломаны. Здесь сам Гуогуан вручную переключился между -d 2 и использовал основной дисплей, прежде чем успешно запустить:
bash
hashcat -a 0 -m 3000 --force '921988ba001dc8e14a3b108f3fa6cb6d' password.txt
bash
| Параметры | Тип | Описание | Понимание Кунагуана | Пример |
|---|---|---|---|---|
| –brain-server | Включить brain server | Включить главный сервер | ||
| -z, –brain-client | Включить brain client, активирует -S | Включить распределенный клиент | ||
| –brain-client-features | Num | Определите функции клиента мозга, см. ниже | Определение функциональности клиента | –brain-client-features=3 |
| –brain-host | Str | Хост сервера мозга (IP или домен) | IP или домен главного сервера | –brain-host=127.0.0.1 |
| –порт мозга | порт | порт сервера мозга | порт основного сервера | –порт мозга=13743 |
| –пароль мозга | Str | пароль аутентификации сервера мозга | <17x1 7> Пароль аутентификации для главного сервера | –brain-password=e8acfc7280c48009 |
| –brain-session | Hex | Переопределяет автоматически рассчитанный сеанс мозга | Автоматическая перезапись уже рассчитанных основных сеансов | –brain-session=0x2ae611db |
| –brain-session-whitelist | Hex | Разрешить только заданные сеансы, разделенные запятыми | Разрешены только данные разговоры, разделенные запятыми | –brain-session-whitelist=0x2ae611db |
bash
- [ brain Client Features ] - # | Features
===+==
1 | Отправить Хешированные Пароли # Отправить взломанный пароль
2 | Отправить Атаку Позиции # Отправить взломанное местоположение
3 | Send hashed passwords and attack positions # Send hashed passwords and attack positions