サイバーセキュリティプログラミング 第2版

―Pythonで学ぶハッカーの思考

[cover photo]
TOPICS
Security , Python
発行年月日
PRINT LENGTH
304
ISBN
978-4-87311-973-1
原書
Black Hat Python, 2nd edition
FORMAT
Print PDF EPUB
Ebook
3,520円
Ebookを購入する
Print
3,520円

情報セキュリティ技術者の必携書がPython 3に対応して大幅改訂。本書ではPythonを使ったサイバー攻撃手法について解説します。基本的な通信プログラムからProxyやRawデータ、Webアプリケーションへの攻撃やトロイの木馬の動作、そしてフォレンジック手法やOSINTまで、攻撃者の実践手法から防御方法を学びます。日本語版オリジナルの巻末付録として「Slackボットを通じた命令の送受信」「OpenDirのダンプツール」「Twitter IoCクローラー」を追加収録しました。

関連ファイル

目次

賞賛の声
序文
訳者まえがき
まえがき

1章 Python環境のセットアップ
    1.1 Kali Linuxのインストール
    1.2 Python3のセットアップ
    1.3 IDEのインストール
    1.4 コードの健全性

2章 通信プログラムの作成・基礎
    2.1 Pythonによるネットワークプログラミング
    2.2 TCPクライアント
    2.3 UDPクライアント
    2.4 TCPサーバー
    2.5 netcatの代替
        2.5.1 試してみる
    2.6 TCPプロキシ
        2.6.1 試してみる
    2.7 Paramikoを用いたSSH通信プログラム
        2.7.1 試してみる
    2.8 SSHトンネリング
        2.8.1 試してみる

3章 ネットワーク:rawソケットと盗聴
    3.1 UDPを用いたホスト発見ツール
    3.2 WindowsとLinuxにおけるパケット盗聴
        3.2.1 試してみる
    3.3 IPレイヤーのパース
        3.3.1 ctypesモジュール
        3.3.2 structモジュール
        3.3.3 IPヘッダーパーサーの作成
        3.3.4 試してみる
    3.4 ICMPのパース
        3.4.1 試してみる

4章 Scapyによるネットワークの掌握
    4.1 電子メールの認証情報の窃取
        4.1.1 試してみる
    4.2 ARPキャッシュポイズニング
        4.2.1 試してみる
    4.3 pcapファイルの処理
        4.3.1 試してみる

5章 Webサーバーへの攻撃
    5.1 Webライブラリの利用
        5.1.1 Python2.x用のurllib2ライブラリ
        5.1.2 Python3.x用のurllibライブラリ
        5.1.3 requestsライブラリ
        5.1.4 lxmlおよびBeautifulSoupパッケージ
    5.2 オープンソースのWebアプリケーションのインストール先のマッピング
    5.3 WordPressフレームワークのマッピング
        5.3.1 標的ホストのテストスキャン
        5.3.2 試してみる
    5.4 ディレクトリとファイルの辞書攻撃
        5.4.1 試してみる
    5.5 HTMLフォームの認証を辞書攻撃で破る
        5.5.1 試してみる

6章 Burp Proxyの拡張
    6.1 セットアップ
    6.2 Burpを使ったファジング
        6.2.1 試してみる
    6.3 BurpでBingを使う
        6.3.1 試してみる
    6.4 Webサイトのコンテンツをパスワード作成に利用する
        6.4.1 試してみる

7章 GitHubを通じた指令の送受信
    7.1 GitHubアカウントの設定
    7.2 モジュールの作成
    7.3 トロイの木馬の設定
    7.4 GitHubから指令を受信するトロイの木馬
        7.4.1 Pythonのインポート機能の活用
        7.4.2 試してみる

8章 Windowsでマルウェアが行う活動
    8.1 趣味と実益のキーロガー
        8.1.1 試してみる
    8.2 スクリーンショットの取得
    8.3 Python流のシェルコードの実行
        8.3.1 試してみる
    8.4 サンドボックス検知

9章 情報の持ち出し
    9.1 ファイルの暗号化と復号
    9.2 電子メールによる送信
    9.3 ファイル転送による送信
    9.4 Pastebin経由での送信
    9.5 一括りにする
        9.5.1 試してみる

10章 Windowsにおける権限昇格
    10.1 必要なライブラリのインストール
    10.2 脆弱性が存在するBlackHatサービス
    10.3 プロセス監視ツール
        10.3.1 WMIを使用したプロセス監視
        10.3.2 試してみる
    10.4 Windowsにおけるトークンと権限
    10.5 競合状態に勝つ
        10.5.1 試してみる
    10.6 コードインジェクション
        10.6.1 試してみる

11章 フォレンジック手法の攻撃への転用
    11.1 インストール
    11.2 一般情報の偵察
    11.3 ユーザーの偵察
    11.4 バックドアの調査
    11.5 volshellのインタフェース
    11.6 Volatilityプラグインをカスタムする
        11.6.1 試してみる
    11.7 その先へ!

付録A Slackボットを通じた命令の送受信
    A.1 ワークスペースとトークンの準備
    A.2 Slackボットの作成
    A.3 試してみる

付録B OpenDirのダンプツール
    B.1 Seleniumの準備
        B.1.1 OpenDirのダンプツールの作成
    B.2 OpenDirの準備
    B.3 試してみる

付録C Twitter IoCクローラー
    C.1 Twitter APIキーの取得
    C.2 Twitterアカウントリストの作成
    C.3 Webからコンテンツを得るモジュールの作成
    C.4 メイン機能の作成
    C.5 試してみる

索引

コラム目次
    ipaddressモジュール
    HTMLParser入門
    pyWinHookモジュール
    Volatilityプラグイン