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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
DLLHijackingScanner — 이것은 DLL 하이재킹과 "신뢰할 수 있는 디렉터리" 확인을 악용하여 UAC를 우회하기 위한 PoC입니다. | Kitploit
도구/GitHubGitHub/secuproject/dllhijackingscanner
Privilege EscalationVulnerability ScannersExploitation
GitHubsecuproject/dllhijackingscanner

DLLHijackingScanner

이것은 DLL 하이재킹과 "신뢰할 수 있는 디렉터리" 확인을 악용하여 UAC를 우회하기 위한 PoC입니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

UAC 우회 - DLL 하이재킹

설명

이것은 DLL 하이재킹을 이용하고 "신뢰할 수 있는 디렉터리" 확인을 악용하여 UAC를 우회하기 위한 PoC입니다.

요약

  • CSV에서 헤더 생성
    • 인수
  • 취약한 PE 및 DLL 목록 생성
    • DLLHijacking.exe
    • 로그 파일
    • 실행
    • 결과
  • test.dll
  • 출처

CSV에서 헤더 생성

Python 스크립트 CsvToHeader.py는 헤더 파일을 생성하는 데 사용할 수 있습니다. 기본적으로 dll_hijacking_candidates.csv에서 찾을 수 있는 CSV 파일 dll_hijacking_candidates.csv를 사용합니다.

스크립트는 각 PE(이식 가능한 실행 파일)에 대해 다음 조건을 확인합니다:

  • PE가 파일 시스템에 존재하는지 여부.
  • PE의 매니페스트에서 requestedExecutionLevel이 다음 값 중 하나로 설정되어 있는지 여부:
    • asInvoker
    • highestAvailable
    • requireAdministrator
  • 매니페스트에서 autoElevate가 true로 설정되어 있는지 여부:
    root@kitploit:~
    <autoElevate>true</autoElevate>
    
  • 사용자가 -c 인수를 지정한 경우, 스크립트는 하이재킹할 DLL이 PE 테이블에서 가져온 DLL 목록에 있는지 확인합니다.

인수

root@kitploit:~
> python .\CsvToHeader.py -h
usage: CsvToHeader.py -f [DLL_PATH] -c

CsvToHeader를 사용하여 CSV에서 헤더 파일을 생성할 수 있습니다.

선택적 인수:
  -h, --help      이 도움말 메시지를 표시하고 종료합니다.
  -f  [DLL_PATH]  변환할 CSV의 경로 (기본값="dll_hijacking_candidates.csv")
  -c              PE에서 DLL 가져오기를 활성화합니다 (기본값=False)
  -v, --version   프로그램 버전 번호를 표시하고 종료합니다.

헤더 파일을 생성하려면 다음 명령을 사용할 수 있습니다:

root@kitploit:~
python CsvToHeader.py > dll_hijacking_candidates.h

취약한 PE 및 DLL 목록 생성

사용될 파일은 DLLHijacking.exe와 test.dll입니다.

DLLHijacking.exe

DLLHijacking.exe는 취약한 PE 목록을 생성하는 데 사용될 파일입니다. 다음 단계를 수행합니다:

  1. CreateFakeDirectory

    C:\windows \system32에 디렉터리를 생성하는 함수입니다.

  2. 새 디렉터리에 파일 복사

    • C:\windows\system32\[TARGET.EXE]에서 C:\windows \system32\[TARGET.EXE]로 복사
    • [CUSTOM_DLL_PATH]에서 C:\windows \system32\[TARGET.DLL]로 복사
  3. 트리거

    C:\windows \system32\[TARGET.EXE]에서 실행 파일을 실행합니다.

  4. CleanUpFakeDirectory

    1단계에서 생성한 디렉터리와 2단계의 파일을 삭제하는 함수입니다.

  5. CheckExploit

    C:\ProgramData\exploit.txt 파일의 내용을 확인하여 익스플로잇이 성공했는지 확인합니다.

로그 파일

DLLHijacking.exe는 항상 다음 내용을 포함하는 로그 파일 exploitable.log를 생성합니다:

  • 익스플로잇이 UAC를 우회할 수 있었는지 여부를 나타내는 0 또는 1
  • 실행 파일 이름
  • DLL 이름

예:

root@kitploit:~
1,computerdefaults.exe,PROPSYS.dll
0,computerdefaults.exe,Secur32.dll

실행

실행 명령:

root@kitploit:~
DLLHijacking.exe [DLL_PATH]

인수가 전달되지 않으면 스크립트는 DLLHijacking.exe의 리소스에 저장된 DLL test.dll을 사용합니다.

결과

Windows 10 Pro (10.0.19043 N/A 빌드 19043)에서 테스트되었습니다.

ExploitResult

test.dll

test.dll은 익스플로잇이 성공했는지 확인하기 위해 사용되는 간단한 동적 라이브러리입니다. DLL은 다음 내용을 포함하는 C:\ProgramData\exploit.txt 파일을 생성합니다:

  • 익스플로잇이 UAC를 우회할 수 있었는지 여부를 나타내는 0 또는 1
  • 실행 파일 이름
  • DLL 이름

이 파일은 익스플로잇이 완료되면 삭제됩니다.

출처:

  • https://www.wietzebeukema.nl/blog/hijacking-dlls-in-windows
  • https://github.com/wietze/windows-dll-hijacking/
  • https://github.com/wietze/windows-dll-hijacking/blob/master/dll_hijacking_candidates.csv
  • https://medium.com/tenable-techblog/uac-bypass-by-mocking-trusted-directories-24a96675f6e

법적 고지:

root@kitploit:~
이 프로젝트는 교육 및 윤리적 테스트 목적으로만 제작되었습니다. 사전 상호 동의 없이 대상을 공격하기 위해 이 소프트웨어를 사용하는 것은 불법입니다.
최종 사용자는 모든 관련 지역, 주 및 연방 법률을 준수할 책임이 있습니다.
개발자는 어떠한 책임도 지지 않으며 이 프로그램으로 인한 오용이나 손해에 대해 책임을 지지 않습니다.
도구 다운로드