
Windows 시스템에서 GlobalProtect(앱 버전 6.1.1-5 및 6.2.0-89)가 심볼릭 링크 공격을 통해 상승된 권한으로 임의 파일 삭제에 취약하며, 이로 인해 로컬 머신에서 로컬 권한 상승으로 이어질 수 있음이 발견되었습니다.
Windows 비권한 사용자가 GlobalProtect로 VPN 연결을 시도하면 "PanGpHip.exe" 프로세스가 SYSTEM 권한으로 다음 작업을 수행하는 것이 관찰되었습니다:
"C:\Users\<user>\AppData\Local\Temp\waapi-*" 디렉터리 쿼리
디렉터리가 발견되면 "C:\Users\<user>\AppData\Local\Temp\waapi-<random>\*" 디렉터리를 추가로 쿼리
"C:\Users\<user>\AppData\Local\Temp\waapi-<random>*"에서 파일이나 디렉터리가 발견되면 이를 제거
마지막으로 "C:\Users\<user>\AppData\Local\Temp\waapi-<random>" 디렉터리 제거
참고: 프로그램이 중첩된 디렉터리를 쿼리할 수는 있지만 해당 디렉터리에 대한 핸들을 여는 데는 실패합니다. 따라서 이 경우는 무시할 수 있습니다.

"C:\Users\<user>\AppData\Local\Temp\waapi-<random>" 디렉터리는 현재 사용자가 생성하고 현재 사용자에게 "Modify" 권한을 부여할 수 있으므로, 현재 사용자는 전체 디렉터리를 수정할 수 있습니다. 이러한 설정을 통해 비권한 사용자는 권한 있는 위치(예: C:\Windows\System32)에 대한 심볼릭 링크를 생성하여 임의 파일 삭제를 달성할 수 있습니다. 또한, 악의적인 사용자는 임의 파일 삭제를 통해 로컬 권한 상승을 달성할 수 있습니다.
비권한 사용자가 임의 파일 삭제를 수행하려면 다음 단계를 수행할 수 있습니다:
방법 1
사용자가 "C:\Users\<user>\AppData\Local\Temp\waapi-1234567" 폴더 생성
사용자가 "C:\Users\<user>\AppData\Local\Temp\waapi-1234567\12345.txt" 파일 생성
사용자가 "C:\Users\<user>\AppData\Local\Temp\waapi-1234567\12345.txt" 파일에 OpLock 설정
사용자가 VPN에 연결합니다. "PanGpHip.exe" 프로세스가 SYSTEM 권한으로 "C:\Users\<user>\AppData\Local\Temp\waapi-1234567\12345.txt" 파일을 제거하려고 시도합니다.
OpLock으로 인해 "PanGpHip.exe" 프로세스가 일시 중지됩니다.
OpLock이 트리거되면 사용자는 "C:\Users\<user>\AppData\Local\Temp\waapi-1234567\12345.txt" 파일을 다른 곳으로 이동하여 폴더를 비웁니다.
사용자가 "C:\Users\<user>\AppData\Local\Temp\waapi-1234567"에서 "\RPC Control"로의 정션(junction)을 생성합니다.
사용자가 대상 파일(예: C:\Windows\System32\secrets.txt)에 대한 심볼릭 링크 "GLOBAL\GLOBALROOT\RPC Control\12345.txt"를 생성합니다.
사용자가 OpLock을 해제합니다.
사용자가 심볼릭 링크를 삭제합니다.
대상 파일(예: C:\Windows\System32\secrets.txt)이 삭제됩니다.
.\PoC.exe del C:\windows\System32\secrets.txt 1
방법 2
.\PoC.exe del C:\windows\System32\secrets.txt 2
임의 파일 삭제를 통한 로컬 권한 상승을 수행하려면 이 문서 https://www.zerodayinitiative.com/blog/2022/3/16/abusing-arbitrary-file-deletes-to-escalate-privilege-and-other-great-tricks 에 설명된 대로 Windows Installer를 활용할 수 있습니다.
방법 1
.\PoC.exe pe RollbackScript.rbs 1
방법 2
.\PoC.exe pe RollbackScript.rbs 2
cmd.rbs는 명령 프롬프트를 생성합니다.
public_run_bat.rbs는 C:\Users\Public\run.bat를 실행합니다.