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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
pypykatz — 순수 Python으로 작성된 Mimikatz | Kitploit
도구/GitHubGitHub/skelsec/pypykatz
Password CrackingEncryption/Decryption ToolsMemory ForensicsPost-ExploitationDigital ForensicsPenetration TestingAuthentication
GitHubskelsec/pypykatz

pypykatz

순수 Python으로 작성된 Mimikatz

저장소 보기
3.3k4294개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Supported Python versions Twitter

🚩 스폰서

이 프로젝트가 마음에 드신다면, 브라우저에서 실행되는 전체 침투 테스트 제품군인 OctoPwn의 라이선스 구매를 고려해 주세요!
새로운 빌드/릴리스 등에 대한 알림을 받으시려면 Discord에 참여해 주세요.

pypykatz

순수 Python으로 구현된 Mimikatz. 적어도 일부는요 :)
Python>=3.6을 지원하는 모든 OS에서 실행됩니다. pypy_card

🚩 브라우저에서 실행

이 프로젝트는 OctoPwn의 힘을 빌려 다른 많은 침투 테스트 도구와 함께 브라우저에서 실행됩니다!
커뮤니티 버전은 OctoPwn - Live에서 확인하세요.

WIKI

버전 0.1.1부터 명령줄이 약간 변경되었습니다. 걱정하지 마세요. 훌륭한 WIKI가 준비되어 있습니다.

설치

pip를 통해 설치하거나 github에서 클론하여 설치할 수 있습니다.
설치 프로그램은 Python의 Script 디렉토리에 pypykatz 실행 파일을 생성합니다. 거기서 실행할 수 있으며, PATH에 있어야 합니다.
주의: github master 버전은 새 버전에 대해 적절한 브랜치를 만들기 귀찮아서 실패할 수 있습니다. 하지만 안정 버전 브랜치는 만들도록 노력하겠습니다.

PIP를 통해

root@kitploit:~
pip3 install pypykatz

Github를 통해

사전 요구사항 설치

root@kitploit:~
pip3 install minidump minikerberos aiowinreg msldap winacl

이 저장소 클론

root@kitploit:~
git clone https://github.com/skelsec/pypykatz.git
cd pypykatz

설치

root@kitploit:~
python3 setup.py install

기능

일반

플랫폼 독립적 - 모든 명령어는 해당되는 경우 "라이브"와 일반 버전이 있습니다. "라이브" 버전은 현재 시스템을 사용하며 Windows에서만 작동합니다. 일반 명령어는 플랫폼 독립적입니다.
프로젝트 라이브러리로 사용할 수 있습니다.

LSASS 처리

LSASS 프로세스에 숨겨진 비밀을 파싱할 수 있습니다. 이는 mimikatz의 sekurlsa::와 비슷하지만 명령어가 다릅니다.
여기서 주요 차이점은 모든 파싱 로직이 데이터 소스와 분리되어 있어 새로운 리더 객체를 정의하면 어디서든 LSASS 파싱을 수행할 수 있다는 것입니다.

현재 지원되는 데이터 소스:

  1. 라이브 - LSASS 프로세스의 메모리를 직접 읽습니다.
  2. 미니덤프 - LSASS 프로세스를 덤프하여 생성된 미니덤프 파일을 처리합니다.
  3. rekall (volatility 포크) - rekall이 파싱할 수 있는 모든 Windows 메모리 덤프를 처리합니다.
  4. pcileech - 더 이상 지원되지 않음
  5. 원격 - 다른 프로젝트입니다. 추후 공개 예정 :)
  6. 여기에 당신의 프로젝트 - 정말로, 통합이 매우 간단합니다.

레지스트리 처리

레지스트리 하이브를 파싱하여 저장된 자격 증명(NT 및 LM 해시, 도메인 캐시 자격 증명(DCC/DCC2), LSA 비밀)을 얻습니다.

현재 지원되는 데이터 소스:

  1. 라이브 - 라이브 레지스트리를 파싱하는 두 가지 기술이 있습니다. 첫 번째는 메모리 내에서 디스크에 접촉하지 않는 방식이고, 두 번째는 하이브를 덤프한 후 오프라인 파서로 파싱하는 방식입니다.
  2. 오프라인 (하이브 파일)
  3. 여기에 당신의 프로젝트 - 정말로, 통합이 매우 간단합니다.

DPAPI 함수 - MASTERKEY/BLOB/VAULT/CREDENTIAL

DPAPI는 다양한 종류의 로컬 비밀을 보호합니다. 현재 프로젝트는 마스터키, dpapi blob, 자격 증명 파일, 볼트 파일의 복호화를 지원합니다.
이러한 항목들에 대한 문서가 많지 않아 결과가 100% 정확하지는 않습니다. PR은 언제나 환영합니다!

현재 지원되는 데이터 소스:

  1. 라이브 - LSASS에서 직접 마스터키를 얻거나 라이브 레지스트리에서 사용자/컴퓨터 키를 얻어 마스터키 파일을 복호화합니다.
  2. 하이브 파일 (오프라인) - 라이브 레지스트리에서 사용자/컴퓨터 키를 얻어 마스터키 파일을 복호화합니다.
  3. 유효한 자격 증명 (오프라인) - 올바른 SID와 비밀번호를 입력하여 마스터키 파일을 복호화할 수 있습니다.
  4. 이 부분은 프로젝트에 통합하지 마세요. 베타 버전입니다.

사용자 가장

머신에서 실행 중인 프로세스가 있는 모든 사용자로 새 프로세스를 생성할 수 있습니다.
선택한 사용 가능한 토큰을 스레드에 할당할 수 있습니다.
이는 기본적인 기능일 뿐입니다. 존재 이유는 관리자 권한으로 시스템 셸을 얻기 위해 항상 psexec를 사용하는 것이 싫기 때문입니다...

기타 기능

음... 코드를 확인하세요. 주석 등이 있습니다...

Rekall 명령 옵션

타임스탬프 오버라이드

이 매개변수가 존재하는 이유: 올바른 파싱 구조를 선택하려면 msv dll 파일의 타임스탬프 정보가 필요합니다. Rekall은 어떤 이유로 이 정보를 항상 가지고 있지 않아 파싱이 실패할 수 있습니다.
파싱이 실패하는 경우 이 매개변수가 문제를 해결할 수 있습니다.

매개변수: -t
값: 0 또는 1
예시:

root@kitploit:~
pypykatz.py rekall <메모리_덤프_파일> -t 0

Rekall 사용법

rekall 기반 메모리 파싱을 사용하는 두 가지 방법이 있습니다.

pypykatz rekall 명령어를 통해

파싱할 메모리 파일을 지정해야 합니다.

rekall 명령줄을 통해

중요 공지:

  1. 지금 막 rekall을 설치하려는 경우: 반드시 virtualenv에서 실행해야 하며, 같은 virtualenv에 pypykatz를 설치해야 합니다!
  2. rekall 명령줄은 메모리에서 얻은 모든 정보를 표시하기에 적합하지 않습니다. out_file 및 kerberos_dir 명령 스위치를 사용하세요!

pypykatz의 plugins 폴더에 pypykatz_rekall.py라는 rekall 플러그인 파일이 있습니다.
이 파일을 rekall의 plugins/windows 폴더에 복사하고 이름을 pypykatz.py로 변경해야 합니다.
그런 다음 같은 폴더에 있는 __init__.py 파일을 수정하고 끝에 다음 줄을 추가하세요: from rekall.plugins.windows import pypykatz
모든 것이 정상이면 rekall 명령줄에서 직접 pypykatz 명령을 사용할 수 있습니다.

도움 요청

이 프로젝트를 안정적인 릴리스로 만드는 데 도움을 주고 싶다면 lsass.exe 프로세스의 미니덤프를 다음 링크로 보내주세요: https://nx5494.your-storageshare.de/s/SJteWj3PPbg8jBA 중요: 자신의 컴퓨터 lsass 프로세스 덤프는 보내지 마세요!!! 해시/비밀번호를 포함한 비밀을 볼 수 있습니다! 가상 테스트 시스템과 같이 자격 증명이 노출되어도 괜찮은 시스템의 덤프 파일을 보내주세요. (Kerberos가 설정된 테스트 도메인 시스템이 가장 좋습니다.) 또한 스팸은 자제해 주시기 바랍니다.

왜 이러한 덤프 파일이 필요한가요?

Python에서 mimikatz를 만들려면 네이티브 컴파일러를 사용할 때 자연스럽게 얻을 수 있는 내장 파서의 도움 없이 수많은 구조체(원본 코드 참조)의 구조 정의를 만들어야 합니다. 문제는 단일 바이트 정렬 오류라도 이러한 구조체의 파싱을 오류로 이끌 수 있다는 것입니다. 문제는 주로 32-64비트 정렬과 관련이 있으므로 32비트 Windows 버전의 lsass 덤프도 환영합니다!

요약

코드를 검증하고 파서가 제대로 작동할 때까지 필요한 변경을 가할 데이터가 필요합니다. 실제 파일 없이 이 github 페이지에 이슈를 제출하는 것은 전혀 도움이 되지 않으며, github은 40-300MB 파일 첨부를 좋아하지 않습니다.

사전 요구사항

제 대부분의 큰 Python 프로젝트는 최대한의 이식성을 목표로 하여 꼭 필요한 경우에만 타사 패키지를 사용합니다. 현재 시점에서 세 개의 추가 패키지가 사용되며, 이 상태를 유지하려고 합니다.

Python>=3.6 minidump minikerberos asn1crypto

감사 인사

Benjamin DELPY @gentilkiwi - Mimikatz Francesco Picasso - volatility용 mimikatz.py 플러그인 Alberto Solino (@agsolino) - impacket

암호화

Richard Moore - AES 모듈 Todd Whiteman - DES 모듈

유틸리티

David Buxton - 타임스탬프 변환 스크립트

도구 다운로드