Как в Wireshark расшифровать Wi-Fi трафик —

Как в Wireshark расшифровать Wi-Fi трафик - Расшифровка
Содержание
  1. Введение
  2. Aircrack-ng windows 10
  3. Commview for wifi windows 10
  4. Commview for wifi не видит сети
  5. А где же уязвимость?
  6. Бойцы облачного фронта
  7. Выделение рукопожатия с помощью tshark
  8. Захват wi-fi в wireshark
  9. Захват wi-fi трафика в airodump-ng
  10. Искать xor вычислять
  11. Как пользоваться commview for wifi
  12. Как разделить рукопожатия по разным файлам
  13. Когда не нужно разделять файл на отдельные рукопожатия
  14. Связанные статьи:
  15. Неповторимость — залог надежности
  16. Перевод сетевой карты в режим монитора
  17. Псевдореверс
  18. Расшифровка hand shake с помощью словаря
  19. Расшифровка wi-fi трафика в wireshark
  20. Расшифровка wpa трафика в wireshark
  21. Решение ошибки unsupported file format (not a pcap or ivs file). read 0 packets. no networks found, exiting.
  22. Ручное разбитие файлов рукопожатий с помощью wireshark
  23. Сколько времени это займёт?
  24. Скрипт для разделения рукопожатий
  25. Советы при использовании
  26. Универсальный подход
  27. Шаг 1. определяем интерфейс
  28. Шаг 2. переводим сетевой адаптер в режим мониторинга
  29. Шаг 3. перехватываем трафик
  30. Шаг 4. концентрируем перехват на конкретной точке доступа.
  31. Шаг 5. получение handshake
  32. Шаг 6. подбираем пароль
  33. Заключение
  34. Связанные статьи:

Введение

В начале 1990-х годов, когда Wi-Fi только появился, был создан алгоритм Wired Equivalent Privacy, который должен был обеспечивать конфиденциальность Wi-Fi сетей. Однако, WEP оказался неэффективным алгоритмом защиты, который легко взломать.

На смену пришел новый алгоритм защиты Wi-Fi Protected Access II, который сегодня применяют большинство точек доступа Wi-Fi. WPA2 использует алгоритм шифрования, AES, взломать который крайне сложно.

Aircrack-ng windows 10

Шаг 30. Открываем браузер и переходим на сайт aircrack-ng.org. Тут прям на главной странице есть кнопка загрузки тулза под виндовс. Качаем.

Шаг 31. И после загрузки распаковываем всю эту историю в отдельную папку. Внутри открываем каталог «bin» и запускаем файлик «Aircrack-ng GUI». Это старый добрый эир, но с графическим интерфейсом. Хоть какое-то преимущество от использования Виндовса.

Шаг 32. Выбираем тип – «WPA». В первой строчке указываем путь к файлу с добытым ранее хендшейком.

Шаг 33. Во второй указываем путь к словарю. Ссылку на те, что юзаю я, найдёте в описании к видео.

Шаг 34. Ставим галочку «Advanced option» и указываем имя интересующей нас точки и MAC-адрес. Помните, ранее, я специально просил вас зафиксировать эти данные. Жмём «Launch».

Шаг 35. Пошла жара. Если пароль присутствует в словаре, он обязательно дешифруется через какое-то время.

Commview for wifi windows 10

https://www.youtube.com/watch?v=eM5M6IDKMSY

Шаг 1. Первая – это CommView for WiFi. Достаточно популярная прога для мониторинга и анализа пакетов под Windows. Во времена моей преподавательской деятельности, для тех, кто не в курсе, до недавнего времени я вёл практику у сетевых и системных администраторов в местном техникуме.

Commview for wifi не видит сети

Шаг 24. Всё. CommView можно закрывать и переходить к загрузке второй программы. Однако тут возникнет сложноcть о которой я уже упоминал ранее. Сетки не видятся. Нужно восстановить нормальный драйвер.

Шаг 25. Запускаем «Диспетчер устройств».

Шаг 26. В списке сетевых адаптеров ищем тот, что содержит приписку «CommView» и идём в «Свойства».

Шаг 27. На вкладке драйвер кликаем по заветной кнопочке «Откатить».

Шаг 28. Указываем причину. Предыдущая версия работала явно лучше. Жмём «ОК».

Шаг 29. И после завершения отката проверяем список сеток. Тэкс. Всё хорошо. Инет снова работает.

А где же уязвимость?

Недостаток WPA2 заключается в том, что зашифрованный пароль передается при подключении пользователей во время так называемого 4-way handshake (4-х стороннего рукопожатия). Если мы поймаем handshake, то узнаем зашифрованный пароль и нам останется лишь расшифровать его. Для этой цели мы воспользуемся aircrack-ng.

Бойцы облачного фронта

1. Про­ект «Убий­ца хешей» сущес­тву­ет уже поч­ти восемь лет. Он помога­ет вскрыть дай­джес­ты MD5, SHA-160 и NTLM. Текущее количес­тво извес­тных пар сос­тавля­ет 43,7 мил­лиона. На сайт мож­но заг­ружать сра­зу нес­коль­ко хешей для парал­лель­ного ана­лиза.

Пароли, содер­жащие кирил­лицу и сим­волы дру­гих алфа­витов, кро­ме англий­ско­го, иног­да находят­ся, но отоб­ража­ются в невер­ной кодиров­ке. Еще здесь про­водит­ся пос­тоян­ный кон­курс взло­ма паролей по их хешам и дос­тупны ути­литы для облегче­ния этой задачи — нап­ример, прог­раммы для объ­еди­нения спис­ков паролей, их перефор­матиро­вания и устра­нения пов­торов.

HashKiller не дружит с кириллицей, но знает кириллические пароли
HashKiller не дру­жит с кирил­лицей, но зна­ет кирил­личес­кие пароли

2. «Крэк‑стан­ция» под­держи­вает работу с хешами прак­тичес­ки всех реаль­но исполь­зуемых типов. LM, NTLM, MySQL 4.1 , MD2/4/5 MD5-half, SHA-160/224/256/384/512, ripeMD160 и Whirlpool. За один раз мож­но заг­рузить для ана­лиза до десяти хешей.

«Крэк-станция» находит многие словарные пароли даже по хешам NTLM
«Крэк‑стан­ция» находит мно­гие сло­вар­ные пароли даже по хешам NTLM

По уве­рени­ям соз­дателей, в базу вклю­чены все сло­ва из англо­языч­ной вер­сии Википе­дии и боль­шинс­тво популяр­ных паролей, соб­ранных из обще­дос­тупных спис­ков. Сре­ди них есть и хит­рые вари­анты со сме­ной регис­тра, лит­спи­ком, пов­тором сим­волов, зер­калиро­вани­ем и про­чими ухищ­рени­ями.

«Крэк-станция» с трудом вскрывает случайные пароли длиной от пяти символов даже по LM-хешам
«Крэк‑стан­ция» с тру­дом вскры­вает слу­чай­ные пароли дли­ной от пяти сим­волов даже по LM-хешам

Выделение рукопожатия с помощью tshark

tshark – это Wireshark, но без графического интерфейса. Эту программу можно также использовать для разделения большого файла захвата на отдельные рукопожатия. Для этого команда запускается следующим образом:

tshark -r ИСХОДНЫЙ_ФАЙЛ.cap -R "(wlan.fc.type_subtype == 0x08 || wlan.fc.type_subtype == 0x05 || eapol) && wlan.addr == BSSID" -2 -w ИТОГОВЫЙ_ФАЙЛ.cap -F pcap


В ней нужно вставить свои значения для:

  • ИСХОДНЫЙ_ФАЙЛ.cap – файл с несколькими хендшейками
  • BSSID – MAC-адрес интересующей точки доступа
  • ИТОГОВЫЙ_ФАЙЛ.cap – файл, куда будет сохранено выделенное рукопожатие

Пример реальной команды:

tshark -r wpa.cap -R "(wlan.fc.type_subtype == 0x08 || wlan.fc.type_subtype == 0x05 || eapol) && wlan.addr == 84:C9:B2:0B:79:94" -2 -w $ESSID.cap -F pcap -w wifi55.cap

Захват wi-fi в wireshark

Трафик Wi-Fi можно захватить непосредственно в Wireshark. Но нам предварительно нужно переключить Wi-Fi карту на тот же канал, на котором работает целевая Точка Доступа. Это делается командами вида:

sudo ip link set ИНТЕРФЕЙС down
sudo iw ИНТЕРФЕЙС set monitor control
sudo ip link set ИНТЕРФЕЙС up
sudo iw dev ИНТЕРФЕЙС set channel КАНАЛ


В этих командах нужно слова ИНТЕРФЕЙС и КАНАЛ заменить на действительные данные.

Когда интерфейс переключён на нужный канал, в Wireshark найдите этот интерфейс, в его свойствах поставьте галочку Capture packets in monitor mode. Затем начните захват данных:

Последующая расшифровка выполняется точно таким же образом, как показано выше.

Захват wi-fi трафика в airodump-ng

Чтобы данные были пригодны для расшифровки, нужно чтобы Wi-Fi карта не переключала каналы, а выполняла захват информации на одном канале, на котором работает целевая Точка Доступа. Поэтому начнём со сбора информации о целевой точки доступа.


Смотрим имена беспроводных интерфейсов:

iw dev

Переводим ИНТЕРФЕЙС в режим монитора командами вида:

sudo ip link set ИНТЕРФЕЙС down
sudo iw ИНТЕРФЕЙС set monitor control
sudo ip link set ИНТЕРФЕЙС up

Запускаем airodump-ng командой вида:

sudo airodump-ng ИНТЕРФЕЙС


Например, я хочу захватить и расшифровать трафик для Точки Доступа Paangoon_2G, которая работает на 9 канале.

Тогда мне нужно перезапустить airodump-ng командой вида:

sudo airodump-ng ИНТЕРФЕЙС --channel КАНАЛ --write ИМЯ_ФАЙЛА

Надпись WPA handshake говорит о том, что было захвачено четырёх этапное рукопожатие. Это означает что:

  • теперь мы сможем расшифровать Wi-Fi данные (если у нас есть ключ от Wi-Fi сети)
  • мы сможем расшифровать данные только для конкретного клиента (с которым было совершено рукопожатие)
  • мы сможем расшифровать данные, которые были отправлены только после этого захваченного рукопожатия

Искать xor вычислять

По­пуляр­ные алго­рит­мы хеширо­вания работа­ют нас­толь­ко быс­тро, что к нас­тояще­му момен­ту уда­лось сос­тавить пары «хеш — пароль» поч­ти для всех воз­можных вари­антов фун­кций с корот­ким дай­джес­том. Парал­лель­но у фун­кций с дли­ной хеша от 128 бит находят недос­татки в самом алго­рит­ме или его кон­крет­ных реали­заци­ях, что силь­но упро­щает взлом.

Другие сокращения:  Формулы расчета излучаемой мощности

В девянос­тых годах край­не популяр­ным стал алго­ритм MD5, написан­ный Рональ­дом Ривес­том. Он стал широко при­менять­ся при авто­риза­ции поль­зовате­лей на сай­тах и при под­клю­чении к сер­верам кли­ент­ских при­ложе­ний. Одна­ко его даль­нейшее изу­чение показа­ло, что алго­ритм недос­таточ­но надежен.

Пос­коль­ку дай­джес­ты сооб­щений широко при­меня­ются в крип­тогра­фии, на прак­тике исполь­зование алго­рит­ма MD5 сегод­ня при­водит к серь­езным проб­лемам. Нап­ример, с помощью такой ата­ки мож­но под­делать циф­ровой сер­тификат x.509. В том чис­ле воз­можна под­делка сер­тифика­та SSL, поз­воля­ющая зло­умыш­ленни­ку выдавать свой фейк за доверен­ный кор­невой сер­тификат (CA).

Из­нуритель­ную ата­ку перебо­ром устра­ивать при­дет­ся толь­ко в слу­чае дей­стви­тель­но слож­ных паролей (сос­тоящих из боль­шого набора слу­чай­ных сим­волов) и для хеш‑фун­кций с дай­джес­тами боль­шой дли­ны (от 160 бит), у которых пока не наш­ли серь­езных недос­татков. Огромная мас­са корот­ких и сло­вар­ных паролей сегод­ня вскры­вает­ся за пару секунд с помощью онлай­новых сер­висов.

Как пользоваться commview for wifi

Шаг 14. Отлично. Дождавшись включения запускаем ярлычок CommView и в главном окне программы выбираем справа режим сканирования всех каналов.

Шаг 15. Видим предупреждение о том, что оценочная версия позволяет захватывать трафик не дольше 5 минут. Нам, признаться, дольше то и не нужно. Кликаем «Продолжить».

Шаг 16. Дожидаемся, пока наша сеть появится в списке и тормозим сканирование. Запоминаем, а ещё лучше записываем MAC-адрес точки, SSID и номер канала, на котором она работает в данный момент.

Шаг 17. Переводим программу в одноканальный режим и указываем уже конкретно канал нашей точки. Врубаем перехват заново.

Шаг 18. И чтобы не ждать, пока одно из устройств отключится, а затем подключится к роутеру, дабы инициировать «Рукопожатие» (handshake,cap-файл), отправим пакеты деаутентификации. Вкладка «Инструмента» — «Реассоциация узлов».

Шаг 19. Послать 100 пакетов с интервалом 10 мсек. Проверяем точку. Смотрим клиентов. Рекомендую откидывать не более 1 за раз. Послать сейчас. Всё. Ждёмс. Яблочное устройство отвалилось и вновь законнектилось, а значит можно двигаться дальше.

Шаг 20. Останавливаем перехват.

Шаг 21. И переходим на вкладку «Пакеты». На самом деле из всей этой истории нас интересуют только EAPOL паки. В момент коннекта устройство обменивается с роутером 4 пакетами этого типа. Внутри содержится пароль от точки в зашифрованном виде. Совсем скоро мы его достанем и дешифруем. Вызываем контекстное меню, «Открыть пакеты в новом окне» — «Все».

Шаг 22. Далее «Файл» — «Экспорт log-файлов» — «Формат Wireshark/Tcpdump».

Шаг 23. Указываем место для сохранения и присваиваем файлу понятное имя. «Сохранить».

Как разделить рукопожатия по разным файлам

Важно понимать разницу между файлом, в котором просто слито несколько рукопожатий, и файлом захвата в шумной среде. Пример анализа файла первого типа (с помощью aircrack-ng):

aircrack-ng ИМЯ_ФАЙЛА.cap

Пример файла второго типа:


Видно, что во втором файле имеется много мусора, и во всём файле всего два пригодных для взлома рукопожатия. Среди мусора много отдельных фреймов EAPOL (составляющих хендшейка), которые непригодны для подбора пароля.

Для просмотра содержимого файла можно использовать Wireshark. После открытия файла установите фильтр:

eapol

Когда не нужно разделять файл на отдельные рукопожатия

Вам необязательно предварительно разделять файл на отдельные хендшейки, если вы собираетесь использовать программу aircrack-ng. Для выбора цели вы можете воспользоваться опциями:

 -e <essid> : выбор цели: идентификатор сети -b <bssid> : выбор цели: MAC точки доступа

Программа cap2hccapx запишет все хеши (для взлома в Hashcat) в один файл .hccapx.


Запускается так:

cap2hccapx.bin ИСХОДНЫЙ_ФАЙЛ.cap ХЕШИ.hccapx

Например:

cap2hccapx.bin wpa.cap all.hccapx

Чтобы записать хеш только для одной ТД, укажите её ESSID:

cap2hccapx.bin ИСХОДНЫЙ_ФАЙЛ.cap ХЕШИ.hccapx ESSID


Пример:

cap2hccapx.bin wpa.cap Zyxel-49.hccapx Zyxel-49

Связанные статьи:

Неповторимость — залог надежности

Уни­каль­ность хеша — одно из его клю­чевых свой­ств, опре­деля­ющее крип­тостой­кость сис­темы шиф­рования. Дело в том, что чис­ло вари­антов воз­можных паролей теоре­тичес­ки бес­конеч­но, а вот чис­ло хешей всег­да конеч­ное, хоть и очень боль­шое.

Дай­джес­ты любой хеш‑фун­кции будут уни­каль­ны лишь до опре­делен­ной сте­пени. Сте­пени двой­ки, если быть точ­ным. К при­меру, алго­ритм CRC32 дает мно­жес­тво все­го из 232 вари­антов, и в нем труд­но избе­жать пов­торений. Боль­шинс­тво дру­гих фун­кций исполь­зует дай­джес­ты дли­ной 128 или 160 бит, что рез­ко уве­личи­вает чис­ло уни­каль­ных хешей — до 2128 и 2160 соот­ветс­твен­но.

Сов­падение хешей от раз­ных исходных дан­ных (в том чис­ле паролей) называ­ют кол­лизи­ей. Она может быть слу­чай­ной (встре­чает­ся на боль­ших объ­емах дан­ных) или псев­дослу­чай­ной — исполь­зуемой в целях ата­ки. На эффекте кол­лизии осно­ван взлом раз­ных крип­тогра­фичес­ких сис­тем — в час­тнос­ти, про­токо­лов авто­риза­ции.

Все они сна­чала счи­тают хеш от вве­ден­ного пароля или клю­ча, а затем переда­ют этот дай­джест для срав­нения, час­то при­меши­вая к нему на каком‑то эта­пе пор­цию псев­дослу­чай­ных дан­ных, или исполь­зуют допол­нитель­ные алго­рит­мы шиф­рования для уси­ления защиты.

Сами пароли ниг­де не сох­раня­ются: переда­ются и срав­нива­ются толь­ко их дай­джес­ты. Здесь важ­но то, что пос­ле хеширо­вания абсо­лют­но любых паролей одной и той же фун­кци­ей на выходе всег­да получит­ся дай­джест оди­нако­вого и заранее извес­тно­го раз­мера.

Перевод сетевой карты в режим монитора

Шаг 5. И запустив окно терминала набираем sudo iwconfig, чтобы посмотреть в каком режиме работает wlan’ка. Она в Managed, а нужен Monitor. Дабы она могла отлавливать весь трафик из других сеток.

Шаг 6. Мочим процессы, которые могут нам помешать.

Шаг 7. И переводим вафлю в режим моника.

Шаг 8. Сразу проверим, всё ли схватилось корректно. Mode: Monitor. Круто. Идём дальше.

Псевдореверс

Про­вес­ти обратное пре­обра­зова­ние и получить пароль непос­редс­твен­но из хеша невоз­можно в прин­ципе, даже если очис­тить его от соли, пос­коль­ку хеширо­вание — это одно­нап­равлен­ная фун­кция. Гля­дя на получен­ный дай­джест, нель­зя понять ни объ­ем исходных дан­ных, ни их тип.

Одна­ко мож­но решить сход­ную задачу: сге­нери­ровать пароль с таким же хешем. Из‑за эффекта кол­лизии задача упро­щает­ся: воз­можно, ты никог­да не узна­ешь нас­тоящий пароль, но най­дешь совер­шенно дру­гой, дающий пос­ле хеширо­вания по это­му же алго­рит­му тре­буемый дай­джест.

Для это­го надо сде­лать все­го ничего — рас­счи­тать 2128 пар вида пароль — хеш или на порядок‑дру­гой боль­ше — в зависи­мос­ти от дли­ны дай­джес­та выб­ранной фун­кции. Одна­ко все эти двой­ки в чер­тов­ски боль­шой сте­пени отпу­гива­ют, толь­ко если думать о скром­ных воз­можнос­тях собс­твен­ной машины.

Хорошо, что ско­рость нахож­дения пароля по его хешу сегод­ня необя­затель­но зависит от вычис­литель­ной мощ­ности компь­юте­ра самого ата­кующе­го, пос­коль­ку во мно­гих слу­чаях для это­го уже не тре­бует­ся выпол­нять дол­гий перебор. Мно­гое уже сде­лано до нас.

Ме­тоды опти­миза­ции рас­четов появ­ляют­ся бук­валь­но каж­дый год. Ими занима­ются коман­ды HashClash, Distributed Rainbow Table Generator и дру­гих меж­дународ­ных про­ектов крип­тогра­фичес­ких вычис­лений. В резуль­тате на каж­дое корот­кое сочета­ние печат­ных сим­волов или вари­ант из спис­ка типич­ных паролей хеши уже вычис­лены. Их мож­но быс­тро срав­нить с перех­вачен­ным, пока не най­дет­ся пол­ное сов­падение.

Рань­ше на это тре­бова­лись недели или месяцы про­цес­сорно­го вре­мени, которые в пос­ледние годы уда­лось сок­ратить до нес­коль­ких часов бла­года­ря мно­гоядер­ным про­цес­сорам и перебо­ру в прог­раммах с под­дер­жкой CUDA и OpenCL. Адми­ны наг­ружа­ют рас­четами таб­лиц сер­веры во вре­мя прос­тоя, а кто‑то арен­дует вир­туаль­ный клас­тер в Amazon EC2.

Расшифровка hand shake с помощью словаря

Шаг 15. Проверяем наличие файлика с хэндом в нашей папке. К имени добавился префикс -01. Запомним.

Шаг 16. Вводим команду для очистки хенда от лишнего мусора. В первой части указывается имя и месторасположение нового файла.

Шаг 17. Копируем рядышком в этот же каталог словарь, который намереваемся использовать. Я начну с того, что содержит 9 миллионов комбинаций.

Шаг 18. Вводим команду для начала брутфорса.

Шаг 19. 1 2 3… понеслась. Остаётся лишь ждать, пока одна из комбинаций совпадёт. Я специально не менял пароль на точке на какой-то особенный, чтобы посмотреть, насколько в действительности эффективна такая атака. И признаться был несколько огорчён. Прошло всего чуть больше 10 минут, а мой пароль уже красуется на экране.

Другие сокращения:  FYI и другие аббревиатуры — расшифровка аббревиатуры и перевод

Вот такой вот способ, друзья мои. Ничего хитрого или социально-инженерного. Тупой перебор комбинаций с помощью специализированного софта и немного терпения. А большего и не нужно. Для выуживая password’ов у добрых соседей – самое оно.

Но я ни в коем случае, не призываю вас это делать. Данный ролик – лишь демонстрация одной из миллиона существующих брешей в каналах беспроводных сетей. Причём далеко не самая существенная. Ведь от неё вполне можно защитить себя и своих близких.

Для этого всегда устанавливайте длинный и сложный пароль на точки доступа. Не менее 15 символов. С использованием больших и маленьких букв, цифр и спец. символов. Если роутер позволяет – используйте частоту 5ГГц, вместо 2,4. Так, шанс того, что вами займутся недохацкеры гораздо меньше.

Ну а если вы совсем лютый чёрт, то установите на роутере запрет на подключение неизвестных устройств, а MAC-адреса своих девайсов внесите в белый список. При таком раскладе вас точно не коснётся рука злоумышленника.

Друзья, надеюсь данный выпуск оказался для вас полезным. В следующем ролике по практической части информационной безопасности я планирую рассказать, каким образом можно ускорить процесс брутфорса за счёт ресурсов вашей видеокарты.

Не всё ж ей биткоины маинить, правда? Кстати, о бабках. Если есть желание поддержать проект, то вы в описании к ролику я оставлю парочку ссылок на мои обучающие курсы. Там есть и по Windows-системам и по линухе. Обязательно найдёте для себя что-нибудь интересненькое.

На этом всё. Удачи, успеха, берегите себя и свои сети. Изучайте Linux и главное, заботьтесь о безопасности своих данных. Ведь любую систему, так или иначе можно взломать. А последствия расхлёбывать — то ещё удовольствие. До новых встреч, братцы. Скоро увидимся.

делитесь с друзьями

Расшифровка wi-fi трафика в wireshark

Открываем файл захвата в Wireshark. В исходном виде трафик выглядит примерно так:

То есть без расшифровки мы видим только MAC-адреса участников передачи данных, пакеты некоторых видов, а также пакеты с данными — полезная нагрузка в которых зашифрована.


Перед расшифровкой убедимся, что имеется хендшейк, иначе продолжать нет смысла:

eapol

Перед расшифровкой нам нужно сделать некоторые изменения в настройках протокола IEEE 802.11.

Перейдите в Edit → Preferences, раскройте секцию protocol и выберите IEEE 802.11. Настройки должны быть такими:


Когда у вас будут такие же настройки, как и на предыдущем скриншоте, нажмите на кнопку Edit рядом с надписью Decryption Keys (для добавления WEP/WPA ключа):

Нажмите кнопку Создать. В открывшемся окне в поле Key type выберите wpa-pwd, введите пароль от Wi-Fi сети, а через двоеточие имя (SSID) сети и нажмите ОК.

Например, в моём случае пароль 00001777, а имя сети Paangoon_2G, тогда я ввожу:

00001777:Paangoon_2G

Нажмите кнопку Применить:


Трафик будет расшифрован:

Расшифровка wpa трафика в wireshark

Начнём с теории, чтобы понять, почему процесс расшифровки Wi-Fi трафика в Wireshark требует некоторых усилий и почему нельзя просто расшифровать любой захваченный Wi-Fi трафик даже если есть пароль от Точки Доступа.

При передаче по Wi-Fi трафик шифруется с использованием PTK (Pairwise transient key — можно перевести как Парный переходной ключ). При этом PTK является динамичным, то есть создаётся заново для каждого нового соединения. Таким образом получается, что Wi-Fi трафик для каждого соединения в одной и той же Точке Доступа зашифрован разными PTK, причём даже для одного Клиента после переподключения PTK меняется.

Главное, что нужно понять: для расшифровки Wi-Fi трафика необходимо четырёх этапное рукопожатие. Причём не любое, а именно то, которое произошло для передачи того трафика, который нужно расшифровать. Но для использования захваченного рукопожатия необходим пароль от Wi-Fi сети.


Итак, чтобы расшифровать Wi-Fi трафик нужны:

1) рукопожатие, произошедшее между Клиентом и Точкой доступа непосредственно перед обменом расшифровываемой информацией

2) пароль для подключения к Точке Доступа

Далее будет показано два примера захвата Wi-Fi трафика и его расшифровки. Первый захват данных выполнен с помощью Airodump-ng, а затем беспроводной трафик будет расшифрован в Wireshark. Во втором примере данные будут захвачены и расшифрованы с использованием только Wireshark.

Решение ошибки unsupported file format (not a pcap or ivs file). read 0 packets. no networks found, exiting.

У некоторых пользователей при использовании tshark, а затем последующем открытии полученного файла в aircrack-ng возникает ошибка:

aircrack-ng MiAl.cap
Opening MiAl.cap
Unsupported file format (not a pcap or IVs file).
Read 0 packets.
No networks found, exiting.
Quitting aircrack-ng...

Чтобы этой ошибки не было, во время сохранения программой tshark к ней нужно указывать опцию -F pcap, которая задаёт правильный формат файла.

Ручное разбитие файлов рукопожатий с помощью 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):


Наш файл проходит проверки:

Сколько времени это займёт?

Этот процесс может занять много времени. Все зависит от длины вашего списка паролей, вы можете ждать от нескольких минут до нескольких дней. На моем двухъядерном процессоре Intel aircrack-ng подбирает чуть более 800 паролей в секунду.

Другие сокращения:  Чем отличается ОВД от УВД? - Ответы

Когда пароль будет найден, он появится на вашем экране. Будет ли подбор пароля успешным или нет, зависит от вашего списка. Если у вас не получилось подобрать пароль по одному списку, не отчаивайтесь, попробуйте другой.

Скрипт для разделения рукопожатий

Для автоматизации разделения одного файла на рукопожатия, я написал скрипт. Помните, что если вы разбиваете файл полученный с помощью Besside-ng или искусственно при слиянии хендшейков, то скрипт отработает без проблем.


Если вы разделяете на отдельные хендшейки файл захвата, полученный в шумных условиях (например, во время длительной работы Airodump-ng), то скрипт будет работать так:

  • если для какой-либо точки доступа не найдено ни одного рабочего хендшейка, то все данные для неё будут отброшены (не будет создаваться файл вывода)
  • если для точки доступа найдено хотя бы одно рабочее рукопожатие, то все фреймы EAPOL будут сохранены в один файл.

Т.е. вам нужно будет самостоятельно открыть файлы вывода и проверить, нет ли в них лишних данных.

Хотя aircrack-ng вроде бы правильно находит нужный хендшейк, но с cap2hccapx (из набора hashcat-utils, используется для конвертации в формат хеша Hashcat) замечены проблемы, если предварительно не почищены ненужные фреймы EAPOL от непригодных хендшейков.

Создайте файл handshakes_extractor.sh:

gedit handshakes_extractor.sh


И скопируйте туда:

Для запуска укажите .(p)cap файл, из которого нужно извлечь рукопожатия.

Пример запуска:

bash handshakes_extractor.sh wpa.cap

Пример работы программы:


Если найдено хотя бы одно рабочее рукопожатие, то в текущей директории создаётся папка вида 2022-04-13-155818, в которую в виде отдельных файлов сохраняются хендшейки для всех точек доступа.

Выводится информация об имени файла с сохранёнными фреймами, а также информация о самих сохранённых фреймах.

Советы при использовании

  1. Данный вид атаки эффективен для подбора пароля по списку, но практически бесполезен для рандомного подбора. Все дело во времени. Если Wi-Fi защищён средним паролем из латинских букв и цифр, то рандомный подбор займёт несколько лет.
  2. При выборе списка паролей обязательно учитывайте географические факторы. Например, нет смысла делать подбор в ресторане Парижа по русскому списку паролей.
  3. Если вы взламываете домашний Wi-Fi, то постарайтесь узнать какие либо персональные данные жертвы (имя, фамилия, дата рождения, кличка собаки и.т.д.) и сгенерировать дополнительный список паролей из этих данных.
  4. После того как поймали handshake отключаете работу aireplay-ng (не заставляйте страдать простых пользователей).

Универсальный подход

Сре­ди десят­ка хеш‑фун­кций наибо­лее популяр­ны MD5 и SHA-1, но точ­но такой же под­ход при­меним и к дру­гим алго­рит­мам. К при­меру, файл реес­тра SAM в ОС семей­ства Windows по умол­чанию хра­нит два дай­джес­та каж­дого пароля: LM-хеш (уста­рев­ший тип на осно­ве алго­рит­ма DES)

Пос­тепен­но оба типа хешей вытес­няют­ся более надеж­ными вари­анта­ми авто­риза­ции, но мно­гие эту ста­рую схе­му исполь­зуют в исходном виде до сих пор. Ско­пиро­вав файл SAM и рас­шифро­вав его сис­темным клю­чом из фай­ла SYSTEM, ата­кующий получа­ет спи­сок локаль­ных учет­ных записей и сох­ранен­ных для них кон­троль­ных зна­чений — хешей.

Да­лее взлом­щик может най­ти пос­ледова­тель­ность сим­волов, которая соот­ветс­тву­ет хешу адми­нис­тра­тора. Так он получит пол­ный дос­туп к ОС и оста­вит в ней мень­ше сле­дов, чем при гру­бом взло­ме с помощью баналь­ного сбро­са пароля. Напоми­наю, что из‑за эффекта кол­лизии под­ходящий пароль не обя­затель­но будет таким же, как у реаль­ного вла­дель­ца компь­юте­ра, но для Windows раз­ницы меж­ду ними не будет вов­се. Как пела груп­па Bad Religion, «Cause to you I’m just a number and a clever screen name».

Ана­логич­ная проб­лема сущес­тву­ет и в дру­гих сис­темах авто­риза­ции. Нап­ример, в про­токо­лах WPA/WPA2, широко исполь­зуемых при соз­дании защищен­ного под­клю­чения по Wi-Fi. При соеди­нении меж­ду бес­про­вод­ным устрой­ством и точ­кой дос­тупа про­исхо­дит стан­дар­тный обмен началь­ными дан­ными, вклю­чающи­ми в себя handshake.

Во вре­мя «рукопо­жатия» пароль в откры­том виде не переда­ется, но в эфир отправ­ляет­ся ключ, осно­ван­ный на хеш‑фун­кции. Нуж­ные пакеты мож­но перех­ватить, перек­лючив с помощью модифи­циро­ван­ного драй­вера при­емник адап­тера Wi-Fi в режим монито­рин­га.

Более того, в ряде слу­чаев мож­но не ждать момен­та сле­дующе­го под­клю­чения, а ини­циали­зиро­вать эту про­цеду­ру при­нуди­тель­но, отпра­вив широко­веща­тель­ный зап­рос deauth всем под­клю­чен­ным кли­ентам. Уже в сле­дующую секун­ду они попыта­ются вос­ста­новить связь и нач­нут серию «рукопо­жатий».

Сох­ранив файл или фай­лы с хен­дшей­ком, мож­но выделить из них хеш пароля и либо узнать сам пароль, либо най­ти какой‑то дру­гой, который точ­ка дос­тупа при­мет точ­но так же. Мно­гие онлай­новые сер­висы пред­лага­ют про­вес­ти ана­лиз не толь­ко чис­того хеша, но и фай­ла с записан­ным хен­дшей­ком.

Шаг 1. определяем интерфейс

Для начала нужно узнать, какой сетевой интерфейс нам нужен, для этого вводим команду:

$ ifconfig


Получаем ответ:

eth0      no wireless extensions.
wlan0     IEEE 802.11abgn  ESSID:off/any
Mode:Managed  Access Point: Not-Associated   Tx-Power=15 dBm
Retry short limit:7   RTS thr:off   Fragment thr:off
Encryption key:off
Power Management:off
lo        no wireless extensions

В моем случае всего три интерфейса, два из которых не имеют беспроводных расширений (no wireless extensions). Поэтому нас интересует только wlan0.

Шаг 2. переводим сетевой адаптер в режим мониторинга

Перевод сетевого адаптера в режим мониторинга позволит нам видеть беспроводной трафик, подходящий рядом с нами. Для того чтобы сделать это, вводим команду:

$ airmon-ng start wlan0

Обратите внимание, что airmon-ng переименовал ваш интерфейс (у меня он стал называться mon0, но вам, все же, стоит проверить).

Шаг 3. перехватываем трафик


Теперь, когда наш сетевой адаптер находится в режиме мониторинга, мы можем захватить, подходящий мимо нас трафик, используя команду airodump-ng. Вводим:

$ airodump-ng mon0

image

Обратите внимание, что все видимые точки доступа перечислены в верхней части экрана, а клиенты — в нижней части экрана.

Шаг 4. концентрируем перехват на конкретной точке доступа.

Наш следующий шаг — сосредоточить наши усилия на одной из точек доступа и на ее канале. Нас интересует BSSID и номер канала точки доступа, которую мы будем взламывать. Давайте откроем еще один терминал и введем:

$ airodump-ng --bssid 08:86:30:74:22:76 -c 6 -w WPAcrack mon0

image


Как вы можете видеть на скриншоте выше, мы сейчас концентрируемся на захвате данных с одной точки доступа с ESSID Belkin276 на канале 6. Терминал оставляем открытым!

Шаг 5. получение handshake

Чтобы захватить зашифрованный пароль, нам нужно, чтобы клиент прошел аутентификацию (подключился к Wi-Fi). Если он уже аутентифицирован, мы можем его деаутентифицировать (отключить), тогда система автоматически повторно аутентифицируется (подключится), в результате чего мы можем получить зашифрованный пароль.

То есть нам просто нужно отключить подключенных пользователей, чтобы они подключились снова. Для этого открываем ещё один терминал и вводим:

$ aireplay-ng --deauth 100 -a 08:86:30:74:22:76 mon0

image

Теперь при повторном подключении окно которое мы оставили на предыдущем шаге поймает handshake. Давайте вернемся к нашему терминалу airodump-ng и посмотрим.

Обратите внимание на верхнюю строку справа, airodump-ng вывел: «Handshake WPA». То есть, мы успешно захватили зашифрованный пароль! Это первый шаг к успеху!

Шаг 6. подбираем пароль

Теперь, когда у нас есть зашифрованный пароль в нашем файле WPAcrack, мы можем запустить подбор пароля. Но для этого нам нужно иметь список с паролями которые мы хотим использовать. Найти такой список можно за 5 минут в Гугле. Я, же, буду использовать список паролей по умолчанию, включенный в aircrack-ng: BackTrack darkcOde.

Открываем новый терминал и вводим:

$ aircrack-ng WPAcrack-01.cap -w /pentest/passwords/wordlists/darkc0de

image

Заключение


Для расшифровки WEP Wi-Fi трафика достаточно знать только пароль. Но ТД с WEP уже практически не встречаются.

Связанные статьи:

Оцените статью
Расшифруй.Ру