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

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

[cover photo]
TOPICS
Security , Python
発行年月日
PRINT LENGTH
256
ISBN
978-4-87311-731-7
原書
Black Hat Python
FORMAT
PDF EPUB
Print
3,300円
この商品は品切れ再入荷未定です

Pythonは情報セキュリティの世界では他よりも先んじているプログラミング言語です。本書ではPythonを使った情報セキュリティにおける攻撃手法について解説します。前半ではrawソケットやScapyライブラリなどネットワーク関連の内容を扱います。後半ではCOMをPythonから扱う方法やVolatilityフレームワークなどシステム関連のトピックを扱います。読者はコーディングを通じてサンプルPythonツールの拡張、外部ツールとの連携や自動化について学習することができます。攻撃者の意図や実践手法から防御方法を導き出すというアプローチは、今後すべての情報セキュリティ技術者にとって必須のテクニックになるでしょう。

サポートページ(サンプルコードや正誤表)

関連ファイル

目次

訳者まえがき
序文
まえがき

1章 Python環境のセットアップ
    1.1 Kali Linuxのインストール
    1.2 Wing IDE

2章 通信プログラムの作成:基礎
    2.1 Pythonによる通信プログラムについて
    2.2 TCPクライアント
    2.3 UDPクライアント
    2.4 TCPサーバー
    2.5 Netcatの置き換え
        試してみる
    2.6 TCPプロキシーの構築
        試してみる
    2.7 Paramikoを用いたSSH通信プログラムの作成
        試してみる
    2.8 SSHトンネリング
        試してみる

3章 ネットワーク: rawソケットと盗聴
    3.1 UDPを用いたホスト発見ツールの作成
    3.2 WindowsとLinuxにおけるパケット盗聴
        試してみる
    3.3 IPレイヤーのデコード
        試してみる
    3.4 ICMPのデコード
        試してみる

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

5章 Webサーバーへの攻撃
    5.1 Webのソケットライブラリ: urllib2
    5.2 オープンソースのWebアプリケーションのインストール
        試してみる
    5.3 ディレクトリとファイルの総当たり攻撃
        試してみる
    5.4 HTMLフォームの認証を総当たり攻撃で破る
        試してみる

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

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

8章 Windowsでトロイの木馬がよく悪用するテクニック
    8.1 趣味と実益のためのキーロガー
        試してみる
    8.2 スクリーンショットの撮影
    8.3 Python流のシェルコードの実行
        試してみる
    8.4 サンドボックス検知

9章 Internet Explorerで楽しもう
    9.1 (ある種の)Man-in-the-Browser
サーバーの作成
        試してみる
    9.2 IEのCOMオートメーションを使用した情報の盗み出し
        試してみる

10章 Windowsにおける権限昇格
    10.1 必須要素のインストール
    10.2 プロセス監視ツールの作成
        WMIを使用したプロセス監視
        試してみる
    10.3 Windowsにおけるトークンと権限
    10.4 競合状態に勝つ
        試してみる
    10.5 コードインジェクション
        試してみる

11章 フォレンジックの攻撃への転用と自動化
    11.1 インストール
    11.2 プロファイル
    11.3 パスワードハッシュを手に入れる
    11.4 直接的なコードインジェクション
        試してみる

付録A リバースエンジニアリング用フレームワーク miasm
    A.1 miasmのセットアップ
    A.2 x86_64アセンブル
        miasmによるエミュレーション
    A.3 シンボリック実行

付録B さまざまなサンドボックス検知
    B.1 簡易サンドボックスの準備
        ソフトフック
        簡易サンドボックス pydbg_sbx.py
        実行
    B.2 ソフトフックの痕跡を見つける
        実行
    B.3 サンドボックスを回避する
        スライディングコール
        フックを回避してAPIを呼び出す
        実行
    B.4 ランタイム環境の特徴を見つける
        仮想マシンの検知
        PythonからC言語で書かれたコードを呼び出す
        実行
    B.5 その他のサンドボックス検知方法

索引