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