靶场地址
https://www.vulnhub.com/entry/w1r3s-101,220/
进入目标地址后下载Mirror,下载完成后解压缩到自己的电脑中
(此处可以使用老师已经提供的文件,将文件复制到自己的电脑中后可以直接进入以下步骤)
1.打开VMware
点击左上角文件,选择打开,找到刚刚解压的文件(你下载在哪就在哪打开)。
右键点击编辑虚拟机设置。
点击网络配适器,左边网络连接选择桥接模式(或者NET模式),配置完毕后在页面右下角点击确定。建议选择NET模式,不然局域网ip过多很难分辨
返回页面开启此虚拟机,中间可能会被询问是否虚拟机被移动或者被复制,选择我已经复制该虚拟机。开启后显示如下界面。
2.我们去配置kali虚拟机,打开老师所给的kali虚拟机环境,步骤和上述w1r3s一样,进入文件,选择打开
打开kali后
选择编辑此虚拟机,点击网络配适器,右边网络连接选择桥接模式(如果上面选择的是NET模式。则此处也要选择NET模式)后点击确定。
建议选择NET模式,不然局域网ip过多很难分辨、
开启此虚拟机,用户名为kali,password为kali
选择Log in,进入虚拟机内
3.好接下来便要开始获取一系列权限。
打开kaili后,点击左上角黑色边框
首先我们需要获得kali的root权限
1.输入id+你的id
输入sudo passwd root
他会让我们输入以前的kali密码(旧密码为kali),并且让你确定新的密码(为了方便记忆,此处新密码为123456)
然后切换root账户,输入su root
现在查看我们的权限,输入 id root
我们可以发现id=0,现在就表示我们是超级用户了
接着我们找到目标的ip地址
输入arp -scan -l
此时可以得知kali的ip地址为10.0.0.193
根据后缀的VMware可以得知,这些为虚拟网卡,本人是用nmap -sV一个一个扫描过去,才得出靶机ip地址为10.0.0.162,当扫描结果如下则为靶机ip地址。选择NET模式的小伙伴应该会更好识别靶机ip地址,不用如此麻烦
输入nmap -sS -sV -A -p- -T5 10.0.0.162(意思是采用半开扫描,扫描目标的全部端口,服务信息,速度为5),扫描结果如下:
此处可以看出开放了四个端口,21 FTP协议(可以匿名访问)22 SSH
80 http 3306 mysql (前面的数字为端口号)
此处先访问FTP,匿名访问不需要密码,content目录。
FTP的匿名登录一般有三种,选下面一个使用就好:
1、 用户名:anonymous 密码:Email或者为空
2、 用户名:FTP 密码:FTP或者为空
3、 用户名:USER 密码:pass
登录后可以发现是三个文件夹,下载这些文件,分别输入一下命令
dir //查看目录
get //下载单个文件
mget //下载多个文件
下载整个ftp目录:
wget ftp://192.168.31.98/* --ftp-user=ftp --ftp-password= -r
也可以一次性下载ftp整个目录
然后我们点开左下角主页面
点开10.0.0.162这个文件夹
可以看见是三个文档txt
分别点开后显示
第二个目录,docs打开后出现的是反的
反过来就是这样的
第三个文件为
FTP上暂时没有什么有用的信息了
然后用web(浏览器)访问80端口,浏览器出入http://10.0.0.162/
扫描一下该端口,输入dirb http://10.0.0.162/
可以发现有目录遍历和wordpress
可以发现wordpress打不开,但是可以回浏览器访问
http://10.0.0.162/administrator
访问
http://10.0.0.162/administrator跳转到了一个cms安装界面。看到网页标题是一个Cuppa的CMS,那么就在sploit中查询一下,发现一个远程文件包含的漏洞
输入searchsploit cuppa
下载复制出来,大概是说这个文件包含漏洞,利用特殊的url可以访问对应目录查看本地文件。
在home中可以查看刚刚弄到手的文件
往下滑,我们接着按照他的exp访问一下
然后前往浏览器访问可以看见
没有保存,也没有返回结果的界面,用curl试试(Linux中curl是一个利用URL规则在命令行下工作的文件传输工具
-s 静音模式。不输出任何东西
-data-urlencode 先对数据进行URL编码,在发送给HTTP服务器,即对表单中的字段中进行URL编码后在发送。在此处意思是对‘…/…/…/…/…/…/…/…/…/etc/passwd ’ 字符串进行URL编码
再此我们获得了靶机的passwd文件内容)
输入curl -s -data-urlencode urlConfig=
../../../../../../../../../etc/passwd
http://10.0.0.162/administrator/alerts/alertConfigField.php
可以得到
在文件中发下可以登录的用户不多,root、w1r3s等仅几个用户
再用同样的方法获得存密码的shadow文件试试
curl -s --data-urlencode urlConfig=../../../../../../../../../etc/shadow http://192.168.16.139/administrator/alerts/alertConfigField.php
可以得到
ssh登录看一下,w1r3s用户,中途可能会让你选择yes,密码为computer
id查用户信息是发现,用户可以使用sudo
Sudo -l
查一下具体的信息
根据提示可以在任何地方执行任何名称文件获取root权限
随便写一个sh文件,并赋权
发现可以用sudo进行提权
这个用户可以通过sudo以root权限执行任何命令
然后我们获取flag,输入sudo ls /root
sudo cat /root/flag.txt
完成,获取到flag