Словари для aircrack -ng и не только
Содержание:
- Как пользоваться Aircrack-ng для взлома WPA
- Использование сгенерированных в Hashcat паролей в Aircrack-ng
- Преимущества использования Pyrit
- Подбор пароля Wi-Fi утилитой aircrack-ng
- Списки слов от Metasploit
- Какая техника взлома WiFi самая быстрая?
- С телефона
- Словари для aircrack – составьте сами.
- Словарь с паролями в которых хотя бы одна большая и маленькая буква и цифра
- Словари DirBuster
- Самый быстрый взлом WPA/WPA2 паролей
- WPS
- Подборка словарей с сайта WirelessHack.org [Словари для взлома Wi-Fi]
- Подробности об атаке
Как пользоваться Aircrack-ng для взлома WPA
Дальше рассмотрим как пользоваться aircrack-ng. Если программа еще не установлена на вашем компьютере, то в Linux вы можете скачать ее из официальных репозиториев. В Ubuntu:
А в Red Hat / CentOS:
Windows вам придется загрузить установщик из официального сайта. После установки первым делом нужно сделать чтобы нам ничего не мешало. Для этого отключите все сервисы, которые управляют Wifi и тем более отключитесь от Wifi сети, если вы к ней подключены. Если запущен NetworkManager, его нужно отключить:
Я предполагаю, что у вас уже установлены все необходимые драйвера и вы готовы к работе. Сначала смотрим подключенные к системе интерфейсы:
Обычно имя беспроводного интерфейса начинается на w, например, wlp3s0 или wlan0. У меня это wlp3s0b1. Нам нужно перевести сетевой интерфейс WiFi в режим мониторинга. В этом режиме он может захватывать все пакеты, которые летают в сети и даже если ему они не адресованы ему. Вообще, интерфейс и так захватывает все пакеты, но на программном уровне все пакеты, которые не адресованы этому компьютеру отсеиваются, теперь они не будут отсеиваться. Дальше идет инструкция Aircrack-ng.
Для этого воспользуемся утилитой airmon-ng. Ей нужно передать команду start и имя интерфейса:
После этого будет создан виртуальный интерфейс, который работает в режиме монитора во второй колонке отображено его имя, у меня это wlp3s0b1mon, хотя часто он называется просто mon0. Если какие-либо программы будут мешать программа выдаст их имена и PID:
Их нужно завершить с помощью kill. Дальше нам нужно просканировать эфир и найти нашу сеть, которую мы собираемся тестировать. Для этого используйте команду airodump-ng. В параметрах ей нужно передать только интерфейс
Обратите внимание, что нужно передавать именно виртуальный интерфейс, который работает в режиме монитора:
Почти сразу же вы увидите свою сеть, поскольку она расположена ближе всех. У меня это MyPublicWifi423. Из предоставляемой информации нам понадобится ее BSSID и канал, который можно найти в колонке CH. Дальше мы будем использовать ту же самую утилиту, только теперь нацелим ее именно на нашу сеть, чтобы она не отвлекалась на посторонние и поймала все что нам нужно.
Мы зададим канал с помощью опции -с и BSSID роутера с помощью опции —bssid, а также укажем с помощью опции -w куда нужно сохранить перехваченные пакеты для дальнейшей обработки:
Не закрывайте этот терминал, сейчас выполняется захват и как вы можете видеть к нашей сети подключено два пользователя. Их MAC адреса находятся в колонке STATION. Если сейчас один из них отключится и еще раз подключится, то мы получим необходимые для дальнейшего взлома данные.
Мы можем это сделать со своими устройствами, но в реальной сети у хакера не будет такой возможности, поэтому мы можем принудительно отключить клиента от сети с помощью утилиты aireplay. Если передать ей опцию deauth, то она разошлет широковещательное сообщение от имени маршрутизатора, в котором попросит всех отключиться от сети. Нам нужно только передать в параметрах количество пакетов, которые нужно отправить и BSSID роутера:
Сразу после этого вы сразу же увидите, сообщение WPA handshake: 56:0A:64:17:5D:33 в правом верхнем углу терминала. Вы можете использовать и более простой способ для получения Handshake. Утилита besside позволяет выполнить все действия автоматически нужно только передать BSSID роутера и интерфейс монитора:
Этап, связанный с работой в реальной сети завершен и нам осталось только перебрать все возможные пароли по словарю. Дальше рассмотрим как пользоваться Aircrack-ng для перебора паролей.
Словарь — это обычный текстовый документ со списком возможных паролей. Вы можете составить его сами. Команда будет выглядеть следующим образом:
$ sudo aircrack-ng -bBSSID_маршрутизатора -wпуть_к_словарю перехваченные_пакеты
Дальше начнется перебор ключей и если ключ, который использовался для защиты сети есть в списке, то он обязательно будет найден:
Как видите, aircrack-ng wpa2 psk достаточно быстро может быть взломан. Скорость перебора паролей достигает тысячи вариантов в секунду, а это значит, что на перебор до 100000 паролей уйдет всего только несколько минут. И это на обычном, бюджетном ноутбуке. На более мощном железе использовать Aircrack-ng будет намного быстрее.
Поэтому никогда не используйте простые пароли, состоящие только из цифр, если вы добавите хоть одну букву или символ, то уменьшите шансы на взлом в несколько раз.
- https://rusadmin.biz/zashhita-i-bezopasnost/kak-polzovatsya-aircrack-ng/
- https://www.shellhacks.com/ru/how-to-use-aircrack-ng-wifi-password-hacker-tutorial/
- https://ualinux.com/ru/stream/kak-polzovatsya-aircrack-ng-wpa-i-wpa2
Использование сгенерированных в Hashcat паролей в Aircrack-ng
Для того, чтобы не взламывать пароли, а только показать кандидаты, в Hashcat есть опция —stdout
Также нам нужно указать режим взлома (опция -a) и саму маску.
# | Режим ===+====== 0 | Прямой 1 | Комбинированный 3 | Брут-форс 6 | Гибридный словарь + маска 7 | Гибридный маска + словарь - - ? | Набор символов ===+========= l | abcdefghijklmnopqrstuvwxyz u | ABCDEFGHIJKLMNOPQRSTUVWXYZ d | 0123456789 h | 0123456789abcdef H | 0123456789ABCDEF s | !"#$%&'()*+,-./:;<=>?@^_`{|}~ a | ?l?u?d?s b | 0x00 - 0xff
В итоге команда для показа паролей выглядит так:
hashcat --stdout -a 3 pattaya?l?l?l?l
Здесь:
- —stdout означает только показывать кандидаты в пароли
- -a 3 выбран режим брутфорса/атаки по маске
- pattaya?l?l?l?l — сама маска. Все создаваемые пароли в начале слова будут иметь pattaya, а далее будут идти четыре маленькие буквы. Рекомендуется ознакомиться с правилами составления масок для Hashcat: https://kali.tools/?p=578
Команда передачи сгенерированных паролей из hashcat в aircrack-ng для моих данных выглядит так:
hashcat --stdout -a 3 pattaya?l?l?l?l | aircrack-ng -w - -e dlink dlink-02.cap
Преимущества использования Pyrit
Взлом захваченных рукопожатий — это единственный способ взлома WPA/WPA2 паролей. Производится он методом брутфорса (перебора паролей).
Кстати, если вы ещё не знакомы с техникой захвата рукопожатий, то обратитесь к статье «Захват рукопожатий (handshake) в Kali Linux».
Поскольку использование брутфорса не гарантирует положительного результата, придумано несколько техник, которые позволяют существенно повысить шансы на успех. К ним относятся:
- использование видеокарт для подбора паролей (значительно увеличивает скорость перебора)
- использование таблиц с предварительно рассчитанными хешами (увеличение скорости + возможность повторного использования для одной и той же точки доступа, возможность перепробовать десятки рукопожатий от одной точки доступа за считанные секунды)
- использование хороших словарей (повышает шансы на успех)
В Pyrit можно использовать все эти техники — поэтому он является самым быстрым взломщиком WPA/WPA2 паролей, либо входит в двойку сильнейших наравне с oclHashcat.
Другие программы также реализуют эти техники. Например и в oclHashcat и в coWPAtty реализован перебор по словарю. В coWPAtty реализован предварительный расчёт хешей (но отсутствует поддержка использования графических карт). oclHashcat позволяет использовать мощь видеокарт, но не делает предварительный расчёт хешей. Забегаю вперёд, отмечу, что в oclHashcat можно реализовать предварительный расчёт хешей и полученные данные неоднократно использовать для одной точки доступа, для проверки нескольких рукопожатий без увеличения времени на расчёт хешей, как это сделать будет описано позже. Aircrack-ng перебирает по словарю и эффективно использует многоядерные процессоры, но не использует другие «ускорения».
На моей системе oclHashcat делает перебор для взлома WPA/WPA2 паролей со скоростью 31550 H/s, а Pyrit рассчитывает хеши со скоростью 38000-40000 PMKs. Дальнейшая проверка рукопожатий занимает меньше секунды. Из этого видно, что даже при проверке одного хендшейка мы увеличиваем скорость примерно на треть, а если мы хотим проверить несколько рукопожатий для одной ТД, то с oclHashcat всё нужно начинать заново. В Pyrit же каждое новое рукопожатие занимает доли секунды.
Для того, чтобы Pyrit раскрыл всю свою мощь, у вас должны быть установлены проприетарные драйвера для видео карты. Посмотрите на статью «Как установить Pyrit в Kali Linux 2» и на материал, ссылки на который в ней даны — там поэтапно рассказывается об установки драйверов и Pyrit в Kali Linux 2 на компьютере с графической картой от AMD. Нужно проделать все шаги, а не только последнюю инструкцию. У меня нет компьютера с NVidia, поэтому у меня нет актуальных инструкций об установке драйвера и Pyrit для систем под NVidia.
Подбор пароля Wi-Fi утилитой aircrack-ng
Введение
В начале 1990-х годов, когда Wi-Fi только появился, был создан алгоритм Wired Equivalent Privacy, который должен был обеспечивать конфиденциальность Wi-Fi сетей. Однако, WEP оказался неэффективным алгоритмом защиты, который легко взломать.
На смену пришел новый алгоритм защиты Wi-Fi Protected Access II, который сегодня применяют большинство точек доступа Wi-Fi. WPA2 использует алгоритм шифрования, AES, взломать который крайне сложно.
А где же уязвимость?
Недостаток WPA2 заключается в том, что зашифрованный пароль передается при подключении пользователей во время так называемого 4-way handshake (4-х стороннего рукопожатия). Если мы поймаем handshake, то узнаем зашифрованный пароль и нам останется лишь расшифровать его. Для этой цели мы воспользуемся aircrack-ng.
Шаг 1. Определяем интерфейс
Для начала нужно узнать, какой сетевой интерфейс нам нужен, для этого вводим команду:
В моем случае всего три интерфейса, два из которых не имеют беспроводных расширений (no wireless extensions). Поэтому нас интересует только wlan0.
Шаг 2. Переводим сетевой адаптер в режим мониторинга
Перевод сетевого адаптера в режим мониторинга позволит нам видеть беспроводной трафик, подходящий рядом с нами. Для того чтобы сделать это, вводим команду:
Обратите внимание, что airmon-ng переименовал ваш интерфейс (у меня он стал называться mon0, но вам, все же, стоит проверить)
Шаг 3. Перехватываем трафик
Теперь, когда наш сетевой адаптер находится в режиме мониторинга, мы можем захватить, подходящий мимо нас трафик, используя команду airodump-ng. Вводим:
Обратите внимание, что все видимые точки доступа перечислены в верхней части экрана, а клиенты — в нижней части экрана
Шаг 4. Концентрируем перехват на конкретной точке доступа.
Наш следующий шаг — сосредоточить наши усилия на одной из точек доступа и на ее канале. Нас интересует BSSID и номер канала точки доступа, которую мы будем взламывать. Давайте откроем еще один терминал и введем:
- 08:86:30:74:22:76 BSSID точки доступа
- -c 6 канал на котором работает точка доступа Wi-Fi
- WPAcrack файл в который запишется handshake
- mon0 сетевой адаптер в режиме мониторинга
Как вы можете видеть на скриншоте выше, мы сейчас концентрируемся на захвате данных с одной точки доступа с ESSID Belkin276 на канале 6. Терминал оставляем открытым!
Шаг 5. Получение handshake
Чтобы захватить зашифрованный пароль, нам нужно, чтобы клиент прошел аутентификацию (подключился к Wi-Fi). Если он уже аутентифицирован, мы можем его деаутентифицировать (отключить), тогда система автоматически повторно аутентифицируется (подключится), в результате чего мы можем получить зашифрованный пароль.
То есть нам просто нужно отключить подключенных пользователей, чтобы они подключились снова. Для этого открываем ещё один терминал и вводим:
- 100 количество пользователей, которые будут деаутентифицированы
- 08:86:30:74:22:76 BSSID точки доступа
- mon0 сетевой адаптер
Теперь при повторном подключении окно которое мы оставили на предыдущем шаге поймает handshake. Давайте вернемся к нашему терминалу airodump-ng и посмотрим.
Обратите внимание на верхнюю строку справа, airodump-ng вывел: «Handshake WPA». То есть, мы успешно захватили зашифрованный пароль! Это первый шаг к успеху!
Шаг 6. Подбираем пароль
Теперь, когда у нас есть зашифрованный пароль в нашем файле WPAcrack, мы можем запустить подбор пароля. Но для этого нам нужно иметь список с паролями которые мы хотим использовать. Найти такой список можно за 5 минут в Гугле. Я, же, буду использовать список паролей по умолчанию, включенный в aircrack-ng: BackTrack darkcOde.
Открываем новый терминал и вводим:
- WPAcrack-01.cap файл в который мы записывали handshake (airodump-ng приписал в конце -01.cap)
- /pentest/passwords/wordlist/darkc0de абсолютный путь к списку паролей
Сколько времени это займёт?
Этот процесс может занять много времени. Все зависит от длины вашего списка паролей, вы можете ждать от нескольких минут до нескольких дней. На моем двухъядерном процессоре Intel aircrack-ng подбирает чуть более 800 паролей в секунду.
Когда пароль будет найден, он появится на вашем экране. Будет ли подбор пароля успешным или нет, зависит от вашего списка. Если у вас не получилось подобрать пароль по одному списку, не отчаивайтесь, попробуйте другой.
Списки слов от Metasploit
Названия словарей имеют говорящие названия. В основном эти словари предназначены для брут-форса удалённого входа в различные службы, имеются неплохие универсальные словари с именами пользователей и паролями.
tree /usr/share/wordlists/metasploit /usr/share/wordlists/metasploit ├── adobe_top100_pass.txt ├── av_hips_executables.txt ├── av-update-urls.txt ├── burnett_top_1024.txt ├── burnett_top_500.txt ├── cms400net_default_userpass.txt ├── common_roots.txt ├── db2_default_pass.txt ├── db2_default_userpass.txt ├── db2_default_user.txt ├── default_pass_for_services_unhash.txt ├── default_userpass_for_services_unhash.txt ├── default_users_for_services_unhash.txt ├── dlink_telnet_backdoor_userpass.txt ├── hci_oracle_passwords.csv ├── http_default_pass.txt ├── http_default_userpass.txt ├── http_default_users.txt ├── http_owa_common.txt ├── idrac_default_pass.txt ├── idrac_default_user.txt ├── ipmi_passwords.txt ├── ipmi_users.txt ├── joomla.txt ├── keyboard-patterns.txt ├── malicious_urls.txt ├── multi_vendor_cctv_dvr_pass.txt ├── multi_vendor_cctv_dvr_users.txt ├── namelist.txt ├── oracle_default_hashes.txt ├── oracle_default_passwords.csv ├── oracle_default_userpass.txt ├── password.lst ├── piata_ssh_userpass.txt ├── postgres_default_pass.txt ├── postgres_default_userpass.txt ├── postgres_default_user.txt ├── root_userpass.txt ├── routers_userpass.txt ├── rpc_names.txt ├── rservices_from_users.txt ├── sap_common.txt ├── sap_default.txt ├── sap_icm_paths.txt ├── scada_default_userpass.txt ├── sensitive_files.txt ├── sensitive_files_win.txt ├── sid.txt ├── snmp_default_pass.txt ├── tftp.txt ├── tomcat_mgr_default_pass.txt ├── tomcat_mgr_default_userpass.txt ├── tomcat_mgr_default_users.txt ├── unix_passwords.txt ├── unix_users.txt ├── vnc_passwords.txt ├── vxworks_collide_20.txt └── vxworks_common_20.txt
Какая техника взлома WiFi самая быстрая?
Раньше я бы ответил: WPS. Если на точке доступа включен Wi-Fi Protected Setup, то с большой вероятностью она вскрывается перебором известных пинов или более изящной атакой PixieDust. Список пинов для перебора берется из дефолтных конфигов производителя, который определяется по MAC-адресу. Делать исчерпывающий перебор всех вариантов (брутфорс) чаще всего бессмысленно, так как после N неудачных попыток авторизации по WPS роутер надолго блокирует дальнейшие.
Успешный подбор WPS PIN с помощью WiFi-Autopwner
В любом случае атака на WPS занимала до пяти минут и казалась скоростной по сравнению с ожиданием захвата хендшейка WPA, который потом еще надо мучительно долго брутить. Однако сейчас появился новый тип атаки — PMKID (Pairwise Master Key Identifier). На уязвимых роутерах она позволяет захватить хендшейк за считаные секунды, и даже при отсутствии подключенных к нему клиентов! С ней не надо никого ждать и деаутентифицировать, достаточно одной (даже безуспешной) попытки авторизации с вашей стороны.
Поэтому оптимальный алгоритм взлома (аудита) следующий: определяем, включен ли на целевой точке доступа режим WPS. Если да, запускаем PixieDust. Безуспешно? Тогда перебор известных пинов. Не получилось? Проверяем, не включено ли шифрование WEP, которое тоже обходится влет. Если нет, то выполняем атаку PMKID на WPA(2). Если уж и так не получилось, тогда вспоминаем классику и ждем хендшейка (чтобы не палиться) или активно кикаем клиентов, чтобы наловить их сессии авторизации.
Я узнал WPS PIN, что дальше?
Дальше с его помощью можно подключиться к роутеру и узнать пароль, каким бы длинным и сложным он ни был. Вообще WPS — это огромная дыра в безопасности. На своем оборудовании я всегда его отключаю, а потом еще проверяю WiFi-сканером, действительно ли WPS выключен.
Я перехватил хендшейк. Что с ним делать?
Четырехстороннее рукопожатие записывается скриптом Wifite2 в файл с расширением .cap.
Захват классического хендшейка WPA
TCPdump, Wireshark, Nmap и другие программы используют формат .pcap. Хендшейк PMKID будет иметь формат .16800.
По умолчанию Wifite использует для подбора паролей Aircrack-ng. Он отправляет команду вида
aircrack-ng yourhandshake.cap -w /yourwordlist.txt
В простейших вариантах этого достаточно, однако чаще приходится конвертировать хендшейки с помощью hcxtools, чтобы скормить одной из продвинутых утилит для перебора паролей. Например, John the Ripper или hashcat.
Мне больше нравится hashcat. Для работы с ней нужно конвертировать .cap в формат .hccapx. Сделать это можно также онлайн или локально утилитой cap2hccapx. В последнем случае придется скачать исходник и скомпилировать его.
wget https://raw.githubusercontent.com/hashcat/hashcat-utils/master/src/cap2hccapx.c gcc -o cap2hccapx-converter cap2hccapx.c
Полученный исполняемый файл cap2hccapx-converter удобнее закинуть в /bin, чтобы затем обращаться к нему откуда угодно.
<span class="pln">mv cap2hccapx</span><span class="pun">-</span><span class="pln">converter </span><span class="pun">/</span><span class="pln">bin</span>
Успешный взлом пароля WiFi в hashcat по хендшейку WPA2
Точно так же брутятся хеши PMKID. Просто нужно явно указать hashcat тип хендшейка и словарь.
hashcat64 -m 2500 -w3 Beeline.hccapx "wordlist\wpadict.txt" # Перебираем пароли по своему словарю wpadict.txt к хешу из рукопожатия WPA(2) в файле Beeline.hccapx hashcat64 -m 16800 -w 3 RT-WiFi.16800 "wordlist\rockyou.txt" # Используем хендшейк PMKID из файла RT-WiFi.16800 и готовый словарь rockyou.txt
Брут PMKID в hashcat
С телефона
Вынесу в отдельный раздел, т.к. можно для этих целей использовать и свой смартфон, но технический анализ будет жуть каким медленным. Поэтому большая часть таких мобильных приложений работает именно с базами паролей по умолчанию WPS. Так они живут гораздо спокойнее. Но есть и исключения. Два известных представителя:
- WIBR+ – занимается брутом. Но по скорости заявлено 8 паролей в минуты. Вы понимаете как это будет нескоро…
- WPS Connect – тот самый способ с WPS. Бонусом есть получение списка сохраненных паролей на самом устройстве.
Эти программы точно есть на Android, как там дела обстоят с iOS сейчас, даже не знаю. Все-таки лучшее устройство – компьютер, затем Андроид, а вот свои айфоны лучше оставить для интаграма)
Вот и все! Надеюсь, эта статья была действительно самой полезной среди тех, что вы прочитали за последний месяц. Мы рассмотрели действительно все методы, позволяющие узнать пароль от Wi-Fi от своих соседей. Если еще остались какие-то комментарии – пишите их ниже, попробуем разобраться в любой вашей проблеме. Но главное прежде чем спросить, все попробовать. И еще раз, пожалуйста, не забывайте про УК своей страны и применяйте все это только на своих разрешенных сетях.
Словари для aircrack – составьте сами.
Чуть ниже на той же странице авторов aircrack приводится и список адресов программ, которые помогут составить словари для aircrack самому. Насколько это результативно? Взгляните сами.
Буду краток. Воспользуемся имеющей в составе кали утилитой Crunh . Создана для генерирования случайных паролей, имеет ряд полезных настроек. Некоторые из них очень полезны, если вы, к примеру, ухитрились увидеть часть пароля жертвы. То есть часть символов вам известна.
Процесс генерации прост. Запустите терминал и введите команду в формате:
Команда создаст словарь с названием dict на Рабочем столе из всевозможных буквенно-символьно-цифровых комбинаций, содержащий от 7 до 8 символов – обычный пароль. Удобно, да? И никакие словари для aircrack скачивать не надо… Рано радуетесь – присмотритесь к размеру:
Да-да, совсем немного – около 2-х Терабайт. Пичалька (…
Что делать? Можно добавить команды конкретизировать пароли, если у вас есть на это основания. Так, команда генерации может принять вид:
где 9876543210 – именно и только встречающиеся в будущем словаре символы. И никаких больше. Или:
Таких словарей может быть составлено много, поверьте, иногда этот способ очень даже срабатывает. Весить они будут не так много, они будут мобильны, их легко хранить на внешних носителях. Так, в команде подбора паролей потом можно будет указать созданные вами пароли через запятую (если самодельные словари для aircrack хранятся на рабочем столе кали):
Словарь с паролями в которых хотя бы одна большая и маленькая буква и цифра
Приступим к созданию словаря, в котором есть хотя бы по одному символу из разных групп.
Обычно в разных сервисах требуется установить пароли не менее 8 символов, но по рассмотренным выше причинам я буду работать с паролями длинной в 5 символов.
Для ускорения создания словарей я буду использовать «» — вы тоже можете так делать, если у вас достаточно оперативной памяти, или же можете работать со словарями на обычных дисках.
Создадим точку монтирования:
mkdir /tmp/mytmpfs
Создадим виртуальную файловую систему размером 20 Гигабайт в оперативной памяти:
sudo mount -t tmpfs -o size=20g tmpfs /tmp/mytmpfs
Переходим в неё
cd /tmp/mytmpfs
Создаём словарь на 5 символов (большие и маленькие буквы, цифры):
maskprocessor -1 ?l?u?d ?1?1?1?1?1 > dic.txt
Для тех, у кого после предыдущей команды всё зависло — это не баг, это так и должно быть если вы создаёте словарь на обычном или даже на твердотельном диске — просто ждите, когда данные запишутся на диск. Это займёт примерно минуту. У меня словарь в оперативной памяти создался за 7 секунд и ничего не подвисало.
Использование оперативной памяти:
Посчитаем количество паролей:
cat dic.txt | wc -l
Получилось: 916132832
В файл /usr/share/john/john.conf добавим следующую строку (набор правил назван lud5):
/?l /?u /?d
Создадим новый словарь и сохраним его в файл lud5.txt:
john --rules=lud5 --wordlist=dic.txt --stdout > lud5.txt
В этом файле получилось 438859200 паролей, то есть примерно в 2 раза меньше, размер словаря тоже сократился примерно в 2 раза (стало 2.5 Гб, а было 5.1 Гб).
Посмотрим на пример содержимого в файле:
tail lud5.txt
Словари DirBuster
DirBuster — это многопотоковое Java приложение, предназначенное для брутфорса имён директорий и файлов веб-приложений и веб-серверов. DirBuster пытается найти скрытые каталоги и файлы.
В Kali Linux словари располагаются в директории /usr/share/wordlists/dirbuster/. В BlackArch словари располагаются в директории /usr/share/dirbuster/.
Описание словарей, поставляемых с программой DirBuster
- directory-list-2.3-small.txt — (87650 слов) — Директории/файлы которые были найдены как минимум на трёх разных хостах
- directory-list-2.3-medium.txt — (220546 слов) — Директории/файлы которые были найдены как минимум на двух разных хостах
- directory-list-2.3-big.txt — (1273819 слов) — Все директории/файлы которые были найдены
- directory-list-lowercase-2.3-small.txt — (81629 слов) — Версия не чувствительная к регистру для directory-list-2.3-small.txt
- directory-list-lowercase-2.3-medium.txt — (207629 слов) — Версия не чувствительная к регистру для directory-list-2.3-medium.txt
- directory-list-lowercase-2.3-big.txt — (1185240 слов) — Версия не чувствительная к регистру для directory-list-2.3-big.txt
- directory-list-1.0.txt — (141694 слов) — Оригинальный список без изменения порядка
- apache-user-enum-1.0.txt — (8916 имён пользователей) — Используется для предположения имён пользователей apache на котором включён модуль userdir, основывается на набранных именах пользователей (неупорядоченный)
- apache-user-enum-2.0.txt — (10341 имён пользователей) — Используется для предположения имён пользователей apache на котором включён модуль userdir, основывается на ~XXXXX найденном во время генерации списка (упорядоченный)
Самый быстрый взлом WPA/WPA2 паролей
Мои исходные данные:
- атакуемая ТД — DANIELLE2015
- файл, с предварительно захваченным рукопожатием, называется DANIELLE2015-01.cap
Словарь для взлома WPA/WPA2
Я буду использовать словарь rockyou, который поставляется с Kali Linux. Для обучения этого вполне достаточно, а для практических атак могу порекомендовать сгенерированные словари номеров телефонов, сгенерированные словари для конкретных ТД вида имя_ТД+цифры, которые заполняют парольную фразу до восьми символов.
Давайте скопируем лучший файл словаря в каталог root.
cp /usr/share/wordlists/rockyou.txt.gz .
Распакуем его.
gunzip rockyou.txt.gz
Поскольку, согласно требованиям, минимальный пароль WPA2 может быть в 8 символов, давайте пропарсим файл, чтобы отфильтровать любые пароли, которые менее 8 символов и более 63 (на самом деле, вы можете просто пропустить эту строчку, это полностью на ваше усмотрение). Таким образом, мы сохраним этот файл под именем newrockyou.txt.
cat rockyou.txt | sort | uniq | pw-inspector -m 8 -M 63 > newrockyou.txt
Давайте посмотрим, как много паролей содержит этот файл:
wc -l newrockyou.txt
В нём целых 9606665 паролей.
Оригинальный файл содержит ещё больше.
wc -l rockyou.txt
Там 14344392 паролей. Итак, мы сделали этот файл короче, что означает, мы можем протестировать ТД в более сжатый срок.
Наконец, давайте переименуем этот файл в wpa.lst.
mv newrockyou.txt wpa.lst
Создаём ESSID в базе данных Pyrit
Сейчас нам нужно создать ESSID в базе данных Pyrit
pyrit -e DANIELLE2015 create_essid
ВНИМАНИЕ: Если в названии ТД есть пробел, например, “NetComm Wireless”, тогда ваша команда будет вроде этой:
pyrit -e 'NetComm Wireless' create_essid
Шикарно, теперь у нас есть ESSID, добавленный в базу данных Pyrit.
Импортируем словарь в Pyrit
Сейчас, когда ESSID добавлен в базу данных Pyrit, давайте импортируем наш словарь паролей.
Используйте следующую команду для импорта предварительно созданного словаря паролей wpa.lst в базу данных Pyrit.
pyrit -i /root/wpa.lst import_passwords
Создайте таблицы в Pyrit, используя пакетный (batch) процесс
Это просто, просто наберите следующую команду
pyrit batch
Так как данная операция выполняется на ноуте, я имею 38000-40000 PMKs. Это далеко не предел — настольные компьютеры с хорошей графической картой помогут вам значительно увеличить скорость этих вычислений.
Вы должны быть осторожны, насколько большой ваш файл словаря и насколько ГОРЯЧИЕ ваш процессор и графическая карта. Используйте дополнительное охлаждение, чтобы избежать повреждения.
Процесс взлома с Pyrit
Мы будем применять атаку на рукопожатие (handshake), используя базу данных предварительно посчитанных хешей. После того, как мы выполнили все необходимые шаги по подготовке, запустить атаку стало совсем легко. Просто используйте следующую команду для начала процесса взлома.
pyrit -r DANIELLE2015-01.cap attack_db
Вот и всё. Весь процесс, включающий предварительный расчёт хешей, занял несколько минут. Чтобы пройти по всей таблице базы данных для получения пароля, если он присутствует в словаре, понадобилось меньше секунды. У меня скорость достигла 6322696 PMKs. Это, безусловно, быстрее всего.
Если пароль подобрать не удалось, то сразу пробуем опцию —all-handshakes. Суть её в том, что проверяется не одно (самое лучшее рукопожатие), а вообще все имеющиеся. Дело в том, что даже самое лучшее рукопожатие может оказаться неверно реконструированным. Это приведёт к тому, что пароль присутствует в словаре, но программа не сможет это выявить. Поэтому для проверки всех доступных рукопожатий делаем так:
pyrit --all-handshakes -r DANIELLE2015-01.cap attack_db
Это занимает секунды — поэтому всегда стоит использовать, если пароль не найден.
Если вам не хочется создавать базу данных, а хочется напрямую копошиться в файле словаря (что много медленнее), вы можете сделать следующее
pyrit -r DANIELLE2015-01.cap -i /root/wpa.lst attack_passthrough
Скорость этого способа? 17807 PMKs в секунду. На мой вкус намного медленнее.
Очищаем Pyrit и базу данных
Наконец, если нужно, вы можете удалить ваш essid и сделать очистку.
pyrit -e DANIELLE2015 delete_essid
Это высвободит довольно много места на диске.
Для продолжения своего знакомства с Pyrit читайте «Продвинутое использование Pyrit».
WPS
Еще одна актуальная техника быстрого взлома – перебор WPS. Для тех, кто не курсе, WPS – код для быстрого подключения к роутеру. Состоит всего из 8 цифр, при этом 8я является контрольной на основе первых семи. Т.е. вариантов перебора остается не так уж и много.
К тому же некоторые роутеры неправильно генерировали случайные числа, что еще больше увеличивало вероятность взлома (уязвимость pixie dust). Тот же wifite выше проверял и эту уязвимость, здесь же поговорим о другом инструменте.
Получить список точек доступа с данными о WPS можно с помощью WASH:
wash -i wlan0
Здесь Lck No означает, что WPS не блокирован (можно использовать). Уязвимые вендоры Ralink, Broadcom и Realtek. Для перебора WPS сейчас лучшая утилита reaver. Используем ее:
reaver -i интерфейс -b MAC_адрес_точки -K
Для того, чтобы вытащить пароль, используем следующие команды:
reaver -i wlan0 -b EE:43:F6:CF:C3:08 -p 36158805 (здесь -p узнанный выше PIN-код) reaver -i интерфейс -b MAC_адрес (если не сработала команда выше)
Подборка словарей с сайта WirelessHack.org [Словари для взлома Wi-Fi]
На сайте WirelessHack.org собраны словари, которые уже некоторое время болтаются здесь и там.
В том числе, там словари:
- BIG-WPA-LIST-1 (размер 247MB)
- BIG-WPA-LIST-2 (размер 307MB)
- BIG-WPA-LIST-3 (размер 277MB)
- Darkc0de.lst (размер 17.4MB) — это был дефолтный словарь в Backtrack 5
- Rockyou.txt (размер 133MB) — дефолтный словарь в Kali Linux
- Names (размер 3.7MB) — имена и варианты имён
Кроме них ещё довольно много словарей, в общей сложности на 8.5 Гигабайт. Если вы нечасто используете словари, то рекомендуется их сжать для хранения — они представляют собой обычные текстовые файлы, которые очень хорошо сжимаются — после архивации они будут занимать примерно в 10 раз меньше места.
magnet6c89df058f71559dec6c5c7c9f2cb419182b3294&dn=Collection+of+Wordlist+%28Dictionaries%29+for+cracking+WiFi+WPA/WPA2&tr=udp%3A//tracker.leechers-paradise.org%3A6969&tr=udp%3A//zer0day.ch%3A1337&tr=udp%3A//tracker.coppersurfer.tk%3A6969&tr=udp%3A//public.popcorn-tracker.org%3A6969
Торрент файл прикреплён внизу этого поста.
Подробности об атаке
RSN IE — это опциональное поле, которое может быть найдено в управляющих 802.11 фреймах. Одной из возможностей RSN является PMKID.
Пример RSN PMKID в первом сообщении рукопожатия:
Ещё один пример:
И ещё:
PMKID вычисляется с использованием HMAC-SHA1 где в качестве ключа используется PMK (пароль от Wi-Fi), другая часть данных — это объединение фиксированной строки метки «PMK Name», MAC адрес точки доступа и MAC адрес станции.
Формула вычисления такая:
PMKID = HMAC-SHA1-128(PMK, «PMK Name» | MAC_AP | MAC_STA)
Поскольку PMK (пароль Wi-Fi) здесь тот же самый, что и в обычном четырёхстороннем EAPOL рукопожатии, то это идеальный вектор для атаки.
И обратите внимание, что все нужные нам данные мы получаем в ПЕРВОМ кадре EAPOL, который Точки Доступа отправляют сами кому угодно.