Shodanは、インターネットに接続されたデバイスを発見する搜索引擎です。この記事では、それがどのように有価値なツールであり、どのような潜在的な脅威であるかを見ていきましょう。
「搜索引擎」という用語を聞いたとき、皆さんの心が普通はGoogle、Bing、またはYahooに飛んでいるでしょう。これらのプラットフォームは私たちの多くに親しみがあり、ウェブサイト、画像、およびニュースを見つけるのを助けています。
しかし、他にも他の搜索引擎があります。ほとんどの人が知らないもので、もっと強力で危険なのです。それはShodanと呼ばれます。
Shodanは、公のものではない多くのオンラインデバイスのデータベースです。Shodanの恐怖は、あなたのデバイスの1つもその中に入っているかもしれないことです。
今、Shodanが何であり、どのように機能し、どのようにして有価値なツールでも潜在的な脅威でもある理由を見ていきましょう。
Shodanは何でしょう?
Shodanは、インターネットに接続されたデバイスを発見する搜索引擎です。これには、シンプルなウェブカムやルーターから複雑な工业控制系统まであります。
従来の搜索引擎はウェブサイトをインデックスします。Shodanはインターネットをスキャンし、IPアドレス、開いたポート、その他の公に利用可能なデータに基づいてデバイスをリストに記録します。
Shodanは、特定のプロトコルを使用してインターネットをスキャンし、接続されたデバイスを特定するために機能します。それはデバイスに関する全情報を集めます。
これらにはIPアドレス、開いているポート、使用中のソフトウェアのバージョンなどが含まれます。このデータは、ユーザーがデータベースに問い合わせを行えるように検索可能になっています。ShodanのUIまたはCLIツールを使用して特定のデバイスの種類や脆弱性を探すことができます。
Shodanをウェブインターフェースとコマンドラインの両方でどのように使用することができるかを見ていきましょう。
Shodanウェブインターフェースの使用方法
shodan.ioにアクセスしアカウントを作成します。アカウントなしで一部の検索が可能ですが、ほとんどの機能にアクセスするにはログインする必要があります。
また、ほとんどのデバイスを見つけるためにはプレミアムアカウントが必要で、無料プランの結果は非常に限定されています。
ホームページには簡単な検索バーがあります。一般的なクエリを入力して、Shodanが何を見つけられるかを確認できます。例えば、「default password」や「webcam」など。
たとえば、「default password」を入力すると、デフォルト設定のデバイスが一覧表示されます。これらは未許可アクセスに脆弱です。
Shodanは特定のパラメータを使用して結果を絞ることもできます。たとえば以下のように:
-
特定のデバイスの検索:ウェブカムを探している場合、「webcam country:US」と入力することがあります。このクエリは、アメリカ合衆国に位置するウェブカムを返します。
-
IPアドレスでの搜索:特定のIPの詳細を見るには、IPアドレスを検索バーに入力してください。
-
ポートでの搜索:特定のポートを開いているデバイスを見つけるには、「port:22」のようなクエリを使用してください。これはインターネットに公開されているSSH (ポート22)のデバイスを見つけるようになります。
搜索を実行する後、Shodanは一致するデバイスの一覧を表示します。各結果にはIPアドレス、開いたポート、デバイス上のソフトウェアが含まれます。
例えば、「port:22」の搜索はSSHサーバーとその設定詳細を見つけることができます。
Shodan コマンドラインインターフェース (CLI) の使用方法
高度なユーザーのために、Shodanはコマンドラインインターフェース (CLI)を提供しています。これにより、searchおよびタスクの自動化ができます。
注意: APIの使用はアカウントに基づいて制限されており、使用するには料金を支払う必要があるかもしれません。
CLIを使用する前に、インストールする必要があります。Pythonのパッケージマネージャーpipを使用してこれを行います。ターミナルを開いて以下のコマンドを入力してください。
pip install shodan
インストールされた後、Helpコマンドを試して機能しているかどうか確認することができます。
shodan -h
APIキーを追加してShodan CLIを設定します。APIキーはShodanアカウントページ上にあります。以下のコマンドを使用して設定します。
shodan init YOUR_API_KEY
今ではsearchを始めることができます。以下は基本的なsearchの例です。
shodan search "default password"
このコマンドは「default password」をバナーに含むデバイスを返します。これは通常脆弱な安全管理を示しています。
以前と同様に特定の特徴のデバイスをsearchすることができます。
shodan search "port:80 country:US"
このコマンドはアメリカに位置するウェブサーバ(ポート80)を見つけます。
特定のIPアドレスの詳細な情報を取得するには、以下のコマンドを使用します。
shodan host 8.8.8.8
指定したIPに関するすべての既知のデータが返されます。これには開いているポートと侦测されたサービスが含まれます。
CLIの問題をdebugするために、Shodanの公式ドキュメントを参照してください。
善と悪と危険性
Shodanは的双刃剑です。サイバーセキュリティ専門家にとって強力なツールである一方、悪意を持って使用することで重大なリスクも引き起こすことがあります。
セキュリティチームはShodanを使用して自分のネットワーク内の露出于するデバイスを発見し、脆弱性を修復する前に利用可能な状態にします。
研究者はShodan上のデバイスをモニターして脆弱性やマルウェアを追跡することができます。
残念ながら、Shodanはハッカーの夢でもある。ハッカーはShodanを使用して、インターネットに露出于する装置を特定することができます。これには、ウェブカム、サーバー、乃至于工业控制系统が含まれます。
Shodanについて心配すべきことの一つは、それが工业控制系统を見つける能力です。工业控制系统(ICS)は、工业プロセスを制御し、監視します。これは、工場、発電所、水处理施設の機械の「头脑」です。
Shodanは、数千人の未保全の、インターネットと接続された工业控制系统(ICS)を発見しました。これらのシステムの中には、パスワードがないか、デフォルトのクレデンシャルを使用している場合もありました。
また、Shodanは、数千人の安全カメラ、データベースサーバー、IoTデバイスをインデックスしました。これらは、深刻なプライバシーと安全性问题を引き起こします。これらは、適切に保全されない場合は、簡単に利用可能です。
自分の装置を守るためには、Shodanを理解する必要があります。それがどのように機能し、何を見つけることができるかを知る必要があります。
では、Shodanがあなたの装置を公開するのを防ぐ方法を探ることができますか?
1. デフォルトのクレデンシャルを変更する: デバイス上のデフォルトのユーザー名とパスワードを常に変更します。
2. 強いパスワードを使用する: 弱いパスワードを避け、文字、数字、記号の組み合わせを使用し、パスワードマネージャーを使用することを考慮します。
3. 不要なサービスを無効にする: デバイスには使用しないサービスがある場合、それらを無効にします。これにより潜在的な脆弱性の数を減少させます。
結論
Shodanは強力なツールです。インターネットに接続されたすべてのデバイスは潜在的に露出していることを忘れさせないものです。それはサイバーセキュリティの専門家にとって有益な洞察を提供しながら、サイバー犯罪者にとっても機会を与えます。
Shodanができることを知っておけば、サイバーセキュリティを真摯に受け止めることができます。すべてが接続された世界では、最も弱いデバイス次第であなたのセキュリティが決まります。情報を持ち続け、更新を継続し、最も重要なのは、安全にいることです。
攻撃と防御のサイバーセキュリティに関する記事を読むために Stealth Security newsletter に加入してください。サイバーセキュリティのキャリアを築く方法を学ぶためには The Hacker’s Handbookをチェックしてください。