【靶机详解】DC-2

477 阅读5分钟

环境搭建

  1. 下载靶机(DC-2 靶机下载
  2. 解压后,使用 VMware 打开,并将攻击机和靶机的网卡,设置为 NAT 模式。

NAT 模式:将攻击机与靶机设置在同一网段下

环境信息

  • 攻击机:kali -> IP:192.168.237.128
  • 靶机:DC-2(Linux)

环境信息1.PNG

就像 DC-1 一样,有五个 flag,包括最终的 flag 。

环境信息2.PNG

请注意,您需要将渗透测试设备上的 hosts 文件设置为:

192.168.0.145 dc-2

显然,将 192.168.0.145 替换为 DC-2 的实际 IP 地址。

它将使生活变得更加简单(如果没有它,某些 CMS 可能无法工作)。

渗透思路

1信息收集

  1. 使用 nmap -sS -O 192.168.237.0/24 扫描网段,找寻靶机的 IP。

1信息收集1.PNG

  1. 根据扫描出的系统信息,以及端口的开放情况,判断 192.168.237.162 是目标靶机的 IP,然后按照环境信息修改 hosts 文件。

Windows:C:\Windows\System32\drivers\etc\hosts

Linux:/etc/hosts

1信息收集2.PNG

  1. 使用 nmap -A -T4 -p- 192.168.237.162 对靶机进行全面扫描。

1信息收集3.PNG

  1. 发现靶机开放了 80 端口,并且靶机的 http 站点的 CMS 为 WordPress ,使用 http://192.168.237.162 尝试进行访问。

1信息收集4.PNG

  1. 成功访问到靶机的 http 站点,根据首页内容,再次确认这是一个 WordPress 站点。

2漏洞发现

  1. 尝试点击首页的 Flag 选项,成功找到了第一个 flag。

2漏洞发现1.png

您通常的单词表可能不起作用,因此,也许您只需要成为 cewl。

更多的密码总是更好,但有时你无法赢得所有密码。

以一个身份登录以查看下一个标志。

如果找不到,请以另一个身份登录。

  1. 根据 flag1 的内容,使用 cewl http://dc-2/ -w password.txt 制作密码字典。
  2. 因为 flag1 中提到需要登录,但是网页中找不到相关的登录界面入口,所以使用 dirsearch -u http://dc-2/ 爆破网站目录,寻找登录界面。

2漏洞发现2.png

  1. 成功找到登录界面,使用 http://dc-2/wp-login.php 进行访问。

2漏洞发现3.png

  1. 访问成功后,由于目前只有密码字典,所以还需要使用 wpscan --url http://dc-2/ -e u 枚举 WordPress 站点中注册过的用户名,来制作用户名字典。

2漏洞发现4.png

  1. 成功枚举出三个用户名,将这三个用户名写入到一个文件中,作为用户名字典。

2漏洞发现5.png

  1. 使用 wpscan --url http://dc-2/ -U user.txt -P password.txt 调用相关的字典文件对网站进行爆破。

2漏洞发现6.png

  1. 成功爆破出两个用户,尝试使用 jerry:adipiscing 进行登录。

2漏洞发现7.png

  1. 登录成功后,把每个选项都点击一遍试试效果,在 Pages -> All Pages 下发现了 flag2。

2漏洞发现8.png

如果您不能利用 WordPress 并走捷径,还有另一种方法。

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

3漏洞利用

  1. 根据 flag2 中的内容,想到了在信息收集阶段中扫描出的 ssh 服务,并且当前我们知道两对用户名和密码,所以分别使用 ssh jerry/tom@192.168.237.162 -p 7744 尝试登录。

3漏洞利用1.png

  1. 使用 tom:parturient 登录成功,使用 whoami 查看当前权限。

3漏洞利用2.png

  1. 发现当前为 rbash,被限制的 Shell,所以可以考虑进行 rbash 绕过。
  2. 使用 la -al 浏览一下当前目录,发现了 flag3.txt

3漏洞利用3.png

  1. 使用 cat flag3.txt 进行查看,发现无法使用该命令,所以尝试使用 vimvi 进行查看。

3漏洞利用4.png

可怜的老汤姆总是追着杰瑞跑。 也许他应该为他造成的所有压力感到不安。

  1. 使用 vi 查看成功,观察 flag3 中的内容,发现文本中包含 Jerrysu ,所以猜测需要使用 su jerry 登录到 jerry 用户下,尝试后发现 su 命令无法使用,所以下一步尝试进行 rbash 绕过。
  2. 使用 export -p 发现可以使用 export 命令,所以使用以下命令进行 rbash 绕过:
BASH_CMDS[a]=/bin/sh;a       #注:把 /bin/sh 给a变量并调用
export PATH=$PATH:/bin/      #注:将 /bin 作为PATH环境变量导出
export PATH=$PATH:/usr/bin   #注:将 /usr/bin 作为PATH环境变量导出

3漏洞利用6.png

  1. 绕过成功,使用 su jerry 和之前爆破出的密码尝试进行登录。

3漏洞利用7.png

  1. 登录成功,使用 cd /home/jerry/ 访问家目录,发现了 flag4.txt

3漏洞利用8.png

很高兴看到你已经走到了这一步——但你还没有回家。

您仍然需要获得最终标志(唯一真正重要的标志!!!)。

这里没有任何提示——你现在就靠你自己了。 :-)

继续 - 离开这里!!!!

  1. 根据 flag4 的内容,可以推断下一步需要进行提权,来获取 root 权限,访问 /root 目录。
  2. 观察 flag4 中的内容,发现了 git 这个字眼,猜测需要使用 git 提权,所以使用 sudo -l 查看当前用户可以以 root 身份执行的命令。

3漏洞利用9.png

  1. 发现可以以 root 身份执行 git 命令,所以下一步使用 git 进行提权,使用 sudo git help config 使 git 被动调用 more 进行显示。
  2. 输入 !/bin/bash 即可提权成功。

3漏洞利用10.png

  1. 使用 cd /root/ 访问 /root 目录,找到了 final-flag.txt

3漏洞利用11.png

恭喜!!!

特别感谢所有给我发推文并为我提供反馈的人——非常感谢。

如果你喜欢这个 CTF,请通过@DCAU7 给我发一条推文。

  1. 渗透结束!!!

知识点汇总

  1. 使用 nmap 找寻并扫描靶机。
  2. 使用 dirsearch 爆破网站目录。
  3. 使用 cewl 制作字典。
  4. 使用 wpscan 对 WordPress 站点进行扫描和爆破。
  5. rbash 绕过
  6. sudo 提权
  7. git 提权
  8. 修改 hosts 文件来访问网站。

参考资料

DC-2 官网

rbash 绕过


如果您觉得哪里有问题,可以在评论区进行留言,我会马上进行修正的,谢谢!