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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
pcileech — 직접 메모리 접근 (DMA) 공격 소프트웨어 | Kitploit
도구/GitHubGitHub/ufrisk/pcileech
Privilege EscalationMemory ForensicsExploitationPost-ExploitationDigital ForensicsPenetration TestingHardware SecurityRed TeamingRemote Access ToolPayload Development
GitHubufrisk/pcileech

pcileech

7.9k1.0k226일 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

직접 메모리 접근 (DMA) 공격 소프트웨어

저장소 보기

PCILeech 요약:

PCILeech는 PCIe 하드웨어 장치를 사용하여 대상 시스템 메모리를 읽고 씁니다. 이는 PCIe를 통한 DMA를 사용하여 수행됩니다. 대상 시스템에 드라이버가 필요하지 않습니다.

PCILeech는 LeechCore 라이브러리에서 지원하는 다양한 소프트웨어 메모리 획득 방법과 함께 하드웨어 없이도 작동합니다. 여기에는 DumpIt 또는 WinPmem을 사용한 원격 라이브 메모리 캡처가 포함됩니다. PCILeech는 로컬 메모리 캡처 및 여러 메모리 덤프 파일 형식을 지원합니다.

PCILeech는 여러 메모리 획득 장치를 지원합니다. 하드웨어 기반과 소프트웨어 기반 모두 가능합니다. USB3380 기반 하드웨어는 기본적으로 4GB의 메모리만 읽을 수 있지만, 커널 모듈(KMD)이 대상 시스템 커널에 먼저 삽입되면 모든 메모리를 읽을 수 있습니다. FPGA 기반 하드웨어 및 소프트웨어 기반 방법은 모든 메모리를 읽을 수 있습니다.

PCILeech는 대상 커널에 다양한 커널 임플란트를 삽입할 수 있어 '마운트된 드라이브'를 통해 라이브 RAM 및 파일 시스템에 쉽게 액세스할 수 있습니다. 로그온 암호 요구 사항 제거, 서명되지 않은 드라이버 로드, 코드 실행 및 시스템 셸 생성도 가능합니다. PCILeech는 Windows 및 Linux에서 실행됩니다. 현재 지원되는 대상 시스템은 x64 버전의 UEFI, Linux, FreeBSD 및 Windows입니다. 이를 위해서는 메모리에 대한 쓰기 액세스 권한이 필요합니다(USB3380 하드웨어, FPGA 하드웨어, LiveCloudKd 또는 CVE-2018-1038 "Total Meltdown").

시작하려면 저장소의 소스를 클론하거나 최신 바이너리, 모듈 및 구성 파일을 다운로드하세요.

PCILeech용 PushPin GUI 프론트엔드는 일반적인 RedTeam 작업을 매우 쉽게 만듭니다. PushPin은 공식 PCILeech 배포판의 일부가 아닙니다.

기능:

  • 대상 시스템에서 >150MB/s 속도로 메모리 획득.
  • 원격 LeechService에서 원격 메모리 획득.
  • 대상 시스템 메모리에 데이터 쓰기.
  • 4GB 메모리는 기본 DMA 모드(USB3380 하드웨어)로 액세스 가능.
  • 모든 메모리는 기본 DMA 모드(FPGA 하드웨어)로 액세스 가능.
  • 커널 모듈(KMD)이 로드되면 모든 메모리 액세스 가능.
  • 원시 PCIe TLP 액세스(FPGA 하드웨어).
  • 라이브 RAM을 파일로 마운트 [Linux, Windows, macOS Sierra*].
  • 파일 시스템을 드라이브로 마운트 [Linux, Windows, macOS Sierra*].
  • 대상 시스템에서 커널 코드 실행.
  • 시스템 셸 및 기타 실행 파일 생성 [Windows].
  • 파일 풀 및 푸시 [Linux, FreeBSD, Windows, macOS Sierra*].
  • 패치/잠금 해제 (암호 요구 사항 제거) [Windows, macOS Sierra*].
  • 자체 커널 셸코드 및/또는 사용자 지정 서명 생성 용이.
  • 네트워크를 통해 원격 LeechAgent에 연결하여 원격으로:
    • 네트워크를 통해 물리적 메모리 덤프.
    • 원격 호스트에서 Python 메모리 분석 스크립트 실행.
  • 여기에 나열되지 않은 더 많은 기능...

*) macOS High Sierra 이상은 지원되지 않습니다.

메모리 획득 방법:

PCILeech는 하드웨어 기반 및 소프트웨어 기반 메모리 획득 방법을 모두 지원합니다. 모든 메모리 획득은 LeechCore 라이브러리에서 처리됩니다.

하드웨어 기반 메모리 획득 방법:

지원되는 하드웨어 기반 메모리 획득 방법의 요약은 아래에 나열되어 있습니다. 모든 하드웨어 기반 메모리 획득 방법은 Windows와 Linux에서 모두 지원됩니다. 그러나 FPGA 기반 방법은 Linux에서 약간의 성능 저하가 있으며 Windows에서 150MB/s에 비해 최대 약 90MB/s로 제한됩니다.

소프트웨어 기반 메모리 획득 방법:

지원되는 소프트웨어 기반 메모리 획득 방법의 요약은 아래에 나열되어 있습니다. LeechService는 원격 LeechCore 라이브러리에 대한 네트워크 연결만 제공합니다. 연결되면 하드웨어 및 소프트웨어 기반 메모리 획득을 모두 사용할 수 있습니다.

PCILeech 설치:

PCILeech GitHub 저장소(https://github.com/ufrisk/pcileech)를 방문하여 최신 버전의 PCILeech를 보유하고 있는지 확인하세요.

최신 릴리스에서 최신 바이너리, 모듈 및 구성 파일을 받으세요. 또는 저장소를 클론하고 소스에서 빌드하세요.

Windows:

Windows에서 PCILeech를 실행하는 방법에 대한 정보는 Windows에서 PCILeech 가이드를 참조하세요.

USB3380 하드웨어를 사용하는 경우 Google Android USB 드라이버를 설치해야 합니다. Google Android USB 드라이버를 http://developer.android.com/sdk/win-usb.html#download에서 다운로드하고 압축을 푸세요.
FPGA를 FT601 USB3 애드온 카드 또는 PCIeScreamer와 함께 사용하는 경우 FTDI 드라이버를 설치해야 합니다. FTDI에서 64비트 FTD3XX.dll을 다운로드하여 pcileech.exe 옆에 두세요.
Windows에서 라이브 RAM 및 대상 파일 시스템을 드라이브로 마운트하려면 Dokany2 파일 시스템 라이브러리를 설치해야 합니다. https://github.com/dokan-dev/dokany/releases/latest에서 최신 안정 버전의 Dokany2를 다운로드하여 설치하세요.

Linux:

Linux에서 PCILeech를 실행하는 방법에 대한 정보는 Linux에서 PCILeech 가이드를 참조하세요.

예제:

더 많은 예제는 프로젝트 위키 페이지를 참조하세요. 위키는 구축 단계에 있으며 정보가 누락될 수 있습니다.

대상 시스템 라이브 RAM 및 파일 시스템 마운트, KMD가 로드되어 있어야 합니다. 이 예제에서는 0x11abc000이 사용됩니다.

  • pcileech.exe mount -kmd 0x11abc000

특정 커널 임플란트에 대한 도움말 표시, 이 경우 lx64_filepull 커널 임플란트.

  • pcileech.exe lx64_filepull -help

덤프 명령에 대한 도움말 표시.

  • pcileech.exe dump -help

커널 모듈이 주소 0x7fffe000에 로드된 상태에서 대상 시스템의 모든 메모리를 덤프합니다.

  • pcileech.exe dump -kmd 0x7fffe000

USB3380에서 더 안정적인 USB2 방식을 사용하여 액세스 가능한 메모리 매핑 장치를 포함한 4GB 미만의 메모리 덤프 강제 실행.

  • pcileech.exe dump -force -device usb3380://usb=2

PCIe TLP(트랜잭션 계층 패킷)를 수신하여 화면에 출력합니다(올바르게 구성된 FPGA 개발 보드 필요).

  • pcileech.exe tlp -vv -wait 1000

읽을 수 있는 메모리 페이지 및 최대 메모리를 위해 대상 시스템의 메모리를 프로브/열거합니다(FPGA 하드웨어 전용).

  • pcileech.exe probe

최소 및 최대 주소 사이의 모든 메모리 덤프, 실패한 페이지에서 중단하지 않음. 64비트 메모리에 대한 기본 액세스는 FPGA 하드웨어에서만 지원됩니다.

  • pcileech.exe dump -min 0x0 -max 0x21e5fffff -force

모든 메모리 덤프, 대상 시스템 레지스트리에서 메모리 맵을 찾아 잠재적으로 잘못된 메모리 덤프를 방지하여 대상이 정지되는 것을 방지합니다.

  • pcileech.exe dump -memmap auto

특정 장치 사용 강제(기본 자동 감지 대신). pmem 장치는 자동 감지되지 않습니다.

  • pcileech.exe pagedisplay -min 0x1000 -device pmem

커버로스로 암호화되고 상호 인증된 연결을 사용하여 원격 LeechAgent에서 원격 메모리 덤프.

  • pcileech.exe dump -device pmem -remote rpc://[email protected]

LeechAgent 내장 Python 환경을 사용하여 원격 컴퓨터에서 Python 분석 스크립트 find-rwx.py를 실행합니다.

  • pcileech.exe agent-execpy -in find-rwx.py -device pmem -remote rpc://[email protected]

pid 432(이 예제에서는 lsass.exe)의 가상 프로세스 메모리 패치.

  • pcileech.exe patch -pid 432 -sig unlock_win10x64.sig

제한 사항/알려진 문제:

  • OS가 IOMMU/VT-d를 사용하는 경우 작동하지 않습니다. 이는 macOS에서 기본값입니다(복구 모드에서 비활성화하지 않은 경우). 가상화 기반 보안 기능이 활성화된 Windows 10/11은 완전히 작동하지 않습니다.
  • 최신 Windows 및 Linux 버전은 기본적으로 DMA를 차단합니다.

PCILeech 및 MemProcFS 커뮤니티:

이 모든 것이 약간 압도적으로 느껴지시나요? 아니면 간단한 질문을 하고 싶으신가요? Discord의 PCILeech 및 MemProcFS DMA 커뮤니티 서버에 참여하세요!

빌드:

바이너리는 이 저장소의 릴리스 섹션에서 찾을 수 있습니다. 자체 버전을 빌드하려는 경우 가능합니다. PCILeech 빌드에 대한 자세한 내용은 Windows에서 PCILeech 또는 Linux에서 PCILeech를 참조하세요. PCILeech는 LeechCore에 의존하며 선택적으로 (일부 추가 기능을 위해) Memory Process File System에도 의존하므로 둘 다 별도로 빌드해야 합니다.

기여:

PCILeech, MemProcFS 및 LeechCore는 오픈 소스이지만 기여가 개방되지는 않았습니다. PCILeech, MemProcFS 및 LeechCore는 플러그인 형태의 기여를 허용하는 매우 유연한 플러그인 아키텍처를 제공합니다. 핵심 프로젝트에 플러그인이 아닌 기여를 원하시면 개발을 시작하기 전에 저에게 연락해 주십시오.

링크:

  • Twitter: Twitter
  • Discord: Discord - PCILeech/MemProcFS
  • PCILeech: https://github.com/ufrisk/pcileech
  • PCILeech FPGA: https://github.com/ufrisk/pcileech-fpga
  • LeechCore: https://github.com/ufrisk/LeechCore
  • MemProcFS: https://github.com/ufrisk/MemProcFS
  • Blog: http://blog.frizk.net
  • PushPin: GUI for PCILeech: https://github.com/LuckyPi/PushPin

변경 로그:

이전 릴리스 (펼치려면 클릭):

v1.0-v3.6

  • 초기 릴리스 및 다양한 업데이트. 자세한 내용은 개별 릴리스를 참조하세요.

v4.0

  • 주요 정리 및 내부 리팩토링.
  • FPGA 최대 메모리 자동 감지 및 더 안정적인 덤프 전략.
  • 가상화 기반 보안 시스템이 아닌 시스템에서 FPGA 하드웨어를 사용한 새로운 안정적인 Windows 10 커널 주입.
  • 사용자 모드 주입 (실험적).
  • 내장 장치 지원 제거 - 대신 LeechCore leechcore.dll/leechcore.so 라이브러리가 사용됩니다. 새로운 장치에는 다음이 포함됩니다:
    • 메모리 덤프 파일 (원시 선형 덤프 파일 및 Microsoft 크래시 덤프 파일).
    • Hyper-V 저장 파일.
    • DumpIt / WinPmem을 통한 라이브 메모리.
    • -remote 설정을 통한 원격 장치.
  • API 및 내장 Memory Process File System 제거 - 대신 LeechCore 및 Memory Process File System의 더 강력한 API를 사용하세요.
  • 기타 여러 변경 사항 및 구문 업데이트.

v4.1

  • LeechAgent 지원 - 원격 메모리 획득 및 분석.

v4.2

  • 서명 업데이트:
    • Linux 커널 모듈 - LINUX_X64_48 (최신 버전)
    • Win10 1903 커널 모듈 - WIN10_X64_2 (Windows 버전의 PCILeech 필요)

v4.3

  • 버그 수정.
  • LeechCore 라이브러리를 통해 새로운 장치(NeTV2 / RawUDP) 지원.

v4.4

  • 버그 수정 및 안정성 개선.
  • MemProcFS v3 라이브러리 지원.
  • 바이너리 코드 서명.
  • "tlploop" 명령.

v4.5

  • 버그 수정.
  • v2 LeechCore 메모리 획득 라이브러리 지원.
  • Windows에서 실행 시 MemProcFS 통합.
  • 사용자 정의 물리적 메모리 맵 지원(-memmap 옵션).

v4.6

  • LiveCloudKd 지원.

v4.10

  • Windows 10 내장 서명에 대한 Linux 지원 (MemProcFS v4.0에 의존).
  • Windows 및 Linux용 별도 릴리스.
  • 일반 정리.

v4.11

  • VMWare Workstation/Player 라이브 VM 메모리 지원.
  • LeechAgent agent-forensic 명령을 사용한 원격 메모리 분석 지원.
    • MemProcFS 법의학 모드를 원격으로 실행.
    • ElasticSearch 호환 JSON 데이터 검색.

v4.12

  • 32비트 지원 (pcileech 바이너리).

v4.13

  • 버그 수정.
  • 마운트 개선:
    • Windows 호스트 파일 시스템 지원: Dokany2로 업그레이드 (참고: Dokany2를 설치해야 합니다!).
    • Linux 호스트 파일 시스템 지원: FUSE 지원 추가.
      예: ./pcileech mount /home/user/fusemnt/leechfs -kmd <your_kmd_address>
    • 이제 Windows 대상에서 C: 외의 다른 로컬 드라이브에 액세스 가능.
  • Visual Studio 2022 지원.

v4.14

  • 프로세스 가상 메모리 지원 (Windows 전용).
    • 명령: search, patch, write, display, pagedisplay
    • 예: pcileech patch -pid 732 -sig unlock_win10x64.sig

v4.15

  • MemProcFS v5.0 지원.

v4.16

  • FPGA 성능 개선.
  • none 명령 추가.
  • -bar-ro 및 -bar-rw 옵션 추가.

v4.17

  • I/O BAR 지원.
  • Linux 개선:
    • KMD 서명 업데이트 (LINUX_X64_48)로 최신 Ubuntu 커널 지원.
    • 최신 커널을 지원하도록 커널 모듈 업데이트.
    • 새로운 KMD 서명 - LINUX_X64_MAP - -in 옵션에 대상 시스템 커널 System.map 지정.
    • 새로운 커널 모듈: lx64_exec_root.
  • Linux PCIe FPGA 성능 개선.v4.18
  • 벤치마크 명령어 추가됨.
  • 잠금 해제 서명 업데이트됨.
  • -psname 옵션 추가됨.

v4.19

  • Linux 안정성 개선 및 커널 모듈 로딩 향상.
  • Linux clang 컴파일 지원.
  • macOS 지원.

최신:

  • 버그 수정.
  • gRPC를 사용한 Linux LeechAgent 지원 (LeechCore v2.21).
  • 추가: -no-kmd-mem 옵션 - KMD가 로드된 경우 KMD 메모리 액세스를 선택적으로 비활성화 (일부 경우 안정성에 유용할 수 있음).
  • 추가: -kmd WIN11_X64 - Windows 11 KMD 서명 (WIN10_X64_3의 별칭).
도구 다운로드
장치유형인터페이스속도64비트 메모리 액세스PCIe TLP 액세스프로젝트 스폰서
ZDMAFPGAThunderbolt31000MB/sYesYes💖
GBOXFPGAOCuLink400MB/sYesYes💖
LeetDMAFPGAUSB-C190MB/sYesYes💖
CaptainDMA M2FPGAUSB-C190MB/sYesYes💖
CaptainDMA M2 100TFPGAUSB-C220MB/sYesYes💖
CaptainDMA 4.1thFPGAUSB-C190MB/sYesYes💖
CaptainDMA 75TFPGAUSB-C200MB/sYesYes💖
CaptainDMA 100TFPGAUSB-C220MB/sYesYes💖
AC701/FT601FPGAUSB3190MB/sYesYes
USB3380-EVBUSB3380USB3150MB/sNoNo
DMA patched HP iLOBMCTCP1MB/sYesNo
장치유형휘발성쓰기Linux 지원플러그인
RAW physical memory dumpFileNoNoYesNo
Full Microsoft Crash DumpFileNoNoYesNo
Full ELF Core DumpFileNoNoYesNo
VMwareLive MemoryYesYesNoNo
VMware memory save fileFileNoNoYesNo
TotalMeltdownCVE-2018-1038YesYesNoNo
DumpIt /LIVEKDLive MemoryYesNoNoNo
WinPMEMLive MemoryYesNoNoNo
LiveKdLive MemoryYesNoNoNo
LiveCloudKdLive MemoryYesYesNoYes
Hyper-V Saved StateFileNoNoNoYes
LeechAgent*RemoteNoNo

v4.7

  • 버그 수정.
  • WIN10_X64_3 새로운 안정적인 Windows 10 커널 서명 - Win10 2004 릴리스 포함.
  • 잠금 해제 서명 업데이트 - Win10/Linux (참고: 최신 Linux 커널은 아직 지원되지 않음).

v4.8

  • 버그 수정.
  • 최신 x64 Linux 커널에 대한 더 나은 지원.

v4.9

  • 버그 수정.
  • 서명 업데이트.
  • 최신 x64 Linux 커널(Ubuntu 21.04)에 대한 더 나은 지원.
  • CTRL+C 누를 때 마운트된 드라이버 마운트 해제.