ciscn暨长城杯 广东赛区 ISW阶段应急响应

news/2025/3/18 16:21:44/文章来源:https://www.cnblogs.com/alexander17/p/18779176

ciscn暨长城杯 广东赛区 ISW阶段应急响应

题目介绍

小路是一名网络安全网管,据反映发现公司主机上有异常外联信息,据回忆前段时间执行过某些更新脚本(已删除),现在需要协助小路同学进行网络安全应急响应分析,查找木马,进一步分析,寻找攻击源头,获取攻击者主机权限获取 flag 文件。

1

找出主机上木马回连的主控端服务器 IP 地址(不定时 (3~5 分钟) 周期性),并以 flag{MD5} 形式提交,其中 MD5 加密目标的原始字符串格式 IP:port

r-studio进行磁盘恢复

在/home/ubuntu/目录下发现1.txt

存在viminfo文件

发现启动相关服务

然后直接定位到system-upgrade.ko内核文件

方法一

从服务器dump出流量包

tcpdump -i eth -w captured_traffic.pcap

方法二

逆向system-upgrade.ko内核文件

程序符号表混淆了

但是可以定位到主函数ULRYvXzICzy880dO

最终得到

__int64 ULRYvXzICzy880dO()
{_fentry__();Cr8YeLCPy17g2Kqp();vH5iRF4rBcsPSxfk();QODpPLbPPLRtk397();ZRzAVZZOp3EIPba6(&unk_2720);XnzbhEaPnydxn1rY("HIDEME", ZRzAVZZOp3EIPba6);XnzbhEaPnydxn1rY("SHOWME", bbiVzCN8llELLp6o);XnzbhEaPnydxn1rY("HIDE_DENT", Fmk3MFLuFCEiNxgN);XnzbhEaPnydxn1rY("SHOW_HIDDEN_DENT", PiCa2rGqFOVs1eiB);XnzbhEaPnydxn1rY("HIDE_TCP_PORT", IDZO4NzptW8GaHzj);XnzbhEaPnydxn1rY("SHOW_HIDDEN_TCP_PORT", ol186ifyeUPhXKNl);XnzbhEaPnydxn1rY("HIDE_TCP_IP", H7XMCPIhJup38DuP);XnzbhEaPnydxn1rY("SHOW_HIDDEN_TCP_IP", yiA2lg0kW8v2vOp0);XnzbhEaPnydxn1rY("HIDE_UDP_PORT", cuC5zWc4iL4kPgAn);XnzbhEaPnydxn1rY("SHOW_HIDDEN_UDP_PORT", LC22j9OZfANw81M7);XnzbhEaPnydxn1rY("HIDE_UDP_IP", YlfqRhWLKVqMFbxN);XnzbhEaPnydxn1rY("SHOW_HIDDEN_UDP_IP", XBKrkXaghfenXrk6);XnzbhEaPnydxn1rY("BINDSHELL_CREATE", NVEKPqx35kIvfacV);XnzbhEaPnydxn1rY("RUN_CUSTOM_BASH", T34Z94ahif0BXQRk);Fmk3MFLuFCEiNxgN("systemd-agentd");Fmk3MFLuFCEiNxgN("system-upgrade");Fmk3MFLuFCEiNxgN("system_upgrade");IDZO4NzptW8GaHzj("4948");IDZO4NzptW8GaHzj("1337");H7XMCPIhJup38DuP("192.168.57.203");H7XMCPIhJup38DuP("127.0.0.1");cuC5zWc4iL4kPgAn("8080");return YlfqRhWLKVqMFbxN("127.0.0.1");
}
192.168.57.203:4948
flag{59110F555B5E5CD0A8713A447B082D63}

2

找出主机上驻留的远控木马文件本体,计算该文件的 MD5, 结果提交形式

systemd-agentd 在 /lib/systemd/systemd-agentd

flag{bccad26b665ca175cd02aca2903d8b1e}

3

找出主机上加载远控木马的持久化程序(下载者),其功能为下载并执行远控木马,计算该文件的 MD5, 结果提交形式:flag{MD5}
回到1.txt,答案即.system_upgrade

flag{9729AAACE6C83B11B17B6BC3B340D00B}

4

找出主机上加载远控木马的持久化程序(下载者),其功能为下载并执行远控木马,计算该文件的 MD5, 结果提交形式:flag{MD5}
system-upgrade.ko

flag{78edba7cbd107eb6e3d2f90f5eca734e}

5

分析题目 2 中找到的远控木马,获取木马通信加密密钥, 结果提交形式:flag{通信加密密钥}

逆向systemd-agentd

调用/proc/self/exe

.rodata:00000000004BEFC0 a127001         db '127.0.0.1',0        ; DATA XREF: sub_405D33+41↑o
.rodata:00000000004BEFCA a2D             db '2 %d',0Ah,0         ; DATA XREF: sub_405D33+8C↑o
.rodata:00000000004BEFD0 ; const char path[]
.rodata:00000000004BEFD0 path            db '/proc/self/exe',0   ; DATA XREF: sub_405E44+2D↑o
.rodata:00000000004BEFD0                                         ; sub_4A2720+9↑o
.rodata:00000000004BEFDF aUnknown        db 'unknown ',0Ah,0     ; DATA XREF: sub_4060F5:loc_4062BC↑o
.rodata:00000000004BEFE9 aOk             db 'OK',0               ; DATA XREF: sub_406339+C1↑o
.rodata:00000000004BEFEC aLocalhost      db 'localhost',0        ; DATA XREF: sub_40641D+1D↑o
.rodata:00000000004BEFF6 aSPC            db 's:p:c:',0           ; DATA XREF: sub_40641D:loc_406465↑o
.rodata:00000000004BEFF6                                         ; sub_468A40+207↑o ...
.rodata:00000000004BEFFD unk_4BEFFD      db  3Dh ; =             ; DATA XREF: .data:off_6EB168↓o
.rodata:00000000004BEFFE                 db    1
.rodata:00000000004BEFFF                 db  20h
.rodata:00000000004BF000                 db  3Ah ; :
.rodata:00000000004BF001                 db  36h ; 6
.rodata:00000000004BF002                 db  58h ; X
.rodata:00000000004BF003                 db  3Ah ; :
.rodata:00000000004BF004                 db  36h ; 6
.rodata:00000000004BF005                 db  1Dh
.rodata:00000000004BF006                 db    1
.rodata:00000000004BF007                 db  5Ah ; Z
.rodata:00000000004BF008                 db  36h ; 6
.rodata:00000000004BF009                 db  3Ah ; :
.rodata:00000000004BF00A                 db  5Ah ; Z
.rodata:00000000004BF00B                 db  0Ah
.rodata:00000000004BF00C                 db  3Bh ; ;
.rodata:00000000004BF00D                 db  5Ah ; Z
.rodata:00000000004BF00E                 db  1Dh
.rodata:00000000004BF00F                 db  36h ; 6
.rodata:00000000004BF010                 db  0Fh
.rodata:00000000004BF011                 db    5
.rodata:00000000004BF012                 db  29h ; )
.rodata:00000000004BF013                 db  0Eh
.rodata:00000000004BF014                 db    0
.rodata:00000000004BF015                 db    0
.rodata:00000000004BF016                 db    0
.rodata:00000000004BF017                 db    0

x交叉索引,成功定位核心函数

进一步对unk_4BEFFD索引

最终定位到sub_405EC9

off_6EB168 指向的数据中读取 23 个字节,然后对每个字节进行异或操作(异或值为 0x69

exp:
# 原始数据
encrypted_data = [0x3D, 0x01, 0x20, 0x3A, 0x36, 0x58, 0x3A, 0x36, 0x1D, 0x01, 0x5A, 0x36, 0x3A, 0x5A, 0x0A, 0x3B,0x5A, 0x1D, 0x36, 0x0F, 0x05, 0x29, 0x0E
]# 解密
decrypted_data = [byte ^ 0x69 for byte in encrypted_data]# 转换为 ASCII 字符
decrypted_string = ''.join(chr(byte) for byte in decrypted_data)print("Decrypted Data:", decrypted_string)
Decrypted Data: ThIS_1S_th3_S3cR3t_fl@g
flag{ThIS_1S_th3_S3cR3t_fl@g}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/900990.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初识Open3D

Step01初识Open3d 程序代码: import open3d as o3d #导入Open3d库 def main():#定义主函数box = o3d.geometry.TriangleMesh.create_box(width=3.0, height=2.0, depth=1.0)#创建一个长方体对象box.compute_vertex_normals() #计算法向量vis = o3d.visualization.Visualizer(…

20222223 实验一《Python程序设计》实验报告

20222223 2024-2025-2 《Python程序设计》实验一报告课程:《Python程序设计》 班级: 2222 姓名: 李東霖 学号: 20222223 实验教师:王志强 实验日期:2025年3月12日 必修/选修: 公选课一、实验内容 1.熟悉Python开发环境; 2.练习Python运行、调试技能;(编写书中的程序…

交换节点 - 环

树上交换节点给定一棵树,每个节点有一个权值。现在每次可以交换任意两个节点的权值,请问最少多少次交换可以使得每个节点的权值等于它的编号? 保证给出的权值是一个排列,也就是说保证一定有解。时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M输入描…

Arduino雷达使用Android移动应用程序

该系统可以检测障碍物并收集距离和角度信息,并且可以通过移动应用程序通过蓝牙进行控制。 Arduino雷达使用Android移动应用程序本项目是一个由超声波传感器和伺服电机驱动的雷达系统。该系统可以检测障碍物并收集距离和角度信息,并且可以通过移动应用程序通过蓝牙进行控制。该…

使用cursor打造智能客服demo

cursor AI它真的是非常强大。 今天讲下如何使用它,搭配deepseek api接口,来生成一个智能客服系统。这是最终的效果。首先cursor需要登录后才能使用。登录之后有两周的免费试用期。我们在窗口的右侧填写智能客服的需求。帮我实现一个网页智能客服。详细要求如下: 1.生成一个h…

【蓝牙小程序】小程序使用echart图表报错:setOption of undefined

转载自:https://developers.weixin.qq.com/community/develop/doc/0004ac054ccec0f26df7baa8756800问题:小程序使用echart图表报错 Cannot read property setOption of undefined;at api request success callback function TypeError: Cannot read property setOption of un…

前端中的Javascript

前端中的Javascript javascript定义方式内联JavaScript直接在HTML元素的事件属性中编写JavaScript代码<body><h1>Hello, World!</h1><button onclick="alert(Button clicked!)">Click Me</button> </body>内部JavaScript可以直接…

NVM:安装配置使用

一、简介 在实际的开发和学习中可能会遇到不同项目的 node 版本不同,而出现的兼容性问题。 而 nvm 就可以很好的解决这个问题,它可以在同一台机器上下管理多个 node 版本,使得程序员可以轻松地安装、卸载和切换不同的 node 版本。 在下载和配置 nvm 前,需要在控制面板中先删…

硬盘科普,M.2,PCI-E,NVMe 傻傻分不清

首先从三个层面去理解这个问题:物理接口,通道,协议 1:物理接口(相当于通讯中的电,光口) 大白话- 物理规格,像是 公路,铁路 专门跑PCI-E通道的那个物理接口:扩展性极强,可以插显卡的PCI-E X16的那个物理接口,或者插网卡,声卡的那个PCI-E X1那个物理接口,都是属于一类…

第二届长城杯ciscn半决赛awdp pwn以及应急响应wp

这次半决赛还真是状况频出,先是上午全场靶机断联了2轮,下午的应急又在坐大牢,还好是后面捋顺了逻辑做出来了,下半场干了个赛区第二,总成绩第四,这回是真燃尽了 上半场AWDP typo fix 一开始一直在改这道结果后面才发现那个prompt是真的好改,白浪费了3轮。。。 进入程序是…

LLM Assistance for Memory Safety

LLM Assistance for Memory SafetyMohammed, Nausheen, et al. "LLM Assistance for Memory Safety." 2025 IEEE/ACM 47th International Conference on Software Engineering (ICSE). IEEE Computer Society, 2024.Introduction 在软件安全的漏洞中,内存安全是主要…