꿈을꾸는 파랑새

반응형

오늘은 윈도우 권한 상승 취약점인 GreenPlasma Poc 에 대해서 알아보겠습니다. 일단 해당 취약점 패치는 2026년 6월 10일 보안 업데이트 에서 해결된 취약점입니다. GreenPlasma (CVE-2026-4558) 로 불리는 취약점은 Windows 로컬 권한 상승 문제이며 공개된 코드는 숙련된 공격자가 더 높은 권한을 획득하기 위해 발전시킬 수 있는 기반을 제공하는 코드이며 이번 취약점 공개의 중요성은 Nightmare-Eclipse 취약점 공개 범위가 Windows Defender 관련 취약점을 넘어 더 광범위한 Windows 내부 문제로 확장되었음을 보여준다는 점입니다.
분석
1.Native API 사용
해당 코드는 일반 Win32 API뿐 아니라 ntdll.dll 에서 직접 Native API를 가져옴
cldapi.dll에서 CfAbortOperation 함수를 가져옴
cldapi.dll 은 Windows Cloud Files API와 관련된 DLL
여기서는 CloudFiles 정책 레지스트리 경로를 건드리는 부분과 연결되어 있음
2.CTF/Winlogon 관련 Object Manager 링크 생성
코드는 현재 세션 ID를 구한 뒤 다음 경로를 생성
\Sessions\(세션ID)\BaseNamedObjects\CTF.AsmListCache.FMPWinlogon(세션 ID)
그리고 기본적으로 해당 객체를 다음 대상으로 연결
즉 NT Object Manager의 심볼릭 링크를 만들어서 특정 Winlogon/CTF 관련 객체 접근을 다른 곳으로 돌리려는 것
CTF 는 Windows의 Text Services Framework,입력기, 언어 입력, 사용자 세션과 관련
Winlogon 과 결합한 이름을 조작한다는 점에서 단순한 테스트 코드가 아님
3.UAC 창을 띄워 특정 시스템 동작 유도
runas는 관리자 권한 실행을 의미
conhost.exe를 관리자 권한으로 실행하려고 해서 UAC 프롬프터를 띄움
단순히 관리자 권한 프로그램을 실행하는 것이라기보다 UAC,Secure Desktop,Winlogon 관련 객체 생성 흐름을 강제로 발생시키는 것이 목적
4.Section 객체가 생길 때까지 대기

GreenPlasma
GreenPlasma

이후 코드는 계속해서 같은 이름의 Section 객체를 열려고 시도
특정 Winlogon/CTF 관련 Section 객체가 만들어지는 순간을 기다리는 동작 이며 핸들을 얻으면 그 Section 객체를 계속 붙잡아두는 역할
5.레지스트리 권한 조작
SetPolicyVal() 함수 안에서는 레지스트리 DACL을 변경
Everyone 에게 GENERIC_ALL 사실상 전체 권한을 부여
대상
HKCU\Software\Policies\Microsoft\CloudFiles
이후 TreeSetNamedSecurityInfo()를 사용해서 해당 레지스트리 트리의 보안 정보를 변경
6.CloudFiles 레지스트리 키를 심볼릭 링크로 생성
REG_OPTION_CREATE_LINK 가 사용

[소프트웨어 팁/보안 및 분석] - 윈도우 10 KB5094127,윈도우 11 KB5094126&KB5093998 보안 업데이트

 

윈도우 10 KB5094127,윈도우 11 KB5094126&KB5093998 보안 업데이트

마이크로소프트에서 제공하는 운영체제인 윈도우 10 KB5094127 ,윈도우 11 KB5094126&KB5093998 보안 업데이트가 진행이 되었습니다.공유 오디오: 공유 오디오를 사용하면 두 사람이 하나의 Windows 11 PC에

wezard4u.tistory.com

 

해당 옵션은 레지스트리 키를 일반 키가 아니라 심볼릭 링크 로 만들 때 사용
해당 키의 SymbolicLinkValue 를 다음 경로로 설정
REGISTRY\USER\(사용자 SID)\Software\Microsoft\Windows\CurrentVersion\Policies\System

HKCU\Software\Policies\Microsoft\CloudFiles\BlockedApps
를 실제로는
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System
쪽으로 연결하는 것
7.잠금 기능 비활성화 정책 설정
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableLockWorkstation = 1
생성
해당 값은 사용자의 워크스테이션 잠금 기능을 비활성화하는 정책
일반적으로 Win + L 또는 LockWorkStation() 같은 잠금 동작이 차단될 수 있음
8.LockWorkStation() 호출
코드 마지막에 직접 잠금을 시도
LockWorkStation();
이미 앞에서:DisableLockWorkstation = 1 을 설정했기 때문에 잠금이 정상적으로 작동하지 않게 만들어 놓음 잠근 동작을 호출 동시에 잠금이 실패하거나 우회되도록 시스템 상태를 조작
요약
NtCreateSymbolicLinkObject:NT Object Manager 심볼릭 링크 생성
NtOpenSection:Section 객체 접근
CTF.AsmListCache.FMPWinlogon:Winlogon/CTF 관련 객체명
CTFMON_DEAD:의심스러운 BaseNamedObjects 객체명
REG_OPTION_CREATE_LINK:레지스트리 심볼릭 링크 생성
SymbolicLinkValue:레지스트리 링크 대상 값
DisableLockWorkstation = 1:워크스테이션 잠금 비활성화
CloudFiles\BlockedApps:악용되는 정책 경로
conhost.exe + runas:UAC 프롬프터 유도
Windows 세션의 CTF/Winlogon 관련 객체를 심볼릭 링크로 조작
UAC/Secure Desktop 동작을 유도하고 CloudFiles 정책 경로와 레지스트리 심볼릭 링크를 이용해 사용자 정책의 DisableLockWorkstation 값을 설정하는 PoC 이며 해당 GreenPlasma (CVE-2026-4558)은 2026년 6월 윈도우 정기 보안 업데이트로 해결되었으니 보안 업데이트를 적용을 하며 사라지는 취약점입니다.

공유하기

facebook twitter kakaoTalk kakaostory naver band