DC-4
环境搭建
过程和DC-1的环境搭建一样:https://yschen20.github.io/2026/02/19/DC-1/#%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA
渗透测试
先 nmap 扫靶机 IP
1 | |
这次名字也没有,就看着是 VMware 感觉是的,访问到的 Web 服务也确实是 DC-4 的

继续扫一下靶机端口信息
1 | |
一个 22 端口的 SSH 服务,一个 80 端口的 Web 服务

先看看 80 端口的,标题是 System Tools,打开是一个登录界面

扫一下目录有个/command.php界面,应该是可以执行命令的一个界面,不过要先登录

先尝试用 bp 爆破admin弱口令,可以爆破出admin的密码是happy

成功登录

点 Command 来到command.php,可以查看目录

抓包看看命令执行的参数,很明显是直接执行的 Linux 命令

这就直接RCE了

然后尝试反弹shell到 kali 上,先kali监听端口
1 | |

然后靶机执行反弹shell命令,注意特殊字符要进行 URL 编码
1 | |
成功反弹shell

接下来就是想办法提权,先看看也没有 SUID 提权的可能
1 | |

可以看到最后有个特殊的文件test.sh,在用户jim目录下,看一看文件权限和内容
1 | |

文件内容是每隔一秒就会打印一些语句,一共会运行十秒,并且任何人都可以对这个脚本进行读、写、运行,刚开始我想的是可以写入恶意命令到这个脚本中,从而可以获取到jim的权限,不过没成功,而且文件的 SUID 权限也让我搞没了,问了一下AI这个路似乎行不通

那就不搞这个了,继续找找其他利用点,刚才发现了存在jim用户,而且这个靶机也开放了 SSH 端口,我可以尝试以jim去登录SSH
看看有哪些用户
1 | |
三个用户,不过另外俩用户目录下没什么东西

看看jim用户目录下有什么
1 | |

可以在backups目录下找到old-passwords.bak文件,里面存在一些旧密码


这其中肯定有jim的密码,把密码都复制到一个文件中

还有之前看到的三个用户

然后使用 hydra 爆破密码
1 | |

爆出jim的密码是jibril04,成功登录

看看有没有 sudo 权限
1 | |
可惜没有

之前看到jim目录下还有一个mbox文件

是 root 给 jim 发的一个测试邮件,查看一下属于 jim 的文件,可以找到 jim 的邮件
1 | |

看一下邮件内容
1 | |
是 charles 给 jim 发的邮件,并且最后给了密码:^xHhA&hvim0y

继续登录 charles 用户

这个用户有 sudo 权限

teehee 是 tee 命令的一个变体,用于从标准输入读取并写入到标准输出和文件
可以利用这个命令,将当前的 charles 用户添加到/etc/sudoers中,这个文件是存着可以执行 sudo 权限的用户
1 | |

然后就可以执行sudo su命令切换为 root 用户了,并且不需要密码就可以执行sudo
1 | |

最后就可以去/root目录下读flag了
1 | |

总结
这个靶机做的时候有种熟悉的感觉,似乎以前打过,但是有些遗忘了,中间有个 SUID 权限的文件搞没了,不过无伤大雅
靶机学到的知识点:
- 开始就是爆破admin的弱口令
- 然后是要多抓包,看看报文的信息
- 拿到shell后要多看看敏感文件,信息收集是很关键的
- 用 hydra 爆破 SSH 密码
- 最后就是利用 teehee 的 sudo 权限来实现提权