「Shodan: The Internet Crawler」から学ぶ

ソース:

https://medium.com/geekculture/shodan-the-internet-crawler-37cc22250656

 

訳:

shodan.io は素晴らしいツールですが、恐ろしいツールで。
Shodanを使用すると、インターネット経由で公的にアクセス可能な資産を識別でき。
セキュリティ研究者は Shodan を使用して、数億の接続されたデバイスで実行されているサービスを迅速に特定し。
個人的な見解としては、Shodan を検索することは、統計を収集したり、個人のパブリック フットプリントを決定したりするために使用される場合には、悪意はなく。
ただし、誰かがアクセスを許可されていない接続されたデバイスを調査し始めると、灰色の領域に入り始めるため、他人の所有物を攻撃しないで。
それはさておき、Shodan で使用できる検索フィルターのいくつかを紹介しまふ。

 

Shodan の接続デバイスのデータベースのフィルタリング

侵入テスト中、私は Shodan を使用して、クライアントが提供する IP 範囲で一般に公開されているサービスを迅速に特定し。
たとえば、Google の 8.8.8.0/24 CIDR 内のマシンで実行されているサービスのフィルタリングは次のようになりー。

 

net:8.8.8.0/24

 

パブリックにアクセス可能なすべてのクライアントの HTTP サーバーを検索したい場合は、追加の検索フィルターを追加し
portこれにより、特定のポートをフィルタリングできるようになり
このフィルターを使用して、次のように一般的な HTTP ポートをフィルターでき


net:8.8.8.0/24 port:80,3000,8000,8080,443



また、 htmlクライアントのアセットを識別する HTML テキスト内の固有の文字列をフィルタリングするフィルタ。
たとえば、一般的に使用される識別子は、企業の著作権テキストで。

html:”Copyright 2020 Google LLC.”

タグを付けることもできます org前のフィルターにフィルターを適用して、結果をターゲット組織からの資産に限定し。

html:"Copyright 2020 Google LLC." org:"google llc"

簡単な例

Shodan の検索フィルターはたくさんあるので、簡単にさらにいくつか説明します。

Shodan では、Apache などの特定の製品を検索できます。 productフィルター。

product:Apache

次のように、検索結果を特定の国や都市に限定することもできます。


org:"google llc" country:us city:"new york"

 

パブリックにアクセス可能な SSH サーバーをフィルタリングするには、SSH を検索するポートをSSHフィルタリングして指定します。

 

ssh port:22,2222

先頭に追加することでフィルターを無効にすることもできます。 フィルターの前。
たとえば、次のフィルタを使用して、非標準ポートで実行されている SSH サーバーを検索します

ssh -port:22


最後に、クラウドの成長により追加された最近の検索フィルターは、 cloud.provider。これにより、AWSGCP、Azure などの一般的なクラウド プロバイダーでホストされているアセットをフィルターすることもでき。
AWS でホストされているアセットを検索するには、次のクエリを実行します。

cloud.provider:"aws"

 

最後に言及したかったのは、Shodan API から JSON で返される生データで。
これを使用して、検索クエリの結果で返される各アセットに関する詳細情報を抽出することもでき。
資産の生データを表示するには、特定された資産の 1 つをクリック。

 

 

次に、「生データ」タブをクリックして、API から返された生の JSON データを表示。

 

 

これから、このアセットに添付されているすべてのメタデータがわかり。

 

 

Shodan には、この JSON データの解析をより簡単にする CLI ツールと SDK の両方もあり。

Shodan は非常に便利なツールですが、少し怖いので、Shodan を検索するときは注意してください。
攻撃者は、脆弱性を調査している他のサイトに感染させるために、意図的にマルウェアをサイト上にホストする可能性があります。
また、資産を所有していない場合は、資産に触れないでください。

 

ほなほな