吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 8427|回复: 103
收起左侧

[PC样本分析] 新人第一次逆向CS生成exe木马

  [复制链接]
孤客浮舟 发表于 2021-3-1 15:27
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
本帖最后由 孤客浮舟 于 2021-8-4 16:30 编辑

前言
Cobalt Strike(以下简称CS)是红队在渗透攻击中的一款神器,使用稳定,功能全面。本文是对CS生成的exe文件进行分析,看看CS生成的木马有什么高明之处。
  
准备工作

工具准备:Cobalt Strike  idax32dbgexeinfope CS能生成的木马有很多种,如下图所示:
image.png
这里我不一一介绍,有兴趣的同学自行去研究。我们这里先选择Windows Executable注:Windows Executable     生成可执行的分段payloadWindows Executable(S) 生成可执行的不分段Payload
image.png
生成之后我们会得到一个exe文件,这是我们今天进行逆向的主角。
55JwaPKhC00GQiVD.png

逆向分析
CS生成的exe其实是一个loder,也就是加载器,加载器加载里面的shellcode来运行主要功能,所以我们进行逆向分析的时候也分成两个步骤:外层loder分析和内层shellcode分析。

外层loder分析
我们先用exeinfope对文件进行简单了解
dq3zlIMtOQbakBmp.png

无壳。接下来扔进IDA进行静态分析。
image.png

main函数这里调用了两个函数之后调用了一个Sleep,跟进27F0发现没什么东西,我们直接看1840
JU5nL9m16LXtlM5m.png

pipe是关键字,调用sprintf函数,拼接一个管道名。接下来创建了一个线程,进入创建的线程1713里看看
image.png

带着两个参数进入1648,接着看
image.png

这就是一个标准的建立管道的一个过程,重点我们关注一下WriteFile那里,向管道写入,写的就是我们的传参,这应该就是加密之前的shellcode。接下来返回到1840
C7wPOeIfgh58dxIC.png

返回时进入了17E2
qaUKKjvlc73zfhxQ.png

先分配一个空间,然后进入1732
image.png

标准的从管道读,读的东西就是我们刚才写进的东西。再看158E
image.png

先开辟空间,然后将我们刚才读出来的东西与4个循环数进行异或(经过多次调试,发现这四个数每次都是不一样的),最后得到一串解密后的数据,我们有理由猜测,这解密后的数据就应该是执行的shellcode,最后开启线程执行shellcode。当然,光猜是不行的,我们要进行动态调试到内存里去抓抓看。接下来打开x32dbg进行动态调试。我们跟进到40158E里
QyLzilAHQlFmbYVf.png

异或之后的数据存储到了ds:[edi+ecx],我们到内存里跟一下
image.png

我们可以这是一个非常典型的PE文件,也就是外层加载器加载了一个dll文件,这个dll文件应该是CS马实现功能的主要地方。至此,我们外层的加载器分析告一段落。

内层shellcode分析

进入到StartAddress函数里,有一个jmp eax,会直接跳到我们刚才读出来的DLL,它里面的函数是这样的
7rETIEy82YKXn9eO.png

第一个call不用太看,call ebx大概看了一下,开辟了一段空间,把这一段的数据写进去,然后下一个call eax转到另一个地方开始执行,这个地方就是我们dll的入口点了。
image.png

一点点往里跟踪,看看我们能不能找到有什么有用的信息网络请求行为:
image.png
image.png
WLO4HPZ0E7368tgA.png

设置休眠:
weJV7YFsKjlmuiDm.png

这里跟了一下,发现有个sleep函数,应该是与默认心跳有关那里。 操作相关:
image.png

注意这里,我们有一个InternetReadFile,把返回值读到eax里,这个地方就是判断你输入了什么指令,对应这几种情况
image.png
image.png


程序的大体逻辑就是这样。至此,我们已经对CS马的运行逻辑有了基本的了解。

不同生成方法对比
当然,我们只是分析了一种的情况,分段的马外层是一样的,但内层有区别,我们简单看一下,首先看一下解密后的shellcode
image.png

很明显和之前不一样了
image.png

循环的在获取API
3PykArW09MCW520N.png

发起请求,用virtualAlloc开辟一段空间,然后不断的用InternetReadfile读取文件,最后得到的dll就和上面的差不多了。
PANupRrW5cusFpb7.png

经过分析我们发现,CS的马主要的一个加载方式是用加载器解密shellcode,然后运行dll,所有主要功能都在dll里面,理论上加载器我们可以随意更换的。                     

免费评分

参与人数 37威望 +2 吾爱币 +130 热心值 +29 收起 理由
sawyerhan + 1 + 1 我很赞同!
vipgoat + 1 大佬杀软环境下如何bypass av权限维持
T3rra + 1 + 1 用心讨论,共获提升!
a282619133 + 1 + 1 我很赞同!
Bizhi-1024 + 1 谢谢@Thanks!
唐.吉诘 + 1 + 1
chlorine620 + 1 + 1 我很赞同!
GRE58397 + 1 用心讨论,共获提升!
我钟意你 + 1 热心回复!
fugin + 1 + 1 我很赞同!
m7165460 + 1 + 1 我很赞同!
R灬M + 1 我很赞同!
turinggu + 1 + 1 我很赞同!
静叶流云 + 1 + 1 谢谢@Thanks!
jackeyzhao + 1 谢谢@Thanks!
18672191930 + 1 我很赞同!
shenmadouyao + 1 热心回复!
pj527788 + 1 我很赞同!
仰望空调的兔子 + 1 我很赞同!
1171014415 + 1 我很赞同!
Ppp06h + 1 + 1 膜拜大佬,学习
努力加载中 + 1 + 1 用心讨论,共获提升!
banhave + 1 + 1 鼓励转贴优秀软件安全工具和文档!
自强 + 1 + 1 谢谢@Thanks!
malno + 1 + 1 用心讨论,共获提升!
fengbolee + 1 + 1 用心讨论,共获提升!
94655766 + 1 用心讨论,共获提升!
a10036pj + 1 用心讨论,共获提升!
gaosld + 1 + 1 热心回复!
小怪兽01 + 1 + 1 我很赞同!
Hmily + 2 + 100 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
w3528810 + 1 + 1 膜拜大佬学习
www.52pojie.cn + 2 + 1 用心讨论,共获提升!
AtoZ-sub + 1 我很赞同!
M4X不二 + 1 谢谢@Thanks!
Mr.Eleven + 1 + 1 我很赞同!
小高231 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 孤客浮舟 发表于 2021-3-3 19:16
Hmily 发表于 2021-3-3 18:14
@孤客浮舟 图片最好上传论坛本地,防止丢失。

啊哈,好的师傅,主要石墨写的时候截屏就是网络地址
泉旁树 发表于 2021-3-6 21:53
学习了,地址那块如果是域名或通过api网关的动态地址也能分析到吗?有了这个是不就可以制作相应的专杀工具了?
matt91190 发表于 2021-3-1 15:48
武胜造纸农 发表于 2021-3-1 15:59

非常详细
ma530644604 发表于 2021-3-1 16:03
非常详细
lili2312280 发表于 2021-3-1 17:16
膜拜大佬,坚持学习学习
c_123456 发表于 2021-3-1 17:35
可以可以
加油!LJH 发表于 2021-3-1 17:48
膜拜大佬,学习学习!!!
52mosen 发表于 2021-3-1 18:59
不明觉厉,向你学习
zjcak 发表于 2021-3-1 22:41
不知道这玩意如何免杀
struggledl 发表于 2021-3-1 23:33
膜拜大佬,学习学习!!!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2021-9-18 03:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表