Metasploit => tips, tricks, hashes and tokens

在這裏插入圖片描述
metasploit在滲透測試中經常被用到,實際上這套軟件包括了很多工具,這些工具組成了一個完整的攻擊框架.

metasploit或許在滲透測試中的每一方面都不能稱爲最好用的工具,但是這個工具有它自己的方便之處.
這篇文章中,我會演示在一次滲透測試中我們會經歷哪些步驟,並且我會故意的只使用metasploit來完成這些工作,以此來顯示metasploit的威力所在.
滲透測試中不能僅僅依賴工具,工具經常會出錯.
最好親自試下工具得到的結果,並且儘可能多用幾個工具測一下,看下結果是不是相同的.自己手動確認漏洞當然是最好的了,比如說,如果一個工具測出來說可能存在匿名FTP登錄,那我們就該試着去登錄FTP服務器,看下工具的檢測結果是不是正確的.
我習慣使用Backtrack 5R2系統,metasploit和postgresql數據在這個系統上都已經默認安裝了.
這次用來演示的攻擊目標是192.168.3.0/24這個網段.
好吧,現在開始實際操作.
打開msfconsole,並且檢查數據庫是否連上木有.
在這裏插入圖片描述
先來介紹一下工作空間的概念.在metasploit中工作空間被當作存放信息的邏輯單元.你可以爲不同的滲透任務創建不同的工作空間.在不同的工作空間中很容易共享數據.
在這裏插入圖片描述
工作空間中有很多的放數據的表,如hosts,service,vulns,loot和notes.可以手動添加數據到表中,比如可以添加一個主機到hosts表中.
在這裏插入圖片描述
並且一個服務可以手動添加到services表中:
在這裏插入圖片描述
想到自動得到這些表的話,可以用db_nmap.不過你也可以用你喜歡的掃描工具,只要你把掃描結果導出成xml格式的文件,然後就可以把xml格式的文件導入到metasploit的數據庫中.導入可以用msfconsole的內置db_import命令;看下面這張圖,可以看出很多的工具都被支持:
在這裏插入圖片描述
我們先來用nmap掃一下:
在這裏插入圖片描述
看一下hosts表,可以看到表中有很多數據了:
在這裏插入圖片描述
看一下services表,我們可以只顯示我們想看到的幾列數據:
在這裏插入圖片描述
因爲看到有這麼多的windows主機,我們可以使用輔助模塊,一個smb版本掃描器:
在這裏插入圖片描述
所以我們需要用set命令指定一個特定的hosts,但是那樣的話我們就得一個一個的指定hosts,那不得煩死?所以這裏metasploit就有一個很方便的地方,我們可以從services表中得到所有開了445端口的主機,生成一個文件,然後把這個文件當作hosts參數:
在這裏插入圖片描述
smb掃描器掃完以後,我們來看一下services表:
在這裏插入圖片描述
可以看到很多windows 2003的主機,只有一個主機安裝了SP1.我們還可以看到主機的名字和域名是”TEST”.我們可以猜一下TEST-EMEA-DC-01是臺域控主機,並且TEST-EMEA-DB-01可能是臺數據庫服務器.
OK,來看看這臺可能的數據庫服務器.
在這裏插入圖片描述
可以猜下如果是臺數據庫服務器,數據庫應該是mssql,因爲是臺windows主機嘛.不過mssql默認的服務端口1433卻貌似沒打開.那我就要來測試一下到底有沒有mssql了:
在這裏插入圖片描述
貌似我們掃出來了:
在這裏插入圖片描述
這裏,掃描器發現了一個mssql服務,監聽在1043端口.mssql服務版本9.00.4035.00,據此可知運行的是Microsoft SQL 2005 SP3.
我們查看一下services表,看下有什麼改變:
在這裏插入圖片描述
services表除了增加1043端口的mssql服務,還增加了一個1433的端口,就是這個端口泄漏了mssql服務的真實端口.
現在,我們既然已經知道主機上有個數據庫服務正在運行,而且知道是監聽在哪個端口,我們可以再用metasploit暴力破解一下.
在這裏插入圖片描述
設置好RPORT參數,並且設置密碼和用戶名相同:
在這裏插入圖片描述
運行完後,成功找到密碼:
在這裏插入圖片描述
OK,現在我們知道了密碼.那麼這個可是我們的第一個憑證.我們不妨來看看creds表:
在這裏插入圖片描述
exploit:
在這裏插入圖片描述
我們已經知道用戶名,密碼和端口號了:
在這裏插入圖片描述
獲得一個meterpreter shell:
在這裏插入圖片描述
將這次會話放到後臺.我們看下會話,可以看到有一個會話:
在這裏插入圖片描述
現在來看看怎麼用post exploit模塊來進一步滲透.
我們用smart_hashdump來查看hashes.設置好SESSION和GETSYSTEM參數:
在這裏插入圖片描述
然後運行:
在這裏插入圖片描述
OK,現在loot表中有一些數據了.
smart_hashdump獲得了SYSTEM權限後,可以得到兩個hashes.看起來administrator帳號和RID爲500的localadmin一樣.所以Administrator是一個假的帳號.
現在來看下loot表:
在這裏插入圖片描述
看下creds表,發現已經有三條記錄了:
在這裏插入圖片描述
我們來看下localadmin帳號的密碼在其他系統是否可以登錄:
在這裏插入圖片描述
首先,我們添加從service表中添加hosts:
在這裏插入圖片描述
因此,我們不是在破解hash,而是簡單地傳遞hash.我們把USER_AS_PASS和BLANK_PASSWORDS設置成false:
在這裏插入圖片描述
我們可以看到登錄成功了很多:
在這裏插入圖片描述
更多的憑證在creds表中了:
在這裏插入圖片描述
現在我們有了windows系統的本地用戶密碼.我們可以用psexec exploit,但是那樣的話,我們得一個接一個地做.在這個psexec exploit中,只有RHOST參數,沒有RHOSTS參數,所以也不能用services表生成一個hosts文件.所以我們需要另一種自動化的方法-resource腳本.
感謝互聯網上的各種資源,我收集到了這段腳本.修改這段腳本,很輕鬆地可以添加更多地模塊:
在這裏插入圖片描述
現在我們需要執行psexec.不過我們不能直接地執行這段腳本,因爲默認的PAYLOAD是windows/meterpreter/reverse_tcp,問題是反彈型的shell不能都連到同一個端口吧,所以這裏我們要把PAYLOAD改成 windows/meterpreter/bind_tcp:
在這裏插入圖片描述
然後運行resource腳本:
在這裏插入圖片描述
現在我們就有9個會話了:
在這裏插入圖片描述
現在我們需要得到更多的hashes,雖然可以手工地進入每一個會話,然後得到hashes.但是我們需要自動化啊.我們可以用一個credential collector模塊.這個模塊會收集hashes,並且很重要的是它會清理好痕跡和找到domain tokens.不過這個模塊還是需要自己動手對每一個session操作以此,除非我們再寫一個resource腳本.
在這裏插入圖片描述
開始收集hashes和tockens:
在這裏插入圖片描述
會話5和會話6貌似有一些不一樣的domain tokens:
在這裏插入圖片描述
我們可以使用這些token,這樣我們對整個域就有管理員權限了:
在這裏插入圖片描述
好了,我已經演示完了metasploit中的一些組件的用法.
Happy Metasploiting…

大家可以關注一下俺的博客蠻!❤️

發佈了405 篇原創文章 · 獲贊 159 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章