PS:杰克创建的流量包(result.pcap)在root目录下,请根据已有信息进行分析
1、首个攻击者扫描端口使用的工具是?
2、后个攻击者使用的漏洞扫描工具是?
3、攻击者上传webshell的绝对路径及User-agent是什么?
4、攻击者反弹shell的IP及端口是什么?
5、在系统中存在另一个服务漏洞,根据攻击者扫描特征及自身检测写出答案
6、攻击者提权的方式是什么?
7、攻击者留下了WEB后门脚本,找到绝对路径
8、攻击者留下了持续化监控和后门脚本,删除恶意web脚本后会继续新建,找到绝对路径(具有SUID权限)
用户名及密码:root/root123,将/root/result.pcap下载下来:

1、首个攻击者扫描端口使用的工具是?
题目提到首个攻击者,后个攻击者,说明有不同的IP,先查看一下/var/log/apache2/access.log的文件内容:


但是发现access.log的文件大小是0KB?
查看access.log.1的文件内容,发现内容倒是正常:

从access.log.1文件中提取出每个IP地址的访问次数,并按访问次数从高到低排序:
awk '{print $1}' access.log.1 | sort | uniq -c | sort -nr
- awk '{print $1}' access.log.1
在这里,'{print $1}'告诉awk打印每一行的第一个字段(即每个访问记录中的第一个"单词",通常这是客户端的IP地址)。
- sort
这个命令对输入数据进行排序。默认情况下,它是按字典顺序(字母顺序)进行排序的。
- uniq -c
uniq用于过滤重复的相邻行。
-c选项让uniq不仅删除重复的行,而且还会在每行前面加上该行重复出现的次数。
- sort -nr
再次使用sort命令,这次带上两个选项:-n表示数值排序(而不是默认的字典顺序),-r表示逆序排列(从大到小)。

因为扫描工具会进行多次的扫描,所以基本上锁定192.168.150.1和192.168.150.2这两个IP了
ip.addr==192.168.150.1


ip.addr==192.168.150.2


表名首个攻击者IP是192.168.150.2,后个攻击者IP是192.168.150.1
ip.addr==192.168.150.2 && tcp

发现是TCP全连接扫描,而非半连接
ip.addr==192.168.150.2 && icmp

ICMP ECHO探测存活

答案:fscan
2、后个攻击者使用的漏洞扫描工具是?
这一问不会分析goby扫描器的流量特征,直接查找关键词"goby",追踪TCP流:

答案:goby
3、攻击者上传webshell的绝对路径及User-agent是什么?
这里本来想直接Ctrl F查找关键词"upload"的,但太多了,看不过来,换种思路,查看网络连接的状态,是监听的端口和相关联的进程:
netstat -lnpt


发现80端口服务是apache2,查看日志文件/var/log/apache2/access.log
但access.log文件大小还是0,看一些别的access.log.*文件内容:

打开access.log.1文件,Ctrl F查看关键词"upload"发现上传目录都是/lot/admin/assets/uploads:

但其实可以直接全局搜索关键词"upload"的:
find / -name uploads

去/var/www/html/lot/admin/assets/uploads该目录下看一下有什么文件
发现只有maps和models两个目录(不包括隐藏的目录),其他都是.jpg文件:

直接查看该目录下所有后缀名为.php的文件,按照个人经验来说,见到的webshell基本上是.php:

/var/www/html/lot/admin/assets/uploads/maps/1701324180_Shell123.php
下载下来进行代码审计:

可以看出还是个php反弹shell,是攻击者上传的webshell了


得知User-Agent是my_is_user_agent
答案:/var/www/html/lot/admin/assets/uploads/maps/1701324180_Shell123.php my_is_user_agent
4、攻击者反弹shell的IP及端口是什么?
根据先前的流量包或者1701324180_Shell123.php代码内容可以看出反弹shell的IP及端口:

192.168.150.110:5678
5、在系统中存在另一个服务漏洞,根据攻击者扫描特征及自身检测写出答案
想起第三问有四个进程名都是java,都是783端口:
netstat -lntp

直接查看PID为783的进程具体信息:
ps aux | grep 783

看不懂,问问AI:

显然是个Nacos漏洞
答案:Nacos
6、攻击者提权的方式是什么?
根据之前写的security1的WP的经验,journalctl _COMM=sudo > sudo.txt


不对,时间是我做题的时间
执行命令cat /etc/sudoers,查看系统sudo权限配置:


发现所有的用户都能无密码条件下执行useradd命令
cat /etc/passwd查看新增的用户,发现有个新增的zhangsan用户:


答案:sudo写入新用户
7、攻击者留下了WEB后门脚本,找到绝对路径
查找系统中所有设置了SUID(Set User ID)权限的文件
find / -perm -4000 2>/dev/null


发现是个后门脚本
答案:/var/www/html/lot/admin/assets/vendor/.shell/.decodeshell.php
8、攻击者留下了持续化监控和后门脚本,删除恶意web脚本后会继续新建,找到绝对路径(具有SUID权限)
第七问已经找到了SUID权限的后门脚本decodeshell.php,新建的话后门脚本应该名字还是一样(.decodeshell.php),方便攻击者利用后门脚本
使用grep搜索整个文件系统(从根目录/开始)中包含特定字符串"decodeshell"的文件,并输出匹配行及其所在文件的位置和行号
grep -rnw '/' -e "decodeshell" 2>/dev/null


发现有个/opt/.script/.script.sh脚本文件
cat /opt/.script/.script.sh查看文件内容(虽然已经看过一遍了,但还是看一下):

这个脚本的主要目的是在Web服务器上创建一个PHP WebShell后门(.decodeshell.php),并设置高权限以确保其可以被任意用户访问和执行
答案:/opt/.script/.script.sh