本篇详细的分析了CS beacon payload的加载过程
一
beacon loader
1.1 静态分析
403040。

sub_4017F8()。
buffer
, 同时创建了一个新的线程,执行函数sub_4016E6。
sub_401630。
buffer
为名字创建了一个命名管道,然后进行判断,如果命名管道创建成功,ConnectNamedPipe
函数将等待客户端连接到管道。如果成功连接到管道, 使用WriteFile
函数将shellcode数据写入已连接的命名管道。如果写入成功,则更新指针lpBuffer和剩余要写入的字节数nNumberOfBytesToWrite。其中 lpbuffer是将要写入的数据指针,&dword_404020[5]
。sub_4017F8
返回的是一个函数sub_4017A6(0i64)。
sub_401704
函数执行返回一个非0值。sub_401704
主要是从FileA也就是前面创建的命名管道中读取数据,然后写入lpBuffer指向的位置,也就是说 从FileA中读取内容,然后写入v0。sub_401595
,修改一下数据类型之后有:1.创建一个命名管道,格式为%c%c%c%c%c%c%c%c%cMSSE-%d-server
2.将shellcode写入命名管道
3.从命名管道中取出shellcode然后和密钥亦或解密
4.执行shellcode
1.2 动态分析
二
beacon 执行

三
总结
看雪ID:安和桥南
https://bbs.kanxue.com/user-home-882195.htm
#
原文始发于微信公众号(看雪学苑):CobaltStrike分析-beacon 解析
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论