AI智能摘要
你是否想过,那些躲过杀软的无文件木马和内存免杀shellcode,其实藏得并不深?一款名为DuckMemoryScan的新工具,仅用一天编写,却能精准揪出潜伏在系统内存中的恶意代码。它通过检测VirtualAlloc异常内存、PE头特征与线程行为,快速发现HWBP挂钩、免杀后门、可疑驱动与无文件落地木马。原理不神秘,但效果惊人,尤其擅长识别Metasploit与CobaltStrike的无文件攻击。开源免费,编译即用,红蓝对抗、安全排查的实用利器。
— AI 生成的文章内容摘要
DuckMemoryScan
一个简单寻找无文件落地后门的工具,花了1天编写

功能列表
1. HWBP hook检测 检测线程中所有疑似被hwb挂钩
2. 内存免杀shellcode检测(metasploit,Cobaltstrike完全检测)
3. 可疑进程检测(主要针对有逃避性质的进程[如过期签名与多各可执行区段])
4. 无文件落地木马检测(检测所有已知内存加载木马)
5. 简易rootkit检测(检测证书过期/拦截读取/证书无效的驱动)
免杀木马检测原理
所有所谓的内存免杀后门大部分基于"VirtualAlloc"函数申请内存 之后通过各种莫名其妙的xor甚至是aes加密去混淆shellcode达到"免杀"效果. 本工具通过线程堆栈回溯方法(StackWalkEx函数)遍历线程,寻找系统中在VirtualAlloc区域执行代码的区域,从而揪出"免杀木马" 当然也会存在误报,多常见于加壳程序也会申请VirtualAlloc分配内存.
无文件落地木马检测原理:
所有无文件落地木马都是一个标准PE文件被映射到内存中,主要特征如下:
1. 内存区段有M.Z标志
2. 线程指向一个NOIMAGE内存 本工具将会通过第一种特征检测出所有"无文件落地木马"
使用方式
编译 运行 得到信息列表
github地址:https://github.com/huoji120/DuckMemoryScan

台湾省新竹市 1F
这个工具思路挺巧,VirtualAlloc回溯找shellcode,之前还真没想到过。
吉林省长春市 B1
@ 煞气生 是的,从线程栈回溯找执行流,这思路挺有意思,绕过了不少混淆。
湖南省常德市 B1
@ 煞气生 VirtualAlloc回溯这招确实没想到,学废了(不是)
北京市 2F
有人试过在Win11上跑吗?会不会有兼容性问题?
天津市 B1
@ 百里挑一 我Win11 22H2试了,能跑,但有个驱动检测功能报错了,可能兼容性还要调。
重庆市 3F
误报率怎么样?加壳的程序会不会报一大堆?
日本 4F
之前分析样本时手动找这些特征累死了,有工具能扫一遍确实方便。
台湾省台中市 5F
对于HWBP检测那块,能区分是安全软件挂钩还是恶意挂钩吗?
福建省福州市 6F
github上star不多,是刚开源吗?
福建省龙岩市 7F
内存扫描类的工具之前用过别的,老是蓝屏,这个稳定性如何?
湖南省岳阳市 B1
@ 超新星闪光 稳定性还可以,我跑了几次没蓝屏,可能跟系统环境有关。
韩国 B1
@ 超新星闪光 Win10 22H2跑了一圈,没蓝屏,比之前那个MemScan稳点
内蒙古鄂尔多斯市 8F
原理部分讲得挺清楚,比有些文章光甩个工具强。
湖北省武汉市 9F
看介绍功能挺全,下班了回去搭环境试试看。
云南省西双版纳州景洪市 10F
freebuf那篇文章好像更详细点,可以配合着看。
北京市 11F
有人实际测过误报率吗?担心加壳程序误报太多影响判断。
上海市 12F
这工具对CobaltStrike的检测效果咋样?最近样本里遇到不少。
菲律宾 13F
之前手动分析内存镜像找shellcode太费劲了,有工具自动化确实能省不少事。
上海市金山区 14F
原理讲得挺明白,比光给个下载链接那种文章强多了。
印度尼西亚 15F
github链接是不是挂了?我这打不开。
江苏省 16F
对于检测驱动那块,如果驱动有合法签名但行为可疑,能识别出来吗?
上海市长宁区 17F
感觉这类工具主要还是给分析人员用,普通用户可能用不上。
浙江省宁波市 18F
下班了回去虚拟机里跑跑看,希望别把测试机搞崩了。
广东省深圳市福田区 B1
@ 醉卧星河 刚在测试机跑完,干干净净啥也没报,是我姿势不对?
北京市 19F
看freebuf文章下面评论说在Server系统上有点问题,楼主遇到过吗?
浙江省温州市龙湾区 20F
工具思路不错,但实际对抗中攻击者可能换其他API,感觉检测方法得持续更新才行。
韩国 21F
这工具对加壳程序误报多不多啊?刚试了几个商业软件全报了🤔
山东省青岛市 22F
HWBP检测能过滤掉调试器吗?比如x64dbg这类正常工具也会触发吧
上海市 23F
试了下CS的stageless payload,确实扫出来了,有点东西
香港 24F
M.Z标志检测是不是容易被绕过?改个内存头不就完了
重庆市 25F
原理看着靠谱,但实际用起来感觉阈值得调,不然全是干扰项
浙江省台州市 26F
有人测过对Ghidra或者IDA附加进程会不会误判成恶意?
日本 27F
驱动检测那块要是能加个行为分析就更顶了,光看签名太单薄
辽宁省抚顺市 28F
功能挺全,算是好帮手。
贵州省贵阳市 29F
HWBP检测思路新颖,能把调试器的挂钩也揪出来,值得一试。
福建省厦门市 30F
看了源码后发现VirtualAlloc回溯的实现蛮巧妙的,尤其是对xor混淆的识别,感觉对抗免杀挺有帮助的,期待后面还能继续优化。
福建省福州市 31F
别忘了配合Process Explorer一起看句柄。
上海市嘉定区 32F
如果想降低误报,可以先把已知加壳的签名加入白名单,这样扫描时会少报一些。
台湾省 33F
这个工具在Win11上跑会不会崩?
上海市嘉定区 34F
检测驱动时能区分合法签名但行为可疑的情况吗?
日本 35F
误报率其实还行,没见到大批商业软件被误报。
中国 36F
前几天在分析样本时手动找shellcode,真是累死,直接用这工具省了不少功夫。
辽宁省本溪市 37F
我之前也踩过类似的坑,误报把正常进程标记成恶意,后来加了路径白名单才解决。
日本 38F
蓝屏警告又来了,别忘了先备份。
湖北省武汉市 39F
有人说在服务器上跑会卡死,大家注意下 🤔
浙江省宁波市 40F
看评论里有人提到在Docker容器里跑会报错,估计是缺少权限导致的。
澳大利亚 41F
感觉还行。
北京市 42F
误报问题确实头疼,加白名单算是个办法吧
重庆市 43F
误报能自己调吗?
湖北省宜昌市 B1
@ QuickQuill 同问,有误报过滤选项吗?
湖北省武汉市 44F
误报能手动排除吗?
山东省济宁市 45F
误报多不多啊?
宁夏银川市 B1
@ 四海一家 加壳的程序可能会误报,得手动排查下。