题目简介
服务器场景操作系统 Linux
服务器账号密码 root qi5qaz
任务环境说明
注:进去后执行 sed -i 's/Listen 80/Listen 9999/' /etc/apache2/ports.conf && service apache2 restart
开放题目
漏洞修复
步骤一
攻击者通过什么密码成功登录了网站的后台?提交密码字符串的小写md5值,格式flag{md5}。
步骤二
攻击者在哪个PHP页面中成功上传了后门文件?例如upload.php页面,上传字符串"upload.php"的小写md5值,格式flag{md5}。
步骤三
找到攻击者上传的webshell文件,提交该文件的小写md5值,格式flag{md5}。
步骤四
攻击者后续又下载了一个可执行的后门程序,提交该文件的小写md5值,格式flag{md5}。
步骤五
攻击者创建了后门用户的名称是?例如attack恶意用户,上传字符串"attack"的小写md5值,格式flag{md5}。
步骤六
攻击者创建了一个持久化的配置项,导致任意用户登录就会触发后门的连接。提交该配置项对应配置文件的小写md5值,格式flag{md5}。
步骤七
攻击者创建了一个持久化的配置项,导致只有root用户登录才会触发后门的连接。提交该配置项对应配置文件的小写md5值,格式flag{md5}。
步骤八
攻击者加密了哪个数据库?提交数据库的文件夹名,例如user数据库对应存放位置为user文件夹,上传字符串"user"的小写md5值,格式flag{md5}。
步骤九
解密数据库,提交Harper用户对应Areer的值。提交Areer值的小写md5值,格式flag{md5}。
步骤十
因为什么文件中的漏洞配置,导致了攻击者成功执行命令并提权。提交该文件的小写md5值,格式flag{md5}。
&1
我们常规查看var/log,发现是apache,我们查看日志发现有login.php迹象,并且有mysql服务,那么我们思路去mysql查找admin的账号密码
我们去/var/www/html/include看到有config.inc.php,我们查看发现mysql的账号密码,登录
查看表格,进入mirage库,然后查看所有表
看到users表,我们查询users表
发现这里似乎没有明文密码,密码也不是md5的内容,我们另辟蹊径,去找找有没有pcapng流量包,欸还真有
我们连接ftp下载下来分析,最后一次登录成功密码明文显示了出来
&2
通过分析pcapng包发现,upload的页面
&3
然后我们在html目录下find ./ -type f -name "*.php" | xargs preg "eval("
发现了隐藏的webshell
&4
我们在pcapng包中发现了一个流量大的webshell访问我们查看发现是访问一个下载地址,就是这个恶意程序的下载
我们去系统上找到这个恶意程序,这里它利用了典型的隐藏目录方法,创建空白名称目录,我们md5sum一下
&5
直接看/etc/passwd,很容易发现suid=0的恶意账户
&6
描述说攻击者创建了一个持久化进程,所有用户登录就会触发,那么我们猜疑在/etc/profile里面
如果不知道,可以在etc下面执行find ./ -type f | xagrs grep "is.world"
就可以发现了
&7
题目说root登录也会执行触发一个,照葫芦画瓢,那么在root的家目录的profile,我们看看,发现.bashrc
那么我们再在.bashrc中看看,发现端倪
&8
题目说加密了数据库,欸,这里可以借用一些数据库工具来查看比较方便,这里就不展示了,我们在mysql中use JPMorgan Chase
发现Balance无法读取
这里文件夹名也出来了JPMorgan@0020Chase
&9
emmmm这个解密有点高深,看这个佬的博客吧,不多赘述了
find / -type f -newer /var/www/html/plugins/cpg.php ! -newer /var/lib/mysql/JPMorgan@0020Chase/Balance.frm
又学会一个find的使用技巧 ) ) ) )
&10
我们运行find / -perm -u=s -type f 2>/dev/null
发现了/usr/sudo,我们查看/etc/sudoers发现端倪