# サイバーセキュリティプログラミング 第2版のメモ
💡 このメモはサイバーセキュリティプログラミング 第2版の内容や読んだ時の感想を綴るためのメモです。メモなので雑多に書きます。
# 1章: LinuxとPythonの環境構築
- 丁寧
# 2章: PythonによるTCP/UDP/SSH通信
- Paramiko (opens new window)
- SSHv2プロトコル用のPythonライブラリ
# 3章: Pythonによるネットワークパケットの盗聴
- パケットを盗聴してパースする
- RFCを見れば構造が分かるので、それを元にパースすれば良い
# 4章: Pythonによるパケット閲覧と操作
- Scapy (opens new window)
- パケットを操作するためのPythonライブラリ
- Wiresharkで出来ることをPythonで出来る
# 5章: Pythonのライブラリを用いたWebサーバへの攻撃
- gobuster (opens new window)
- Go製のURI, DNS, Virtual Host Name, Amazon S3バケットのブルートフォースツール
- SVN Digger (opens new window)
- 辞書攻撃のワードリスト
# 6章: jythonを活用したBurp Proxyの拡張
- jython (opens new window)
- Python2のJava実装
- Writing your first Burp Suite extension (opens new window)
- Burp Suite Extension拡張に関するPortSwiggerの公式記事
# 7章: GitHubからの命令の取得
- GitHubは開発に利用されることから、ドメインやIPアドレスによってブロックする企業は少ないと考えられる
- ローカルのマルウェアに対する指示をコミットに積んでGitHubにpushすることで、マルウェアはそれをpullして動作する
- 賢い
# 8章: Windows上での情報収集
- PyWinHook (opens new window)
- Windowsにおけるキー入力イベントをトラップできるPythonのライブラリ
- pywin32 (opens new window)
- Windows APIのPythonラッパー
- スクリーンショット等のためのWindows APIを呼び出すことができる
- Generating Payloads in Metasploit (opens new window)
- シェルコードの生成に利用できる
- サンドボックス検知のために、マシンを起動してからの経過時間と利用者が最後にマシンに入力を行った時間を利用できる
- マシンを起動してからの経過時間が30分にも関わらず、最後にマシンに入力を行った時間が30分前であれば、マシンに感染してからマルウェアが起動したのではなく、解析用のサンドボックス上で起動したと考えられる
# 9章: 情報の持ち出し
- PyCryptodome (opens new window)
- 低レベルの暗号化に関する作業のためのPythonライブラリ
- 情報を持ち出す手段
- Email送信(SMTP)
- ファイル転送(FTP)
- *bin系に対するHTTPリクエスト(GET/POST)
- PasteBin (opens new window)
- Request Bin (opens new window)
- SlackBot(付録A)
- など
# 10章: WMIに着目した権限昇格
- wmi Tutorial (opens new window)
- Pythonを用いてWMIにアクセスする方法などをまとめたページ
- Pythonスニペットがたくさんある
- Windowsにおける権限に関するドキュメント (opens new window)
- 注目すべき権限
権限名 | 詳細 |
---|---|
SeBackupPrivilege | ファイル/ディレクトリのバックアップ、ACL(Access Control List)に関係なく全てのファイルへの読み取りが可能になる |
SeDebugPrivilege | 他のプロセスのデバッグが可能になる |
SeLoadDriver | ドライバのロード/アンロードが可能になる |
# 11章: Volatilityを用いたメモリフォレンジック
- Volatility3 (opens new window)
- Python製のメモリフォレンジックツール
- 仮想マシンとメモリ情報が保存される拡張子
仮想マシンソフト | 拡張子 |
---|---|
VMware | .vmem |
Hyper-V | .bin |
Parallels | .mem |
- Volatility Workbench (opens new window)
- メモリダンプからアーティファクトを抽出するためのコマンドラインメモリ分析およびフォレンジックツール
- メモリイメージを公開してる?らしいが、パッと見た感じ見つからなかった......
# おわりに
- ソースコードのスニペットが提示されているのはとても良いなと思った
- まだ実際には動かせていないので、必要に応じて動かしたい