内容紹介
Pythonによるセキュリティプログラミング!
Pythonは情報セキュリティの世界では他よりも先んじているプログラミング言語です。本書ではPythonを使った情報セキュリティにおける攻撃手法について解説します。前半ではrawソケットやScapyライブラリなどネットワーク関連の内容を扱います。後半ではCOMをPythonから扱う方法やVolatilityフレームワークなどシステム関連のトピックを扱います。読者は優秀なペンテスターの考え方や哲学、コーディング手法を学ぶことができます。攻撃者の意図や実践手法から防御方法を導き出すというアプローチは、今後すべての情報セキュリティ技術者にとって必須のテクニックになるでしょう。
このような方におすすめ
セキュリティ技術者、企業の情報セキュリティ担当者、官公庁の情報セキュリティ担当官、教職員、大学生、プログラマーほか
目次
詳細目次
訳者まえがき
序文
まえがき
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 その他のサンドボックス検知方法
索引
続きを見る