DC-2靶场
信息收集
扫描
-
使用nmap扫描网段,发现一台开放80和7744端口的Debian Linux
-
访问地址192.168.137.130:80,发现会自动跳转到http://dc-2
抓包分析
-
发现数据包中存在host字段值变为了dc-2
-
通过测试发现,Host值如果仅为192.168.137.130而没有
:80
则得到的响应为Location: http://dc-2/
的跳转指令。 -
将Host值改回192.168.137.130:80即可得到正常响应,响应的页面为http://dc-2/。
-
并在响应中找到Flag位于http://dc-2/index.php/flag
flag
flag1
-
分析以上,原因应该是dc-2域名被配置在Linux内部,但是由于外部互联网的DNS中没有关于dc-2的记录,所以只能通过IP:port进行访问,但是通过浏览器访问时,总会先进行重定向到dc-2。可以在物理机DNS配置文件(windows在
C:\Windows\System32\drivers\etc\hosts
linux在/etc/hosts
)上加一条对dc-2的记录。 -
然后就可以访问了,得到flag1
flag2
-
flag1提示下一个flag需要通过登录,但是我们常用的密码字典可能行不通,cewl工具可能有用。使用cewl生成密码字典并保存。
cewl可以爬取指定 URL 的内容,并根据用户设定的参数和选项,生成自定义的字典文件。
-
使用wpscan工具枚举wordpress的用户:
wpscan -url http://dc-2 -e u
WPScan是专门检查WordPress网站漏洞的工具,它可以全面检查wp网站的漏洞,例如插件,主题,备份文件等
-
将三个用户名存入文件中作为用户名字典,再使用这两个字典进行爆破,发现两个成功,即302跳转到wp-admin页面
payloads分别为jerry,adipiscing和tom,parturient
-
登录jerry,pages->flag2
flag3
-
提示如果wordpress无法利用,可以找找其他方式。经过测试发现,登录用户权限低,无法进行文件上传。所以尝试从7744的ssh服务下手。使用上述爆破出来的tom的wordpress账号密码就可以登陆
-
发现tom用户的bash为rbash,命令
cat
、tac
均不可用,使用vi查看flag3.txt内容Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.
flag4
-
根据提示,大概猜测flag4在jerry的home目录下,但是由于rbash的限制,无法使用cd。
-
rabsh逃逸:在vi编辑器的命令行模式中输入
:set shell=/bin/bash
回车,然后输入:shell
即可运行/bin/bash -
cd到/home/jerry目录下,查看flag4.txt
flag5
-
一开始真相信了没有提示,还让我滚出去ヾ ^_^💧。然后发现好多命令还是用不了,也不知道怎么提权,上网查发现需要将环境变量加上
/bin
,即命令export PATH="/bin:$PATH"
,然后可以使用su命令了,切换到jerry用户,然后才可以用sudo命令。 -
然后根据提示的
git
,并且jerry用户可以不输入密码使用sudo git,所以使用git提权sudo git -p help config --> !/bin/bash
-
查看flag