内容提要
文章描述了通过Nmap扫描开放端口,利用GoBuster提取目录,找到注册邮箱并重置密码。随后,使用Python脚本进行暴力破解,成功登录后获取密钥,修改JWT令牌提升权限,最终找到最后的标志。
关键要点
-
使用Nmap扫描发现开放端口22(SSH)和1337(HTTP)。
-
访问端口1337后,查看页面源代码,发现目录命名约定,使用GoBuster提取更多目录。
-
在hmr_logs目录中找到注册邮箱tester@hammer.thm。
-
利用找到的邮箱进行密码重置请求,发现有4位数的OTP验证码。
-
通过Burp Suite的Repeater发现请求有速率限制,利用伪造的IP地址重置速率限制。
-
编写Python脚本进行暴力破解,成功找到验证码并重置密码为Password123。
-
使用新密码登录,发现一个命令输入框和会话令牌。
-
下载文件188ade1.key,获取密钥。
-
修改JWT令牌的kid参数和role参数,使用找到的密钥进行签名验证。
-
最终通过修改后的令牌找到最后的标志。
延伸解读
Nmap扫描的重要性
Nmap扫描是渗透测试的第一步,通过识别开放端口,攻击者可以确定潜在的攻击入口。在本案例中,发现的22和1337端口为后续的攻击提供了基础,尤其是HTTP端口的开放,意味着可以进行Web应用的进一步探索。
暴力破解的风险
使用Python脚本进行暴力破解虽然有效,但也存在被检测和封锁的风险。文章中提到的速率限制和IP伪造技术是应对这一风险的策略,但仍需谨慎操作,以免引起系统管理员的注意,导致攻击失败或法律后果。
JWT令牌的修改
通过修改JWT令牌的参数,攻击者可以提升权限并获取敏感信息。这一过程强调了安全开发的重要性,开发者应确保JWT的签名和权限控制机制的健全,以防止此类攻击。
延伸问答
如何使用Nmap扫描开放端口?
使用Nmap扫描可以发现开放的端口,例如22(SSH)和1337(HTTP)。
GoBuster的作用是什么?
GoBuster用于提取网站目录,帮助发现隐藏的文件和路径。
如何重置密码?
通过找到的注册邮箱发送密码重置请求,并使用暴力破解获取验证码。
Python脚本是如何进行暴力破解的?
脚本通过多线程尝试所有可能的4位数验证码,直到找到正确的验证码。
如何修改JWT令牌以提升权限?
修改JWT令牌的kid和role参数,并使用找到的密钥进行签名验证。
最终如何找到最后的标志?
通过修改后的JWT令牌发送请求,执行命令以找到最后的标志。