[TryHackMe]Challenges---Game Zone游戏区
这个房间将涵盖 SQLi(手动利用此漏洞和通过 SQLMap),破解用户的哈希密码,使用 SSH 隧道揭示隐藏服务,以及使用 metasploit payload 获取 root 权限。
1.通过SQL注入获得访问权限
手工注入
输入用户名 尝试使用SQL注入语句
' or 1=1 -- -
密码留空
成功进入
使用SQLMAP工具
https://github.com/sqlmapproject/sqlmap
我们将使用 SQLMap 来导出 GameZone 的整个数据库
使用我们之前登录的页面,我们将指向 SQLMap 目标的游戏评论 搜索功能
首先,我们需要使用BP拦截对搜索功能的请求
将此请求保存到文本文件中。然后我们可以将其传递给 SQLMap,以使用我们的 已认证的用户会话。
sqlmap -r request.txt --dbms=mysql --dump
-r 所使用的拦截请求
--dbms 数据库类型
--dump 尝试输入整个数据库
获得用户agent47的密码哈希值ab5db915fc9cea6c78df88106c6500c57f2b52901ca6c0c6218f04122c3efd14
可以使用john the ripper或者彩虹表在线查询破解密码
Decrypt MD5, SHA1, MySQL, NTLM, SHA256, MD5 Email, SHA256 Email, SHA512, Wordpress, Bcrypt hashes for free online
john /home/kali/Desktop/hash.txt -wordlist=/home/kali/Desktop/payloads/rockyou.txt --format=Raw-SHA256
既然有了账号密码 那么便可以ssh连接
2.通过反向ssh隧道暴露服务
通过反向 SSH 端口将远程服务器主机上的端口
转发到本地的主机和端口
使用一个名为 ss 的工具来调查主机上运行的Socket(套接字)
ss -tunpl
-t TCP协议
-u UDP协议
-n 不解析服务名称
-p 显示使用该套接字的进程
-l 只查看监听的端口
我们可以看到,通过防火墙规则阻止了在端口 10000 上运行的服务(我们可以从 IPtable 列表中看到)。然而,使用 SSH 隧道,我们可以将端口暴露给我们(本地)!
从我们的本地机器,运行 ssh -L 10000:localhost:10000 <用户名>@
完成后,在你的浏览器中输入 "localhost:10000",你就可以访问新暴露的网页服务器。
登录
发现CMS是webmin 1.580
查找相关exploit
使用metasploit
设置好options
得到shell
会创建一个sessions
我们使用sessions -u <SESSION_ID>
命令将我们的命令Shell会话升级为meterpreter会话
cat root.txt
得到
flag:
a4b945830144bdd71908d12d902adeee