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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
blackhat-python3 — Justin Seitz의 저서 "Black Hat Python"의 소스 코드입니다. 이 코드는 Python 3로 완전히 변환되었으며, PEP8 표준을 준수하도록 재포맷되었고, 더 이상 사용되지 않는 라이브러리 구현과 관련된 의존성 문제를 제거하기 위해 리팩토링되었습니다. | Kitploit
도구/GitHubGitHub/eonraider/blackhat-python3
OSINT (Open Source Intelligence)Code AnalysisExploitationForensicsPost-ExploitationWeb SecurityNetwork SecurityMalware AnalysisCryptographyPenetration TestingLearning & Education
2.4k4552년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHub
eonraider/blackhat-python3

blackhat-python3

Justin Seitz의 저서 "Black Hat Python"의 소스 코드입니다. 이 코드는 Python 3로 완전히 변환되었으며, PEP8 표준을 준수하도록 재포맷되었고, 더 이상 사용되지 않는 라이브러리 구현과 관련된 의존성 문제를 제거하기 위해 리팩토링되었습니다.

저장소 보기

Python 3 "Black Hat Python" 소스 코드

저스틴 자이츠(Justin Seitz)의 저서 "Black Hat Python"의 소스 코드입니다. 이 코드는 Python 3로 완전히 변환되었고, PEP8 표준을 준수하도록 재포맷되었으며, 더 이상 사용되지 않는 라이브러리 구현과 관련된 의존성 문제를 해결하기 위해 리팩토링되었습니다.

이 책 전체에 걸쳐 제시된 소스 코드에는 많은 최적화를 적용할 수 있었겠지만, 독자가 자신의 필요에 따라 그러한 수정을 적용할 수 있도록 코드는 가능한 한 원본 그대로 두었습니다. 현재 코드는 독스트링부터 타입 힌트, 예외 처리에 이르기까지, 컨텍스트 관리자와 같은 개선 사항은 말할 것도 없이 상당한 리팩토링 작업이 필요하지만, 이러한 문제들은 그 자체로 독자가 직접 구현하려는 의도가 있을 때 오히려 도움이 될 수 있습니다. 또한 런타임 중 치명적 오류를 피하기 위해 수정된 들여쓰기에서 비롯된 많은 버그가 있습니다.

TJ O'Connor의 저서 "Violent Python" 소스 코드에도 이와 유사한 변환 작업을 제가 제공했습니다. 아직 확인하지 않으셨다면 여기에서 살펴보세요.

사용법

git clone을 사용하여 프로젝트를 클론할 디렉터리(DIR)를 선택하고, 그 디렉터리에 새 가상 환경 또는 venv를 만든 다음(권장), pip install을 사용하여 요구 사항을 설치하기만 하면 됩니다.

root@kitploit:~
user@host:~/DIR$ git clone https://github.com/EONRaider/blackhat-python3
user@host:~/DIR$ python3 -m venv venv
user@host:~/DIR$ source venv/bin/activate
(venv) user@host:~/DIR$ pip install -r requirements.txt

참고 사항

  • 이 책에 수록된 일부 코드 목록(listing)은 저자의 코드 저장소("no starch press" 웹사이트에서 제공)에 누락되어 있었으며, 해당 장(chapter)에 추가되었습니다. 또한 책에 제시된 코드와 연관시키기 위해 필요에 따라 파일에 보다 정확한 명명 규칙을 적용했습니다.
  • 인터프리터가 경고를 생성하던 사소한 버그들은 코드의 특성을 변경하지 않고 전반적으로 수정되었습니다.
  • 코드가 작동하는 데 필요한 보조 파일들이 해당 장에 추가되었습니다.
  • 개인적인 의견으로, 저자가 윤리적 해킹 작업에 필요한 신속한 구현을 해치지 않으면서도 더 깔끔한 코드를 작성할 수 있었을 것입니다. 그렇게 하지 않기로 한 이유는 알 수 없습니다.

리팩토링

소스 코드를 제대로 구현하고 치명적 오류를 피하기 위해 반드시 이루어져야 했던 중요한 버그 수정 사항은 다음과 같습니다:

  • chapter02/bh_sshserver.py는 test_rsa.key 파일에 포함된 RSA 키가 필요했으며, 해당 파일은 이제 해당 디렉터리에 포함되어 있습니다.
  • chapter03/sniffer_ip_header_decode.py, sniffer_with_icmp.py, scanner.py 모두 struct 구현 문제로 인해 IP 패킷 크기 정의와 32/64비트 아키텍처 간 이식성에 심각한 문제가 있었습니다. 이러한 문제에 대한 자세한 내용은 Stack Overflow의 이 스레드에서 확인할 수 있습니다.
  • chapter03/scanner.py는 더 이상 유지관리되지 않고 Python 3와 많은 비호환성을 보이는 netaddr 라이브러리를 사용했습니다. 따라서 코드가 리팩토링되어 이제 Python stdlib의 ipaddress 모듈을 사용합니다.
  • chapter04/arper.py 및 mail_sniffer.py는 Python 3와 호환되지 않는 scapy 라이브러리를 사용했습니다. 따라서 코드가 리팩토링되어 이제 라이브러리를 사용합니다.

번역

다른 언어로 된 기여는 여기에서 확인할 수 있습니다:

  • 터키어로 Bedirhan Budak이(가) 번역했습니다.

기여

상식적인 차원에서, 먼저 이 저장소에 적용하고자 하는 변경 사항을 이슈(issue)를 통해 논의하시기 바랍니다.

  1. 도입하려는 수정 사항이 실제로 풀 리퀘스트(pull request)로 이어지는지 확인하십시오. 한두 줄의 변경은 대신 이슈를 통해 요청해야 합니다.
  2. 필요한 경우 프로젝트 구조 변경과 관련된 세부 사항을 README.md 파일에 업데이트하십시오.
  3. 수정 사항을 포함하는 커밋 메시지가 표준을 따르는지 확인하십시오. 진행 방법을 모르겠다면 여기가 좋은 참고 자료입니다.
  4. 요청은 가능한 한 빨리(보통 48시간 이내에) 검토될 것입니다.
도구 다운로드
kamene
  • chapter04/pic_carver.py는 이제 cv2 대신 opencv-python 라이브러리를 사용합니다. "cv2.cv" 모듈은 더 이상 사용되지 않아 대체되었습니다. 원래 코드의 "cv2.cv.CV_HAAR_SCALE_IMAGE" 매개변수는 이 커밋으로 인해 "cv2.CASCADE_SCALE_IMAGE"로 대체되었습니다.
  • chapter05/content_bruter.py는 작동에 단어 목록(wordlist)이 필요했습니다. 해당 파일은 all.txt로 해당 장에 추가되었습니다.
  • chapter05/joomla_killer.py는 작동에 단어 목록이 필요했습니다. 해당 파일은 cain.txt로 해당 장에 추가되었습니다.
  • chapter06/bhp_bing.py, bhp_fuzzer.py, bhp_wordlist.py는 PEP8을 준수하도록 재포맷되었지만, Burp Suite에서 이 특정 애플리케이션의 클래스 이름을 카멜 케이스로 맞춰야 하기 때문에 일부 경고가 계속 발생할 수 있습니다.
  • chapter06/jython-standalone-2.7.2.jar는 책에 제시된 파일보다 더 업데이트된 버전으로 제공됩니다.
  • chapter07/git_trojan.py는 더 이상 사용되지 않는 imp 라이브러리를 types로 대체하도록 리팩토링되었습니다. 책의 지침대로 필요한 구성 파일이 포함된 하위 디렉터리 구조가 구현되었습니다. "trojan_config" 변수에는 config 하위 디렉터리의 상대 경로가 누락되어 있었습니다. 원래 코드에서 생성되는 AttributeError 예외를 피하기 위해 60번째 줄에 "to_tree" 메서드 호출이 추가되었습니다. 2FA를 사용하는 경우 비밀번호 대신 액세스 토큰을 생성하는 방법에 대한 지침이 주석으로 포함되었습니다.
  • chapter08/keylogger.py는 작동에 PyHook 라이브러리가 필요합니다. 1.6.2 버전의 wheel 파일이 포함되어 있습니다. 필요한 경우 다른 버전은 여기에서 다운로드할 수 있습니다.
  • chapter09/ie_exfil.py는 "encrypt_string" 함수에 전달될 때 plaintext 변수(문자열 또는 바이너리 문자열로 나타날 수 있음)의 처리로 인해 오류가 발생했습니다. 또한 base64 라이브러리의 사용이 수정되었습니다. Enraged 님이 이 커밋에서 기여했습니다.