社区应用 最新帖子 精华区 社区服务 会员列表 统计排行
  • 621阅读
  • 2回复

[分享]第一次逆向CS生成exe木马

楼层直达
z3960 
级别: 茶馆馆主
发帖
770867
飞翔币
207694
威望
215657
飞扬币
2511641
信誉值
8

[size=; font-size: 16pt,16pt]前言Cobalt Strike(以下简称CS)是红队在渗透攻击中的一款神器,使用稳定,功能全面。本文是对CS生成的exe文件进行分析,看看CS生成的木马有什么高明之处。[size=; font-size: 16pt,16pt]准备工作工具准备:Cobalt Strike  IDAx32dbgExeinfoPE CS能生成的木马有很多种,如下图所示:这里我不一一介绍,有兴趣的同学自行去研究。我们这里先选择Windows Executable注:Windows Executable     生成可执行的分段payloadWindows Executable(S) 生成可执行的不分段Payload生成之后我们会得到一个exe文件,这是我们今天进行逆向的主角。[size=; font-size: 16pt,16pt]逆向分析CS生成的exe其实是一个loder,也就是加载器,加载器加载里面的shellcode来运行主要功能,所以我们进行逆向分析的时候也分成两个步骤:外层loder分析和内层shellcode分析。[size=; font-size: 14pt,14pt]外层loder分析我们先用exeinfope对文件进行简单了解无壳。接下来扔进IDA进行静态分析。main函数这里调用了两个函数之后调用了一个Sleep,跟进27F0发现没什么东西,我们直接看1840pipe是关键字,调用sprintf函数,拼接一个管道名。接下来创建了一个线程,进入创建的线程1713里看看带着两个参数进入1648,接着看这就是一个标准的建立管道的一个过程,重点我们关注一下WriteFile那里,向管道写入,写的就是我们的传参,这应该就是加密之前的shellcode。接下来返回到1840返回时进入了17E2先分配一个空间,然后进入1732标准的从管道读,读的东西就是我们刚才写进的东西。再看158E先开辟空间,然后将我们刚才读出来的东西与4个循环数进行异或(经过多次调试,发现这四个数每次都是不一样的),最后得到一串解密后的数据,我们有理由猜测,这解密后的数据就应该是执行的shellcode,最后开启线程执行shellcode。当然,光猜是不行的,我们要进行动态调试到内存里去抓抓看。接下来打开x32dbg进行动态调试。我们跟进到40158E里异或之后的数据存储到了ds:[edi+ecx],我们到内存里跟一下我们可以这是一个非常典型的PE文件,也就是外层加载器加载了一个dll文件,这个dll文件应该是CS马实现功能的主要地方。至此,我们外层的加载器分析告一段落。[size=; font-size: 14pt,14pt]内层shellcode分析进入到StartAddress函数里,有一个jmp eax,会直接跳到我们刚才读出来的DLL,它里面的函数是这样的第一个call不用太看,call ebx大概看了一下,开辟了一段空间,把这一段的数据写进去,然后下一个call eax转到另一个地方开始执行,这个地方就是我们dll的入口点了。一点点往里跟踪,看看我们能不能找到有什么有用的信息网络请求行为:  设置休眠:这里跟了一下,发现有个sleep函数,应该是与默认心跳有关那里。 操作相关:注意这里,我们有一个InternetReadFile,把返回值读到eax里,这个地方就是判断你输入了什么指令,对应这几种情况程序的大体逻辑就是这样。至此,我们已经对CS马的运行逻辑有了基本的了解。[size=; font-size: 16pt,16pt]不同生成方法对比当然,我们只是分析了一种的情况,分段的马外层是一样的,但内层有区别,我们简单看一下,首先看一下解密后的shellcode很明显和之前不一样了循环的在获取API发起请求,用virtualAlloc开辟一段空间,然后不断的用InternetReadfile读取文件,最后得到的dll就和上面的差不多了。经过分析我们发现,CS的马主要的一个加载方式是用加载器解密shellcode,然后运行dll,所有主要功能都在dll里面,理论上加载器我们可以随意更换的。              
关键词: bot 360 木马
我不喜欢说话却每天说最多的话,我不喜欢笑却总笑个不停,身边的每个人都说我的生活好快乐,于是我也就认为自己真的快乐。可是为什么我会在一大群朋友中突然地就沉默,为什么在人群中看到个相似的背影就难过,看见秋天树木疯狂地掉叶子我就忘记了说话,看见天色渐晚路上暖黄色的灯火就忘记了自己原来的方向。
级别: 超级版主
发帖
833819
飞翔币
226630
威望
224648
飞扬币
2443961
信誉值
0

只看该作者 1 发表于: 2021-03-02
来看一下
级别: 超级版主
发帖
833819
飞翔币
226630
威望
224648
飞扬币
2443961
信誉值
0

只看该作者 2 发表于: 2021-03-02
不错,了解了