
CVE-2020-11896 Treck TCP/IPスタックおよびデバイス資産調査のPoC
多くのメーカーがTreckプロトコルスタックを採用しているため、一部のメーカーはハードウェアIPコアの形でTreckプロトコルスタックを参照しています。デバイスのフィンガープリントだけでは脆弱性を特定するのに十分ではありません。対象デバイスがTreckプロトコルスタックであるかどうかを検出する方法が、資産調査の鍵となります。
以下は、Treckプロトコルスタックのフィンガープリント検出方法です。
Treckプロトコルスタックは、タイプ165(0xa5)のICMPパケットをカスタマイズしており、タイプ165のICMPパケットを受信すると、タイプ166のICMPパケット応答を返します。 まず、対象にICMPリクエストパケットを送信します。このとき、type=0xa5、code=0です。次に、対象が返すICMP応答パケットデータを受信します。このとき、type = 0xa6、code = 0であり、ICMPメッセージの9バイト目以降の6バイトが0x01,0x51,0x35,0x28,0x57,0x32(ビッグエンディアン)または0x51,0x01,0x28,0x35,0x32,0x57(リトルエンディアン)です。上記の条件を満たす場合、対象デバイスがTreckプロトコルスタックであることを示します。