甄选靶机精讲系列(四)——Mercury:啥?80端口怎么消失了?
内容提要
本文介绍了针对渗透测试网站的靶机Mercury的攻击思路,包括端口扫描、目录爆炸、SQL注入漏洞利用、SSH登录破解和提权过程。
延伸解读
端口异常:80端口缺失的启示
靶机Mercury未开放常见的80端口,仅开放22和8080端口。这提醒渗透测试者不能依赖默认端口,需全面扫描。8080端口运行HTTP服务,且页面提示网站升级,可能伴随信息泄露或漏洞。因此,即使端口非标准,只要服务运行,就应深入探测,如目录爆破和漏洞利用。
SQL注入:错误回显的利用与手工注入要点
网站开启错误报告,为SQL注入提供便利。通过添加单引号触发SQL语法错误,判断注入点。手工注入时,需确定闭合方式(如无符号闭合),并利用union select获取数据库信息。本例中无字符过滤,注入顺利,但实际环境中可能需绕过过滤,理解底层原理至关重要。
提权路径:环境变量劫持与SETENV权限
获得linuxmaster用户后,发现其可sudo执行check_syslog.sh,且具有SETENV权限,允许保留自定义环境变量。通过修改PATH,在家目录创建恶意tail文件,并以sudo --preserve-env=PATH执行脚本,成功以root身份运行反弹shell。此方法凸显了SETENV权限的风险,以及选择可写目录(如家目录而非/tmp)的重要性。
Q&A
Mercury靶机的主要攻击方法是什么?
Mercury靶机的主要攻击方法包括SQL注入和提权。
如何使用nmap进行端口扫描?
可以使用命令'sudo nmap -sT -T3 -p- 10.10.10.134'进行端口扫描。
在Mercury靶机中,如何发现SQL注入漏洞?
通过手工注入判断SQL注入漏洞,利用错误回显进行注入测试。
如何使用hydra工具进行SSH登录尝试?
可以使用命令'hydra -L user.txt -P pass.txt ssh://10.10.10.134'进行SSH登录尝试。
提权过程中使用了哪些关键步骤?
提权过程中包括检查sudo权限、劫持环境变量和构建伪指令等步骤。
Mercury靶机中80端口为何未开放?
Mercury靶机中80端口未开放,但8080端口有http服务运行,可能存在攻击面。