【大阪 / 横浜】インフラ / サーバーサイドエンジニア募集中!

【大阪 / 横浜】インフラ / サーバーサイドエンジニア募集中!

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【圧倒的 低コスト】Oracle Cloud 構築・運用保守・監視サービス

【圧倒的 低コスト】Oracle Cloud 構築・運用保守・監視サービス

【WordPress専用】高速 クラウド / サーバー『WebSpeed』

【WordPress専用】高速 クラウド / サーバー『WebSpeed』

【低コスト】Wasabi オブジェクトストレージ 構築・運用サービス

【低コスト】Wasabi オブジェクトストレージ 構築・運用サービス

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【SNSアプリ開発】LINE カスタムアプリ開発サービス

【SNSアプリ開発】LINE カスタムアプリ開発サービス

【ECアプリ開発】Shopify カスタムアプリ開発サービス

【ECアプリ開発】Shopify カスタムアプリ開発サービス

【音声アプリ開発】Twilio カスタムアプリ開発サービス

【音声アプリ開発】Twilio カスタムアプリ開発サービス

【グローバル対応】北米リージョン・クラウド / サーバー サポート

【グローバル対応】北米リージョン・クラウド / サーバー サポート

【取材記事】サーバーサイド・バックエンドエンジニアを募集中

【取材記事】サーバーサイド・バックエンドエンジニアを募集中

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

Merry Christmas。∠(*・m・)v クリスマススキャンって知ってる?

こんにちは。
システムソリューション部のかわです。

あっというまの年末ですね。
午後5時とかになるともう外は暗いし寒いし、この時期はずっとコタツでぬくぬくSwitchやってたいですね。

12月といえばクリスマス。
じぶんにサンタが来なくなって久しいものの、街並みが
きらびやかになるのは趣があっていいものですよね∠(*・m・)v

題名にもあるように、ITにもクリスマスにまつわるものがあってですね、
みなさん「クリスマス(ツリー)スキャン」てご存知ですか?
ネットワーク攻撃の名称なんですが、techiesにはいろんな造語があってなるほどおもしろくて
(実際攻撃されるのはあんま笑える話じゃないんですが)
今回はこのクリスマススキャンについてすこーし書いてみたいとおもいます。

クリスマススキャンとは?

クリスマススキャンとかクリスマスツリーアタックとかいろんな呼称があるんですが、
これはパケットのコントロールフラグが由縁になってます。
攻撃者はだいたい足がつかないように、ポートスキャンの方法として
ステルススキャンを用いると思うんですけど、これもその一種です。

パケット(今回はTCPのお話)にはコントロールフラグという6bitの部分があり、
それらによってコネクションを制御したりします。ACKとかSYNとかが有名ですね。
クリスマススキャンにはそのうち下記の3つが使われます。

URG(Urgent)- 緊急(優先)的に処理する必要のあるデータを含む

PSH(Push)- データをバッファさせず、すぐに上位へ渡す

RST(Reset)- コネクションを強制的に切断させる

RST以外あまり聞き慣れないフラグかもしれません。
クリスマススキャンはこの3つのフラグのビットに「1」を立てて、初回のパケットとして
送信することで標的の反応を調べる攻撃手法です。

なんでクリスマス?

上述のとおり3つのフラグが立っていることに由縁しているんですが、まったくピンと来ないですよね。
実はこれ、パケットキャプチャしてWireshark等で可視化する必要があるんですが、

フラグ部分がカラフルですよね。加えてフラグ構造がツリーの右半分?みたいな円錐形をしているので、
ツリーが彩られているように見える、というのが由縁だそうです。

⬇こういうかんじ

あんまり見えないですね

なんでこれが攻撃になるの?

攻撃というよりはポートスキャンの一種なので、正確には「攻撃の下準備」と言えます。
ご存知のとおり、TCPパケットではSYN~ACK~FINみたいな3wayハンドシェイクの流れが取られます。
が、この流れを無視してステート外パケットが来たらどうでしょう?

・該当ポートが開いている場合
OSなどによって挙動は異なるものの、SYNとかではないのでポートが開放されている場合は
基本何も応答しないです。応答がないことによって、そのポートがオープンになっていることが
第三者に簡単にわかってしまう、ということですね。

・該当ポートが開いていない場合
こちらの場合は許可されていないので、基本的にRSTパケットを返します。
が、「閉じている」ことは送信元にわかってしまいますね。

ちなみにWindowsの仕様ではopen/closed関係なくRSTで応答するらしいので、
OSが判明してしまう可能性があります。
また、FirewallやUTMによってもRSTを投げるとか投げないとか挙動が変わるので、
他の攻撃との組み合わせ次第ではopenポートがわかってしまう恐れもあります。

この記事がお役に立てば【 いいね 】のご協力をお願いいたします!
7
読み込み中...
7 票, 平均: 1.00 / 17
100
facebook twitter はてなブックマーク
【大阪 / 横浜】インフラエンジニア / サーバーサイドエンジニア 積極採用中!

【大阪 / 横浜】インフラエンジニア / サーバーサイドエンジニア 積極採用中!

この記事をかいた人

About the author

かわ けん

システムソリューション部所属
好奇心旺盛ポケ○ン