• Открыта запись на вторую часть курса по анонимности и безопасности в сети интернет "Paranoid II" от команды codeby. Анонимные роутеры, Подъём, настройка и администрирование Tor-ноды, Работа с железом ПК, Удаление аппаратных закладок, Минимизация рисков, Авторские разработки и многое другое. Подробнее ...

Статья Bettercap 2.x. Атака на WiFi сети - Захват handshake.

centr

centr

Премиум
31.01.2017
414
410
Приветствие

Приветствую всех читателей и обитателей ресурса Codeby.net!

Китайский новый год уже закончился и хотя, некоторые граждане КНР ещё продолжают его отмечать, или просто пытаются споить тех кого ещё не видели в этом году, уже можно сказать гонка рабочих будней начинает набирать свой оборот.В связи с этим, свободного времени становится всё меньше и меньше, а значить и времени на моё хобби практически не остаётся.
Думаю буду всё таки выкраивать время для будущих постов в этом направление, в выходные дни или\и в то время когда нахожусь в пути.Честно говоря, моя работа связана с "туристическим бизнесом", соответственно мне практически каждый день приходится находится в дороге по 6-7 часов, преодолевая расстояния между городами и странами( и снова городами, и странами...) , но дорога выматывает, да и не всегда есть возможность\желание писать что то находясь в транспорте.
Хотя я и не нахожусь за рулём, и есть свободное время в этот промежуток времени, все равно есть факторы которые будут мешать концентрации внимания на какой либо теме, а для написания содержательного поста в виде инструкции, это самое необходимое.

Предисловие

В прошлой теме можно сказать стартовал цикл статей по Bettercap 2.x, материала много, возможностей у этого инструмента не мало, а если его использовать в связке с другими инструментами, то количество материала для статей вырастает в разы.

Специально потратил не много времени перед написанием этой статьи и погуглил, могу с увереностью сказать что - по ".ру" материала о bettercap 2.x версий практически нет, в основном это перевод мануала с официального источника, остальное что гуглится это в основном устаревшие инструкции по bettercap 1.x версий, но это уже несколько не актуально.Конечно bettercap 1.x версий ещё работает, но у него нет таких возможностей как bettercap 2.x версий.

В обще в сети информации о betteracp 2.x совсем мало(хотя версия 2.x вышла в феврале прошлого года), как и по ".ру", это репост справки от официального источника и несколько репостов с блогов нескольких авторов.

Думаю стоит начать с самого начала, правда сначала хотел выложить перевод справки, но когда перевёл справку по модулям, нашёл в сети схожий, (хотя и не много устаревший) перевод с справки официального источника, поэтому решил всё таки пытаться не повторятся и постить на Codeby.net(на сколько это возможно) "эксклюзивный материал".Начнём с самого начала пути тестирования WiFi сетей с использованием Bettercap 2.x, а именно с получения доступа к точке доступа в WiFi сети.Могу добавить, Bettercap позволяет ускорить весь процесс захвата handshakes, конечно есть и другие инструменты которые справляются ни чем не хуже, а в некоторых случаях даже и лучше, всё таки bettercap имеет своё право на внимание, хотя бы как один из способов получения доступа к точкам доступа в WiFi сетях.

Обнаружение и выбор точки доступа WiFi наиболее подходящей для атаки

Bettercap 2.x имеет модуль для работы с WiFi сетями, который позволяет производить атаки на точки доступа и их клиентов, так же есть возможность создания поддельной точки доступа и ещё несколько пригодных плюшек которые мы рассмотрим в следующих статьях.

Для работы bettercap не нужно переводить адаптер в режим монитора, bettercap сам в состояние выполнить все необходимые манипуляции с адаптером для своей работы, не нужно глушить все процессы работающие с сетью, нужно только освободить тот интерфейс с которым будет работать bettercap(если подключены к точке доступа WiFi сети, то просто отключитесь).

Запускаем Bettercap с параметром "-iface" указывая привязку к интерфейсу с которым будем работать, в моём случае это "wlan0", у вас имя может быть совершенно другое название, для того что бы узнать название интерфейса работающего с WiFi сетями нужно выполнить команду "ifconfig":

Bettercap 2.x. Атака на WiFi сети - Захват handshake.


Или "iwconfig":

Bettercap 2.x. Атака на WiFi сети - Захват handshake.


Наверное вариант с командой "iwconfig" будет всегда проще для определения необходимого названия интерфейса, так как на против нужного имени интерфейса всегда будет надпись типа: "IEEE 802.11....", ну это уже уж слишком разжёвано.
Код:
bettercap -iface wlan0
Bettercap 2.x. Атака на WiFi сети - Захват handshake.


Первым делом запустив Bettercap с указанием привязки к определённому интерфейсу, необходимо запустить обнаружение устройств в сетях WiFi( конечно можно начать и с настройки всех параметров, но будет правильней сначала с ориентироваться на цели для захвата , а уже потом указывать параметры):
Код:
wifi.recon on
Bettercap 2.x. Атака на WiFi сети - Захват handshake.


Сразу же начнут поступать данные об обнаруженных точках доступа и устройств подключенных к ним, не много выждав(буквально секунд 30, думаю не более, но можно и вовсе не ожидая) необходимо отфильтровать вывод событий.Сделать это можно используя команду "ticker" задав команду "clear" для постоянной очистки вывода и задав команду "wifi.show" для отображения вывода о сети, в этом случае нам будет отображаться только данные о сетях, всё остальное будет чистится командой очистки "clear".

Это жестокий вариант очистки вывода событий, но можно обойтись без "ticker", можно просто указать фильтр для игнорирования вывода из потока событий используя "events.ignore", это даст более гибкую настройку вывода из потока событий.
Например что бы отсечь отображение вновь обнаруженных точках доступа вводим:
Код:
events.ignore wifi.ap.new
Bettercap 2.x. Атака на WiFi сети - Захват handshake.


То же самое стоит проделать и с другим ненужным в данный момент выводом событий, отсекём сразу же и вывод параметра "probe", который будет постоянно сообщать нам о движение устройств ("wifi.client.probe"):
Код:
events.ignore wifi.client.probe
Очистим экран используя команду "clear" от кучи ненужной в данный момент для нас информации и посмотрим список текущих точек доступа в сети используя команду "wifi.show":
Код:
clear
wifi.show
Bettercap 2.x. Атака на WiFi сети - Захват handshake.


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

В моём случае это первая точка доступа в выведенном списке обнаруженных точек доступа.

Смотрим какой канал использует эта точка доступа(в моём случае это 1-ый канал, буковки "ch" указывают какой канал использует точка(на скриншоте выше выделено красным.)) и указываем bettercap на каком канале надо работать, для удобства и наиболее читабельного вида сразу же очистим экран:
Код:
wifi.recon.channel 1
clear
И выведем список доступных точек доступа на этом канале используя команду "wifi.show":
Код:
wifi.show
Bettercap 2.x. Атака на WiFi сети - Захват handshake.


Захват handshakes выбранной точки доступа

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

Первый вариант наиболее прост, необходимо всего лишь указать полный путь до файла в который будет сохранён захваченный handshake и дать команду деаунтетификации клиентов от выбранной точки доступа, причём можно указать отдельного клиента, или точку доступа, во втором случае будет произведена деаунтетификация всех подключенных пользователей к этой точке доступа, таким образом шанс на перехват отпечатка вырастит в несколько раз.
Указываем полный путь до файла в котором будет сохранён захваченный handshake(в название файла лучше указать название атакуемой точки доступа и её mac адрес, это будет полезно при будущих атаках на другие точки доступа сетей WiFi.):
Код:
set wifi.handshakes.file  /root/wifi/hahshakes-RosTel-11_10:10:10:70:00:a0.pcap
Расширение указываем .pcap, в дальнейшем можно будет использовать wireshark/tshark/aircrack-ng во время атаки для того что бы узнать о захвате hanshakes, правда это больше относится ко второму варианту в котором будет использоваться снифер для захвата handshakes.

И начинаем деаунтефицировать всех подключенных клиентов к указаной точке доступа используя команду "wifi.deauth":
Код:
wifi.deauth 10:10:10:70:00:a0
В качестве параметра к команде "wifi.deauth" необходимо указать mac адрес точки доступа, или mac адрес определённого подключенного к этой точке доступа клиента, в моём случае это mac адрес точки доступа "10:10:10:70:00:a0".Считаю что вариант с указанием mac адреса точки доступа (который будет производить деаунтетификацию всех подключенных к этой точке доступа клиентов) будет наиболее продуктивным.

Bettercap 2.x. Атака на WiFi сети - Захват handshake.


В сообщение:
Код:
[13:57:52] [wifi.client.handshake] captured fb:79:00:11:c8:f9 -> RosTel-11 (10:10:10:70:00:a0) WPA2 handshake to /root/wifi/hahshakes-RosTel-11_10:10:10:70:00:a0.pcap
Что от устройства mac адресом "fb:79:00:11:c8:f9", который в свою очередь являлся подключенным клиентом к выбранной нами точки доступа с названием RosTel-11 и mac адресом 10:10:10:70:00:a0, был захвачен зашифрованный WPA2 hanshake и записан в файл полный путь к которому мы указали ранее.

В принципе самое главное действие на пути к получению желаемых данных для аунтетификации к выбранной нами точке доступа, выполнено, осталось только расшифровать захваченный нами handshake.
Но думаю стоит рассмотреть и второй вариант захвата handshake, который позволяет произвести bettercap используя встроенный снифер.

Захват handshake используя встроенный снифер

Прежде всего используя вариант с встроенным снифером необходимо его настроить, а именно включить вербальность и указать полный путь до файла в котором будут сохранены захваченные handshake, разумеется запустить снифер и использовав команду "wifi.deauth" произвести деаунтетификацию подключенных клиентов к выбранной точке доступа.
Включаем вербальность снифера используя параметр "net.sniff.verbose", указываем полный путь до файла куда будут сохранятся захваченные handshake используя параметр "set net.sniff.output", запускаем снифер (сразу же посыпется куча вывода из потока событий с данными от запущенного снифера, поэтому лучше сразу указать фильтр для "events.ignore") и даём команду деаунтетификации к выбранной точке доступа с указанным mac адресом "10:10:10:70:00:a0":
Код:
set net.sniff.verbose true
set net.sniff.output /root/wifi/hahshakes2-RosTel-11_10:10:10:70:00:a0.pcap
net.sniff on
events.ignore net.sniff.802.11
clear
wifi.deauth 10:10:10:70:00:a0
Bettercap 2.x. Атака на WiFi сети - Захват handshake.


handshake захвачен, об этом свидетельствует вывод ранее уже известного нам сообщения:
Код:
[13:57:52] [wifi.client.handshake] captured fb:79:00:11:c8:f9 -> RosTel-11 (10:10:10:70:00:a0) WPA2 handshake to /root/wifi/hahshakes-RosTel-11_10:10:10:70:00:a0.pcap
Остаётся дело за взломом захваченного handshakes.

Взлом захваченного handshakes

Наиболее популярными инструментами для решения этих задач являются Pyrit, AirCrack-ng и hashcat.
Самым быстрым решением является Pyrit, уверять и настаивать на этом не в коем случае не буду, это предположение и не более, хотя в сети утверждают именно об этом, самым гибким инструментом является hashcat, ну и наверное самым простым решением является AirCrack-ng.

Начнём наверное именно с AirCrack-ng.

AirCrack-ng

Проверяем наличие захваченного hanshake:
Код:
aircrack-ng hahshakes-RosTel-11_10:10:10:70:00:a0.pcap
Bettercap 2.x. Атака на WiFi сети - Захват handshake.


Наличие подтвержденно, теперь необходимо очистить .pcap файл с содержащимся handshake от ненужного мусора, для этого будем использовать утилиту "wpaclean":
Код:
wpaclean out.cap hahshakes-RosTel-11_10:10:10:70:00:a0.pcap
Bettercap 2.x. Атака на WiFi сети - Захват handshake.


Первым параметром указываем выходной файл, то есть файл который будет очищен утилитой, вторым параметром наш pcap файл который нам выдал bettercap.

Далее выбрать словарь и запусть aircrack-ng с надеждой что в выбранном нами словаре окажется необходимый пароль.
Код:
aircrack-ng out.cap -w codebynet.lst
Bettercap 2.x. Атака на WiFi сети - Захват handshake.


Ключ подобран, можно идти к дверям...

Pyrit

Производим очистку полученного ранее pcap файла с захваченным и сохранённым handshake:
Код:
wpaclean out.cap hahshakes-RosTel-11_10:10:10:70:00:a0.pcap
Создаём своеобразную базу данных и с названием точки доступа (essid):
Код:
pyrit -e RosTel-11 create_essid
Bettercap 2.x. Атака на WiFi сети - Захват handshake.


Импортируем выбранный нами словарь с паролями:
Код:
pyrit -i /root/wifi/codebynet.lst import_passwords
Bettercap 2.x. Атака на WiFi сети - Захват handshake.


Теперь необходимо создать таблицы:
Код:
pyrit batch
Bettercap 2.x. Атака на WiFi сети - Захват handshake.


При большом объёме словаря ваш процессор будет сильно греться, учитывайте возможности своего железа, лучше разбейте свой словарь на несколько частей и пробуйте брутить частями.
Теперь когда база создана, можно произвести атаку на наш уже очищенный cap файл в котором сохранён ранее захваченный hanshake:
Код:
pyrit -r /root/wifi/out.cap attack_db
Bettercap 2.x. Атака на WiFi сети - Захват handshake.


Пароль получен, теперь необходимо очистить pyrit и удалить ранее созданную базу данных:
Код:
pyrit -e RosTel-11 delete_essid
hashcat

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

О Hashcat довольно много информации, в том числе есть статья и на Codeby.net, так что описывать всю процедуру не буду, приведу краткий пример работы по словарю.

Первым делом необходимо конвертировать наш .cap файл в формат .hccap который будет понятен для hashcat, для этого можно использовать предлагаемые официальными источниками утилиты hcxdumptool ( ), или онлайн ресурсом(который так же предлагает использовать официальный источник) (ему есть альтернативы, например ), можно использовать aircrack-ng:
Код:
aircrack-ng /root/wifi/out.cap -J /root/wifi/out
Bettercap 2.x. Атака на WiFi сети - Захват handshake.


Но этот вариант устарел и больше не подходит для hashcat, hccap теперь используется только для oclhashcat который в свою очередь у меня отказался запускаться ссылаясь на ошибку сегментирования, смысла выяснять в чём дело и устраивать шаманские обряды в виде плясок с бубном не вижу ни какого, по крайней мере на данный момент.
В связи этим моментом решил скачать и скомпилировать предлагаемую официальным источником утилиту "cap2hccapx":
Код:
wget https://raw.githubusercontent.com/hashcat/hashcat-utils/master/src/cap2hccapx.c
gcc -o cap2hccapx cap2hccapx.c
mv cap2hccapx /bin
rm cap2hccapx.c
clear
cap2hccapx
Bettercap 2.x. Атака на WiFi сети - Захват handshake.


cap2hccapx при попытке сконвертировать ранее очищенный утилитой wpaclean файл out.cap начал ругаться:

Bettercap 2.x. Атака на WiFi сети - Захват handshake.


То есть для конвертации hccapx файлов чистка не требуется и коневертировать надо файл pcap который был ранее получен с bettercap
Код:
cap2hccapx hahshakes-rostelxx_10:10:10:70:00:a0.pcap out.hccapx
Bettercap 2.x. Атака на WiFi сети - Захват handshake.


Теперь когда все пляски исполнены и файл hahshakes-rostelxx_10:10:10:70:00:a0.pcap с захваченным handshake наконец то конвертирован в .hccapx, можно провести атаку:
Код:
hashcat -m 2500 /root/wifi/out.hccapx /root/wifi/codebynet.lst
Bettercap 2.x. Атака на WiFi сети - Захват handshake.


Пляски с hashcat в конце все проделанного пути не много сбили с мысли...

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

Заключение

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

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

Остаётся пожелать что бы в вашем словаре всегда был необходимый пароль!
 
Последнее редактирование:
centr

centr

Премиум
31.01.2017
414
410
Конечно скорость вырастает, но и как вы успели заметить, очистка может привести негодности рукопожатия.
С Hashcat возможно малость погорячился.
 
Мы в соцсетях:  ТелеграмВконтактеДзенФейсбукТвиттерЮтуб