對于MySQL數據庫滲透來說,獲取其口令至關重要,一般來講數據庫不會提供對外連接,安全嚴格的將會限制固有IP和本機登錄數據庫,但滲透就是發現各種例外!抱著研究的目地,將目前市面上主流的7款MySQL口令掃描工具進行實際測試,并給出了實際利用場景的具體命令,在進行滲透測試時,具有較高的參考價值。
1.測試環境:Windows 2003 Server +PHP+MySQL5.0.90-community-nt
2.賬號設置:允許遠程訪問也即設置host為%,同時密碼設置為11111111。
3.測試機:kali linux2017和windows 2003
有關利用Metasploit掃描詳細利用可以參考本人網上發布的《利用Msf輔助模塊檢測和滲透Mysql》,這里主要是介紹如何掃描MySQL口令。
1.啟動Metasploit命令
在kali終端下輸入:msfconsole
2. 密碼掃描auxiliary/scanner/mysql/mysql_login模塊
(1)單一模式掃描登錄驗證
use auxiliary/scanner/mysql/mysql_login
set rhosts 192.168.157.130
set username root
set password 11111111
run
(2)使用字典對某個IP地址進行暴力破解
use auxiliary/scanner/mysql/mysql_login
set RHOSTS 192.168.157.130
set pass_file “/root/top10000pwd.txt”
set username root
run
測試效果如圖1所示,注意如果字典過長,其掃描時間也會相應較長,也即等待時間會較長,在掃描結果匯總可以看到-+符號,-表示未成功,綠色的+表示口令破解成功,并顯示用戶名和密碼。如果是對某個IP地址段,則設置set RHOSTS 192.168.157.1-254即可。
圖1使用字典掃描
3.密碼驗證
use auxiliary/admin/mysql/mysql_sql
set RHOSTS 192.168.157.130
set password 11111111
set username root
run
該模塊主要使用設置的用戶名和密碼對主機進行登錄驗證,查詢版本信息,如圖2所示。
圖2登錄驗證
在msf下面有關更多的mysql使用,可以使用search mysql命令,然后選擇對應的模塊,通過info模塊查看,通過set進行參數設置,通過run進行測試。
1.查看Nmap下有關mysql利用腳本
ls -al /usr/share/nmap/scripts/mysql*
/usr/share/nmap/scripts/mysql-audit.nse
/usr/share/nmap/scripts/mysql-brute.nse
/usr/share/nmap/scripts/mysql-databases.nse
/usr/share/nmap/scripts/mysql-dump-hashes.nse
/usr/share/nmap/scripts/mysql-empty-password.nse
/usr/share/nmap/scripts/mysql-enum.nse
/usr/share/nmap/scripts/mysql-info.nse
/usr/share/nmap/scripts/mysql-query.nse
/usr/share/nmap/scripts/mysql-users.nse
/usr/share/nmap/scripts/mysql-variables.nse
/usr/share/nmap/scripts/mysql-vuln-cve2012-2122.nse
可以看到有多個mysql相關腳本,有審計,暴力破解,hash、空密碼掃描、枚舉、基本信息、查詢、變量等。其中/usr/share/nmap/scripts/mysql-brute.nse和/usr/share/nmap/scripts/mysql-empty-password.nse用于密碼掃描。
1.使用nmap掃描確認端口信息
使用命令nmap -p 3306 192.168.157.130進行掃描,如圖3所示,可以看到192.168.157.130計算機端口開放3306。
圖3掃描端口
2.對開放3306端口的數據庫進行掃描破解
(1)掃描空口令
nmap -p3306 --script=mysql-empty-password.nse 192.168.137.130
(2)掃描已知口令
nmap -sV --script=mysql-databases --script-args dbuser=root,dbpass=11111111 192.168.195.130
nmap掃描端口和banner標識效果比較好,對空口令的支持效果也可以,暴力破解比較坑。更多nmap掃描腳本參數詳細情況,請參考:
https://nmap.org/nsedoc/lib/brute.html#script-args
Hydra是linux下面一款非常厲害的密碼暴力破解工具,支持多種協議破解,一般是在命令行下進行破解,在kali2017版本中已經有圖形界面版xHydra。下載地址:https://github.com/maaaaz/thc-hydra-windows
1.使用xHydra暴力破解MySQL密碼
(1)設置目標地址和需要破解的協議
在kali中單擊“Application”-“05-Password Attacks”-“Online Attacks”-“hydra-gtk”打開Hydra圖形界面版,如圖4所示,在Target中設置單一目標(Single Target):192.168.157.130,如果是多個目標,這可以保存在文本文件中,通過Target List進行設置。在其Protocol中選擇Mysql協議。
圖4設置目標地址
(2)設置密碼或者密碼文件
單擊“Password”標簽,在username中輸入root或者其它賬號名稱,或者選擇用戶名稱列表(Username List),如圖5所示。跟username設置一樣,設置用戶密碼,還可以設置以用戶名為密碼進行登錄,以空密碼進行登錄,以密碼反轉進行登錄等。
圖5設置用戶名及密碼
(3)開始暴力破解
在開始暴力破解前,還可以設置線程數,在“Tuning”中設置,如果采用默認,則單擊“start”標簽,如圖6所示,單擊start按鈕,開始進行暴力破解,如果暴力破解成功,則會在其下方以粗體字顯示信息。
圖6破解成功
2.使用hydra進行暴力破解
(1)單一用戶名和密碼進行驗證破解
已知目標root賬號,密碼11111111,主機地址192.168.157.130,則使用如下命令即可:
hydra -l root -p11111111 -t 16 192.168.157.130 mysql
如圖7所示,破解成功后,會以綠色字體顯示破解結果。
圖7使用hydra破解mysql密碼
(2)使用字典破解單一用戶
hydra -l root -P /root/Desktop/top10000pwd.txt -t 16 192.168.157.130 mysql
跟上面類似,使用字典則使用大寫的P,使用密碼則是小寫p后更密碼值。如果是多個用戶列表,則是使用L filename,例如L /root/user.txt,“-t”表示線程數。
(3)對多個IP地址進行root賬號密碼破解
密碼文件為/root/newpass.txt,目標文件/root/ip.txt,登錄賬號為root,則命令為:
hydra -l root -P /root/newpass.txt -t 16 -M /root/ip.txt mysql
如圖8所示,在本例中對192.168.157.130、192.168.157.131、192.168.157.132進行暴力破解,由于192.168.157.131和192.168.157.132未提供3306服務,所以顯示無法連接,最終破解了一個密碼。
圖8破解多個目標MySQL密碼
Hscan是一款老牌的黑客攻擊,其使用很簡單,需要通過menu去設置掃描參數(parameter)startip:192.168.157.1,endip:192.168.157.254,然后選擇模塊(Modules)進行配置,選擇MySQL弱口令檢查即可,如圖9所示,設置好后,單擊start即可開始掃描。在軟件左邊會顯示掃描信息,掃描完成后會在程序目錄下的report生成網頁的報告文件,如果有結果也會在log文件夾下生成掃描日志文件。該軟件對root空口令掃描效果較好,對實際密碼掃描效果一般。
圖9使用hscan掃描MySQL弱口令
軟件需要.net framework 4.0支持,xsqlscanner是國外開發的一款軟件,如圖10所示,需要設置IP地址和SQL審計方法、服務器類型和文件選項,經過實際測試,效果并不理想,掃描過程出現程序無法響應,掃描速度偏慢,通過其使用幫助來看該軟件應該對MSSQL掃描效果比較好。
,
圖10使用xsqlscanner掃描MySQL口令
Bruter是一款支持MySQL、MySQL、SSH等協議的暴力破解工具,其設置非常簡單,需要設置目標,協議,端口,用戶,字典,如圖11所示,進行設置,然后單擊開始即可進行暴力破解,破解成功后會在結果中顯示,適合單個主機快速驗證,比較直觀。
圖11Bruter暴力破解MySQL密碼
1. Medusa簡介
Medusa(美杜莎)是一個速度快,支持大規模并行,模塊化,爆破登錄。可以同時對多個主機,用戶或密碼執行強力測試。Medusa和hydra一樣,同樣屬于在線密碼破解工具。不同的是,medusa 的穩定性相較于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表單的密碼爆破工具,官方網站:http://foofus.net/goons/jmk/medusa/medusa.html。目前最新版本2.2,美中不足的是軟件從2015年后未進行更新,kali默認自帶該軟件,軟件下載地址:
https://github.com/jmk-foofus/medusa
https://github.com/jmk-foofus/medusa/archive/2.2.tar.gz
2.用法
Medusa [-h host|-H file] [-u username|-U file] [-p password|-P file] [-C file] -M module [OPT]
-h [TEXT] 目標主機名稱或者IP地址
-H [FILE] 包含目標主機名稱或者IP地址文件
-u [TEXT] 測試的用戶名
-U [FILE] 包含測試的用戶名文件
-p [TEXT] 測試的密碼
-P [FILE] 包含測試的密碼文件
-C [FILE] 組合條目文件
-O [FILE] 日志信息文件
-e [n/s/ns] n代表空密碼,s代表為密碼與用戶名相同
-M [TEXT] 模塊執行名稱
-m [TEXT] 傳遞參數到模塊
-d 顯示所有的模塊名稱
-n [NUM] 使用非默認Tcp端口
-s 啟用SSL
-r [NUM] 重試間隔時間,默認為3秒
-t [NUM] 設定線程數量
-T 同時測試的主機總數
-L 并行化,每個用戶使用一個線程
-f 在任何主機上找到第一個賬號/密碼后,停止破解
-F 在任何主機上找到第一個有效的用戶名/密碼后停止審計。
-q 顯示模塊的使用信息
-v [NUM] 詳細級別(0-6)
-w [NUM] 錯誤調試級別(0-10)
-V 顯示版本
-Z [TEXT] 繼續掃描上一次
3.破解MySQL密碼
(1)使用字典文件破解192.168.17.129主機root賬號密碼
medusa -M mysql -h192.168.17.129 -e ns -F -u root -P /root/mypass.txt
參數-M表示MySQL數據庫密碼破解,-h指定主機IP地址或者名稱,-e ns破解空口令和主機名稱相同的用戶密碼,-F破解成功后立刻停止,-u指定root賬號,-P指定密碼文件為/root/mypass.txt,破解效果如圖12所示。
圖12 medusa破解單一MySQL服務器密碼
(2)破解IP地址段MySQL密碼
medusa -M mysql -H host.txt -e ns -F -u root -P /root/mypass.txt
網絡設備越來越大,就需要實時去管理如此諸多的設備,SNMP應運而生。
SNMP協議,可以用來接收網絡節點的通知消息和警告時間報告等,從而獲知網絡出現的問題。
SNMP協議版本
代理在UDP的161端口接收NMS的讀寫請求消息
管理站在UDP的162端口接收代理的事件通告消息
發現、查詢和監視網絡中其他設備的狀態信息。
管理員通過NMS獲取網關監控數據的工作流程,其中涉及了一些SNMP協議的關鍵信息
工作流程步驟:
SNMP采用特殊的客戶機/服務器模式進行通信。
客戶端 —— 網絡管理站NMS
服務器 —— SNMP代理
操作類型
操作命令
Get:管理站讀取代理者處對象的值
Set:管理站設置代理者處對象的值
Trap:代理者主動向管理站通報重要事件
利用wireshark抓取報文
Cisco、H3C、華為等廠商生產的網絡設備大多支持SNMP網管協議,可以通過SNMP設置設備的某個參數對設備配置進行備份或者更新。
鑒于每種設備MIB是不一樣的,所對應能執行的操作也是不一樣。
GNS3 構造一個思科路由器環境
修改思科路由器名字
條件: 獲得SNMP可讀寫團體名
修改之前的名字
修改之后
查看命令
獲取思科路由器配置文件(模擬測試)
配置開啟路由器snmp服務
Router>enable
Router# configure terminal
Router(config)# snmp-server community public RO //讀
Router(config)# snmp-server community private RW //寫
Router(config)# snmp-server host 192.168.32.2 host //指定客戶端,可以設置任意主機
Router(config)# snmp-server enable traps snmp
檢測是否開啟
下載路由器配置
使用msfconsole內置模塊
攻擊流程
查看配置文件(可以查看路由器的配置信息,如telnet密碼、特權密碼、路由、mac地址表等關鍵信息)
強網擬態的實戰題—(如何獲取設備權限)
1.端口掃描發現設備開啟(161端口、22端口)
獲取設備名稱以及型號
確定設備為一臺huawei路由器
2.是否能夠獲取ssh用戶名
查詢該設備MIB,定位到查詢用戶名的OID
查詢該路由器用戶名
3.嘗試暴力破解(是否存在弱口令)
破解得到密碼123456
4.登錄設備
Huawei的命令行提供了諸如ping、traceroute、telnet等工具,這就意味著你可以對內網的其它主機進行探測,進行進一步的內網滲透。
一旦獲取網絡邊界設備的SNMP可讀寫團體名,就可以直入企業內網之中,獲取大量的內網資源,企業內網就不在安全。
https://support.huawei.com/hedex/hdx.do?lib=EDOC1100168845AEJ12147&docid=EDOC1100168845&lang=en&v=05&tocLib=EDOC1100168845AEJ12147&tocV=05&id=EN-US_LOGREF_0313365874&tocURL=resources%2525252Flog%2525252FSSH_USER_LOGIN_5.html&p=t&fe=1&ui=3&keyword=ssh
本文由Crazy_Box原創發布
轉載,請參考轉載聲明,注明出處: https://www.anquanke.com/post/id/260832
安全客 - 有思想的安全新媒體