首先登录用户名和密码一样defend查看一下有没有 一些有用的信息告诉我们base64解码解码之后得到#!/bin/bash echo 欢迎使用 知攻善防实验室 解题系统 echo 在继续之前您需要获得以下内容 echo 1.攻击者IP地址 echo 2.三个flag(flag格式flag{xxxxx}) read -p 您准备好了吗(y/n) select if [ $select y ]; then read -p 请输入攻击者的IP地址 ip if [ $ip 192.168.75.129 ]; then echo 您输入的IP地址正确请继续 read -p 请输入第一个flag flag1 if [[ $flag1 flag{PssW0rd_redis} || $flag1 flag{thisismybaby} || $flag1 flag{kfcvme50} ]]; then echo 您输入的第一个flag正确请继续 read -p 请输入第二个flag flag2 if [[ ($flag2 flag{PssW0rd_redis} || $flag2 flag{thisismybaby} || $flag2 flag{kfcvme50}) $flag2 ! $flag1 ]]; then echo 您输入的第二个flag正确请继续 read -p 请输入第三个flag flag3 if [[ ($flag3 flag{PssW0rd_redis} || $flag3 flag{thisismybaby} || $flag3 flag{kfcvme50}) $flag3 ! $flag2 $flag3 ! $flag1 ]]; then echo 您输入的第三个flag正确请继续 for i in {1..6} do echo 恭喜您成功攻克该靶机 done else echo 第三个flag不正确。 fi else echo 第二个flag不正确。 fi else echo 第一个flag不正确。 fi else echo 您输入的IP地址不正确。 fi else echo 请准备好后再试。 fi告诉我们需要找到三个flag以及IP地址。因为我们的权限不够大只是一个普通用户的权限可以切换到root用户查看一下历史信息在这里面可以看到一些有用的信息匹配 %2$s 上 %1$s 的默认条目 !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keepCOLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS, env_keepMAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE, env_keepLC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES, env_keepLC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE, env_keepLC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY, secure_path/sbin\:/bin\:/usr/sbin\:/usr/bin 用户 defend 可以在 localhost 上运行以下命令 (ALL) ALL含义defend 用户可以以任何用户包括 root身份执行任何命令而且不限制命令、不限制路径、不限制参数。这是 sudo 提权里最顶级的一种情况。这个里面给了一个攻击者可能留下了的恶意文件rc.local切换到目录然后查看一下里面的内容cd /etc/rc.d/ cat rc.local发现了一个flagflag{kfcvme50}意外发现还创建了一个文件查看一下发现文件是空的。SSH公私钥root用户有权访问/root目录下的.ssh所以我们查看攻击者是否存放了自己的公钥来进行SSH连接cd /root/.ssh ls -a cat authorized_keys在这里面也是发现了攻击者的名字。同时我们还可以发现是redis-bits等字样说名攻击者很有可能是通过redis服务器来进行攻击的查看一下最近登录过的lastlog里面没有什么可以用的信息接着查看日志日志文件的路径 /var/log/由于上述我们得到的信息redis服务器的日志保存位置为/var/log/redis/redis.log最常见cd /redis ls -a cat redis.log在这里可以看到攻击者的IP地址192.168.75.129:44572查看其他的信息找到了第三个flagflag{PssW0rd_redis}至此我们也是找到了所有的黑客的IP地址和遗留下的三个flagflag{PssW0rd_redis} flag{kfcvme50} flag{thisismybaby} 192.168.75.129最终提交一下