背景材料

您的同事李白在运维一台部署了移动应用服务端的linux服务器时发现了异常,好像被黑客攻击了。小李通过简单分析,发现可能是由于公司的移动应用和其服务端程序都存在安全问题导致的。小李将当天可能与攻击相关的流量导出,并与移动应用一起打包压缩,你可以下载分析,也可以登录此服务器进行攻击溯源、排查等,提供了SSH和VNC访问的方式供您和您的团队进行分析取证。

关卡一

黑客攻击此服务器所使用的2个IP分别是什么(ascii码从小到大排列,空格分隔)

66b357f253962ad9e15aaf873e45b644

image-20241221134933385

很容易可以在流量包中找到两个恶意ip,一个进行了sql注入,一个进行恶意命令执行

关卡二

存在安全问题的apk中使用的登录密码是什么?

我们这里采用jadx对apk进行逆向,然后在源文件中找到登陆密码

image-20241221135458521

这里的密码很容易就能看出是password663399,当然也可以去流量包中找登陆操作,也是一样的

关卡三

黑客尝试上传一个文件但显示无上传权限的文件名是什么?

我们回到我们的流量包,找上传相关事件,直接搜索POST数据包,并且搜索upload关键词,然后通过查找返回状态码为200的数据包

image-20241221140857336

关卡四

黑客利用的漏洞接口的api地址是什么?(http://xxxx/xx)

根据前面对流量包的观察,我们可以很清楚的知道利用的url为http://202.1.1.66:8080/api/upload

关卡五

黑客上传的webshell绝对路径是什么?

我们沿着刚刚的上传点往下分析,继续找状态码为200的数据包,一个个分析

image-20241221141454414

我们发现了这个流量,显而易见,我们找到了jsp马,提交我们的绝对路径即可,这里没有靶机,我们没办法找到对应的绝对路径,只能看wp的路径

/usr/local/tomcat/webapps/ROOT/static/s74e7vwmzs21d5x6.jsp

关卡六

黑客上传的webshell的密码是什么?

白给题,根据刚刚的流量包可以很轻松的知道我们的webshell连接密码

image-20241221142834271

当然这里比较难看出来,我们可以继续看后续流量包的连接密码,我们直接搜索s74e7vwmzs21d5x6.jsp,如下所示

image-20241221143137387

我们可以看到这里有很多bing_pass,所以我们猜测这里的密码就是bing_pass

关卡七

黑客通过webshell执行的第一条命令是什么?

我们这里分析可知,这是很经典的冰蝎流量,我们首先要找的就是我们的密钥

image-20241221144508227

又我们这个代码可知,我们的密钥是随机产生的,但是我们的流量包中出现了两个特殊的字符串,如下所示

f8a943c6fab24b36e59e7219e5933920

我们拿去尝试解密第一个状态码为200的返回包,可以发现密钥是b99f657b04941030

image-20241221144728434

格式化后我们发现执行的是pwd命令

image-20241221145035143

关卡八

黑客获取webshell时查询当前shell的权限是什么?

我们在pwd命令下可以看见我们的执行shell的权限是tomcat

9b9bff23ff5a2ae0b643ffb9993c524a

关卡九

利用webshell查询服务器Linux系统发行版本是什么?

继续查询后续流量包,挨个解密,我们可以看到发行版本如下所示

image-20241221145822989

关卡十

黑客从服务器上下载的秘密文件的绝对路径是什么?

我们这里直接看ip为202.1.1.66的数据包,因为要下载的话,我们的源头肯定十靶机ip,所以我们直接过滤对应的ip即可

image-20241221151522781

我们找稍微比较大的数据包,追踪TCP流即可,发现我们的本地路径为/static/secert.file

/usr/local/tomcat/webapps/ROOT/static/secert.file

关卡十一

黑客通过反连执行的第一条命令是什么?

我们找到对应的流量包,对传入的命令进行反编译,如下所示

image-20241221152952474

我们可以看到这就是一个执行反弹shell的class文件,我们可以看到反连的地址为202.1.1.129,所以我们直接定位到这一部分流量,查找执行的命令即可

image-20241221153629002

所以我们的第一个命令是cat /etc/passwd

关卡十二

黑客通过什么文件修改的root密码(绝对路径)

我们看第二条命令,黑客将新密码通过echo写入/etc/passwd文件中,我们可以知道这就是黑客修改的绝对路径

image-20241221154006711

关卡十三

黑客设置的root密码是多少?

直接用hashcat解密即可

hashcat -m 1800 -a 0 '$6$KHysqjWMnoaHJ4QW$p1cMTekiYb/6xA2u7j4jAD3m5shTPlPAtM6jyoex73MxxHXlms4X0874ml/gw6.LETsMs5oXLWyGeSAddx2N..' /usr/share/wordlists/rockyou.txt

image-20241221155346475

最后解出来的密码是123456

关卡十四

黑客留下后门的反连的ip和port是什么?(ip:port)

根据刚刚反编译的代码,我们可以很容易知道ip和port,但是我们上交后发现不对,我们继续看有没有别的信息

image-20241221155955526

我们可以看到后续连接端口变成了9999,我们可以猜测连接的端口为9999,答案正确

关卡十五

黑客通过后门反连执行的第一条命令是什么?

image-20241221160318201

查找第一个9999端口的tcp包,可以发现执行的命令是rpm -qa | grep pam

关卡十六

黑客通过什么文件留下了后门?

由于没有靶机,但是给了我们这两个附件,我们直接交就ok了

image-20241221161334835

关卡十七

黑客设置的后门密码是什么?

我们直接对so文件进行逆向,用ida直接逆向,看看有没有密码,直接shift+f12看字符串

image-20241221162054803

密码是ssh_back_pwd

关卡十八

黑客的后门将root密码记录在哪个文件中?(绝对路径)

同样通过ida可以找到,如下所示

0aa863479a15d1eb6a35bf806f5bdddf