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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
DoubleStar — Windows 8.1에 중점을 둔 Darkhotel "Double Star" APT 익스플로잇 체인의 맞춤형/향상된 재현으로, 제가 직접 사용하는 몇 가지 기법이 혼합되어 있습니다. | Kitploit
도구/GitHubGitHub/forrest-orr/doublestar
Privilege EscalationExploitationShellcodeWeb Application ExploitationRed TeamingPayload DevelopmentBinary Exploitation
GitHubforrest-orr/doublestar

DoubleStar

Windows 8.1에 중점을 둔 Darkhotel "Double Star" APT 익스플로잇 체인의 맞춤형/향상된 재현으로, 제가 직접 사용하는 몇 가지 기법이 혼합되어 있습니다.

저장소 보기
1472734년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트

________ . . _________ __ _____ \ ____ __ _ | | | ____ / // | _____ _______ | | \ / _ \ | | | __ \ | | / __ \ _ \ \ \ \ _ __
| ` ( <_> )| | /| _\ | |
\ / / \ | | / __ _| | / /____ / _/ |/ | /|/ ___ > /___ / || (____ /|| / / / / / Windows 8.1 IE/Firefox RCE -> 샌드박스 탈출 -> SYSTEM EoP 익스플로잇 체인

root@kitploit:~
                        ______________
                        | Remote PAC | 
                        |____________|  
                               ^
                               | HTTPS

_______________ RPC/ALPC _______________ RPC/ALPC _______________ | firefox.exe | ----------> | svchost.exe | -----------> | spoolsv.exe | || || <----------- || | RPC/Pipe | _______________ | | malware.exe | <---| Execute impersonating NT AUTHORY\SYSTEM ||

~

사용법

이 익스플로잇 체인을 실행하려면 전체 릴리스/폴더 구조를 패치되지 않은 Windows 8.1 x64 머신에 다운로드하고 인터넷에 연결된 상태에서 다음 두 .html 파일 중 하나를 로드하십시오:

  • CVE-2019-17026\Forrest_Orr_CVE-2019-17026_64-bit.html - Firefox v65-69 64-bit 경유.
  • CVE-2020-0674\Forrest_Orr_CVE-2020-0674_64-bit.html - Internet Explorer 11 64-bit 경유(향상된 보호 모드 활성화).

초기 RCE는 IE 또는 FF 중 하나를 통해 실행할 수 있으며, 그 결과 NT AUTHORY\SYSTEM 권한을 가진 cmd.exe 프로세스가 사용자 세션에서 실행됩니다.

개별 익스플로잇은 다음 환경에서 성공적으로 테스트되었습니다:

  • CVE-2020-0674 - Windows 7 x64에서 IE8 64-bit 및 WPAD, Windows 8.1 x64에서 IE11 64-bit 및 WPAD.
  • CVE-2019-17026 - Windows 7, 8.1 및 10 x64에서 Firefox 65-69 (64-bit).

개별 익스플로잇 자체는 여러 Windows 버전에서 작동할 수 있지만, 전체 체인은 Windows 8.1에서만 작동합니다.

~

개요

이 익스플로잇 체인은 두 개의(현재 패치된) 0day 익스플로잇을 사용하지만, 2021년 5월 4일 현재 여전히 패치되지 않은 샌드박스 탈출 및 EoP 기술도 포함하고 있으며, 오늘날에도 향후 공격 체인에 통합하기에 적합합니다.

Darkhotel APT 그룹(한국에서 유래한 것으로 추정)은 2020년 초 스피어 피싱과 고급 호텔 네트워크 해킹을 결합하여 중국 및 일본의 기업 임원과 정부 관리들을 대상으로 캠페인을 전개했습니다. 이들이 사용한 익스플로잇(CVE-2020-0674 및 CVE-2019-17026, 통칭 "Double Star")은 2019년의 기존/구형 익스플로잇을 약간 변형한 0day였습니다: 구체적으로 레거시 JavaScript 엔진(jscript.dll)의 UAF 버그와 Firefox IonMonkey 엔진의 앨리어싱(aliasing) 버그입니다.

이 0day 사용이 흥미로웠던 점은 Internet Explorer 및 Firefox 웹 브라우저를 통해 RCE를 달성할 수 있다는 것 이상이었습니다: 특히 CVE-2020-0674(레거시 jscript.dll 엔진의 UAF)는 jscript.dll을 통해 레거시 JS 코드를 실행할 수 있는 모든 프로세스에서 악용 가능합니다. 2017년 말, Google Project Zero는 "aPAColypse now: Exploiting Windows 10 in a Local Network with WPAD/PAC and JScript" [1]이라는 제목의 블로그 게시물을 공개했습니다.

이 연구는 (당시) Windows 7 이상의 모든 Windows 버전에 영향을 미치는 매우 흥미로운 공격 벡터를 밝혀냈습니다: WPAD 서비스("WinHTTP Web Proxy Auto-Discovery Service")에는 "PAC" 파일을 통해 프록시 구성을 업데이트하는 오래된 기능이 포함되어 있습니다. RPC를 통해 WPAD 서비스(svchost.exe 프로세스 내에서 LOCAL SERVICE로 실행)에 접근할 수 있는 모든 사용자는 해당 서비스가 사용자가 제공한 URL에 대한 올바른 프록시 구성을 설정하는 JS 코드가 포함된 PAC 파일을 원격 URL에서 다운로드하도록 강제할 수 있습니다. 특히 중요한 점은 이러한 PAC 파일을 파싱하는 데 레거시 jscript.dll 엔진이 사용된다는 것입니다. 이로 인해 모든 프로세스(제한된 사용자 권한 또는 샌드박싱 여부와 관계없이)가 ALPC를 통해 로컬 WPAD 서비스에 연결하고, 원격 URL에서 jscript.dll 익스플로잇이 포함된 악성 PAC 파일을 다운로드하도록 강제할 수 있는 공격 벡터가 열렸습니다. 그 결과 LOCAL SERVICE 컨텍스트에서 코드가 실행될 수 있습니다.

Darkhotel은 이 개념을 활용하여 Firefox 또는 Internet Explorer를 통해 RCE를 획득한 후 이를 샌드박스 탈출 수단으로 사용했습니다. 공격 체인의 다음 단계는 불분명합니다: 이들은 어떻게든 권한을 LOCAL SERVICE에서 SYSTEM으로 상승시킨 후 이 컨텍스트에서 악성코드를 실행한 것으로 보입니다. Darkhotel Double Star 공격 체인에 대한 모든 분석에서 저는 이들이 어떻게 이를 달성했는지에 대한 자세한 설명을 찾을 수 없었지만, 이들의 기술이 0day 익스플로잇일 필요는 없었다고 가정하는 것이 안전합니다. LOCAL SERVICE 계정으로 실행된 프로세스에는 기본적으로 SeImpersonate 권한이 부여되므로, 명명된 파이프(named pipe) 또는 ALPC를 통해 권한 있는 연결을 자신에게 강제할 수 있다면 보안 컨텍스트를 상승시킬 수 있습니다.

Darkhotel APT 그룹은 LOCAL SERVICE에서 EoP를 위해 Rotten Potato를 사용했을 가능성이 높습니다. 이는 몇 년 전 널리 사용된 가장 간단하고 일반적인 기술이기 때문입니다(Google Project Zero의 "aPAColypse now" 연구에서 사용된 기술이기도 하지만, 저는 대신 더 견고하고 현대적인 기술을 선택했습니다: Print Spooler의 강제된 RPC 연결에 대한 명명된 파이프 가장(impersonation) [2]). 이 기술은 무제한 위임(unconstrained delegation)이 활성화된 환경에서 TGT 수집을 위해 Red Team 구성원들 사이에서 널리 사용되던 오래된 RPC 인터페이스(일명 "Printer Bug")를 로컬 권한 상승에 맞게 조정된 가장/Rotten Potato 스타일 공격과 결합한 것입니다.

또한 Windows 7을 대상으로 하는 대신, 비결정적 LFH, 높은 엔트로피 ASLR 및 Control Flow Guard(CFG)와 같은 강화된 보안 완화 조치가 제시하는 도전 과제 때문에 Windows 8.1에 초점을 맞추기로 결정했습니다.

~

CVE-2020-0674

CVE-2020-0674 UAF 익스플로잇이 포함된 악성 PAC 파일 - RPC 트리거를 통해 WPAD 서비스 svchost.exe(LOCAL SERVICE)로 다운로드됩니다. 3단계 셸코드(Spool Potato EoP)가 포함되어 있습니다. 이 익스플로잇은 IE11 64-bit를 통한 초기 RCE 공격 벡터로서 이중 목적으로도 사용될 수 있습니다.

_______________ RPC _______________ CVE-2020-0674 ________________ | firefox.exe | -----> | svchost.exe | ---------------> | Spool Potato | || || | shellcode | |______________| ~

CVE-2019-17026

Firefox 64-bit IonMonkey JIT/타입 혼동(Type Confusion) RCE. 취약한 버전의 Firefox로 감염된 웹 페이지를 사용자가 방문할 때의 초기 공격 벡터를 나타냅니다. 이 구성 요소에는 1단계(egg hunter) 및 2단계(WPAD 샌드박스 탈출) 셸코드가 포함되어 있으며, 후자는 WPAD에 대한 하드코딩된 RPC IDL 인터페이스 세부 정보로 인해 Windows 8.1에서만 유효합니다.

_______________ JIT spray ______________ DEP bypass _______________________ | firefox.exe | -----------> | Egg hunter | ------------> | WPAD sandbox escape | |___________| | shellcode | | shellcode (heap) | |________| |___________________|

~

페이로드

이 익스플로잇 체인에는 세 개의 셸코드 페이로드가 있으며, 이 저장소의 Payloads\Compiled\JS 아래에 JavaScript 인코딩된 셸코드 형태로 있습니다:

  • 1단계: egg hunter 셸코드 (ASM).
  • 2단계: WPAD 샌드박스 탈출 셸코드 (C DLL, sRDI to shellcode).
  • 3단계: Spool Potato 권한 상승 셸코드 (C DLL, sRDI to shellcode).

IE가 초기 RCE 공격 벡터로 사용되는 경우 2단계와 3단계 셸코드만 필요합니다. FF가 초기 RCE 공격 벡터로 사용되는 경우 세 가지가 모두 사용됩니다.

테스트 목적으로 몇 가지 추가 셸코드도 포함했습니다(MessageBoxA 및 WinExec 셸코드). 이를 사용할 때 유의할 점은 Firefox CVE-2019-17026의 경우 셸코드가 다음 egg QWORD 0x8877665544332211이 접두사로 붙은 Uint8Array로 표현되어야 한다는 것입니다. CVE-2020-0674의 경우 셸코드는 DWORD 배열로 표현되어야 합니다.

또한 WinExec 또는 MessageBoxA 페이로드를 Firefox CVE-2019-17026과 함께 사용하는 경우 "about:config"에서 샌드박스 콘텐츠 수준을 먼저 2로 조정해야 합니다.

~

크레딧

maxpl0it - Linux OS에 중점을 둔 CVE-2019-17026의 초기 분석 및 PoC 작성, 그리고 Windows 7 x64의 IE8/11에 중점을 둔 CVE-2020-0674의 초기 분석 및 PoC 작성에 기여.

0vercl0k - 앨리어싱(aliasing) 및 GVN과 관련된 IonMonkey 내부 구조를 문서화한 것에 기여.

HackSys Team - WPAD 서비스 및 저수준 JS 디버깅에 대한 팁 제공.

itm4n - RPC 프린터 버그와 명명된 파이프 가장(impersonation)을 결합한 최초 연구 수행.

~

링크

[1] https://googleprojectzero.blogspot.com/2017/12/apacolypse-now-exploiting-windows-10-in_18.html [2] https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/

도구 다운로드