вівторок, 12 лютого 2013 р.

Знайомство з Pyrit

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

Pyrit - утиліта невеликих розмірів, що використовується для тестування безпеки Вашої безпровідної мережевої інфраструктури за допомогою методу перебору. Аналогами утиліти Pyrit  є більш відомі програми Aircrack-ng та Cowpatty. Проте, саме Pyrit так сильно привертає мою увагу і використовується особисто мною в аудиті безпеки завдяки тому, що дозволяє підключати практично усі обчислювальні ресурси, доступні в цільовій комп'ютерній системі, а не лише процесор. В даній статі я розпочну знайомство з утилітою Pyrit.

Розпочати, напевне, слід з того, з чим же все таки працює дана програмка? А працює вона із перехопленими WPA2 хендшейками (handshake), що складається з 4 мережевих пакетів. І містить в собі PSK-фразу, тобто пароль до Wi-Fi точки доступу, над якою здійснюється перехоплення. Детальніше про те, що таке handshake, PSK, PMK, WPA2 і процес перехоплення описано в іншій моїй статті. Припускається, що читач уже ознайомлений із даною тематикою, тому на даному етапі детальніше зупинятись не буду. Отже, отримавши WPA2-хендшейк, та підготувавши базу паролів для перебору, ми теоретично готові для того, аби здійснювати перебір (bruteforce).

Скачати утиліту pyrit можна тут:


На сторінці за посиланням вище розміщено архіви tar.gz з відкритими кодами програми. Так, авжеж, з відкритими, тому що Pyrit - це вільне програмне забезпечення, яке розповсюджується за ліцензією GNU GPL.Тестування утиліти та приклади в даній статті здійснюватимуться в операційній системі Linux Backtrack 5. Як встановити Linux взагалі та Linux Backtrack 5 зокрема, описано в іншій моїй статті блогу. Також отримати вихідні коди програми можна, здійснивши в командній стрічці термінала Linux команду:

svn checkout http://pyrit.googlecode.com/svn/trunk/ pyrit_svn

Я рекомендую використовувати svn. Будьте певні тоді в отриманні останньої версії програмного забезпечення та всіх його релізів. Скачана директорія розміщується по замовчуванню за тим шляхом, з якого виконувалась вищезгадана команда. Перейдемо в директорію pyrit_svn:

cd pyrit_svn

Набравши команду ls бачимо директорії з реалізаціями pyrit для підтримки в переборі різних типів відеокарт. Про використання відеокарти для перебору описано в іншій статті. На даному етапі потрібна загальна версія Pyrit, оскільки ми лише знайомимось з даною утилітою. Для компіляції вихідних кодів буде необхідна бібліотека та компілятор Python, а також інші додаткові бібліотеки для розробників. Встановити їх можна виконавши в терміналі дані команди:

apt-get install g++
apt-get install python-dev
apt-get install zlib1g-dev
apt-get install libssl-dev

Тепер перейдемо безпосередньо до встановлення Pyrit. Потрібно здійснити наступні команди:

cd pyrit
python setup build
python setup install
Все, Pyrit встановлено. Для перевірки коректності роботи, та того, чи правильно Pyrit бачить ядра вашого процесора, слід здійснити в терміналі команду:

pyrit list_cores

На рисунку 1 зображено вивід даної команди
Рисунок 1 - Вивід команди pyrit list_cores

Як бачимо з рисунка, Pyrit знайшов 4 потоки мого двох ядерного процесора Intel Core i5. Для того, аби здійснити тестування обчислювальних можливостей Вашого процесора для перебору ключів WPA2 слід виконати наступну команду:

pyrit benchmark

Процес здійснення тесту може зайняти від 1 до 3 хвилин. На рисунку 2 зображено вивід даної команди:
Рисунок 2 - Вивід команди pyrit benchmark

З рисунка 2 видно, що кожне ядро мого процесора може здійснювати перебір з пропускною здатністю приблизно 400 PMK / сек. Про PMK, збільшення даного числа, та оптимізацію перебору детальніше буде описано в наступних статтях, присвячених Pyrit. Тепер, спробуємо здійснити реальний перебір ключів за допомогою нашої утиліти та словника паролів. Виконаємо команду:

pyrit -r WPA2-01.cap -i wordlist.txt attack_passthrough

де 
-r WPA2-01.cap вказує на те, що в якості вхідного хендшейка використовується хендшейк WPA2-01.cap
-i wordlist.txt - задання словника з ключами. В даному випадку в мене це словник на 10001 ключ.
attack_passthrough - параметр, що вказує Pyrit здійснювати зовнішній перебір по текстовому файлі.

На рисунку 3 представлено виконання даної команди
 
Рисунок 3 - Робота програми Pyrit

Як бачимо з рисунка 3, пароль (ключ) було знайдено: igorigor
Детальнішу інформацію про параметри програми Pyrit можна отримати з довідки, набравши в терміналі команду:

pyrit ?

На даному етапі все. Детальніше знайомство з Pyrit - в наступних статтях. Побажання та ідеї щодо написання навчальних статтей присилайте на пошту: ukraineitblog@gmail.com

Успіхів!

Немає коментарів:

Дописати коментар