MSF簡介:
MSF(Metaspolit Framework)是一個開源工具,由Ruby語言編寫的模板化框架,具有很好的擴展性.
在這裏示例以kali操作系統爲基礎
kali上啓動命令:
systemctl start postgresql(開啓數據庫服務)
msfconsole(啓動msf服務)
MSF基礎
MSF由多個模塊組成:
- Auxiliaries:輔助模塊
- Exploit:漏洞利用模塊
- Payload:攻擊載荷模塊
- Post:後期滲透模塊
- Encoders:編碼工具模塊
滲透步驟
在使用msf滲透測試時,可以綜合使用上述模塊,對目標系統進行偵查並發動攻擊,大致步驟如下:
掃描目標系統,尋找可利用的漏洞
選擇並配置一個漏洞利用模塊
選擇並配置一個攻擊載荷模塊
選擇一個編碼技術,用來繞過殺毒軟件的查殺
滲透攻擊
主機掃描
掃描和收集信息是滲透測試中的第一步,主要目標就是儘可能多地發現有關目標機器的信息,該步驟主要關注點是目標機器的IP地址,可用服務,開放端口等
舉例:
使用輔助模塊進行端口掃描
首先利用search命令搜索portscan有哪些可用的端口掃描模塊
然後使用use命令利用該漏洞模塊
使用show options 命令查看需要設置的參數
使用輔助的模塊進行服務掃描
掃描目標機器上運行的服務時,有多種基於服務的掃描技術可以選擇,例如SMB,FTP等,只需執行特定類型的掃描就可以發現服務,通過search命令搜索scanner可以發現大量的掃描模塊
使用Nmap掃描
在Metasploit中同樣可以使用Nmap掃描,使用方法和獨立使用Nmap工具一樣.這裏不做贅述,這裏掃描的機器爲linux
漏洞利用
收集到目標系統的相關信息後,可以對症下藥的爲其選擇Exploit和Payload,從掃描結果來看,主機運行這Samba3.x服務,可以使用search samba來搜索samba可以利用的漏洞模塊
搜索結果會按照漏洞模塊被利用成功的相對難易度進行Rank排序,一般的話選擇Excellent:即傑出而且時間最新的,其他的可以具體情況結合Description來選擇不同的漏洞利用模塊
這裏我們選擇 exploit/multi/samba/usermap_script 進行滲透測試
use exploit/multi/samba/usermap_script 利用該模塊
show options 查看模塊的需要設置參數信息
info exploit/multi/samba/usermap_script 查看模塊的詳細信息
show payloads 查看模塊可以利用的payload
這裏我們選擇cmd/unix/reverse反向攻擊載荷模塊利用
然後我們設置基本的參數:被攻擊主機IP(RHOST),漏洞利用的端口號(RPORT),發動攻擊主機IP(LHOST)
然後就可以輸入run或者exploit開始攻擊了
後滲透攻擊:信息收集
後滲透信息收集利用階段是Metasploit最精彩的階段。Metasploit有如下優勢:
1.純內存工作模式,不需要對磁盤進行任何寫入操作
2.使用加密通信協議,而且可以同時與幾個信道通信
3.在被攻擊進程內,不需要創建新的進程
4.易於在多進程之間遷移
5.平臺通用,適用於windows,linux,bsd系統,並支持intel x86和intel x64平臺
接下來介紹的是我們拿到shell之後可以做的那些事兒:
1.進程遷移:當拿到shell之後第一件是先whoami看下自身權限,如果是系統權限,那麼我們就可以開始爲所欲爲了,如果是普通用戶,我們就得考慮提升權限了。提權的話又分爲兩個,一個是縱向提權(向上提權),一個是橫向提權(獲取同級別的角色權限)
2.收集系統信息:內網經驗淺談
3.權限提升:
提權的方式:
輸入系統命令:getsystem
利用系統漏洞提權:
類似於windows溢出提權,linux髒牛漏洞,內核提權等
4.令牌竊取
5.hash攻擊
以上的後滲透攻擊我會單獨去每一個寫出實驗文章。今天就到這裏啦