Pythonは情報セキュリティの世界では他よりも先んじているプログラミング言語です。本書ではPythonを使った情報セキュリティにおける攻撃手法について解説します。前半ではrawソケットやScapyライブラリなどネットワーク関連の内容を扱います。後半ではCOMをPythonから扱う方法やVolatilityフレームワークなどシステム関連のトピックを扱います。読者はコーディングを通じてサンプルPythonツールの拡張、外部ツールとの連携や自動化について学習することができます。攻撃者の意図や実践手法から防御方法を導き出すというアプローチは、今後すべての情報セキュリティ技術者にとって必須のテクニックになるでしょう。
サポートページ(サンプルコードや正誤表)
サイバーセキュリティプログラミング
―Pythonで学ぶハッカーの思考
Justin Seitz 著、青木 一史、新井 悠、一瀬 小夜、岩村 誠、川古谷 裕平、星澤 裕二 訳
- TOPICS
- Security , Python
- 発行年月日
- 2015年10月
- PRINT LENGTH
- 256
- ISBN
- 978-4-87311-731-7
- 原書
- Black Hat Python
- FORMAT
- PDF EPUB
関連ファイル
目次
訳者まえがき 序文 まえがき 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 その他のサンドボックス検知方法 索引