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:

更改一下 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 连接成功,,查看文件:

得到 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:

完成。这个靶机不错,考察的知识点不难但丰富,很有意思。