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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
WinPmem — 다중 플랫폼 메모리 수집 도구. | Kitploit
도구/GitHubGitHub/velocidex/winpmem
Memory ForensicsForensicsDigital ForensicsIncident Response
GitHubvelocidex/winpmem

WinPmem

다중 플랫폼 메모리 수집 도구.

저장소 보기
1.0k14910개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

WinPmem -- 물리 메모리 수집 도구

alt text

WinPmem은 오랫동안 Windows용 기본 오픈 소스 메모리 수집 드라이버였습니다. 원래 Rekall 프로젝트에 포함되어 있었지만, 최근에 자체 저장소로 분리되었습니다.

이것은 Windows 버전입니다. Linux 버전인 Linpmem은 다음 위치에 있습니다: https://github.com/Velocidex/Linpmem

저작권

이 코드는 원래 Google 내에서 개발되었지만 Apache 라이선스 하에 배포되었습니다.

설명

WinPmem은 다음과 같은 기능을 갖춘 물리 메모리 수집 도구입니다:

  • 오픈 소스

  • Win7 - Win10, x86 + x64 지원. WDK7600을 사용하면 WinXP 지원을 포함할 수 있습니다. 기본적으로 제공되는 WinPmem 실행 파일은 WDK10으로 컴파일되어 Win7 - Win10을 지원하며, 더 현대적인 코드를 특징으로 합니다.

  • 세 가지 독립적인 읽기 방법, 완전한 메모리 덤프를 생성하는 두 가지 방법. 하나의 방법은 커널 모드 루트킷에 직면하더라도 항상 작동해야 합니다.

  • 원시 메모리 덤프 이미지 지원.

  • 일부 다른 이미저처럼 커널에서 이미지를 쓰는 대신 읽기 장치 인터페이스를 사용합니다. 이를 통해 복잡한 사용자 공간 이미저(예: 네트워크를 통한 복사, 해싱 등)를 가질 수 있으며, 라이브 시스템에서 분석을 실행할 수 있습니다(예: 장치에서 직접 실행 가능).

이 디렉토리의 파일(WinPmem 소스 및 서명된 바이너리 포함)은 다음 라이선스 하에 제공됩니다: Apache License, Version 2.0

사용 방법

두 개의 WinPmem 실행 파일이 있습니다: winpmem_mini_x86.exe 및 winpmem_mini_x64.exe. 두 버전 모두 두 드라이버(32비트 및 64비트 버전)를 포함하고 있습니다.

바이너리 이름의 mini는 이 이미저가 단순한 이미저임을 나타냅니다 - RAW 형식으로만 이미지를 생성할 수 있습니다. 과거에 AFF4 기반 WinPmem 이미저를 출시했지만, 아직 새 드라이버로 업데이트되지 않았습니다. AFF4 기반 이미저가 필요하시면 알려주십시오.

Python 수집 도구 winpmem.py

Python 프로그램은 현재 개발 중이지만 Python에서 이미저를 사용하는 방법을 보여주는 데모로 작동합니다.

winpmem_mini_x64.exe (독립 실행 파일)

이 프로그램은 실행 파일 자체 외에 다른 종속성이 필요하지 않아 사고 대응에 가장 사용하기 쉽습니다. 프로그램이 올바른 드라이버(32비트 또는 64비트)를 자동으로 로드하며 자체 포함되어 있습니다.

예제:

winpmem_mini_x64.exe physmem.raw

기본 수집 방법을 사용하여 physmem.raw에 원시 이미지를 씁니다.

winpmem_mini_x64.exe

사용법 출력 / 짧은 매뉴얼을 호출합니다.

특히 MmMapIoSpace 방법을 사용하여 원시 이미지를 수집하려면:

winpmem.exe -1 myimage.raw

이미지가 수집된 후 드라이버가 자동으로 언로드됩니다!

제한 사항

Microsoft가 MJ READ 함수를 설계한 방식으로 인해, UINT64 최대값의 절반보다 큰 물리 주소가 지정되면 Winpmem에서 STATUS_INVALID_PARAMETER로 물리 메모리 읽기가 실패합니다. 예: 누군가 물리 메모리의 더 높은 부분을 읽으려고 하고 동시에 거대한 물리 메모리(9,223,372,036,854,775,807 이상)를 가지고 있는 경우입니다. 이는 매우 드문 경우로 들리지만, 오늘날의 RAM 크기는 계속 증가하고 있습니다.

실험적 쓰기 지원

WinPmem 소스 코드는 읽기뿐만 아니라 메모리 쓰기도 지원합니다. 이 기능은 많은 루트킷 은닉 기법을 메모리에 직접 씀으로써 에뮬레이션할 수 있기 때문에 훌륭한 학습 도구입니다.

이 기능은 극도의 주의를 기울여 사용해야 합니다!

참고: 이 기능은 상당히 위험하므로, 서명된 바이너리 드라이버는 쓰기 지원이 비활성화되어 있습니다. 이 기능을 사용하려면 드라이버를 다시 빌드하여 테스트 서명된 바이너리를 생성할 수 있습니다. 서명되지 않은 바이너리(실제로 테스트 인증서로 자체 서명됨)는 테스트 자체 서명이기 때문에 일반 시스템에서 로드할 수 없지만, 다음 명령을 실행하여 테스트 시스템에서 서명되지 않은 드라이버를 로드할 수 있습니다(참조: https://docs.microsoft.com/en-us/windows-hardware/drivers/install/the-testsigning-boot-configuration-option:

Bcdedit.exe -set TESTSIGNING ON

그리고 재부팅합니다. 바탕 화면에 작은 "Test Mode" 텍스트가 표시되어 이 시스템이 테스트 서명 드라이버용으로 구성되었음을 알려줍니다.

또한, 쓰기 지원은 로드 시 활성화되어야 합니다:

winpmem.exe -w -l

이렇게 하면 드라이버가 로드되고 쓰기 지원이 켜집니다.

감사의 말

Winpmem과 Linpmem은 (현재 중단된) REKALL 프로젝트 선배들의 작업 없이는 존재할 수 없었을 것입니다: https://github.com/google/rekall.

이 프로젝트는 또한 더 넓은 DFIR 커뮤니티의 지원 없이는 불가능했을 것입니다:

  • Binalyze의 Emre Tinaztepe와 Mehmet GÖKSU에게 감사드립니다.

오픈 소스 기여자:

  • Viviane Zwanger
  • Mike Cohen
도구 다운로드