【転載】OSINTの実践例(Shodan、ipip.netの活用)

@SttyK (してぃーきっず) retweeted: そいや、マクニカさんの7月に公開した「ハニーマンション」のblogについて、勝手にOSINT CTFした結果をWriteUpしました。shodanの使い方の参考にでもどうぞ! [OSINT]ハニーマンションを探せ note.com/hiro_shi_note/…:

@SttyK (してぃーきっず) retweeted:

そいや、マクニカさんの7月に公開した「ハニーマンション」のblogについて、勝手にOSINT CTFした結果をWriteUpしました。shodanの使い方の参考にでもどうぞ!



[OSINT]ハニーマンションを探せ

note.com/hiro_shi_note/…


こんにちは、セキュリティアナリスト・ホビィストのhiroです。7月下旬、セキュリティベンダー等のBlogを巡回していた際、ちょっと面白いBlogを発見しました。それがマクニカさんのBlog「ハニーマンション」です。
画像1
Blogのタイトルも惹かれたのですが、さらに本文の一文にも。
画像2
そうですか、特定しろとよみました。これはマクニカさんが出したOSINT CTFなんですね、と即座の理解しました(そういうフリにしか読めないです)。ということでこれに挑戦したWriteUpを書きます。

FLAGの設定

 このBlogから、こんな課題を勝手に設定しました。
①ハニーマンションのIP/ネットワークを特定せよ
②ハニーマンションの立地を特定せよ

 山崎さんの部屋まで特定せよ、という課題にしようかと思ったのですが、答えを得るのは現地まで行って表札の有無から確認する必要がある=刑法に触れる可能性もあり、難しいと考えて止めておきました。そして、今回使えるツールについては、マクニカさんのBlog内でも使っている、shodanにしました(ただし、shodanについては有料アカウントが必要です)。ということでWriteUpをしていきます。なお、あらかじめ申しておきますが、②Flagは妄想も入っていますのでおしりおきください。

Flag1: ハニーマンションのIP/ネットワークを特定せよ

 まずはもっとも簡単なところから行ってみたいと思います。ヒントになりそうなのは記事中のここでしょうか。
画像3
 かなり特徴のあるレスポンスデータ。フィンガープリントとして使えるかもしれません。まずはこのキーを使ってshodanで検索をしてみましょう。検索窓に"Server: Boa/0.94.14rc21”ととりあえず入れてみましょう。shodanは修飾子なしで適当なキーワードで検索した場合、データの全文検索がされます。私は以前、あえてall:[検索文字列]と入れて検索をしていたのですが、これだとなぜか検索結果が異なってくる事があり、最近でALLありとなしで検索をするようにしています。さて、検索結果です。
画像4
香しい検索結果が出ています(苦笑)。という下世話な興味もなのですが、これだけだと数も多く、特定は難しいと思われます。もう少し絞っていきましょう。マクニカさんは日本の会社ですので、ターゲットを日本国内に絞っていきましょう。データ数は46,058件です。
画像5
 いや、それでもまだキビシイ!(検索結果の数が微妙に違いますが、そこはとりあえず置いておきましょう)。とはいえ、だいぶ絞れてきました。記事中のスクショから、このサービスは80番ポートで公開されていることがわかります。合わせて、これは仮説になるのですが、マクニカさんの本社は新横浜であることから、山崎さんのお住まいは横浜近辺である可能性、いや、横浜だろう、と予想して検索をしていきます。調査には想像力、イマジネーションはとても大切なことを過去の経験から学んでいます。その背景として、新横浜は実は交通の便が非常に悪く、現実的に使える路線は横浜市営地下鉄かJR横浜線のみ、通勤を考えると①乗り換えが面倒 ②通勤時に異常に混雑する田園都市線や東海道線などはあまり使わないだろう③両路線とも住環境に優れた地域が2~3駅以内にあることからそんなに遠くは住まないだろう、という、二つとなりの駅(仲町台)の近くに住んでいた自らの経験から予想しました(笑)。それでは絞っていきましょう。検索キーワードは""Server: Boa/0.94.14rc21" country:"JP" city:"Yokohama" port:"80""です。
画像6
一気に現実的な数字に落ちてきました。まだここから探すのは少し苦痛です(いや、普段ならここからがんばるのですが)。じつはBlog中に特定につながるヒントが隠されています。
画像7
「某ケーブルテレビ事業者」そう、ISPは某CATV事業者、このなかで該当するのは"TOP ORGANIZATION"のうちit's communicationsです。shodanは検索につかえる要素の一部がリンクされており、クリックすることで絞込検索が可能です。それではこのit's communicationsをクリックしてみましょう。
画像8
25件まで絞れました。とりあえずこのデータを見ていきましょう。
おや。。。
画像9
4オクテット目が1のホストが
画像10
マスクとなんとなく一致していますね。結果をみてみるとOpen Portもフィンガープリントも一致します。このセグメント帯は怪しいです、「ハニーマンション」かもしれません。もう少し確実にするためにネットワーク検索をしてみましょう。検索キーは"net:115.165.122.0/24"です(いや、Host検索してもいいのですが、ここは勉強も兼ねてネット検索を使います)
画像11
色々でてきます。なんとなくいろいろ一致している気がしますね。このうちの何個かのホストについて調べてみました。特徴的なところで.178のホストなんかはターゲットになりうるかもしれません。ともったいぶったところで、結果としてすべて一致。ハニーマンションのネットワークは115.165.122.0/24と確定と考えます。

Flag2: ハニーマンションの立地を特定せよ

 このネットワークと特定できたことで第一フラグをゲットできたということで、次のフラグをとっていきます。あらかじめ言っておきますが、場所の詳細かつ確実な特定は難しく、正解は山崎さんに聞くしかありません。なのでおおよそのエリアを絞っていきます。ここではGoogle mapも使っていきます。Geolocationのデータですが、shodanの検索データ、"Raw data"から見る事ができます。結果はこちらです。
画像13

ここでいうlatitudeはデルのパソコンの事ではなく、緯度を示します。longtitudeは経度です。それではこれをGoogle mapで検索しましょう。結果はこのようになっています。
画像14
 中山駅近辺ですか。。。中山駅(川和駅もそうなのですが)実はマクニカさんの本社と非常に近いのです。こんな感じです。
画像15
なんとなく、中山駅近辺が臭いですね。ただ、Geolocationデータはあまり信用がなりません。過去の経験の中でもっとも最悪だったのが、中国と示されていた場所は実際は日本だったことまであります。そういった経験から、かならずtracerouteをとって場所の確認をするようにしています。Traceroute、自ホストから打つのも良いのですが、折角なのでOSINTツールを使ってみましょう。今回は中国のサービスであるipip.netを使います。ipip.netはこちらもGeolocationサービスなのですが、その中にtracerouteのツールがあります。このツールは世界各地にあるipip.netのホストからtracerouteができるため、非常に便利なサービスです。
画像16
それではTracerouteしてみましょう。今回はアメリカ、Oracleから打ってみます。結果は下のようになりました。
画像17
 この結果でもこのIPは神奈川県であると言っています。ルーターのホスト名にaobaとあるのですが、中山駅から近いところに青葉台という高級住宅街がある事から、このルーターがもしかしたら青葉台にある?ロケーションとして偶然とも言えない気がします(過去キャリアNWを担当するエンジニアをしていた時代、地名をホスト名につける命名規則が存在していたところもありました)。この事からもGeolocationとしては大きな外れはなく、場所は中山駅周辺~長津田近辺と考えました。が、青葉台周辺も捨てきれないのです。青葉台は高級住宅街、そう、マクニカさんは
画像18
お給料がとてもいい会社、青葉台に住むに相応しい所得です。僕(達)の夢を壊さないよう、青葉台である!としておきたいのですが、それはそれで、中山駅のある緑区はターゲットと考え、調査をします。ケーブルテレビを引いている会社はだいたい「あるで」と自社のWebで公開してますので、その線から調査をしましょう、
画像19
ありました。が、データが2014年更新と古い。ちょっと厳しいかも。それじゃぁということでYahoo!の住宅検索です。これは物件を条件を指定して検索する事が可能です。ケーブルテレビ付き賃貸物件の物件を探したのですが…
画像20
多いorz。。。ということで、ここから先は断念。部屋数とセグメントあたりのノード数が一致するのか等考えたのですが、物件の特定にはいたりませんでした(まぁわかったといっても、さすがにそこまで特定したら怒られそうですよね/笑)。ということで、マクニカさんの年収を考えると、中山駅近辺で一番家賃が高いマンションが「ハニーマンション」であるとしておきましょう(雑)

まとめ

 最後は雑にまとめましたが、だいたいこんな感じでOSINTできました。実はGeolocationについては別のツールを使うと別のLocationデータがでるのですが、そこにはマンションが載っており、一瞬そこかな?と思わせるのですが、実はその場所にはマンションがない、等、Geolocationの利用については改めて考えさせられる結果となりました。

【転載】SSHの公開鍵暗号には「RSA」「DSA」「ECDSA」「EdDSA」のどれを使えばよいのか?

SSHの公開鍵暗号には「RSA」「DSA」「ECDSA」「EdDSA」のどれを使えばよいのか? - GIGAZINE:

00_m.jpg



リモートでコンピューターにアクセスするためのプロトコルであるSSHは、コンピューターの認証を行うために公開鍵暗号を利用しています。公開鍵暗号の方式には「RSA」「DSA」「ECDSA」「EdDSA」があり、それぞれの仕組みと「SSHに適した方式」についてソフトウェア企業「Gravitational」のVirag Mody氏が解説しています。


Comparing SSH Encryption Algorithms - RSA, DSA, ECDSA, or EdDSA?



https://gravitational.com/blog/comparing-ssh-keys/ 公開鍵暗号は、暗号化と復号に別々の鍵を用いる暗号方式のこと。例えば、ボブとアリスがやり取りを行う時、アリスは秘密鍵と公開鍵を作成し、公開鍵をボブに渡しておきます。ボブはアリスの公開鍵でメッセージを暗号化してアリスに送信。暗号化済みのメッセージを受け取ったアリスは自分の秘密鍵でメッセージを復号します。公開鍵から秘密鍵を作ることはできないので、アリスの公開鍵で暗号化されたメッセージを読むことができるのは、対となる秘密鍵を持つアリスだけ。SSHはこの仕組みを利用してコンピューター間の認証を行っています。010_m.png

公開鍵暗号は「RSA」「DSA」「ECDSA」「EdDSA」があり、それぞれ暗号化方式が異なります。


◆RSA



RSAは1977年に登場した歴史のある公開鍵暗号で、桁数の大きい半素数の素因数分解が非常に難しいという性質を利用しているとMody氏は説明。具体的には、桁数の大きい2つの素数「p」と「q」の積である「n」だけが与えられたとき、nをpとqに素因数分解できるのは、最初からpとqという答えを「知っていた」人以外にはあり得ないということ。pとqを秘密鍵の要素として、nを公開鍵の要素として利用することで、秘密鍵から公開鍵を導くことはできても、公開鍵からは秘密鍵を導くことはできない暗号が完成するという仕組みです。


◆DSA



DSA離散対数問題の困難性に基づく暗号。DSAの重要なポイントは、乱数「m」を利用して、秘密鍵「k」と一緒にメッセージに署名する点であるとのこと。mは秘匿する必要があります。


◆ECDSAとEdDSA



ECDSAEdDSAは、DSAと同じく離散対数問題の困難性を利用した暗号ですが、ECDSAとEdDSAでは楕円曲線暗号エドワーズ曲線を用いて公開鍵のサイズを小さくしているとのこと。

020_m.png

Mody氏はそれぞれの暗号方式について、下記の評価軸で「SSHの公開鍵暗号に適しているかどうか」を評価しています。


・実装:技術者が扱えるライブラリが豊富かどうか



・互換性:SSHクライアントがその暗号に対応してるか

・パフォーマンス:鍵生成にどれくらい時間がかかるか

・セキュリティ:公開鍵から秘密鍵を生成可能か


RSAは長い歴史を持つため、JavaScriptやPython、Goなどの主要なプログラミング言語でライブラリが用意されています。OpenSSHにおける互換性については、ハッシュ関数にSHA-1を用いた鍵、および公開鍵の鍵長が2048bit未満の鍵が利用できませんが記事作成時点で最新のOpenSSLで生成できるデフォルトの鍵長が2048bitであることを考えると、互換性は高めと言えそう。しかし、コンピューターの計算性能向上とともにセキュリティの確保に必要な鍵長も増大しており、パフォーマンス面では評価されていません。また、二次ふるい法や数体ふるい法といった、特定の整数を素因数分解するためのアルゴリズムも存在するとのこと。

DSAは1994年に登場した暗号で、RSAと同じくライブラリは充実しているとのこと。しかし、DSAのセキュリティは完全ではありません。DSAでは乱数mを鍵生成において使い捨てで使用するナンス値として使用しますが、DSAではこのmを秘匿する必要があるため、使い捨てであるはずのナンス値が性質上は鍵と近いものになるとのこと。かつ、完全な乱数を生成することは難しく、プログラムの実装ミスで一定の法則を持った値をmとして使用してしまうこともあるため、mの解析を通して暗号を突破されてしまうこともあります。このためDSAはOpenSSH 7.0からはデフォルトで無効化されています



030_m.jpg

ECDSAはDSAよりも鍵長は小さいものの、セキュリティが向上しているわけではないとのこと。ECDSAに対し、EdDSAはナンス値を乱数生成するのではなく、衝突に対する強度を高めるためのハッシュとして生成するとのこと。EdDSAは比較的新しい暗号であるため、RSAやDSAに比べると実装や互換性の面で劣りますが、高いパフォーマンスやセキュリティを持っており、公開鍵基盤業界は徐々にEdDSAに移行しつつあるとMody氏は指摘しています。


Mody氏は最終的に、実装や互換性を重視する場合は公開鍵の鍵長が2048bitもしくは4096bitのRSAを、パフォーマンスやセキュリティを重視する場合はEdDSAを推奨。DSAやECDSAは使わないように呼びかけています。

IIJ、インターネットの最新の技術動向・セキュリティ情報の技術レポート「IIR Vol.48 Sep 2020」を発行(転載)


IIJ、インターネットの最新の技術動向・セキュリティ情報の技術レポート「IIR Vol.48 Sep 2020」を発行:


今号は、定期観測「ブロードバンドトラフィックレポート~新型コロナウイルス感染拡大の影響」をはじめ、フォーカス・リサーチ(1)では「5G時代のMVNOの在り方~VMNO構想の実現に向けた取り組み」、フォーカス・リサーチ(2)では「Splunkによる日本語文章解析処理」をご紹介します。
全体(一括)
エクゼクティブサマリ
「定期観測レポート ブロードバンドトラフィックレポート~新型コロナウイルス感染拡大の影響」 このレポートでは、毎年IIJが運用しているブロードバンド接続サービスのトラフィックを分析して、その結果を報告しています。今回も、利用者の1日のトラフィック量やポート別使用量などを基に、この1年間のトラフィック傾向の変化を報告します。
フォーカス・リサーチ(1)「5G時代のMVNOの在り方~VMNO構想の実現に向けた取り組み」 昨年から世界各国で5Gのサービスが開始され、日本でも今年からMNOの本サービスが始まりました。IIJは2008年にセルラー通信網( 当初はW-CDMA、その後2012年からはLTE)を利用したMVNO事業を開始して以来、一貫してこの分野のフロントランナーを務めてきました。ここでは、5G時代のMVNOの在り方としてIIJが提唱するVMNO構想の実現に向けた取り組みを紹介します。
フォーカス・リサーチ(2)「Splunkによる日本語文章解析処理」 数百万アカウントを収容する大規模メールサービスとなるIIJ xSPプラットフォームサービス/Mailでは、大量蓄積するログからの有用な情報抽出・システム解析・迷惑メール送信者と戦うためにSplunkを導入しました。Splunkの導入経緯から始まり、Splunk Deep Learning ToolkitのNLPに日本語処理機能を追加拡張しSplunk社にフィードバック・マージされたことと、これを用いたテキストマイングについて紹介します。