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

[分享]Cobalt Strike剖析及免杀系列(四)CSbeacon端大马dll详解

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

样本信息:MD5: 2f330d8eca0bfd3eb074352bbb27dba0SHA1: c7dc77dbd94d2ea96e8f7a6dfec980478d5d5c6dSHA256: 6daa192e9726a0a614d10b45ed1cb16c3330e0cee55a8f9bdf7ec8f696b918b4前面几篇大概已经讲过关于小马payload的分析,关于后面dll的定位不过多赘述,前面定位到payload的virtualalloc函数之后通过返回值确定后面http拿到的dll的地址。之前的文章说过传送来的dll前面会是一段加密,来解密后面的dll内容,下面是alloc申请到的首地址,也就是dll前面的加密程序。顺着指令流往下走就ok,来到解密部分,下断点运行前面解密不多说了,直接下到dllmain入口的断点往上找pe标志mz定位到复制后面数据到010editor中,生成新的pe文件,此文件就是cs的dll大马。      Dll大马定位就简略说这些,后面就直接ida对源码分析,这里命名为k.dll。首先分析大马内容,主模块每个case应该每个都会有网络请求,所以ida导入表定位httprequest函数。查看request函数的交叉访问查看最多分分支模块,模块上下文大概就是大马的主要业务部分,来到下面switch/case内容,大概是101条策略。   继续做交叉,返回到调用函数,因为对switch做判断所以,大概率是cs控制端发的控制请求,所以注意第三个参数为switch判断内容继续向上分析这边上面部分函数就是cs控制端初始化switchflag分支条件了后面就是src就是前面switchflag分支标志的网络请求模块, 这次的文章就主要挑前面主机通信过程说一下,后面beacon端的行为动作一百多个就不去一一做分析了开始代码dll判断内存块查看先不去管,直接到sub_100131b,前面说了里面是有一个cs服务器交互模块的,我们看前面刚开始的几个函数初始化buffer,一个是send的一个是recv的,由于这边的cs我们用的httplistener所以这次的分析只针对http传送后面dns类似但使用子域名的方式传送,对于buffer,cs使用数组,0号位置是buffer地址,1号位置是2参数位置截断地址,后面分别是buffer的size和截断的size来到下面这部分函数主要是初始化一些cs控制端的属性特征,像端口,url,还有一些其他的运行过程中的配置属性。下面一直到91都是对属性的一些初始化91以后是beacon与cs控制端的命令交互环节,也就是cs beacon>后面输入的命令执行循环,循环过程sleep心跳作为while条件然后一些基础代码就不说了,这边的重点来到cs 通信过程。这些前面的第一个换行块函数做buffer初始化,然后下面注释网络连接的是初始化网络来到103进入函数一段前置函数,深度继续到HttpSend这段是通信过程的关键代码,这边cs 的http还是像shellcode的网络请求相同,使用内置http请求路径然后通过post请求体携带数据。这边对cs源码还没做逆向分析,不过根据beacon的通讯逻辑大概判断cs控制端将数据写入文件,然后beacon通过读取服务器上的文件内容作为命令传送再通过tcp的socket recv函数作为线程wait等待服务器send继续执行,下面是recv的部分代码这边参数的buffer是eax寄存器的,不能只分析逆向代码,来到汇编部分可以看到eax是赋值了全局变量,也就是我这边改名的Buffer_RecvData,但是针对这个Buffer做交叉调用查看并没有哪个函数使用所以大概的通讯过程大概如下然后下面的sleep心跳在141行进入就是这边的心跳判断这个心跳变量是个全局变量,所以直接查看交叉调用,可以看到另一个分支就是我们cs经常用的sleep 5 这个命令了也就是大马判断的case3然后通信大概流程就差不多这样了,然后样本文件还有ida的分析文件放在下面自己拿链接:https://pan.baidu.com/s/1QZDRVGv815iH7DhaPR0M7g提取码:7vu4
本帖最近评分记录: 1 条评分 飞扬币 +50
爱我中华 飞扬币 +50 2022-09-19 社区因为有您的参与更精彩!
关键词: 2012 申请 服务器
我不喜欢说话却每天说最多的话,我不喜欢笑却总笑个不停,身边的每个人都说我的生活好快乐,于是我也就认为自己真的快乐。可是为什么我会在一大群朋友中突然地就沉默,为什么在人群中看到个相似的背影就难过,看见秋天树木疯狂地掉叶子我就忘记了说话,看见天色渐晚路上暖黄色的灯火就忘记了自己原来的方向。
级别: 茶馆馆主
发帖
559350
飞翔币
197770
威望
3666
飞扬币
2841855
信誉值
0

只看该作者 1 发表于: 2022-09-19
辛苦了
级别: 超级版主
发帖
833602
飞翔币
226622
威望
224648
飞扬币
2442835
信誉值
0

只看该作者 2 发表于: 2022-09-21
来看一下
级别: 超级版主
发帖
833602
飞翔币
226622
威望
224648
飞扬币
2442835
信誉值
0

只看该作者 3 发表于: 2022-09-21
不错,了解了
srwam 
级别: 超级版主
发帖
633375
飞翔币
8
威望
25247
飞扬币
2855007
信誉值
0

只看该作者 4 发表于: 2022-09-21
来看看
srwam 
级别: 超级版主
发帖
633375
飞翔币
8
威望
25247
飞扬币
2855007
信誉值
0

只看该作者 5 发表于: 2022-09-21
了解一下