
Ivanti Secure Access (이전 Pulse Secure) 권한 상승 Cobalt Strike BOF (CVE-2023-35080).
Ivanti Secure Access (이전 Pulse Secure) 권한 상승 Cobalt Strike BOF (CVE-2023-35080).
익스플로잇: Alex, BOF: Tijme. Northwave Cyber Security 제공
이것은 Ivanti Secure Access (이전 Pulse Secure) VPN 클라이언트 (CVE-2023-35080)를 익스플로잇하는 Cobalt Strike (CS) Beacon Object File (BOF) 및 실행 파일입니다. 낮은 권한의 사용자 모드에서 커널 드라이버의 취약점을 이용하여 비콘 프로세스의 토큰 권한을 시스템 프로세스 토큰 권한으로 덮어씁니다. 커널 드라이버 심볼릭 링크에는 Everyone이 핸들을 열 수 있도록 하는 ACL이 정의되어 있습니다. 이 취약점 발견으로 이어진 연구는 RedTreat 2023과 BSIDES London 2023에서 발표되었습니다 (발표 자료).
이 익스플로잇은 Windows 10 Pro 22H2 10.0.19045 (x64)에서 개발되었습니다. 이후 Windows 11 Pro 23H2 22631 (x64)에서 작동하도록 수정 및 테스트되었습니다. 다른 Windows 버전은 기본적으로 지원되지 않을 수 있습니다. 테스트된 지원 Windows 전체 목록:
먼저 이 저장소를 클론합니다. 그런 다음 코드를 검토하고 소스에서 컴파일(MinGW 필요)하여 Cobalt Strike 또는 독립 실행형 PE 파일로 사용합니다.
make
중요! 다음 단계를 순서대로 수행하세요 (낮은 권한의 사용자 모드에서):
먼저 취약한 드라이버가 실행 중인지 확인합니다. 실행 중이 아니더라도 걱정하지 마세요! 낮은 권한의 사용자 모드에서 시작할 수 있습니다. 드라이버 이름은 jnprTdi_로 시작하며, HKLM\SYSTEM\CurrentControlSet\Services에서 찾을 수 있습니다. VPN 클라이언트가 설치될 때 항상 설치되지만 기본적으로 실행되지는 않습니다.
취약한 드라이버는 피해 머신의 (낮은 권한) 사용자가 TDI 장애 조치 옵션이 활성화된 (악성) VPN 서버에 연결할 때 시작됩니다. 우리는 이미 시스템을 침해했고 그 위에서 맬웨어를 실행하고 있으므로 해당 동작을 복제하여 드라이버를 쉽게 시작할 수 있습니다. TDI 장애 조치가 활성화된 자체 악성 어플라이언스를 구성하려면 이 가이드를 따르세요.
"%programfiles(x86)%\Common Files\Pulse Secure\Integration\pulselauncher.exe" -stop
드라이버가 실행 중이고 VPN 클라이언트가 중지된 경우 Cobalt Strike Script Manager를 사용하여 PulsePrivEsc.cna 스크립트를 로드합니다. 그런 다음 아래 명령을 사용하여 익스플로잇을 실행합니다.
$ pulse_priv_esc
또는 (테스트 목적으로) 컴파일된 실행 파일을 직접 실행할 수 있습니다. 그러면 SYSTEM 권한의 명령 프롬프트가 실행됩니다.
$ .\PulsePrivEsc.x64.exe
이슈나 새로운 기능은 이슈 트래커를 통해 보고해 주세요. 새로운 이슈를 제출하기 전에 다른 사람이 이미 보고하지 않았는지 확인해 주세요.
Copyright (c) 2023 Northwave Cyber Security. 모든 권리 보유.