Ця стаття написана виключно в ознайомлювальних та дослідницьких цілях. Закликаємо вас дотримуватись правил роботи з мережами та закону, а також завжди пам'ятати про інформаційну безпеку.
Запровадження
На початку 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. Визначаємо інтерфейс
Для початку потрібно дізнатися, який мережевий інтерфейс нам потрібен, для цього вводимо команду:
$ 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 
Зверніть увагу, що всі видимі точки доступу перераховані у верхній частині екрана, а клієнти у нижній частині екрана.
Крок 4. Концентруємо перехоплення на конкретній точці доступу.
Наш наступний крок — зосередити наші зусилля на одній із точок доступу та на її каналі. Нас цікавить BSSID та номер каналу точки доступу, яку ми зламуватимемо. Давайте відкриємо ще один термінал і введемо:
$ airodump-ng --bssid 08:86:30:74:22:76 -c 6 -w WPAcrack mon0 
- 08:86:30:74:22:76 BSSID точки доступу
- -c 6 канал, на якому працює точка доступу Wi-Fi
- WPAcrack файл у який запишеться handshake
- mon0 мережевий адаптер у режимі моніторингу
Як ви можете бачити на скріншоті вище, ми концентруємося на захопленні даних з однієї точки доступу з ESSID Belkin276 на каналі 6. Термінал залишаємо відкритим!
Крок 5. Отримання handshake
Щоб захопити зашифрований пароль, нам потрібно, щоб клієнт пройшов аутентифікацію (підключився до Wi-Fi). Якщо його вже автентифіковано, ми можемо його деаутентифікувати (вимкнути), тоді система автоматично повторно автентифікується (підключиться), внаслідок чого ми можемо отримати зашифрований пароль.
Тобто нам просто потрібно відключити підключених користувачів, щоб вони знову підключилися. Для цього відкриваємо ще один термінал та вводимо:
$ aireplay-ng --deauth 100 -a 08:86:30:74:22:76 mon0 
- 100 кількість користувачів, які будуть деаутентифіковані
- 08:86:30:74:22:76 BSSID точки доступу
- mon0 мережний адаптер
Тепер при повторному підключенні вікно, яке ми залишили на попередньому кроці спіймає handshake. Повернімося до нашого терміналу airodump-ng і подивимося.

Зверніть увагу на верхній рядок праворуч, airodump-ng вивів: Handshake WPA. Тобто ми успішно захопили зашифрований пароль! Це перший крок до успіху!
Крок 6. Підбираємо пароль
Тепер, коли ми маємо зашифрований пароль у нашому файлі WPAcrack, ми можемо запустити підбір пароля. Але для цього нам потрібно мати список з паролями, які ми хочемо використовувати. Знайти такий список можна за 5 хвилин у Гуглі. Я ж буду використовувати список паролів за замовчуванням, включений в aircrack-ng: BackTrack darkcOde.
Відкриваємо новий термінал та вводимо:
$ aircrack-ng WPAcrack-01.cap -w /pentest/passwords/wordlists/darkc0de 
- WPAcrack-01.cap файл який ми записували handshake (airodump-ng приписав в кінці -01.cap)
- /pentest/passwords/wordlist/darkc0de абсолютний шлях до списку паролів
Скільки часу це займе?
Цей процес може тривати багато часу. Все залежить від довжини вашого списку паролів, ви можете чекати від кількох хвилин до кількох днів. На моєму двоядерному процесорі Intel aircrack-ng підбирає трохи більше 800 паролів на секунду.
Коли пароль буде знайдено, він з'явиться на екрані. Чи буде підбір пароля успішним чи ні, залежить від вашого списку. Якщо у вас не вдалося підібрати пароль по одному списку, не впадайте у відчай, спробуйте інший.
Поради щодо використання
- Даний вид атаки ефективний для підбору пароля за списком, але практично не є корисним для рандомного підбору. Вся справа у часі. Якщо Wi-Fi захищений середнім паролем з латинських літер та цифр, то рандомний підбір триватиме кілька років.
- При виборі списку паролів обов'язково враховуйте географічні фактори. Наприклад, немає сенсу робити підбір у ресторані Парижа за списком російських паролів.
- Якщо ви зламуєте домашній Wi-Fi, то постарайтеся дізнатися якісь особисті дані жертви (ім'я, прізвище, дата народження, прізвисько собаки і т.д.) і згенерувати додатковий список паролів з цих даних.
- Після того, як зловили handshake відключаєте роботу aireplay-ng (не змушуйте страждати простих користувачів).
Джерело: habr.com
