8009 - Pentesting Apache JServ Protocol (AJP)

chevron-right从零开始学习 AWS 黑客技术,成为专家 htARTE (HackTricks AWS Red Team Expert)arrow-up-righthashtag

支持 HackTricks 的其他方式:

加入 HackenProof Discordarrow-up-right 服务器,与经验丰富的黑客和赏金猎人交流!

黑客见解 参与深入探讨黑客的刺激和挑战的内容

实时黑客新闻 通过实时新闻和见解及时了解快节奏的黑客世界

最新公告 随时了解最新的赏金任务发布和重要平台更新

加入我们的 Discordarrow-up-right,立即与顶尖黑客合作!

基本信息

来源:https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/arrow-up-right

AJP 是一种线路协议。它是 HTTP 协议的优化版本,允许独立的 Web 服务器(如 Apachearrow-up-right)与 Tomcat 进行通信。从历史上看,Apache 在提供静态内容方面比 Tomcat 快得多。其想法是让 Apache 在可能的情况下提供静态内容,但将请求代理到 Tomcat 处理与 Tomcat 相关的内容。

还有有趣的信息:

ajp13 协议是基于数据包的。出于性能考虑,二进制格式显然优于更易读的纯文本。Web 服务器通过 TCP 连接与 Servlet 容器通信。为了减少昂贵的套接字创建过程,Web 服务器将尝试维护持久的 TCP 连接到 Servlet 容器,并重用连接进行多个请求/响应周期

默认端口: 8009

如果AJP端口暴露,Tomcat可能会受到Ghostcat漏洞的影响。这里有一个exploitarrow-up-right可用于利用此问题。

Ghostcat是一个LFI漏洞,但受到一定限制:只能提取特定路径下的文件。尽管如此,这可能包括像WEB-INF/web.xml这样的文件,根据服务器设置,这些文件可能泄露像Tomcat接口凭据这样的重要信息。

修补版本为9.0.31或更高版本,8.5.51和7.0.100已解决了此问题。

枚举

自动化

AJP 代理

Nginx 反向代理 & AJP

查看 Docker 化版本

当我们遇到一个开放的 AJP 代理端口(8009 TCP)时,我们可以使用 Nginx 与 ajp_module 来访问“隐藏”的 Tomcat 管理器。这可以通过编译 Nginx 源代码并添加所需的模块来实现,具体步骤如下:

  • 下载 Nginx 源代码

  • 下载所需的模块

  • 使用 ajp_module 编译 Nginx 源代码。

  • 创建一个指向 AJP 端口的配置文件

/etc/nginx/conf/nginx.conf文件中的http块内,将整个server块注释掉,并添加以下行:

启动Nginx,并通过向本地主机发出cURL请求来检查一切是否正常工作。

Nginx Docker化版本

nginx.conf中的TARGET-IP替换为AJP IP,然后构建并运行。

Apache AJP 代理

发现只有端口8009是开放的而没有其他可访问的web端口是罕见的。然而,仍然可以利用Metasploit来利用它。通过利用Apache作为代理,请求可以被重定向到端口8009上的Tomcat

这种设置具有绕过入侵检测和防范系统(IDS/IPS)的潜力,因为AJP协议的二进制特性,尽管这种能力尚未经过验证。通过将常规的Metasploit Tomcat漏洞利用指向127.0.0.1:80,您可以有效地控制目标系统。

参考资料

加入HackenProof Discordarrow-up-right服务器,与经验丰富的黑客和赏金猎人交流!

黑客见解 参与深入探讨黑客的刺激和挑战的内容

实时黑客新闻 通过实时新闻和见解及时了解快节奏的黑客世界

最新公告 随时了解最新的赏金任务发布和重要平台更新

加入我们的 Discordarrow-up-right 并开始与顶尖黑客合作!

chevron-right从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert)arrow-up-righthashtag

支持HackTricks的其他方式:

最后更新于