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

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

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

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

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

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

【格安】Webサイト セキュリティ自動診断「クイックスキャナー」

【格安】Webサイト セキュリティ自動診断「クイックスキャナー」

【WordPress 専用】クラウドサーバー『ウェブスピード』

【WordPress 専用】クラウドサーバー『ウェブスピード』

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

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

【次世代】ゲーム専用データ分析エンジン『ThinkingEngine』

【次世代】ゲーム専用データ分析エンジン『ThinkingEngine』

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

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

【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ポートがわかってしまう恐れもあります。

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

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

この記事をかいた人

About the author

かわ けん

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