前言
刚好有机会接触到卫生行业的运维赛,这里只有机会接触到测试赛,简单谢谢wp吧,测试赛的话主办方也是用心了的,难度的话相比较决赛的内容还是比较简单的。
题目
【题目背景】 模拟了一台公网上的服务器,内置 MYSQL\SSH\WEB 等应用服务,但是因为安全意识不到位导致该服务器存在若干安全风险,现在要求对该服务器实施断网并作全方面的安全检查,由于服务的迁移,在系统中保留了一些历史服务的流量包,需要对流量包进行分析和研判。
【题目要求】
1、通过修改服务器登录相关的配置文件实现:密码有效期90天、连续输错三次密码,账号锁定五分钟。
2、通过修改mysql相关配置实现:开启数据库查询日志、限制任意地址登录,只允许127.0.0.1登录。
3、从 /root/analyse.pcapng 文件中分析被读取走的flag值,写到 /root/flag.txt 中。
4、对系统中存在的其他安全隐患进行排查和处置(恶意配置后门请直接删除)。
5、还有其他的一些要求,但是没在题干中
【注意事项】
1、不涉及修改密码和修改私钥的动作,如果因为修改密码或私钥导致无法得分,选手自行负责。
2、禁止使用防火墙等相关IP封锁技术对IP进行隔离,如果因为隔离IP导致无法得分,选手自行负责。
【接入信息】
1、SSH服务端口22,账号密码为root/root
2、MYSQL服务账号密码为root/mysql

步骤
登录ssh,发现处于docker容器内,其实这里很多命令是无法使用的。
先修改登录过期事件
vim /etc/login.def
连续输入错误三次,锁定5分钟
vim /etc/pam.d/sshd
auth required pam_tally.so deny=3 onerr=fail unlock_time=300 #最夯一行添加配置文件
auth required pam_faillock.so preauth audit silent deny=3 unlock_time=300
auth required pam_faillock.so authfail audit deny=3 unlock_time=300
或者修改
/etc/pam.d/common-auth
隐藏后门
查看发现异常用户hacker
userdel -f hacker
这里需要强制删除,因为不添加参数的话会重新创建该用户。
访问控制
访问控制在/etc/hosts.allow中发现存在异常的访问控制,删除该文件即可

安全配置
mysql暴力破解用户名密码root/mysql
mysql -uroot -pmysql
SET GLOBAL general_log = 'ON'; //开启数据库查询日志

或者图形化界面执行修改也可以

访问控制2
限制登录地址为127.0.0.1
修改配置文件
vim /etc/mysql/mysql.conf.d/mysql.cnf
bind-address = 127.0.0.1
定时任务
这个定时任务题目有问题,没有定时任务但是需要删除root的定时任务
rm /var/spool/cron/crontabs/root
其实这里的定时任务文件是没内容的,但是check的机制就是检测文件是否存在
特殊权限
find / -type f -perm -4000 -exec ls -l {} \;
find /
:从根目录开始查找(你也可以指定特定的目录,例如 /usr
或 /bin
)。
-type f
:只查找文件,不查找目录。
-perm -4000
:查找设置了 SUID 权限的文件(SUID 权限对应的数字是 4000)。
-ls
:显示详细信息,包括文件的权限、所有者、大小、修改时间等。
所有具有suid权限的文件都在/bin下,一般whoami权限是没有suid权限的,所以这个文件被动过,所以这里干掉这个文件就可以了。

流量分析
需要开启SFTP服务,注释掉配置文件
#RSAAuthentication yes 这个配置文件是老版本openssh
另外添加ftp配置文件
Subsystem sftp internal-sftp
检索关键字,追踪tcp流分析找到一串base64编码内容

导出分组字节流解码得到flag

echo "flag{d9d2c4b2-7cf2-472f-a8e8-2aad1e466099}" > /root/flag.txt
web漏洞
目录扫描发现info目录,发现属于xxe的报错,构造xxe语句

system是可执行文件,url路径需要传参,fuzz无果手工测试

回显显示需要参数,简单测试构造发现存在任意文件读取

修复直接就是定位到位置点儿进行修复即可。其实这里最简单的就是直接代码审计,审计即可,因为前期导完数据包的时候环境有问题,修改配置文件无法SFTP连接获取源码,所以就黑盒进行FUZZ了。