DC -2 靶机复盘

注:个人笔记,比较简陋,仅供参考。

渗透思路

**DC -2 有五个 flag,包括最终的 flag **

1. 信息搜集

  1. 使用 nmap -sP -T4 10.4.7.0/24 扫描网段,找寻靶机的 IP
    DC -2 靶机复盘_第1张图片

  2. 判断 10.4.7.131 是目标靶机的 IP

  3. 使用 nmap -A -T4 -p- 10.4.7.131 对靶机进行全面扫描,发现靶机开放了 80 端口和 7744端口。
    DC -2 靶机复盘_第2张图片
    尝试访问其80端口,发现不能正常访问到其站点
    DC -2 靶机复盘_第3张图片

  4. 可能是DNS不能解析此域名的原因,我们可以修改hosts文件

windows 中hosts文件目录 C:\Windows\System32\drivers\etc\hosts
linux中hosts文件目录   /etc/hosts
Hosts文件作用:
将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从hosts文件中去寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,系统则会再将网址提交DNS域名解析服务器进行IP地址解析。

DC -2 靶机复盘_第4张图片

5.使用 10.4.7.131 尝试进行访问。

DC -2 靶机复盘_第5张图片

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

2漏洞发现

  1. 尝试点击首页的 Flag 选项,成功找到了第一个 flag。
    DC -2 靶机复盘_第6张图片
Flag 1:
Your usual wordlists probably won’t work, so instead, maybe you just need to be cewl.
More passwords is always better, but sometimes you just can’t win them all.
Log in as one to see the next flag.
If you can’t find it, log in as another.

   解析:你通常的单词表可能不起作用,所以,也许你只需要保持清醒。
   密码越多越好,但有时你就是无法赢得所有的密码。
   以一个人的身份登录以查看下一个标志。
   如果找不到,请以另一个用户登录。

使用 cewl 制作字典。

  1. 根据 flag1 的内容,使用 cewl http://dc-2/ -w password.txt 制作密码字典。
    在这里插入图片描述

  2. 因为 flag1 中提到需要登录,但是网页中找不到相关的登录界面入口,所以使用 dirb http://10.4.7.131 进行目录扫描,或者使用 dirsearch -u http://dc-2/ 爆破网站目录,寻找登录界面。

DC -2 靶机复盘_第7张图片
DC -2 靶机复盘_第8张图片

使用 wpscan 对 WordPress 站点进行扫描和爆破

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

  2. 使用 wpscan --url http://dc-2/ -U user.txt -P password.txt 调用相关的字典文件对网站进行爆破。爆破出来两个用户
    DC -2 靶机复盘_第10张图片

  3. 尝试使用 jerry:adipiscing 进行登录,登录成功后,把每个选项都点击一遍试试效果,在 Pages -> All Pages 下发现了 flag2。
    DC -2 靶机复盘_第11张图片

Flag 2:
If you can't exploit WordPress and take a shortcut, there is another way.
Hope you found another entry point.

解释:如果你不能利用WordPress并走捷径,还有另一种方法。
希望你找到了另一个入口。

3漏洞利用

  1. 根据 flag2 中的内容,想到了在信息收集阶段中扫描出的 ssh 服务,并且当前我们知道两对用户名和密码,所以分别使用 ssh jerry/[email protected] -p 7744 尝试登录。使用 tom:parturient 登录成功。
    DC -2 靶机复盘_第12张图片

  2. 使用 tom:parturient 登录成功,使用 whoami 查看当前权限。
    在这里插入图片描述

rbash 绕过

  1. 发现当前为 rbash,被限制的 Shell,所以可以考虑进行 rbash 绕过

  2. 使用 ls -la查看目录,发现了 flag3.txt

  3. 使用 cat flag3.txt 进行查看,发现无法使用该命令,所以尝试使用 vimvi 进行查看。
    DC -2 靶机复盘_第13张图片
    使用 vi flag3.txt 可以进行访问
    在这里插入图片描述

oor old Tom is always running after Jerry. 
Perhaps he should su for all the stress he causes.

可怜的老汤姆总是追着杰瑞跑。 
也许他应该为他造成的所有压力感到不安。
export 命令
  1. 使用 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环境变量导出

DC -2 靶机复盘_第14张图片

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

在这里插入图片描述

  1. 登录成功,使用 cd /home/jerry/ 访问家目录,发现了 flag4.txt
    DC -2 靶机复盘_第15张图片
    然后进行查看

DC -2 靶机复盘_第16张图片

Good to see that you've made it this far - but you're not home yet. 
You still need to get the final flag (the only flag that really counts!!!).  
No hints here - you're on your own now.  :-)
Go on - git outta here!!!!


解析:很高兴看到你已经走了这么远——但你还没有到家。
你仍然需要获得最终的旗帜(唯一真正重要的旗帜!!)
这里没有提示——你现在要靠自己了。: -)
走吧,离开这里!!!!
  1. 根据 flag4 的内容,可以推断下一步需要进行提权,来获取 root 权限,访问 /root 目录。

  2. 观察 flag4 中的内容,发现了 git 这个字眼,猜测需要使用 git 提权,所以使用 sudo -l 查看当前用户可以以 root 身份执行的命令。
    在这里插入图片描述

  3. 发现可以以 root 身份执行 git 命令,所以下一步使用 git 进行提权,使用 sudo git help config 使 git 被动调用 more 进行显示。

  4. 输入 !/bin/bash 即可提权成功,

DC -2 靶机复盘_第17张图片
在这里插入图片描述

  1. 进入/root 目录,查看到final-flag.txt 文档,然后进行查看
    DC -2 靶机复盘_第18张图片
A special thanks to all those who sent me tweets
and provided me with feedback - it's all greatly
appreciated.
If you enjoyed this CTF, send me a tweet via @DCAU7.

祝贺!!特别感谢所有给我发推特和提供反馈的人——我非常感激。
如果你喜欢这个CTF,请通过@DCAU7给我发一条推文。
  1. 渗透结束

知识点汇总

  • 使用 nmap 找寻并扫描靶机。

  • 使用 dirb 爆破网站目录。

  • 使用 cewl 制作字典。

  • 使用 wpscan 对 WordPress 站点进行扫描和爆破。

  • rbash 绕过

  • sudo 提权

  • git 提权

  • 修改 hosts 文件来访问网站。

  • export的语法:
    export [-fnp] [变量名]=[变量设置值]
    参数说明:
    
    -f:代表[变量名称]中为函数名称。
    -n:删除指定的变量;实际未删除,只是不会输出到后续指令的执行环境中。
    -p:显示所有的shell赋予子程序的环境变量。
    

你可能感兴趣的:(靶机笔记,笔记,笔记)