入门系列第二弹DC-2
基本信息
下载地址:DC-2
靶机:VMware,NAT
攻击机:kali2
Flag:5个
渗透过程
0x01 探测目标
发现主机,ip为192.168.172.130
nmap -sn 192.168.172.0/24
0x02 初步信息搜集
nmap查看开放端口。发现80和7744开放。
nmap -sV -p- 192.168.172.130
-sV 扫描目标主机和端口上运行的软件的版本
-p x 指定端口
-p- 全端口扫描
80开放着肯定要看看了,除此之外,作者告诉我们需要修改一下host文件。
Please note that you will need to set the hosts file on your pentesting devicesomething like:
192.168.0.145 dc-2
Obviously, replace 192.168.0.145 with the actual IP address of DC-2.
0x03 Get Flag
flag1
修改host文件后直接访问,发现是一个博客性质的页面。直接发现了flag1。flag1告诉了我们有时候字典不一定有用,要使用cewl获得密码,登录就可以获得下一个flag。
flag2
首先Wappalyzer做一下指纹。发现是WordPress,这时候其实就想到默认登录页面wp-admin,直接访问也可以,目录扫描一下也可以。
这里用的是dirsearch,看一下。整体结构就是默认的WordPress。
所以我们接下来就是要搞一个账户登录了,这个时候就要使用WPScan了。
WPScan是一个扫描 WordPress 漏洞的黑盒子扫描器,它可以为所有 Web 开发人员扫描 WordPress 漏洞并在他们开发前找到并解决问题。
常见参数:
–url | -u 要扫描的站点.
–force | -f 不检查网站运行的是不是WordPress
–enumerate | -e [option(s)] 枚举
u 枚举用户名,默认从1-10
p 枚举插件
t 枚举主题信息
获得三个账户,admin、jerry、tom。
wpscan --url http://dc-2/ -e u
接下来要根据flag1的提示使用cewl生成密码字典,然后爆破。
cewl -url http://dc-2/ -w pwd.txt
创建用户名文件爆破一下,发现tom、jerry的密码成功get。
wpscan --url http://dc-2/ -U /root/Desktop/dc2user.txt -P /root/Desktop/pwd.txt
登录后在page中发现flag2。
flag3
flag2已经告诉了我们寻找另一入口,首先登录tom账户发现没有什么有用的信息,这时候想到了扫描端口的时候还有7744开放ssh服务。我们链接一下试试。
首先试试jerry,可以看见这个账户其实是屏蔽了我们ssh登录的。
再试试tom,成功。
这里发现我们是在rbash中,也就是Restricted Shell中,我们的操作是受限的,一定是要提权的。
首先我们需要确认一下我们授权使用的命令。可以看见我们是可以使用less,ls,scp,vi。支持scp的话我们是否存在上传getshell脚本的可能性,这点是存在可能性的。我们先vi看一看flag3。
pwd
echo /home/tom/usr/bin/*
get flag3。
flag4
flag3中已经告诉了我们年迈的汤姆追不上jerry,需要我们su切换用户,这里就涉及到了提权问题。
给个提权链接Linux常见提权。
不操作一波就不能用tab,这多么难受懂得都懂。
由于受限使用的命令很少,所以我们使用BASH_CMDS来完成提权。可以看见已经成功了。
BASH_CMDS[a]=/bin/sh;a
/bin/bash
export PATH=$PATH:/bin
export PATH=$PATH:/usr/bin
切换jerry后,进入目录就可以获得flag4。
flag5
根据flag4可以看出已经明示我们用git的提权了,方法在上个链接里也有。git提权方法超级多,还有更改root密码等等方式都是可以的,要靠自己发现~
sudo git help config
!/bin/bash或者!'sh’完成提权
sudo git -p help
!/bin/bash
完成后,根据flag4的提示就在根目录下,成功找到flag5。
总结
DC-2整体依然是入门级别,并不难。主要涉及WPScan的使用,前端爆破,rbash绕过和git提权的问题。变秃之路仍在继续~加油!与君共勉。