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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
UsoDllLoader — Windows - Update Session Orchestrator 서비스를 이용한 권한 있는 파일 쓰기 무기화 | Kitploit
도구/GitHubGitHub/itm4n/usodllloader
Privilege EscalationPayload GenerationExploitationPenetration TestingArchived
GitHubitm4n/usodllloader

UsoDllLoader

Windows - Update Session Orchestrator 서비스를 이용한 권한 있는 파일 쓰기 무기화

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

UsoDllLoader

⚠️ 2020-06-06 업데이트: 이 트릭은 최신 Windows 10 Insider Preview 빌드에서 더 이상 작동하지 않습니다. 즉, 여전히 Windows 10 일반 버전에서는 작동하지만, 앞으로 몇 달 내에 _패치_될 것으로 예상해야 합니다.

설명

이 PoC는 Windows에서 __권한 있는 파일 쓰기 취약점을 무기화하는 데 사용할 수 있는 __기법__을 보여줍니다. 이는 James Forshaw (일명 @tiraniddo)가 발견한 DiagHub DLL 로딩 "익스플로잇"에 대한 대안을 제공하며, Microsoft는 빌드 버전 1903부터 이를 수정했습니다.

TL;DR

Windows 10부터 Microsoft는 Update Session Orchestrator 서비스를 도입했습니다. 일반 사용자로서 COM을 사용하여 이 서비스와 상호작용하고 업데이트 검사(예: 업데이트 가능 여부 확인) 또는 보류 중인 업데이트 다운로드를 시작할 수 있습니다. 심지어 이 목적을 위해 usoclient.exe라는 문서화되지 않은 기본 제공 도구도 있습니다.

공격자의 관점에서 이 서비스는 NT AUTHORITY\System으로 실행되며, 업데이트 세션이 생성될 때마다 존재하지 않는 DLL(windowscoredeviceinfo.dll)을 로드하려고 시도하기 때문에 흥미롭습니다.

즉, Windows 또는 일부 타사 소프트웨어에서 권한 있는 파일 쓰기 취약점을 발견하면, 자체 버전의 windowscoredeviceinfo.dll을 C:\Windows\Sytem32\에 복사한 다음 USO 서비스가 이를 로드하도록 하여 NT AUTHORITY\System으로 임의 코드 실행을 얻을 수 있습니다.

자세한 정보: 1부 - https://itm4n.github.io/usodllloader-part1/ 2부 - https://itm4n.github.io/usodllloader-part2/

PoC 빌드

내용

이 솔루션은 __WindowsCoreDeviceInfo__와 UsoDllLoader 두 프로젝트로 구성됩니다.

  • WindowsCoreDeviceInfo

QueryDeviceInformation() 함수가 호출될 때마다 로컬호스트 전용 포트 1337에서 바인드 셸을 시작하는 PoC DLL을 제공합니다. 이는 USO 워커가 사용하는 함수의 이름입니다.

  • UsoDllLoader (선택 사항)

usoclient.exe의 축소 버전입니다. 일반 사용자로 실행하여 USO 서비스와 상호작용하고 windowscoredeviceinfo.dll을 로드하도록 할 수 있습니다. 그런 다음 바인드 셸에 연결을 시도합니다. 오류가 발생하면 "알려진 문제" 섹션을 참조하세요.

솔루션 빌드

솔루션은 이미 사전 구성되어 있으므로 컴파일이 쉬워야 합니다. 저는 __Visual Studio 2019__를 사용하고 있습니다. 이전 버전에서는 작동하지 않을 수 있습니다.

  1. Release 구성과 x64 아키텍처를 선택합니다.
  2. 솔루션을 빌드합니다.
  3. 출력: DLL .\x64\Release\WindowsCoreDeviceInfo.dll과 로더 .\x64\Release\UsoDllLoader.exe.

테스트

사용법 1 - UsoDllLoader

테스트 목적으로 다음을 수행할 수 있습니다:

  1. 관리자로서 WindowsCoreDeviceInfo.dll을 C:\Windows\System32\에 복사합니다.
  2. 일반 사용자로 로더를 사용합니다.
  3. 바라건대 NT AUTHORITY\SYSTEM으로 셸을 얻습니다.

사용법 2 - UsoClient

UsoDllLoader.exe가 실패하면 위 작업을 수동으로 수행할 수 있습니다.

  1. 관리자로서 WindowsCoreDeviceInfo.dll을 C:\Windows\System32\에 복사합니다.
  2. 일반 사용자로 usoclient StartInteractiveScan 명령을 사용합니다. 명령에서 피드백을 받지 못할 수 있습니다.
  3. Windows용 netcat을 다운로드하고 nc.exe 127.0.0.1 1337 명령을 사용하여 바인드 셸에 연결합니다.

알려진 문제

  • 보류 중인 업데이트

하나 이상의 업데이트가 설치 대기 중이거나 설치 중인 경우 이 방법은 실패할 가능성이 높습니다.

  • RPC 오류

Windows 버전에 따라 UsoDllLoader.exe가 __다양한 오류 코드로 실패__할 수 있습니다. 이러한 문제는 많이 조사하지 않았습니다. 그 이유는 편의를 위해 개발한 PoC일 뿐이기 때문입니다. 가장 중요한 것은 DLL이며, 로더가 아닙니다. 자세한 내용은 "사용법 2"를 참조하세요.

도구 다운로드