利用Nmap對MS-SQLSERVER進行滲透
如今Nmap的腳本引擎從一個普通的端口掃描器轉變為具有攻擊性的滲透測試工具。隨著nmap各種腳本的存在。到目前為止,我們甚至可以進行完整的SQL數據庫滲透而不需要任何其他的工具。
在本教程中,我們將看到在這些腳本中有些什么樣的信息,以及如何通過Nmap從數據庫中提取,還可以利用SQLServer來執行系統命令。
默認MS-SQL數據庫上運行的端口為1433,為了及時發現有關數據庫,我們需要執行以下腳本:
(獲取SQL信息)
已經獲取了數據庫的版本和實例的信息。下一步檢查是否有弱口令和數據庫身份驗證,需要運行以下nmap的腳本,它會執行暴力破解。
(nmap暴力破解MS-SQL賬戶)
可以看到,沒有發現任何數據。在這種情況下可以利用這個腳本來使用我們自己的用戶名和密碼字典,以便及時發現有效的數據庫帳戶。使用這個命令:
nmap -p1433 –script ms-sql-brute –script-args userdb=/var/usernames.txt,passdb=/var/passwords.txt
還可以嘗試另一種腳本,來檢查Microsoft SQLServers是否存在空密碼。
(檢查SA賬戶是否為空密碼)
現在我們知道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數據庫帳戶,所以沒有任何的哈希值。





























