利用Nmap對MS-SQLSERVER進行滲透
如今Nmap的腳本引擎從一個普通的端口掃描器轉(zhuǎn)變?yōu)榫哂泄粜缘臐B透測試工具。隨著nmap各種腳本的存在。到目前為止,我們甚至可以進行完整的SQL數(shù)據(jù)庫滲透而不需要任何其他的工具。
在本教程中,我們將看到在這些腳本中有些什么樣的信息,以及如何通過Nmap從數(shù)據(jù)庫中提取,還可以利用SQLServer來執(zhí)行系統(tǒng)命令。
默認MS-SQL數(shù)據(jù)庫上運行的端口為1433,為了及時發(fā)現(xiàn)有關(guān)數(shù)據(jù)庫,我們需要執(zhí)行以下腳本:
(獲取SQL信息)
已經(jīng)獲取了數(shù)據(jù)庫的版本和實例的信息。下一步檢查是否有弱口令和數(shù)據(jù)庫身份驗證,需要運行以下nmap的腳本,它會執(zhí)行暴力破解。
(nmap暴力破解MS-SQL賬戶)
可以看到,沒有發(fā)現(xiàn)任何數(shù)據(jù)。在這種情況下可以利用這個腳本來使用我們自己的用戶名和密碼字典,以便及時發(fā)現(xiàn)有效的數(shù)據(jù)庫帳戶。使用這個命令:
nmap -p1433 –script ms-sql-brute –script-args userdb=/var/usernames.txt,passdb=/var/passwords.txt
還可以嘗試另一種腳本,來檢查Microsoft SQLServers是否存在空密碼。
(檢查SA賬戶是否為空密碼)
現(xiàn)在我們知道sa帳戶沒有密碼。我們可以使用這個信息來連接數(shù)據(jù)庫直接執(zhí)行腳本,需要進一步Nmap有效身份認證。如果我們想知道在哪個數(shù)據(jù)庫sa帳戶訪問或任何其他賬戶,可以運行ms-sql-hasdbaccess腳本與下列參數(shù):
(查看某用戶訪問了哪些DB)
通過Nmap查詢Microsoft SQL Server來獲取數(shù)據(jù)庫表。
SQL Server 2000 的xp_cmdshell 默認情況下是啟用的,因此我們甚至可以執(zhí)行操作系統(tǒng)命令。通過Nmap腳本中可以看到下面的圖片:
(通過xp_cmdshell 來運行OS命令)
(通過xp_cmdshell來運行’net users’)
最后還可以運行一個腳本來提取數(shù)據(jù)庫,利用哈希值破解密碼。工具:john the ripper
因為只有一個空口令的sa數(shù)據(jù)庫帳戶,所以沒有任何的哈希值。