Zj_W1nd's BLOG

2025ciscnccb复盘小记

2025/03/17

虽然失败了但是还是简单记录下遇到的问题

awdp

首先,这是最无语的环节,等过几天选手的blog可能会有wp研究下,最简单的题目10次用完了都一直操作失败是真的不懂。整个程序只有add,edit和delete。delete虽然没有UAF但是谨慎起见我也把free nop了。而add则不允许输入,只有一个idx。

edit里存在漏洞,snprintf他迷惑人,将fmt和实际read的0x100两个参数对调了一下,看着没问题,实际上VulFi一扫或者鼠标放上去看一下函数原型就知道了,把这个修了,没过。后面的输入环节也不会溢出,大小全是无符号check,size独立放在chunk内部。

我承认中间浪费了很多机会(虽然不知道具体原因),猜测可能是和本地patchelf了libc路径有关,也可能是没有按例子写update.sh(用的bash而非sh),还有几次是发现ida抽风了patch写入没写进去,还是gdb动调发现和ida不一样才知道的。但是最后几次应该没有其他问题了才对。

另外最后看了下一个protobuf的题。你妈的国赛内部怀疑有人天天用这神人protobuf开发,从23年到现在,从初赛到决赛,到处塞这protobuf。虽然当时复现研究过但是最后时间不够了,而且我linux上没有protobuf环境,气笑了。看了下结构体也是个勾八菜单堆,用类似虚拟机/vtable的形式进行调用,找了下输入,把memcpy劫持到ehframe上自己实现的memcpy,即调用之前永远对rdx置零。试了下不出所料的操作失败了,prctl通防当然也不行,于是遗憾离场。

isw

渗透当然是不懂就不谈了,重点谈谈应急响应。没有找对取证工具真的太亏了。

首先一个,抓ip是叶大师ssh上去之后tcpdump看到的ip,但是没显示进程id或者路径(结果到最后都没找到程序…)。然后010直接打开镜像搜ip,结果直接搜到了程序,后面就一直想办法把这个拖出来。

但是往前找到最近的ELF之后ida打不开,还是莫名其妙只有叶大师的ida能打开不烂…从里面翻了点信息md5交了几个flag。

AutoPsy一直在虚拟机里跑这个镜像,又慢又卡。换了一个,Magnet AXIOM,也是虚拟机里一下就好了,而且sudo的内容会存到auth.log里面,直接审内核日志就能复原当时命令执行的情况,包括文件名字什么的,真的sb啊,选择远大于努力这一块。

或许有取证大师会好一点?

wp

Here

很难评,某种意义上这个patch也是对脑洞的过程。至今我也不知道它会check什么,疑似会检查符号。

最后

  • protobuf这玩意似乎只有国赛一直在搞…,配个环境熟悉下

  • 应急响应这块还是少点经验,之前学长法国windows应急响应手册,早知道赛前发应急响应附件之后就去看下linux的了,比赛结束才想起来。

  • patch的还是太激进了,但是题目确实一坨,snprintf栈上格式化为什么没有exp打…还有哪里来的堆溢出,snprintf参数写反了真的没人发现吗…

  • 累了,队里的web手也被反直觉patch恶心了,包括扫git用的工具有问题扫不出来,给的附件是www结果patch要放到www/html下…4h超级过载已经管不了了

CATALOG
  1. 1. awdp
  2. 2. isw
  3. 3. wp
  4. 4. 最后