0

0

利用JIRA漏洞访问美军非保密因特网协议路由器网的示例分析

王林

王林

发布时间:2023-05-18 22:29:09

|

1400人浏览过

|

来源于亿速云

转载

下面讲述了作者在参与美国国防部(dod) hack the pentagon 漏洞众测项目中,利用jira漏洞cve-2017-9506构造了ssrf攻击面,实现了对美军非保密因特网协议路由器网(niprnet)的访问,并且结合其它漏洞技巧,获取到dod内网系统的一系列敏感信息。由于测试过程和内容的涉密性,该篇文章仅点到为止,未对过多技术细节和详细场景作出披露,仅当学习分享,还望读者多多包涵。

JIRA 是澳大利亚 Atlassian 公司开发的一款优秀的问题跟踪管理软件工具,可以对各种类型的问题进行跟踪管理,包括缺陷、任务、需求、改进等。很多知名公司和开源软件组织都在使用 JIRA,因其采用J2EE技术,并能够进行跨平台部署。

从头说来 - 发现DoD的JIRA应用网站

在参与美国国防部(DoD)的漏洞众测项目时,我发现其中有两个特别的网站部署了项目跟踪管理工具JIRA,经过初略分析后,我认为不存在可利用的漏洞,所以就直接没继续深挖了。

后来,我从Twitter中发现了一条利用JIRA漏洞实现SSRF攻击的发贴:

利用JIRA漏洞访问美军非保密因特网协议路由器网的示例分析

利用JIRA漏洞访问美军非保密因特网协议路由器网的示例分析

它的意思是这样的:

小心了,JIRA用户!攻击者可以利用JIRA漏洞CVE-2017-9506窃取你的内网数据。这是一种开放重定向漏洞,但在某些情况下,它可被利用重定向到内部JIRA系统的本地链接地址中,从而导致如AWS密钥等某些内部资源信息泄露。

JIRA漏洞CVE-2017-9506说明

荷兰安全研究机构Dontpanic给出了CVE-2017-9506大概的漏洞原因:JIRA包含的认证授权插件Atlassian OAuth plugin中存在一个名为 IconUriServlet 的组件,它用于接收客户端中附带参数值consumerUri的GET请求,但IconUriServlet 组件也能用于创建由服务端执行的另外一种HTTP GET请求,这种由JIRA作为间接代理发起的请求,由服务端响应后再经JIRA返回给客户端,该过程中通过构造请求,可导致服务端内部信息泄露在响应内容中返回给客户端。

Dontpanic给出的漏洞验证方法:

https://%basepath%/plugins/servlet/oauth/users/icon-uri?consumerUri=https://google.com

把basepath换成JIRA系统网站链接,访问上述页面之后,如果正常出现google.com页面,则证明JIRA系统存在该漏洞;如果访问出现404页面,则漏洞不存在。请注意,在consumerUri的末尾添加要测试的网站的请求!!!

测试DoD的JIRA应用网站漏洞

仔细阅读了CVE-2017-9506的说明之后,我如获至宝,赶紧转向之前发现的两个国防部网站上,急切想验证一下这种漏洞利用技术的可行性。我测试了其中一个网站后发现,居然可以成功跳转到Google页面,这说明该网站一定存在漏洞!

https://website.mil/plugins/servlet/oauth/users/icon-uri?consumerUri=http://google.com

利用JIRA漏洞访问美军非保密因特网协议路由器网的示例分析

根据AWS规定,任何实例都可通过请求AWS设定的元数据地址169.254.169.254,来检索自身实例元数据示例(相关方法可参考AWS官方说明),为此我构造了以下链接发起请求:

https://website.mil/plugins/servlet/oauth/users/icon-uri?consumerUri=http://169.254.169.254/latest/meta-data/local-hostname/

利用JIRA漏洞访问美军非保密因特网协议路由器网的示例分析

竟然能看到内部主机名!好吧,那我来试试能否获取AWS密钥呢:

https://website.mil/plugins/servlet/oauth/users/icon-uri?consumerUri=http://169.254.169.254/latest/meta-data/iam/security-credential

但好像不行。经过仔细阅读AWS官方文档后,我重新使用了以下链接来获取实例ID、私有IP地址等信息:

https://website.mil/plugins/servlet/oauth/users/icon-uri?consumerUri=http://169.254.169.254/latest/dynamic/instance-identity/document

很好,竟然都能成功响应获取到!

到了这一步,我想应该能说明问题了,于是没再深入测试就简单写了份漏洞报告进行提交,但之后,DoD的项目分类人员把该漏洞定级为中危漏洞,但我认为这绝对是一个严重的高危漏洞。我与国防部进行了交流后,申请了深入测试的授权,以便测试该漏洞的最终影响。

深入测试 - 实现对非保密因特网协议路由器网(NIPRnet)的访问和其它敏感信息获取

前期侦察发现

首先,我从基本的端口探测开始,发现目标系统开启了21、22、80、443、8080端口,有了这些端口信息之后,我就能测试各种错误信息的返回,通过这些信息判断目标系统中的服务器和网络部署情况,如下对目标系统8080端口发起请求后的响应信息:

利用JIRA漏洞访问美军非保密因特网协议路由器网的示例分析

ColorMagic
ColorMagic

AI调色板生成工具

下载

其次,我又对gopher文件目录查看协议、DICT字典服务器协议、FTP协议、LDAP轻量级目录访问协议等其它协议作了一遍请求测试。如系统返回了以下不支持LDAP的响应:

利用JIRA漏洞访问美军非保密因特网协议路由器网的示例分析

综合利用发现

在记录下这些信息时,我又想到了PortSwigger首席研究员James Kettle的在USA 2017黑帽大会的研究分享《Cracking the Lens: Targeting HTTP’s Hidden Attack-Surface》,James Kettle通过构造恶意的HTTP请求和Header头信息,侧面勾勒出目标系统中HTTP服务的隐藏攻击面,最终,他利用了这种技术,‘伪装’成美国国防部内部IP身份,成功入侵访问到了DoD受限的内部网络系统和相关资源。我记得在Kettle的分享中,他还展示了两个他曾用来作入侵测试的DoD内部网站:(网站信息出处defensivecarry.com)

https://safe.amrdec.army.mil/safe/

https://dots.dodiis.mil/

结合这两个James Kettle提到过的DoD内部网站,用我发现的DoD的两个JIRA网站来向它们发起请求,目的就是测试能否以这种途径实现对James Kettle提到的两个DoD内部网站的访问。最终,我用其中一个JIRA网站向James Kettle提到的两个DoD内部网站发起请求后,其中一个显示请求超时:

利用JIRA漏洞访问美军非保密因特网协议路由器网的示例分析

另一个返回了US Goverment(USG)的政府警告信息,如下:

利用JIRA漏洞访问美军非保密因特网协议路由器网的示例分析

在此测试过程中,我还发现了其它的DoD内部web服务,通过该内部web服务,我竟然能成功访问到美军的非保密协议路由网(NIPRnet),该网络系统被DoD内部用来处理比机密级较低的敏感级信息。由于保密性原则,在此我就不详细披露具体方法和途径。

通过响应内容判断获取内部敏感信息

我用第二个JIRA网站向James Kettle提到的两个DoD内部网站发起请求后,返回的响应信息基本没什么可用之处。

经过测试,最终我发现可以根据响应时间来评估DoD内部系统端口的开放情况。就比如,当向内部系统请求22端口时候,其响应用时1000毫秒,而请求21端口时响应用时将近10000毫秒,从这种时间差上可对一些端口情况作出猜测判断。另外,由于缺少详细的错误信息响应返回,我无法对系统中的具体协议作出判断,但我要着重强调本文的重点是:通过该内部的web服务端,我可以访问到DoD的非保密协议路由网(NIPRnet)!我还使用了Burp的Collaborator插件探测了对该web服务端请求发起后,服务端和请求端数据交换时存在的信息泄露情况。

比如从请求头中的'X-Forwarded-For’可以获取到内部IP,我用Burp的Collaborator插件查询了所有可交互的内部IP,虽然最终能查询到内部IP和相关的网络服务信息,但却不能在该web服务端上实现AWS元数据检索。

最终,我向DoD提交了涉及的两个漏洞之后,两个漏洞都被评级为高危(Critical),由此,我联想到我今年年初向DoD上报的两个SSRF漏洞,想看看上述漏洞能否用这种SSRF方式有所深入利用。

JIRA SSRF的深入利用

我年初上报的两个SSRF漏洞是,用某个web应用过滤器可以对特定的IP地址发起HTTP连接请求,例如能以提交CONNECT IP 请求方式,枚举出目标系统内的应用服务;另外也能通过更改主机头信息对目标系统内部IP或外部IP发起经过验证的请求信息,如militarywebsite.mil@internal_IP。当我在这两个JIRA网站上用这种SSRF方式进行测试时发现,之前提示超时、SSL错误和其它响应的请求环境中,竟然也能用Blind SSRF方法实现对内部IP和网络服务进行枚举探测。所以,这个点上的SSRF漏洞利用最终也被DoD评级为中危。

JIRA SSRF漏洞利用的其它技巧

在我对以上漏洞的综合测试过程中,我发现在某些情况下,会莫名其妙地发生堆栈错误并泄露各种敏感信息,比如,用不完整的HTTP头信息http://或http://[::],这种堆栈错误时泄露的敏感信息包括数据库IP、数据库版本、应用插件、操作系统架构和其它系统:

利用JIRA漏洞访问美军非保密因特网协议路由器网的示例分析

发生堆栈错误时,仍然可以继续对目标网站进行深入的信息获取利用,比如,我发现有时候目标网站会指向其它Altassian实例,如某次测试中,我发现目标站点某子域名中部署有Altassian的confluence实例,经过测试证明,这些实例同样会受到信息泄露漏洞的影响。

总结梳理

作者描述了参与美国国防部漏洞众测项目时发现的JIRA漏洞,并概要性地介绍了整个漏洞利用的测试过程,我们一起来梳理下:

1 其中两个部署有JIRA实例的DoD网站存在授权插件漏洞CVE-2017-9506,攻击者利用该漏洞可获取目标网站系统内部资源信息,并能形成SSRF攻击面;

2 结合CVE-2017-9506利用方法,我从存在漏洞的DoD网站中获取到了JIRA实例 ID、私有IP地址、一系列错误响应等信息;

3 综合PortSwigger首席研究员James Kettle分享提到的两个DoD网站,利用CVE-2017-9506请求方法,发现请求的DoD网站返回了有效USG(政府警告)信息;

4 在第3步过程中,我通过发现的某个内部web服务,结合CVE-2017-9506利用方法,实现了对DoD非保密协议路由网(NIPRnet)的访问;

5 结合CVE-2017-9506利用方法,在存在漏洞的DoD网站上复现了SSRF攻击,实现了内部IP和网络服务枚举,以及后续堆栈错误时的敏感信息获取。

路由优化大师
路由优化大师

路由优化大师是一款及简单的路由器设置管理软件,其主要功能是一键设置优化路由、屏广告、防蹭网、路由器全面检测及高级设置等,有需要的小伙伴快来保存下载体验吧!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

16

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

23

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

75

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

95

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

218

2026.03.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

420

2026.03.04

AI安装教程大全
AI安装教程大全

2026最全AI工具安装教程专题:包含各版本AI绘图、AI视频、智能办公软件的本地化部署手册。全篇零基础友好,附带最新模型下载地址、一键安装脚本及常见报错修复方案。每日更新,收藏这一篇就够了,让AI安装不再报错!

168

2026.03.04

Swift iOS架构设计与MVVM模式实战
Swift iOS架构设计与MVVM模式实战

本专题聚焦 Swift 在 iOS 应用架构设计中的实践,系统讲解 MVVM 模式的核心思想、数据绑定机制、模块拆分策略以及组件化开发方法。内容涵盖网络层封装、状态管理、依赖注入与性能优化技巧。通过完整项目案例,帮助开发者构建结构清晰、可维护性强的 iOS 应用架构体系。

222

2026.03.03

C++高性能网络编程与Reactor模型实践
C++高性能网络编程与Reactor模型实践

本专题围绕 C++ 在高性能网络服务开发中的应用展开,深入讲解 Socket 编程、多路复用机制、Reactor 模型设计原理以及线程池协作策略。内容涵盖 epoll 实现机制、内存管理优化、连接管理策略与高并发场景下的性能调优方法。通过构建高并发网络服务器实战案例,帮助开发者掌握 C++ 在底层系统与网络通信领域的核心技术。

33

2026.03.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号