论坛首页 密码学讨论区 阅读主题

[原创]2025长城杯决赛应急响应木马分析

372 浏览 18 回复
#1 楼主 2026-06-01 21:08:53
赛时把整个系统几乎翻了个遍,其实是看到了关键点的,但是没有进一步去分析,很可惜,赛后听朋友说木马文件叫whoami,才想起来之前翻到过的rc.local里的whoami。趁着今天晚上有空就去分析了一下这个木马,感觉难度不是很大,这里分享一下我的分析过程在/var/ftp/ftp.sh中可以看到一条可疑的命令,但是翻了半天也没能找到这个文件,日志也没有什么有用的信息,不知道这个sh到底做了什么,那也就只能按部就班的排查了在/etc/rc.local和/etc/rc.d/rc.local中都可以看到如下代码在 Linux 中,/etc/rc.local 文件用于在系统启动的最后阶段执行用户自定义的命令。通常用于启动一些需要在系统完全启动后运行的自定义服务或脚本这个whoami就是被替换掉的木马文件,接下来对他进行逆向分析字符串的解密为rc4算法,key取6位,即BIO_wr
木马程序先是fork创建了一个子进程,执行了/bin/nms下的nms,这里没有对应的文件,就不分析他的行为了
父进程将标准输出和错误重定向到/dev/null以隐藏所有输出,然后创建一个锁文件/tmp/systemd.lock,再调用prctl将进程名改为systemd伪装成系统服务,最后等待子进程结束
再创建一个子进程
sub_403F72尝试获取文件的独占锁,确保只有一个实例运行
sub_403F08创建守护进程
由于是在内网,所以这里可以选择挂个frp穿出来,也可以将ida的linux server传进去来远程调试,以此来拿到服务器返回的数据接着生成随机32个字节作为后面aes的key,解密了公钥去加密aes key,将加密后的key发送到服务器,然后接收并aes解密消息,判断是否为connection,是的话将close发送过去,最后判断返回消息是否为getkey
然后下发RSA的私钥,解密一段硬编码的数据,由于我这里是赛后复现的没有环境,所以没有私钥,无法解密,但是根据后面的分析猜测解密出来的应该是一个AES的key
解密出来的key会再被加密一次,跟前面加密公钥的是同一个算法,逆序和异或
然后把key传入sub_4036A1,接下来就是跟flag相关的算法了
算法随机生成一个flag
第一次加密
然后AES加密,key就是前面传入的参数
最终加密


回复或点赞可查看完整内容

---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-286763.htm
#2 2026-06-01 21:08:53
666学习一下
#3 2026-06-01 21:08:53
太棒了
#4 2026-06-01 21:08:53
太棒了~
#5 2026-06-01 21:08:53
太棒了~
#6 2026-06-01 21:08:53
#7 2026-06-01 21:08:53
太棒了,当时我都没找到这个文件
#8 2026-06-01 21:08:54
感谢分享
#9 2026-06-01 21:08:54
感谢分享
#10 2026-06-01 21:08:54
感谢分享
#11 2026-06-01 21:08:54
感谢分享
#12 2026-06-01 21:08:54
感谢分享
#13 2026-06-01 21:08:54
感谢分享
#14 2026-06-01 21:08:54
感谢
#15 2026-06-01 21:08:54
感谢分享
#16 2026-06-01 21:08:54
看看
‹ 上一页 1 2 下一页 ›

请登录后参与讨论

立即登录 注册账号