One stop place for exploiting all Jira instances in your proximity.
Project description
Jiraffe
Jiraffe - One stop place for exploiting all Jira instances in your proximity
See the demo
Installation
Use pip to install Jiraffe. This is the recommended way of running Jiraffe.
$ pip install jiraffe
Usage
$ py -m jiraffe
usage: jiraffe [-h] [-t https://example-jira-instance.com]
/)/)
( ..\
___ __ _______ __ _______ _______ _______ /'-._)
|" ||" \ /" \ /""\ /" "| /" "| /" "| /#/
|| ||| | |: | / \ (: ______)(: ______)(: ______) /#/ @0x48piraj
|: ||: | |_____/ ) /' /\ \ \/ | \/ | \/ |
___| / |. | // / // __' \ // ___) // ___) // ___)_
/ :|_/ )/\ |\ |: __ \ / / \\ \(: ( (: ( (: "|
(_______/(__\_|_)|__| \___)(___/ \___)\__/ \__/ \_______)
Options:
-t https://example-jira-instance.com, --target https://example-jira-instance.com
Target Jira Instance URL
-v, --verbose Verbose output
-a, --auto Automatic mode
Exploits for
CVE | Impact | Description | Version Affected | Details |
---|---|---|---|---|
CVE-2017-9506 | HIGH | The IconUriServlet of the Atlassian OAuth Plugin from version 1.3.0 before version 1.9.12 and from version 2.0.0 before version 2.0.4 allows remote attackers to access the content of internal network resources and/or perform an XSS attack via Server Side Request Forgery (SSRF). | Jira < 7.3.5 | CVE-2017-9506 |
CVE-2019-8449 | LOW | The /rest/api/latest/groupuserpicker resource in Jira before version 8.4.0 allows remote attackers to enumerate usernames via an information disclosure vulnerability. | 2.1 - 8.3.4 | CVE-2019-8449 |
CVE-2019-11581 | CRITICAL | Atlassian JIRA Template injection vulnerability RCE | Jira < 7.6.14 | CVE-2019-11581 |
CVE-2019-8451 | HIGH | Pre-authentication server side request forgery (SSRF) vulnerability found in the /plugins/servlet/gadgets/makeRequest resource. | Jira == 7.6.0 && Jira.7.6.0 < 7.13.9, 8.4.0 | CVE-2019-8451 |
Majority of the bugs stated above poses Server-Side Request Forgery (SSRF) vulnerability, where attacker can abuse a specific functionality on the server to read or update internal resources. The attacker can supply or a modify a URL which the code running on the server will read or submit data to, and by carefully selecting the URLs, the attacker may be able to read server configuration such as AWS metadata, connect to internal services like HTTP enabled databases or perform post requests towards internal services which are not intended to be exposed.
Currently, some of the common Amazon AWS credentials leak attacks are present with an additional Custom Payload Option for sending crafted payloads for any cloud platform (Amazon AWS, Google Cloud, etc.). For sending custom payloads, take help from PayloadsAllTheThings — SSRF URL for Cloud Instances
URL paths Jiraffe currently supports:
Root Path: /latest/meta-data/{hostname,public-ipv4,...}
User Data : /latest/user-data
AWS Credentials : /latest/meta-data/iam/security-credentials/
Feel free to implement more post exploitation modules for vendor specifc deployments.
Demo
Internal Workings
Reconnaissance — Jira version detection
If unauthenticated, one can access Confluence's landing page and retrieve version information from these places:
- Login page footer.
- Response Head AJS Tags.
- Response Body What's New Link.
- Response Body Confluence Help Link.
Reconnaissance — AWS platform detection
Jiraffe uses gethostbyaddr()
to get the host name corresponding to target's IP address and then utilizes pattern searching to detect AWS.
References
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.