红队工具的投毒相关

本文最后更新于:2024年3月9日 晚上

某大型活动还有一段时间,但是总会有很多新工具出现,想用但不敢用该怎么办,还是需要先了解下常见的源码投毒方式吧

方法

1.代码带毒

直接在代码中实现一个后门,常见的操作包括但不限于在程序启动时,按钮点击时,程序结束时等位置添加恶意代码。常见恶意代码为反向shell或各式各样的shellcode加载器

对于visual studio等编译器,不会在项目中显示未包含文件的代码,但是如果引用到了,依然会编译进去,vs项目可以用这种方式隐藏恶意代码,用户如果只使用visual studio查阅代码就很有可能忽略

优点

可定制化高,可以根据不同需求进行各种骚操作

缺点

被发现,就会被发现

2.更新带毒

在程序的更新模块中直接下载或根据条件判断下载更高版本号的带毒文件并执行

优点

程序不包含恶意代码,适合长期培养用户后一波带走

缺点

没有明显缺点

3.编译事件

Visual Studio、IDEA等编译器为了方便编译前后进行准备及清理等工作,都支持编译前后的事件,可以指定命令行操作

所以代码的vcxproj等文件也要注意,尤其很多人的开发机不装杀软

优点

隐蔽,很难看出来问题,在编译时执行,更容易打下开发机

缺点

被发现,就会被发现

4.Release投毒

常见于Github项目,项目代码无问题,但是Release内编译成功的文件带有后门

这个也是国内最常见的投毒方式

优点

简单直接

缺点

只适合编译都不会的脚本小子

5.库文件投毒

文件依赖的dll或lib文件很少有人注意,也可以进行投毒

常见制作方法:

.Net的dll,可以直接使用DnSpy修改;Native的dll,一般只修改有源码的,或者可以内存加载dll做函数转发;lib最合适,因为有编译器版本需求,较难找到替换,最适合投毒,详细步骤可以参考Windows .lib 文件后门注入

如果有人给你发了一份CobaltStrike的beacon源码,你真的会注意到其中的tomcrypt.lib有没有问题吗

优点

隐蔽,很难看出来问题

缺点

制作难度大

6.文件名伪造

Unicode反转字符,是一种古老的方法,绝大多数杀软都会查杀或提醒,但是很多开发机器不会安装杀软,就给了这个方法生存空间

例如可以制作nls.scr结尾的文件,通过反转字符串使之看起来类似rcs.sln,配合图标可以伪装正常sln

优点

无脑,制作简单

缺点

但凡有个杀软或者仔细看下呢

7.留漏洞

常见于远控、C2等部署于服务器的工具,在开发时保留漏洞不修复或使用带漏洞的库,并保留较为明显的指纹或通过报告信息等定位服务器ip,最后进行漏洞利用,获取权限

例如可以在扫描器等工具中使用低版本Chromium内核,并自制水坑页面进行漏洞利用

例如DcRat中就保留了AsyncRat中存在的目录穿越等漏洞未修复(还是拿自己的项目举例子吧,哈哈)

优点

隐蔽,难发现

缺点

留漏洞比较头疼,扫全网很麻烦,容易被人怀疑开发水平

总结

只是列举一些自己遇到过的方法,水了一篇文章,总而言之还是要抓住目标的侥幸心理和平时不注意的细节,方法不是全部,小心才有用

最后强烈推荐不在主力机随意下载编译使用陌生工具,如有必要,可以安装防火墙软件保证一定的安全


红队工具的投毒相关
https://blog.qwqdanchun.com/Backdoor_In_Source/
作者
qwqdanchun
发布于
2023年5月9日
更新于
2024年3月9日
许可协议