Github ShellcodeLoader投毒事件简单分析
周末的时候看到微信群里有人说github上的一个项目发现了投毒,就点进去了看了看
项目地址是:
https://github.com/ByPassAVTeam/ShellcodeLoader
该账号当前已经无法访问,不知道是注销了还是被ban了
分析:
大概看了看代码未发现异常函数,但是看到群里的截图确实有网络通信行为,看到了该项目有Release,想着可能bin里动了手脚。
项目下载下来发现有两个可执行文件
虚拟机里执行ShellcodeLoader.exe发现错误提示框
另一个程序LoaderMaker.exe执行后输出字符串后就退出了,也未发现异常网络连接,猜测可能有反虚拟机之类的
直接上IDA分析,LoaderMaker的main函数可以看到很明显的字符串输出
看起来sub_401950是一个printf函数,为了看着舒服点,通常我会对sub_xxx函数进行命名,但是跟进去该函数突然感觉有点奇怪,前面都和printf一样,但是return的时候返回了一个全局变量,从我的分析经验来看,印象里printf不长这样
点进去看了一眼更奇怪了,依稀记得printf里有一个lambda,然后是一个参数判断就返回了
结果这个函数里还有一层调用,点进去发现还有一层,一共9层,这是一个相当奇怪的调用
最终调用的函数,先判断dword_41B870 是否为6,为6则进入sub_401710,否则加1后返回
sub_401710后续的操作中有打开进程,xor解密数据等操作,结合上下文这里应该就是恶意代码注入的地方
返回到main函数中看一下逻辑,对dword_41B870的操作是在printf中进行的,也就是字符串输出6次时,dword_41B870 =6,所以在第七次进行恶意操作,如果命令行参数错误,会将dword_41B870置0,下面的输出无法满足条件,所以在命令行参数为3时才会发生注入操作,这里也能解释为什么前面直接运行不起作用
我们接着来看注入的代码,动态调试发现注入的进程是explorer.exe
xor解密后内存发现CobaltStrike特征
Host:www2.jquery.ink
URI:/maps/overlayBfpr
后续发现使用了天堂之门执行64位指令
ShellcodeLoader.exe分析略。
溯源:
关联分析发现另一个样本md5:97fcb11d09a6bf3ba87907988d786c91,关联资产为www.ali-baba.space,具有同样的URI
IOCs:
www2.jquery.ink
www.ali-baba.space
101.32.218.246
119.45.165.175