私の最後のポストでは、クライアントシステムはおそらく脆弱なファイルであることが知られているためにプローブするツールのいくつかの種類を実行していたことが確認された。 我々はまだだけでなく、サーバがそれらを無視していた理由として、しかし、リセットパケットを説明する必要があります。
今私たちも、このパケットキャプチャは、2つのエンドポイントとの関係で撮影されたか分からない。 私は、TTLの情報をプリントアウトするために"- Tフィールドは"スイッチを使用してtsharkのを実行するつもりです。 TTLを分析することにより、我々はクライアントとサーバの関係で盗聴されている場所を決定することができるはずです。 私はまた、パケットの順序で異常がないかどうかを確認するためにIP IDをプリントアウトするつもりです。
ここにコマンドと出力は次のとおりです。
tsharkの- R challenge1.cap - Tフィールドの- e frame.number - E ip.src - E tcp.srcport - E ip.ttl - E ip.id
1 148.78.247.10 26922 49 0x2a6b
2 12.33.247.4 80 64 0 × 0000
3 148.78.247.10 26922 49 0x2a95
4 148.78.247.10 26922 49 0x2a96
5 12.33.247.4 80 64 0 × 3743
6 12.33.247.4 80 255 0xb0f2
7 148.78.247.10 26922 255 0xb0f2
8 12.33.247.4 80 64 0 × 3744
9 12.33.247.4 80 64 0 × 3745
10 12.33.247.4 80 64 0 × 3746
11 12.33.247.4 80 64 0 × 3747
12 12.33.247.4 80 64 0 × 3748
13 12.33.247.4 80 64 0 × 3749
14 12.33.247.4 80 64 0x374a
15 12.33.247.4 80 64 0x374b
16 0x374c 12.33.247.4 80 64
0x374d 17 12.33.247.4 80 64
148.78.247.10はクライアントです。 それがセッションを開始し、その上部のソースポートを使用して通信するので、我々はそれを知っている。 12.33.247.10は、ポート80から通信して私たちのHTTPサーバです。
パケット1で我々は、クライアントが49のTTLを持っている参照してください。 知られているオペレーティングシステムのための最も近い開始TTLマッチは64ですので、これはクライアントがLinux、UNIX、または徒歩15ホップに座ってMacのシステムである私達に伝えます。 パケット2では、64のTTL値を持つ複数のサーバーを参照してくださいので、ローカルネットワーク上に座って、前述のオペレーティングシステムのいずれかでなければなりません。 そう、我々はサーバーと同じコリジョンドメイン上にありますが、クライアントから車で15ホップに座って。
問題は、しかしながらあります。 パケット6と7を見てください。 ここでは、両方のシステムのTTLが255に変更してください。 OSは、セッション中のTTLを変更することはありませんので、これは非常に疑わしい見えます。 さらに、我々はすでにクライアントが私たちから15ホップに座っていることが判明。 255は、TTLフィールドは、単一バイト(IPヘッダのバイト8)であるとして可能な最大TTL値です。 送信元IPアドレスがリモートクライアントであると主張するので、にもかかわらず、パケットがどこがローカルネットワークから発信されていること方法はありません。 パケットが1つまたは複数のルータを越えていた場合、TTLの値は下がるだろう。
IP ID情報は、右のいずれかを見ていません。 クライアントからの最初の三つのパケットでは、IP ID値0x2a6b(10859)、0x2a95(10901)、および0x2a96(10902)を参照してください。 これは、クライアントはおそらく1増分IP IDを使用しているを教えてくれる、私達はちょうど最初に送信されると番目のパケット間のパケットの42を見ていない。 我々はクライアントから参照して、次のIP IDが0xb0f2(45298)です。 [OK]を、我々は34000パケット以上逃した場合を除き、このIP IDがジャイブしません。
上記の分析が唯一の理論的なそれが一貫性のないTTLの値がなかったらなる注意してください。 を見て3つだけのパケットで、我々は正確にIP IDのインクリメントを識別することはできません。 それはIP IDのインクリメントは完全にランダムであり、システムは単に1つの権利他の後に、2つの増分IP IDを割り当てるために起こったこと、また可能性が、非常に可能性はほとんどありません。 それでも、一緒にTTLおよびIP ID情報を組み合わせると、彼らはこの最後のパケットが同じシステムから発信されていることができなかったことを示している。
私たちは、で動作するようにサーバからのより多くのIP IDのデータを持っているので、ここではその見てみましょう。 IDは、次のとおりです。
- 0(0)
- 0 × 3743(14147)
- 0xb0f2(45298)
- 0 × 3744(14148)
- 0 × 3745(14149)
- 0 × 3746(14150)
- 0 × 3747(14151)
- 0 × 3748(14152)
- 0 × 3749(14153)
- 0x374a(14154)
- 0x374b(14155)
- 0x374c(14156)
- 0x374d(14157)
トレース内のパケット6からである第三記載されているIPのID、を見てみましょう。 他のIP IDのすべての増分1であるが、このIP IDが属していないことに注意してください。 実際、我々は、それは+1でIP IDのサーバをインクリメントすることと、このパケットがサーバから発信された方法がないことを示すことができる。
ヒュム。 奇妙なのリセットに、これらの疑わしいパケットのラインアップは我々が見たのだろうか。
tsharkの- R challenge1.cap - Tフィールドの- e frame.number - E ip.src - E tcp.srcport - E ip.ttl - E ip.id - E tcp.flags.reset
1 148.78.247.10 26922 49 0x2a6b 0
2 12.33.247.4 80 64 0 × 0000 0
3 148.78.247.10 26922 49 0x2a95 0
4 148.78.247.10 26922 49 0x2a96 0
5 12.33.247.4 80 64 0 × 3743 0
6 12.33.247.4 80 255 0xb0f2 1
7 148.78.247.10 26922 255 0xb0f2 1
8 12.33.247.4 80 64 0 × 3744 0
9 12.33.247.4 80 64 0 × 3745 0
10 12.33.247.4 80 64 0 × 3746 0
11 12.33.247.4 80 64 0 × 3747 0
12 12.33.247.4 80 64 0 × 3748 0
13 12.33.247.4 80 64 0 × 3749 0
0x374a 0 14 12.33.247.4 80 64
15 12.33.247.4 80 64 0x374b 0
16 12.33.247.4 80 64 0x374c 0
17 12.33.247.4 80 64 0x374d 0
ヘクタールああ! 我々は奇妙なTTLとIP ID値を持つパケットを見るのであれば、これらは、セッション中に送信される奇妙なリセットパケットでした。
それは、リセットパケットを送信するために、会話に飛び込むているいくつかの他社システムのように僕には見える。 これらの奇妙なパケットが255のTTLを持っているので、我々は、それは我々が盗聴されている場所と同じコリジョンドメイン上にある必要があります知っている。 それは、同じコリジョンドメイン上にあるので、イーサネットのヘッダ情報を参考にしてください。
tsharkの- R challenge1.cap - Tフィールドの- e frame.number - E ETH - E tcp.flags.reset
1イーサネットII、Srcの:HewlettP_ea:20:AB(〇時50分08秒B:EA:20:ab)は、DST:DellComp_20:7D:E3(00:B0:D0:20時07 D:E3)0
2イーサネットII、Srcの:DellComp_20:7D:E3(00:B0:D0:20時07分D:E3)、DST:HewlettP_ea:20:AB(午後十二時50分08秒B:EA:20:AB)0
3イーサネットII、Srcの:HewlettP_ea:20:AB(〇時50分08秒B:EA:20:ab)は、DST:DellComp_20:7D:E3(00:B0:D0:20時07 D:E3)0
4イーサネットII、Srcの:HewlettP_ea:20:AB(〇時50分08秒B:EA:20:ab)は、DST:DellComp_20:7D:E3(00:B0:D0:20時07 D:E3)0
5イーサネットII、Srcの:DellComp_20:7D:E3(00:B0:D0:20時07分D:E3)、DST:HewlettP_ea:20:AB(午後十二時50分08秒B:EA:20:AB)0
6イーサネットII、Srcの:D - Link_8f:E0:0C(午前0時50:BA:8F:E0:0C)、DST:HewlettP_ea:20:AB(0時50分08秒B:EA:20:AB)1
7イーサネットII、Srcの:D - Link_8f:E0:0C(午前0時50:BA:8F:E0:0C)、DST:DellComp_20:7D:E3(00:B0:D0:20:07 D:E3)1
8イーサネットII、Srcの:DellComp_20:7D:E3(00:B0:D0:20時07分D:E3)、DST:HewlettP_ea:20:AB(午後十二時50分08秒B:EA:20:AB)0
9イーサネットII、Srcの:DellComp_20:7D:E3(00:B0:D0:20時07分D:E3)、DST:HewlettP_ea:20:AB(午後十二時50分08秒B:EA:20:AB)0
10イーサネットII、Srcの:DellComp_20:7D:E3(00:B0:D0:20時07 D:E3)、DST:HewlettP_ea:20:AB(午後十二時50分08秒B:EA:20:AB)0
11イーサネットII、Srcの:DellComp_20:7D:E3(00:B0:D0:20時07 D:E3)、DST:HewlettP_ea:20:AB(午後十二時50分08秒B:EA:20:AB)0
12イーサネットII、Srcの:DellComp_20:7D:E3(00:B0:D0:20時07 D:E3)、DST:HewlettP_ea:20:AB(午後十二時50分08秒B:EA:20:AB)0
13イーサネットII、Srcの:DellComp_20:7D:E3(00:B0:D0:20時07 D:E3)、DST:HewlettP_ea:20:AB(午後十二時50分08秒B:EA:20:AB)0
14イーサネットII、Srcの:DellComp_20:7D:E3(00:B0:D0:20時07 D:E3)、DST:HewlettP_ea:20:AB(午後十二時50分08秒B:EA:20:AB)0
15イーサネットII、Srcの:DellComp_20:7D:E3(00:B0:D0:20時07 D:E3)、DST:HewlettP_ea:20:AB(午後十二時50分08秒B:EA:20:AB)0
16イーサネットII、Srcの:DellComp_20:7D:E3(00:B0:D0:20時07 D:E3)、DST:HewlettP_ea:20:AB(午後十二時50分08秒B:EA:20:AB)0
17イーサネットII、Srcの:DellComp_20:7D:E3(00:B0:D0:20時07 D:E3)、DST:HewlettP_ea:20:AB(午後十二時50分08秒B:EA:20:AB)0
したがって、クライアントがインターネットから入ってくると、それはルータやファイアウォールのどちらかとして動作するHPシステムを通過する。 当社のウェブサーバは、Dellのハードウェア上で実行されています。 私たちがリセットされます(パケット6および7)の両方のD - LinkのNICを使用して同じシステムによって生成されていることに注意してください。
では、なぜD - Linkシステムでは、セッションを強制終了しようとするのですか? クライアントが疑わしいファイルの要求を送信した直後に発生していました。 それは、D - Linkシステムでは、実際には単一の砥石で研がれた侵入防御システム(IPS)であるように僕には見える。 攻撃が検出されると、IPSは接続の両端にリセットパケットを送信することにより、攻撃を防止しようとします。
しかし、我々はまだいくつかの疑問を持っている。 攻撃が成功し、なぜサーバーはセッションを殺すためにIPSの試みを無視するように見えるのですか?
調べるために次のエピソードへの電源を入れます。