そいや、マクニカさんの7月に公開した「ハニーマンション」のblogについて、勝手にOSINT CTFした結果をWriteUpしました。shodanの使い方の参考にでもどうぞ!
[OSINT]ハニーマンションを探せ
note.com/hiro_shi_note/…
[OSINT]ハニーマンションを探せ
note.com/hiro_shi_note/…
こんにちは、セキュリティアナリスト・ホビィストのhiroです。7月下旬、セキュリティベンダー等のBlogを巡回していた際、ちょっと面白いBlogを発見しました。それがマクニカさんのBlog「ハニーマンション」です。
Blogのタイトルも惹かれたのですが、さらに本文の一文にも。
そうですか、特定しろとよみました。これはマクニカさんが出したOSINT CTFなんですね、と即座の理解しました(そういうフリにしか読めないです)。ということでこれに挑戦したWriteUpを書きます。
FLAGの設定
このBlogから、こんな課題を勝手に設定しました。
①ハニーマンションのIP/ネットワークを特定せよ
②ハニーマンションの立地を特定せよ
山崎さんの部屋まで特定せよ、という課題にしようかと思ったのですが、答えを得るのは現地まで行って表札の有無から確認する必要がある=刑法に触れる可能性もあり、難しいと考えて止めておきました。そして、今回使えるツールについては、マクニカさんのBlog内でも使っている、shodanにしました(ただし、shodanについては有料アカウントが必要です)。ということでWriteUpをしていきます。なお、あらかじめ申しておきますが、②Flagは妄想も入っていますのでおしりおきください。
①ハニーマンションのIP/ネットワークを特定せよ
②ハニーマンションの立地を特定せよ
山崎さんの部屋まで特定せよ、という課題にしようかと思ったのですが、答えを得るのは現地まで行って表札の有無から確認する必要がある=刑法に触れる可能性もあり、難しいと考えて止めておきました。そして、今回使えるツールについては、マクニカさんのBlog内でも使っている、shodanにしました(ただし、shodanについては有料アカウントが必要です)。ということでWriteUpをしていきます。なお、あらかじめ申しておきますが、②Flagは妄想も入っていますのでおしりおきください。
Flag1: ハニーマンションのIP/ネットワークを特定せよ
まずはもっとも簡単なところから行ってみたいと思います。ヒントになりそうなのは記事中のここでしょうか。
かなり特徴のあるレスポンスデータ。フィンガープリントとして使えるかもしれません。まずはこのキーを使ってshodanで検索をしてみましょう。検索窓に"Server: Boa/0.94.14rc21”ととりあえず入れてみましょう。shodanは修飾子なしで適当なキーワードで検索した場合、データの全文検索がされます。私は以前、あえてall:[検索文字列]と入れて検索をしていたのですが、これだとなぜか検索結果が異なってくる事があり、最近でALLありとなしで検索をするようにしています。さて、検索結果です。
香しい検索結果が出ています(苦笑)。という下世話な興味もなのですが、これだけだと数も多く、特定は難しいと思われます。もう少し絞っていきましょう。マクニカさんは日本の会社ですので、ターゲットを日本国内に絞っていきましょう。データ数は46,058件です。
いや、それでもまだキビシイ!(検索結果の数が微妙に違いますが、そこはとりあえず置いておきましょう)。とはいえ、だいぶ絞れてきました。記事中のスクショから、このサービスは80番ポートで公開されていることがわかります。合わせて、これは仮説になるのですが、マクニカさんの本社は新横浜であることから、山崎さんのお住まいは横浜近辺である可能性、いや、横浜だろう、と予想して検索をしていきます。調査には想像力、イマジネーションはとても大切なことを過去の経験から学んでいます。その背景として、新横浜は実は交通の便が非常に悪く、現実的に使える路線は横浜市営地下鉄かJR横浜線のみ、通勤を考えると①乗り換えが面倒 ②通勤時に異常に混雑する田園都市線や東海道線などはあまり使わないだろう③両路線とも住環境に優れた地域が2~3駅以内にあることからそんなに遠くは住まないだろう、という、二つとなりの駅(仲町台)の近くに住んでいた自らの経験から予想しました(笑)。それでは絞っていきましょう。検索キーワードは""Server: Boa/0.94.14rc21" country:"JP" city:"Yokohama" port:"80""です。
一気に現実的な数字に落ちてきました。まだここから探すのは少し苦痛です(いや、普段ならここからがんばるのですが)。じつはBlog中に特定につながるヒントが隠されています。
「某ケーブルテレビ事業者」そう、ISPは某CATV事業者、このなかで該当するのは"TOP ORGANIZATION"のうちit's communicationsです。shodanは検索につかえる要素の一部がリンクされており、クリックすることで絞込検索が可能です。それではこのit's communicationsをクリックしてみましょう。
25件まで絞れました。とりあえずこのデータを見ていきましょう。
おや。。。
おや。。。
4オクテット目が1のホストが
マスクとなんとなく一致していますね。結果をみてみるとOpen Portもフィンガープリントも一致します。このセグメント帯は怪しいです、「ハニーマンション」かもしれません。もう少し確実にするためにネットワーク検索をしてみましょう。検索キーは"net:115.165.122.0/24"です(いや、Host検索してもいいのですが、ここは勉強も兼ねてネット検索を使います)
色々でてきます。なんとなくいろいろ一致している気がしますね。このうちの何個かのホストについて調べてみました。特徴的なところで.178のホストなんかはターゲットになりうるかもしれません。ともったいぶったところで、結果としてすべて一致。ハニーマンションのネットワークは115.165.122.0/24と確定と考えます。
Flag2: ハニーマンションの立地を特定せよ
このネットワークと特定できたことで第一フラグをゲットできたということで、次のフラグをとっていきます。あらかじめ言っておきますが、場所の詳細かつ確実な特定は難しく、正解は山崎さんに聞くしかありません。なのでおおよそのエリアを絞っていきます。ここではGoogle mapも使っていきます。Geolocationのデータですが、shodanの検索データ、"Raw data"から見る事ができます。結果はこちらです。
ここでいうlatitudeはデルのパソコンの事ではなく、緯度を示します。longtitudeは経度です。それではこれをGoogle mapで検索しましょう。結果はこのようになっています。
中山駅近辺ですか。。。中山駅(川和駅もそうなのですが)実はマクニカさんの本社と非常に近いのです。こんな感じです。
なんとなく、中山駅近辺が臭いですね。ただ、Geolocationデータはあまり信用がなりません。過去の経験の中でもっとも最悪だったのが、中国と示されていた場所は実際は日本だったことまであります。そういった経験から、かならずtracerouteをとって場所の確認をするようにしています。Traceroute、自ホストから打つのも良いのですが、折角なのでOSINTツールを使ってみましょう。今回は中国のサービスであるipip.netを使います。ipip.netはこちらもGeolocationサービスなのですが、その中にtracerouteのツールがあります。このツールは世界各地にあるipip.netのホストからtracerouteができるため、非常に便利なサービスです。
それではTracerouteしてみましょう。今回はアメリカ、Oracleから打ってみます。結果は下のようになりました。
この結果でもこのIPは神奈川県であると言っています。ルーターのホスト名にaobaとあるのですが、中山駅から近いところに青葉台という高級住宅街がある事から、このルーターがもしかしたら青葉台にある?ロケーションとして偶然とも言えない気がします(過去キャリアNWを担当するエンジニアをしていた時代、地名をホスト名につける命名規則が存在していたところもありました)。この事からもGeolocationとしては大きな外れはなく、場所は中山駅周辺~長津田近辺と考えました。が、青葉台周辺も捨てきれないのです。青葉台は高級住宅街、そう、マクニカさんは
お給料がとてもいい会社、青葉台に住むに相応しい所得です。僕(達)の夢を壊さないよう、青葉台である!としておきたいのですが、それはそれで、中山駅のある緑区はターゲットと考え、調査をします。ケーブルテレビを引いている会社はだいたい「あるで」と自社のWebで公開してますので、その線から調査をしましょう、
ありました。が、データが2014年更新と古い。ちょっと厳しいかも。それじゃぁということでYahoo!の住宅検索です。これは物件を条件を指定して検索する事が可能です。ケーブルテレビ付き賃貸物件の物件を探したのですが…
多いorz。。。ということで、ここから先は断念。部屋数とセグメントあたりのノード数が一致するのか等考えたのですが、物件の特定にはいたりませんでした(まぁわかったといっても、さすがにそこまで特定したら怒られそうですよね/笑)。ということで、マクニカさんの年収を考えると、中山駅近辺で一番家賃が高いマンションが「ハニーマンション」であるとしておきましょう(雑)
まとめ
最後は雑にまとめましたが、だいたいこんな感じでOSINTできました。実はGeolocationについては別のツールを使うと別のLocationデータがでるのですが、そこにはマンションが載っており、一瞬そこかな?と思わせるのですが、実はその場所にはマンションがない、等、Geolocationの利用については改めて考えさせられる結果となりました。