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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2024-44193 — iTunes를 통한 Windows 해킹 - 로컬 권한 상승 0-day | Kitploit
도구/GitHubGitHub/mbog14/cve-2024-44193
Privilege EscalationVulnerability AnalysisExploitationPapers & ResearchLearning & EducationBinary Exploitation
GitHubmbog14/cve-2024-44193

CVE-2024-44193

iTunes를 통한 Windows 해킹 - 로컬 권한 상승 0-day

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Windows를 iTunes로 해킹하기 - 로컬 권한 상승 제로데이

CVE-2024–44193 소개

이 문서는 CVE-2024–44193에 대한 분석글입니다. 이 취약점은 iTunes 버전 12.13.2.3에서 발견된 로컬 권한 상승 익스플로잇입니다.

2024년 9월 12일 Apple에 의해 패치되었습니다. Apple 보안 권고 링크: Apple 보안 권고

iTunes 버전 12.13.2.3은 Apple Device Discovery Service를 설치합니다: C:\Program Files\Common Files\Apple\Mobile Device Support\AppleMobileDeviceService.exe는 로컬 권한 상승 익스플로잇에 취약합니다.

TL;DR

또 하나의 형편없이 쓰여졌고 너무 긴 글에 관심 없는 분들을 위해 짧게 요약합니다:

취약점은 C:\ProgramData\Apple\* 경로에서 사용자 권한 관리가 부실하여 발생합니다. 이로 인해 로컬 그룹 "Users"에 속한 사용자가 해당 경로 내에 임의의 파일을 쓸 수 있습니다. AppleMobileDeviceService.exe 서비스가 다시 시작될 때(비권한 사용자도 트리거 가능), 임의 폴더/파일 삭제 프리미티브가 활성화되어 SYSTEM 권한으로 임의 코드 실행이 가능해집니다.

도구:

경고! 초보자를 위한 도구 설명이 나옵니다.

이미 도구에 익숙하다면 이 부분을 건너뛰세요.

  • Oplock

SetOpLock

Oplock 도구는 Windows에서 "opportunistic lock"을 사용하는 도구입니다. 이 도구는 특정 조건이 충족될 때까지 파일을 잠가 프로세스를 "중단"시키는 데 사용되지만, 악의적인 목적으로 익스플로잇 페이로드가 실행될 시간을 확보하는 데도 사용할 수 있습니다.

  • FolderContentsDeleteToFolderDelete

FilesystemEoPs

FolderContentsDeleteToFolderDelete 도구는 자동으로 폴더 안에 파일을 생성합니다. 파일에 oplock을 설정하여 프로세스를 중단시킵니다. 프로세스가 중단되면 파일을 폴더 밖으로 이동시킵니다. 그런 다음 폴더를 삭제하고 NTFS 정션으로 재생성하여 대상 위치를 가리키게 합니다. Oplock이 해제되고 프로세스가 계속되면 파일/폴더 삭제가 새로 생성된 NTFS 정션을 따라 대상 위치로 이동하여 해당 파일을 삭제한 후 실행을 계속합니다.

  • FolderOrFileDeleteToSystem

FilesystemEoPs

이 도구는 Zero Day Initiative에서 가장 잘 설명했을 것이므로, 직접 설명 링크를 제공합니다:

Abusing Arbitrary File Deletes to Escalate Privileges and other Great Tricks

실제 분석글

취약한 서비스 AppleMobileDeviceService.exe 소개

iTunes가 설치되면 AppleMobileDeviceService.exe 서비스도 함께 설치되며, 이 서비스는 SYSTEM 권한으로 실행됩니다. Windows Sysinternals Process Monitor(Procmon)를 사용하여 이 서비스를 조사했을 때 문제가 될 만한 동작을 즉시 발견했습니다.

이 서비스는 C:\ProgramData\Apple\Lockdown\* 경로 내의 모든 파일을 재귀적으로 검사하며, 거기에 속하지 않는 모든 폴더와 파일을 삭제합니다.

로컬 테스트를 위해 ProcessHacker2를 사용하여 서비스를 강제로 재시작하여 프로그램 동작을 검사했습니다. 확인된 동작은 SYSTEM으로 실행되는 서비스가 디렉터리와 그 하위 디렉터리를 모두 쿼리한 다음, Delete On Close 옵션이 활성화된 CreateFile 작업을 실행한다는 것입니다. 즉, SYSTEM 서비스가 C:\ProgramData\Apple\Lockdown\* 경로를 쿼리하고 그 안의 하위 폴더와 파일을 재귀적으로 쿼리하여 삭제합니다.

Alt text

C:\ProgramData\Apple\* 경로의 문제 있는 사용자 권한

Windows Sysinternals https://learn.microsoft.com/en-us/sysinternals/ accesschk64.exe를 사용하여 특정 폴더에 대한 액세스 권한을 확인할 수 있습니다. 로컬 그룹 "Users"의 구성원은 C:\ProgramData\Apple\Lockdown\ 폴더에 쓰기 권한이 있어, 낮은 권한의 사용자가 해당 폴더 내에 임의의 파일을 쓸 수 있습니다.

Alt text

임의 파일/폴더 삭제 프리미티브

Lockdown 경로 내에 임의의 파일을 쓸 수 있고, 서비스가 재시작되면 SYSTEM 프로세스가 이를 삭제하기 때문에, 임의 파일/폴더 삭제 프리미티브를 생성할 수 있었습니다. 이를 설명하기 위해 Lockdown 폴더 안에 두 개의 하위 폴더를 만듭니다. 하위 폴더 a, 그리고 그 안에 하위 폴더 b. 이렇게 생성됩니다: C:\ProgramData\Apple\Lockdown\a\b

하위 폴더 a 안에는 aa.txt라는 텍스트 파일이 있고, 하위 폴더 b 안에는 bb.txt라는 텍스트 파일이 있습니다.

C:\ProgramData\Apple\Lockdown\a\aa.txt

C:\ProgramData\Apple\Lockdown\a\b\bb.txt

Alt text

위 스크린샷에서 볼 수 있듯이, "CreateFile" 작업이 aa.txt에 대해 Delete On Close 옵션으로 실행되어 삭제됩니다.

SYSTEM 프로세스가 aa.txt와 bb.txt에 대해 CreateFile 작업을 Delete On Close 옵션으로 실행하면, SYSTEM 프로세스 AppleMobileDeviceService.exe가 파일을 삭제합니다. 이제 Lockdown 폴더 내에 임의의 파일을 생성하고 삭제할 수 있으며, 이는 다음 단계로 이어집니다.

NTFS 정션

Windows에서는 NTFS 정션을 사용하여 폴더를 다른 위치로 연결할 수 있습니다. 이는 Linux의 심볼릭 링크와 유사합니다. 이를 설명하기 위해 C:\ProgramData\Apple\Lockdown 폴더 내에 바탕 화면의 폴더를 가리키는 NTFS 정션(심볼릭 링크)을 생성할 수 있습니다. PowerShell을 사용하여 직접 생성하거나 New-Item -Type Junction -Path whatever -Target "C:\Users\user\Desktop\AAyes", ZDI에서 제공하는 도구 세트를 사용할 수 있습니다:

FilesystemEoPs

다음 명령을 실행하여 Lockdown 폴더 내에 NTFS 정션을 바탕 화면의 "Target" 폴더로 연결합니다.

root@kitploit:~
.\FolderContentsDeleteToFolderDelete.exe /target "C:\Users\user\Desktop\AAyes" /initial "C:\ProgramData\Apple\Lockdown"

서비스가 재시작되면, 새로 생성된 NTFS 정션은 바탕 화면에 있는 AAyes 폴더를 가리킵니다. 서비스는 CreateFile 작업을 SYSTEM 권한으로 Delete On Close 옵션을 사용하여 실행하므로, 파일이 삭제됩니다. 이 작업이 SYSTEM 권한으로 실행되므로, 임의 폴더 또는 파일 삭제 프리미티브가 있으며, 이는 호스트에서 SYSTEM으로 코드 실행을 얻을 수 있음을 의미합니다.

Alt text

참고:

FolderContentsDeleteToFolderDelete 프로젝트에서 파일 이름/폴더 이름 제한으로 인해 소스 코드를 수정해야 했습니다. 파일 이름/폴더 이름은 매우 짧아야 삭제가 이루어졌습니다. 그 이유는 알 수 없으며, 짧은 이름이 문제를 신뢰성 있게 해결했기 때문에 추가 조사는 수행되지 않았습니다.

FolderContentsDeleteToFolderDelete 소스 코드 수정:

root@kitploit:~
const wchar_t folder2path[] = L"C:\\d";
const wchar_t exploitFileName[] = L"e.txt";

// 두 상수 “folder2path”와 “exploitFileName”을 짧게 줄여야 했습니다.
// L"C:\\d"와 L"e.txt"로 변경했습니다. 파일 및 폴더 이름 길이가 익스플로잇 기능에 영향을 미치는 것으로 보였습니다.

[...]

// 또한 “folder1path” 값을 L”c”로 편집하여 짧게 만들어야 했습니다.
folder1path += L"c";

익스플로잇 이론

서비스가 정션(심볼릭 링크)을 재귀적으로 따라가기 때문에, 취약한 Apple 서비스를 사용하여 SYSTEM 권한으로 시스템에서 임의의 파일을 삭제할 수 있다는 이론이 세워졌습니다. 이 취약한 서비스는 비권한 사용자가 Windows GUI를 통해 ("Apps -> Installed apps -> Apple Mobile Device Support -> Modify -> Repair) 트릭을 사용하여 서비스를 마음대로 재시작할 수 있게 해주므로, 익스플로잇을 원하는 시점에 트리거할 수 있습니다. 서비스가 재시작되면 NTFS 정션을 따라가며, 사용자가 가리키는 파일이나 폴더를 서비스가 삭제하도록 결정된 프로그램 동작이 실행됩니다.

즉, 사용자가 서비스가 삭제할 파일이나 폴더를 결정합니다. SYSTEM 권한으로 실행되므로, 시스템에서 거의 모든 파일을 삭제할 수 있습니다(TrustedInstaller 권한이 필요한 파일 제외).

이는 다음과 같은 일련의 이벤트를 조심스럽게 구성할 수 있음을 의미합니다:

  1. 편리한 시점에 프로세스를 중단시키기 위해 oplock을 준비합니다.
  2. 서비스를 재시작하면, oplock이 트리거되고 프로세스가 중단됩니다.
  3. FolderOrFileDeleteToSystem.exe를 사용하여 MSI 롤백 트릭을 준비합니다.
  4. FolderContentsDeleteToFolderDelete.exe를 사용하여 파일 삭제 프리미티브를 MSI 롤백 트릭 단계에서 준비된 Config.MSI로 가리키는 NTFS 정션을 준비합니다.
  5. Oplock을 해제합니다.

개념 증명 (Proof Of Concept)

개념 증명은 5단계로 구성됩니다.

  1. C:\ProgramData\Apple\Lockdown\에 Oplock 설정
root@kitploit:~
.\SetOpLock.exe C:\ProgramData\Apple\Lockdown\
Alt text
  1. 서비스 재시작 트리거 Apps -> Installed apps -> Apple Mobile Device Support -> Modify -> Repair

  2. MSI 롤백 트릭 준비

root@kitploit:~
.\FolderOrFileDeleteToSystem.exe
  1. Windows 정션(심볼릭 링크) 단계 준비: 서비스의 임의 폴더/파일 삭제 프리미티브를 MSI 설치 프로그램으로 가리키기
root@kitploit:~
.\FolderContentsDeleteToFolderDelete.exe /target 'C:\Config.Msi' /initial "C:\ProgramData\Apple\Lockdown"
  1. Oplock 해제

5단계에서 Oplock이 해제되면, FolderContentsDeleteToFolderDelete 프로세스를 모니터링하여 NTFS 정션이 따라졌는지와 C:\에 있는 Config.MSI가 올바르게 삭제되었는지 확인합니다. 그런 다음 FolderOrFileDeletionToSystem.exe 프로세스를 모니터링하여 경쟁 조건에서 승리했는지와 수정된 롤백 스크립트가 포함된 "악성" Config.MSI 폴더가 작성되었는지 확인합니다. 모든 것이 올바르게 진행되면, CTRL+ALT+DELETE를 누르고 오른쪽 아래 모서리에 있는 접근성 메뉴를 열어 화상 키보드를 엽니다. 악성 롤백 스크립트를 사용하여 C:\Program Files\Common Files\microsoft shared\ink\HID.DLL을 덮어썼기 때문에, CMD 셸이 SYSTEM 권한으로 나타나 익스플로잇이 완료됩니다.

Alt text

FolderContentsDeleteToFolderDelete.exe 실행 및 모니터링

Alt text

FolderOrFileDeleteToSystem.exe 실행 및 모니터링

Alt text

SYSTEM 셸 획득

도구 다운로드