Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
blackhat-python3 — 「Black Hat Python」(ジャスティン・サイツ著)のソースコード。コードは完全にPython 3に変換され、PEP8標準に準拠するように再フォーマットされ、非推奨ライブラリの実装に伴う依存関係の問題を排除するためにリファクタリングされています。 | Kitploit
ツール/GitHubGitHub/eonraider/blackhat-python3
OSINT (オープンソースインテリジェンス)コード分析エクスプロイトフォレンジックポストエクスプロイトウェブセキュリティネットワークセキュリティマルウェア分析暗号化ペネトレーションテスト学習と教育
GitHub
2.4k4552年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
eonraider/blackhat-python3

blackhat-python3

「Black Hat Python」(ジャスティン・サイツ著)のソースコード。コードは完全にPython 3に変換され、PEP8標準に準拠するように再フォーマットされ、非推奨ライブラリの実装に伴う依存関係の問題を排除するためにリファクタリングされています。

リポジトリを見る

Python 3 "Black Hat Python" ソースコード

ジャスティン・サイツ著『Black Hat Python』のソースコードです。コードは完全にPython 3に変換され、PEP8標準に準拠するよう再フォーマットされ、非推奨ライブラリの実装に伴う依存関係の問題を排除するためにリファクタリングされています。

本書全体で提示されているソースコードには多くの最適化を実装できた可能性がありますが、読者が適宜修正を加えられるよう、コードは可能な限りそのままにしています。現状のコードは、docstringから型ヒント、例外処理に至るまで深刻なリファクタリングの努力を要し、コンテキストマネージャのような改善は言うに及ばずですが、これらの問題自体が、実装を意図する読者にとって有益となるかもしれません。また、インデントに起因する多くのバグが存在しますが、ランタイム中に致命的なエラーを避けるために修正されています。

同様の変換は、TJ O'Connor著『Violent Python』のソースコードに対しても私自身が行っており、こちらでご確認いただけます(まだご覧になっていない場合)。

使用方法

プロジェクトをクローンするディレクトリ(DIR)を選択し、git cloneを使用してクローンし、新しい仮想環境(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

注意事項

  • 本書で提示されている一部のリストが、著者のコードリポジトリ(No Starch Pressウェブサイトから入手可能)に存在しなかったため、該当する章に追加しました。本書のコードと関連付けるために、必要に応じてファイルに正確な命名規則を適用しました。
  • インタプリタによって警告を発生させていた軽微なバグは、コードの特性を変更せずに全体にわたって修正しました。
  • コードを動作させるために必要な補助ファイルを該当する章に追加しました。
  • 個人的な余談ですが、著者は倫理的ハッキングの活動に求められる実装の迅速さを損なうことなく、よりクリーンなコードを書くことは可能だったはずです。なぜそうしなかったのかは不明のままです。

リファクタリング

ソースコードを適切に実装し、致命的なエラーを回避するために必要だった重要なバグ修正:

  • 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. 導入したい変更が実際にプルリクエストにつながるものであることを確認してください。1行や2行の変更は、代わりに issue で依頼すべきです。
  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 は動作にワードリストを必要としていました。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" 関数に渡される際の処理によりエラーが発生していました。さらに、base64 ライブラリの使用法が修正されました。Enraged 氏によるこのコミットでの貢献です。