GRADUATION
通信を、見えないものから見えるものに変えられるようになりました。
curl -vでHTTPのやり取りをそのまま覗き、ncで生のリクエストを手で組み立てて送り、最後は自作のPythonキャプチャでEthernet/IP/TCPの生バイト列からHTTPのやり取りを取り出しました。「通信している」という言葉の中身を、自分の目で確かめました。
おつかれさまでした。
持ち帰るもの
- HTTPは、ただのテキストncで手打ちしたGET / HTTP/1.1という数行だけで、本物のHTTPサーバーが応答しました。curlの裏側も、結局は同じテキストのやり取りです。
- パケットは、専用ツールが無くても読めるtcpdumpやWiresharkが無くても、AF_PACKETソケットとstructがあれば、生のパケットを自分で捕まえて構造をたどれます。mini-ctf-forensicsで読んだpcapファイルの構造と、まったく同じヘッダーでした。
- loopbackも、ちゃんと「通信」している127.0.0.1宛の通信も、Ethernet風のヘッダーを持つパケットとしてカーネルの中を流れています。「自分のPCの中だから特別」ではありません。
次にやるといいこと
- これでT2(低レイヤー・システム)トラックが一巡しました。次はT3(Web診断)で、この土台の上にWebアプリケーションへの攻撃を積み上げます。
- mini-ctf-forensicsのpcap解析章を思い出しながら復習すると、この章の内容がより深く定着します。