Shikata Ga Nai

Private? There is no such things.

WiresharkでOSを識別してみた

Hello there, ('ω')ノ


ターゲットのOSを認識できると情報収集プロセスが次のレベルに進むことができて。

OSの識別は、どのように機能すると思いますか?その秘密をお伝えします。

 

すべてのOSには、TCPスタックの実装方法が異って。

リモートマシンから受信したパケットには、

 TTL

 フラグメントオフセット

 ウィンドウサイズ

などの特定のフィールドが含まれて。

パケットの値を比較することで、より正確にOSを予測できて。

 

たとえば、Windowsマシンにpingを実行すると。

返されるTTL値は128で、Linuxマシンにpingを実行するとたいていTTL値は64で。

 

下記のnmapコマンドで、OSを確認できますが。

 nmap -O 192.168.56.104,192.168.56.105

OSを確認するためにnmapの出力に依存する必要はなく。

 

 Wiresharkで、TTLフィールド値を確認すると。

Linuxボックスの場合は64、Windowsボックスの場合は128で。

 

下部にある最大セグメントサイズの値を見ると。

Linuxボックスの値は1460バイト、Windowsボックスの値は1440バイトで。

 

Linux

192.168.56.105

 

f:id:ThisIsOne:20200704142143p:plain

 

ip.src == 192.168.56.105

 

f:id:ThisIsOne:20200704142356p:plain

 

Windows

192.168.56.104

 

f:id:ThisIsOne:20200704142014p:plain

 

ip.src == 192.168.56.104

 

f:id:ThisIsOne:20200704141755p:plain

 

Best regards, (^^ゞ