カメニッキ

カメとインコと釣りの人です

「サイバーセキュリティプログラミング ―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 その他のサンドボックス検知方法


[http://www.oreilly.co.jp/books/9784873117317/:title] より引用

読み進めるにあたってKaliLinuxのセットアップが必要なので落とす。

VMwarePlayer向け

http://images.kali.org/Kali-Linux-2.0.0-vm-i686.7z

VirtualBox向け

http://images.kali.org/Kali-Linux-2.0.0-vbox-i686.7z

3.0GBあって割りと時間がかかるので、その間Pythonを書いたことない僕は Python入門 でお勉強しとく。

感想はいつかきっと書く。おわり