前言

  • 名称:DC:4

环境部署

  • 虚拟化:VMware Workstation
  • 网卡:NAT

攻击机

  • IP 192.168.8.131
  • Kali Linux 25.3

靶机

  • DC-4
  • IP 192.168.8.154

渗透流程

主机发现

发现该设备的IP下,包含22、80两个端口。

80端口的网页,是一个用户登录的界面。

看上去只有一个index.php有点作用了

Burp尝试爆破密码

找到密码happy,用户名是admin

实际上是post执行命令了

抓一下现在的数据包,发送到”重发器“

发现三个用户

其中jim用户下目录下,有一个backup文件夹

找到了一个旧密码的bak文件

发现是个密码字典,那么这里应该是想要我们爆破密码的

保存一下

1
hydra ssh://192.168.8.154:22 -L user.txt -P /usr/share/wordlists/dc4-old-password.bak -vV -t 64 -f

爆破

找到密码

登录成功

当然直接在网页命令执行的位置去反弹shell也可以

这里提示我有一个邮件

查看后提示charles的密码^xHhA&hvim0y

1
2
3
echo "r00t::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
r00t::0:0:::/bin/bash
su r00t

它在 /etc/passwd 文件的最后追加一行,创建一个名为 r00t 的新用户,这个用户拥有 root 权限(UID=0),而且没有密码(可以直接 su 切换)。

sudo teehee -a /etc/passwd

  • teehee:这是靶机故意放的一个改名后的 tee 命令(不是真正的编辑器,只是名字叫 teehee)。 它的功能和 Linux 自带的 tee 完全一样:把接收到的内容同时写到文件和屏幕
  • sudo:因为 /etc/passwd 是系统关键文件,只有 root 才能修改。charles 用户被允许无密码执行 teehee(这是 sudo -l 里看到的权限)。
  • -aappend(追加)模式。如果不加 -a,会覆盖整个文件(非常危险)。加了 -a 就是在文件末尾添加新内容,不会破坏原有用户。

  • 执行前最好备份:sudo teehee /etc/passwd > /tmp/passwd.bak

  • 执行后可以用 tail /etc/passwd 查看是否成功添加。
  • 如果想删掉自己加的行,可以再用 teehee 删掉(但一般不需要)。

这条命令本质就是 利用 sudo + tee 命令的写文件能力,往系统用户数据库里“塞”一个 root 用户。这是 Linux 提权中非常经典的手法之一。