如今Nmap的腳本引擎從一個普通的端口掃描器轉變為具有攻擊性的滲透測試工具 。隨着nmap各種腳本的存在。到目前為止,我們甚至可以進行完整的SQL數據庫滲透而不需要任何其他的工具。
今天就在kali下用nmap的數據庫腳本引擎對mysql和mssql數據庫進行基本的滲透與分析。
在調用nmap腳本之前,我們可以先進入script目錄,用tab鍵自動填充來看看有哪些腳本可以用。
默認MS-SQL數據庫上運行的端口為1433,為了及時發現有關數據庫,我們需要執行以下腳本:
(獲取SQL信息)
已經獲取了數據庫的版本和實例的信息。下一步檢查是否有弱口令和數據庫身份驗證,需要運行以下nmap的腳本,它會執行暴力破解。
(nmap暴力破解MS-SQL賬戶)
可以看到,沒有發現任何數據。在這種情況下可以利用這個腳本來使用我們自己的用戶名和密碼字典,以便及時發現有效的數據庫帳戶。使用這個命令:
nmap -p1433 –script ms-sql-brute –script-args userdb=/var/usernames.txt,passdb=/var/passwords.txt
注:個人親測nmap的爆破效率真心不高,爆破建議還是考慮使用hydra。
還可以嘗試另一種腳本,來檢查Microsoft SQLServers是否存在空密碼。
(檢查SA賬戶是否為空密碼)
mysql空密碼:
現在我們知道sa帳戶沒有密碼。我們可以使用這個信息來連接數據庫直接執行腳本,需要進一步Nmap有效身份認證。如果我們想知道在哪個數據庫sa帳戶訪問或任何其他賬戶,可以運行ms-sql-hasdbaccess腳本與下列參數:
(查看某用戶訪問了哪些DB)
通過Nmap查詢Microsoft SQL Server來獲取數據庫表。
SQL Server 2000 的xp_cmdshell 默認情況下是啟用的,因此我們甚至可以執行操作系統命令。通過Nmap腳本中可以看到下面的圖片:
(通過xp_cmdshell 來運行OS命令)
(通過xp_cmdshell來運行’net users’)
最后還可以運行一個腳本來提取數據庫,利用哈希值破解密碼。工具:john the ripper
因為只有一個空口令的sa數據庫帳戶,所以沒有任何的哈希值。
nmap的腳本還有很多,但是並不是每個功能都是同類工具中最實用的,有的時候功能太多就顯得雞肋了,大家根據自己使用習慣來選擇吧。
時間有限,就沒有一一用kali來截圖寫教程,但是應該不影響大家的理解吧。