ラベル セキュリティ の投稿を表示しています。 すべての投稿を表示
ラベル セキュリティ の投稿を表示しています。 すべての投稿を表示

無料で使えるサイバー脅威インテリジェンスソースとツール10選


サイバーセキュリティの動向を常に把握することは、絶え間なく進化する状況を考慮すると、難易度が上がってきています。これは、新たに発見される脆弱性や新しい攻撃手法、サイバー攻撃者が使用する戦術、技術、手順(TTP)などを含みます。このような時間を要する作業を支援し、実用的な情報を得るためのツールの存在はますます重要になっています。

そこでセキュリティ業務のCTI(サイバー脅威インテリジェンス)に役立つと思われるツールおよびソースのリストを作成しました。これらのオプションは、少なくとも一部の機能を無料で提供しています。

1- AlienVault Open Threat Exchange

AlienVault Open Threat Exchange (OTX)は、脅威研究者とセキュリティ専門家のグローバルコミュニティにオープンアクセスを提供します。このプラットフォームは、コミュニティが生成した脅威データを提供し、共同研究を促進し、あらゆるソースからの脅威データでセキュリティインフラストラクチャを更新するプロセスを自動化します。

OTXはクラウドソーシングによる脅威インテリジェンス・コーパスのパイオニアであり、現在でも最高のものの1つとして機能しています。毎日1,900万件以上の新しいIoC(Indicators of Compromise)レコードを処理し、無料で利用できます。OTXはSTIX、OpenIoC、MAEC、JSON、CSV形式など、さまざまな形式で脅威インテリジェンスを提供し、各フィードサンプルは「パルス」と呼ばれます。

さらに、エンドポイントなどデバイスの種類に合わせたフィードを受信するオプションも提供されています。関連するデータがフィードのパラメータから外れる場合、この追加データは配信されたレコード内にリンクされます。


2- CTI4SOC

SOCRadarの新しい独立型CTIソリューションであるCTI4SOCは、SOCアナリストの作業を支援するために設計された次世代の脅威インテリジェンスプラットフォームです。12の機能モジュールを備えたユニークなSOCチームのアシスタントとして機能します。

従来の脅威インテリジェンスプラットフォームとは異なり、CTI4SOCはビッグデータによって駆動され、アナリストがさまざまなツールを使用して取得できるすべてのデータを整理された文脈に表示します。

CTI4SOCを使用すると、SOCチームは真の有用な情報を探すためにさまざまな情報源を航海する必要はありません。プラットフォームはアナリストの視点で情報を選択し、フィルタリングし、研究を開始するための適切な仮説を提供します。

このプラットフォームは、有用な情報を編纂するだけでなく、実行可能なコンテキストで提示します。 SOCRadarセキュリティアナリストや他の信頼できるソースが公開した脅威レポートへのワンクリックアクセスを提供します。

今日の絶え間なく進化する脅威の中では、一部の脅威行為者は特定のセクターを標的にし、独自の特徴を持っています。 SOCアナリストがこれらの敵対者の戦術、技術、手順(TTP)、動機、および行動パターンを理解することは、研究プロセスに直接貢献します。 CTI4SOCを使用すると、アクティブな脅威行為者をウォッチリストに追加して、彼らの活動を追跡することができます。

SOCRadarの脅威ハンティングモジュールは、調査フェーズ後のSOCアナリストにとって最も貴重なツールです。そこから、セキュリティ担当者は、コマンド&コントロール(C2)センター、マルウェア、IPアドレス、およびドメインなどの重要な情報を検索して、作業を拡張することができます。 CTI4SOCは、APIに対応したソリューションであり、このような実行可能なデータを可能な攻撃が発生した場合にすぐに利用できるようにします。


3- DOCGuard

DOCGuardは、Secure Email Gateways(SEG)およびSOARソリューションと統合されるマルウェア分析サービスです。

このサービスは、構造解析として知られる新しいタイプの静的解析を利用しています。マルウェアを部品に分解し、ファイル構造のコンポーネントに基づいてそれらをコアエンジンに転送します。このアプローチを用いることで、DOCGuardはマルウェアを一意に検出し、F/Pフリー(誤検知フリー)のCompromise(IoC)指標を抽出し、シーケンスエンコーディングや文書暗号化などの難読化と暗号化を識別できます。

現在、サポートされているファイルタイプには、Microsoft Officeファイル、PDF、HTML、HTM、LNK、JScript、ISO、IMG、VHD、VCF、およびアーカイブ(.zip、.rar、.7zなど)が含まれます。構造解析の詳細な調査結果は、GUIで集約されたビューで提示され、JSONレポートとしてダウンロードすることができます。これらの調査結果はAPIを介しても収集できます。

DOCGuardの画期的なアナライザーエンジンにより、ファイルを数秒で分析し、どのような既知の攻撃方法も見逃さずに検出することができます。さらに、この分析は驚くほど低いシステムリソースで実行します。DOCGuardは、SIEMやSOARソリューション、PhishMe、Cofenseなど、さまざまなソースからの検証の自動化を容易にします。このサービスは、APIインターフェースを使用して、数分でサイバーセキュリティエコシステムにシームレスに統合し、迅速なサンプル分析を提供します。Dockerコンテナを展開してDOCGuardを簡単にインストールし、サイバーセキュリティインフラストラクチャに統合することができます。


VirusTotalは、DOCGuardと統合された文書分析協力により、コミュニティがスキャン文書を別の視点から見ることができるようになると発表しました。


4- GreyNoise

GreyNoiseは、サイバー脅威インテリジェンス(CTI)アナリストや脅威ハンター向けの可視化と深いコンテキストを提供します。インターネット全体でのブラウジング活動に関するデータを収集し、脅威インテリジェンス情報を分析する際の誤検知を減らすのに役立ちます。GreyNoiseは、Shodanのような良性のスキャナーだけでなく、SSHやTelnetのワームなどの悪意のある行為者に関する情報も収集します。さらに、SOCアナリストが見落としがちなノイズデータも特定します。

GreyNoiseは、セキュリティイベントにおけるインターネットブラウザーと一般的なビジネス活動を識別し、より迅速かつ安全な意思決定を可能にします。GreyNoiseのViewer、API、またはGreyNoiseデータをセキュリティツールに統合して使用する場合、セキュリティログで重要な情報を見つけ出し、作業に戻ることができます。

GreyNoiseの統合は、脅威インテリジェンスプラットフォーム(TIP)でのデータエンリッチメントを容易にし、CTIチームが異なる情報源を取り込む際に遭遇するノイズや誤検知を排除するのに役立ちます。脅威ハンターは、GreyNoiseを有効にして、戦術、技術、手順(TTP)の異常なパターンを発見し、敵のキャンペーンやインフラストラクチャを明らかにすることができます。また、GreyNoise Analysisツールを使用して、Indicators of Compromise(IoC)に詳細にアクセスし、調査のタイムラインを加速させることができます。


5- Intezer 

Intezerは、経験豊富なセキュリティアナリストやリバースエンジニアのようにアラートを分析し、調査するために設計されたプラットフォームです。

長年にわたり、Intezerは独自のコード分析エンジンの機能を微調整し、拡張してきました。これにより、SOCチームの負担の大きいまたは繰り返しのタスクを自動化することができます。自動化されたプレイブック、サンドボックス、アラートのエンリッチメント以上の機能を備え、アクションを起こし、スマートな判断を下し、インシデント対応に関するチームへの推奨事項を提供します。

Intezerの自己指導型SOCプラットフォームは、24時間365日、チームのためにアラートの優先順位付けを行い、脅威を調査します。自動化された分析、インテリジェントな推奨事項、自動化されたリメディエーションを利用することで、Intezerは、偽陽性、繰り返しの分析タスク、高レベルで時間のかかるアラートの取り扱いにチームの時間を浪費することを防ぎます。

Intezer Analyzeは、任意の種類のファイルに対して静的、動的、遺伝子解析を実行できるオールインワンのマルウェア分析プラットフォームです。これにより、インシデント対応およびSOCチームは、マルウェア関連のインシデントの調査を効率化できます。ユーザーはマルウェアファミリを追跡したり、IoC/MITRE TTPsを抽出したり、YARAシグネチャをダウンロードしたりできます。また、無料で始めるためのコミュニティ版も利用できます。

Intezer Transformationsを使用すると、マルウェアアナリストや脅威リサーチャーは、怪しいファイルやエンドポイントに関する迅速な回答を得ることができ、数秒で怪しいファイルやマシンを分類し、対応時間を短縮し、複数のマルウェア分析ツールを統合することができます。

Intezerは、タイムリーかつ詳細なレポートを提供し、潜在的に機密性の高いデータをアップロードし、すべてのアラートを自動的に優先順位付けし、調査するための専用インスタンスを持つことが「必須」とされています。このプラットフォームは、確認された重大な脅威のみを提供します。アラートシステムを簡単に接続し、日常の運用を変更せずに即座に価値を出すことができます。

※2025年末時点有償サービスになっていることを確認


6- MISP Threat Sharing

MISP(以前はMalware Information Sharing Platformと呼ばれていました)は、脅威情報を共有するためのオープンスタンダードを備えた無料の脅威インテリジェンスプラットフォームです。CIRCLによって作成され、サイバーセキュリティインシデントやマルウェア解析に関連するサイバーセキュリティ脅威を収集、保存、配布、共有する機能を提供しています。

MISPは、データベース内の脅威インテリジェンスからマルウェア、攻撃、またはキャンペーンに関連する属性や指標と相関関係を持たせることができます。SOCアナリスト、セキュリティおよびICTプロフェッショナル、マルウェアリバースエンジニアのために設計され、彼らの日常業務をサポートし、構造化された情報を効率的に共有することができます。

MISPプロジェクトが拡大するにつれて、マルウェア指標だけでなく、詐欺や脆弱性情報もカバーするようになりました。今では、コアMISPソフトウェアとMISPをサポートする多くのツール(PyMISP)や形式(コア形式、MISPタクソノミ、警告リスト)を含むMISPという名前になっています。MISPは今やボランティアチームによってリードされるコミュニティプロジェクトです。

MISP、Malware Information Sharing Platform、およびThreat Sharingの主な機能には以下が含まれます:
  • マルウェアサンプル、インシデント、攻撃者、およびインテリジェンスに関する効率的なIoCおよび指標データベース。
  • マルウェア、攻撃キャンペーン、または分析からの属性や指標間の関係を見つけるための自動相関。
  • 複雑なオブジェクトを表現し、関連付けて脅威インテリジェンス、イベント、またはリンクされたアイテムを表現する柔軟なデータモデル。
  • さまざまな配布モデルを使用してデータを共有するための組み込みの共有機能。
  • エンドユーザーがイベントや属性/指標を作成、更新、および共同作業するための直感的なユーザーインターフェース。
  • MISPを独自のソリューションに統合するための柔軟なAPI。 MISPには、イベントの取得、イベント/属性の追加または更新、マルウェアサンプルの追加または更新、または属性の検索などを行うREST APIを介してMISPプラットフォームにアクセスする柔軟なPythonライブラリであるPyMISPが付属しています。
  • イベントを分類し、タグ付けするための調整機能。
  • MISPギャラクシーと呼ばれるインテリジェンス辞書。これには既存の脅威アクター、マルウェア、RAT、ランサムウェア、またはMITRE ATT&CKなどが含まれ、これらは簡単にMISP内のイベントや属性と関連付けることができます。

7- OpenCTI – Open Cyber Threat Intelligence Platform 

OpenCTIプロジェクトは、サイバー脅威インテリジェンス全体のための統合プラットフォームであり、情報の処理と共有を容易にするために設計されたツールです。これは、Computer Emergency Response Team (CERT-EU) とフランス国立サイバーセキュリティ機関 (ANSSI) の協力の賜物です。

OpenCTIは、組織がサイバー脅威インテリジェンス情報(CTI)と観測可能な情報を管理できるようにするプラットフォームです。サイバー脅威に関する技術的および非技術的な情報を記憶し、整理し、可視化するために作成されました。

データの構造化は、STIX2標準に基づく情報スキーマを使用して行われます。これは、GraphQL APIとユーザーエクスペリエンス(UX)に焦点を当てたフロントエンドを備えた現代のウェブアプリケーションとして設計されています。また、他のツールやアプリケーション(MISP、TheHive、MITRE ATT&CKなど)とも統合できます。

この脅威インテリジェンスプラットフォームに含まれる主な要素は次のとおりです:
  • OpenCTIは、STIX2標準に基づく一貫したデータモデルを通じて、リンクされた運用および戦略的なインテリジェンス情報を提供します。
  • 自動化されたワークフロー:エンジンは論理的な結論を自動的に導き出して洞察力とリアルタイムの接続を提供します。
  • 情報技術エコシステムとの統合:そのオープンソース設計により、ネイティブまたはサードパーティーのシステムとのシンプルな統合が可能です。
  • 賢明なデータ可視化は、アナリストがエンティティとそれらの接続、さらにはさまざまな表示オプションを使用してネストされた関係を視覚的に表現できるようにします。
  • 分析ツール:各情報とインディケーターは、分析、スコアリング、および修正を容易にするためにそれが来た主要なソースにリンクされます。
  • OpenCTIは、PythonまたはGo APIインターフェースとパワフルなWebインターフェースを備えたフレームワークです。

8- PhishTank

PhishTankは、無料のコミュニティサイトであり、共同作業プラットフォームであり、誰でもフィッシングデータを提出し、検証し、追跡し、共有することができます。これは、検証されたフィッシングURLの包括的なストリームを提供し、組織をフィッシング攻撃から保護するために活用できます。PhishTankはフィッシング検証システムとして機能し、ユーザーが疑わしいサイトを提出または評価し、オープンなAPIを提供します。

このプラットフォームは、人間の報告から得られた疑わしいフィッシングURLのリストを提供し、利用可能な場合は外部のフィードも組み込みます。PhishTankは無料のサービスですが、APIキーにサインアップすることが必要な場合があります。


9- Pulsedive

Pulsediveは、オープンソースのフィードを利用し、インディケーター・オブ・コンプロマイス(IoC)を補強し、リスクスコアリングアルゴリズムを実行してデータの品質を向上させる無料のコミュニティ脅威インテリジェンスプラットフォームです。ユーザーは、IP、URL、およびドメインを入力し、検索、スキャン、および補強することができます。さらに、脅威インテリジェンスフィードから派生したIoCを相関させ、更新し、特定のIoCがなぜ高リスクと見なされるかを説明するリスク要因をリストすることができます。このプラットフォームは、脅威と脅威活動の高レベルな概要を提供します。

ユーザーは、任意の組み合わせに基づいてインジケーターを検索できます: 値、タイプ、リスク、最後に見られたタイムスタンプ、脅威フィード、属性、およびプロパティ。さらに、次の基準の任意の組み合わせに基づいて脅威を検索できる機能もあります: 脅威名、エイリアス、カテゴリ、リスク、最後に見られたタイムスタンプ、フィード、および脅威属性。


10- VirusTotal

VirusTotalは、70以上のウイルス対策スキャナーやURL/ドメインブロッキングサービスと共にアイテムをチェックします。ユーザーはブラウザを使用して、コンピューターからファイルを選択し、VirusTotalにアップロードすることもできます。プラットフォームは、主要な公開Webインターフェース、デスクトップインストーラー、ブラウザ拡張機能、およびプログラムAPIを含む複数のファイルアップロードを提供しています。アップロード方法の中でもWebインターフェースが最も優先されます。アップロードは、HTTPベースの公開APIを使用して、どのプログラミング言語でも行うことができます。同様に、URLはVirusTotalのウェブページ、ブラウザ拡張機能、およびAPIを含むさまざまな方法で提出できます。

ファイルやURLがアップロードされると、その基礎となる結果が送信者と、結果を使用して自身のセキュリティを向上させるレビューパートナーと共有されます。したがって、ファイル、URL、ドメインをVirusTotalにアップロードすることで、グローバルなセキュリティレベルの向上に貢献します。

この基本的な分析は、ファイルやURLに関するコメントをユーザー同士で共有し合うことができるネットワークを含む、多くの他の機能の基盤としても機能します。VirusTotalは、悪意のあるコンテンツの検出や誤検知の特定に役立ちます。さらに、VirusTotalは、アップロードされたファイルを悪意のあるものとして識別した場合にユーザーに通知し、検出ラベルを表示します。また、ほとんどのURLスキャナーは、マルウェア、フィッシング、および不審なウェブサイトなど、さまざまな種類のウェブサイトを区別します。


Windows侵害を見抜くための検知と検証 ― コマンド実行痕跡とサプライチェーン整合性チェック



Windows OS には、標準で多数のコマンド(以下「Windows コマンド」)が実装されています。しかし、一般的な利用者が日常的に使用するコマンドはその一部に過ぎません。一方で、侵入した攻撃者は、端末情報の収集やネットワーク内での横展開、権限昇格などを目的として、Windows に標準搭載されたコマンドを積極的に利用することが、JPCERT/CC をはじめとする各種調査から明らかになっています。

ここで重要なのは、「通常利用される Windows コマンド」と「攻撃者が利用する Windows コマンド」の間に存在するズレです。このズレに着目し、コマンドの実行状況を監視・制御することで、侵入後の攻撃者の行動を検知、あるいは抑止できる可能性があります。

さらに近年では、ログやプロセスといった OS 上の挙動だけでなく、ドライバ、ファームウェア、UEFI/BIOS など、より下位レイヤーの整合性を確認する視点も重要になっています。たとえ OS 上の挙動が一見正常に見えても、基盤となる構成要素が改ざんされていれば、検知そのものが回避されるリスクがあるためです。

本記事では、まず侵入後の各攻撃フェーズにおいて攻撃者がどのような Windows コマンドを利用するのかを整理し、その実行痕跡をどのように捉えるべきかを解説します。加えて、Windows 環境が本当に信頼できる状態にあるのかを確認するための、サプライチェーンおよび構成整合性の検証という観点についても触れていきます。

遠隔操作型マルウェア(RAT)などは、リモートからコマンドシェルを実行する機能を備えており、攻撃者はこれを足がかりに内部調査や横展開を進めます。一般的な攻撃は、次のような段階を踏んで進行します。


初期調査

攻撃者が侵入直後に行う初期調査フェーズでは、感染した端末の環境を把握するために、Windows に標準搭載された各種コマンドが多用されます。


初期調査フェーズで使用される Windows コマンド(Top10)

順位 コマンド
1 tasklist
2 ver
3 ipconfig
4 systeminfo
5 net time
6 netstat
7 whoami
8 net start
9 qprocess
10 query
このフェーズで攻撃者は、tasklistveripconfigsysteminfo といったコマンドを用いて、実行中プロセス、OS の種類やバージョン、ネットワーク構成、システム情報などを収集します。

これらの情報は、侵入した端末が実運用環境か、それともマルウェア解析や検知を目的としたおとり環境(サンドボックス)であるかを見極めるために利用されていると考えられます。

また、whoaminet start などのコマンドからは、現在の実行権限や稼働中のサービスが把握でき、後続の横展開や権限昇格が可能かどうかの判断材料になります。net timenetstat は、ドメイン環境の有無や通信状況の把握に用いられ、ネットワーク内での行動計画を立てる上で重要な情報源となります。

防御側の視点では、これらのコマンドは 「管理用途としては限定的にしか使われないが、侵入直後にまとめて実行されると不自然になりやすい」 という特徴があります。そのため、実行タイミングや実行主体(ユーザ、プロセス、リモート実行の有無)を組み合わせて監視することで、侵入初期段階での検知につなげられる可能性があります。

さらに近年では、OS 上の情報収集だけでなく、システム構成や環境が本当に想定どおりの状態にあるかを検証することも重要です。初期調査フェーズで収集された OS 情報や構成情報は、後続のフェーズに進む前提条件として利用されるため、ここで得られる情報の信頼性をどのように担保するかが、検知と抑止の観点で重要なポイントになります。


探索活動

侵入後、攻撃者は次の段階として、機密情報の探索ネットワーク内に存在する他端末・共有リソースの把握 を目的とした探索活動を行います。このフェーズでは、感染端末単体だけでなく、周辺のネットワーク環境を把握するための Windows コマンドが集中的に使用されます。

探索活動フェーズで使用される Windows コマンド(Top 10)

順位 コマンド
1 dir
2 net view
3 ping
4 net use
5 type
6 net user
7 net localgroup
8 net group
9 net config
10 net share

このフェーズにおいて、攻撃者は dirtype といったコマンドを使用し、端末内に保存されたファイルの探索や内容確認を行います。
特に dir コマンドに再帰的なオプションや拡張子指定を組み合わせることで、文書ファイルや設定ファイルなど、価値の高い情報を効率的に洗い出すことが可能になります。

一方、ネットワーク探索には net 系コマンドが多用されます。代表的な用途は以下のとおりです。

  • net view:接続可能なドメイン/ワークグループ内リソースの一覧取得

  • net user:ローカルおよびドメインアカウント情報の取得

  • net localgroup:ローカルグループに所属するユーザ一覧の取得

  • net group:ドメイン内グループとその所属ユーザの把握

  • net use / net share:共有リソースの確認および接続

これらの情報は、後続の横展開や権限昇格、さらなる侵害範囲拡大の足がかりとして利用されます。

防御側の視点では、通常業務では実行されにくい net 系コマンドが短時間に連続して実行される ことや、一般ユーザ権限でのネットワーク全体探索 は、不審な挙動として注目すべきポイントになります。
初期調査フェーズと同様に、実行主体や実行元プロセス、対話的実行かリモート実行かといった観点を組み合わせて監視することで、探索活動の段階で検知できる可能性があります。


感染拡大

探索活動によって得られた情報をもとに、攻撃者は次の段階として、ネットワーク内の他端末への侵入や感染拡大(横展開) を試みます。

このフェーズでは、管理用途としても利用される Windows 標準コマンドが、リモート実行や恒久化の手段として悪用される点が特徴です。


感染拡大フェーズで使用される Windows コマンド

順位 コマンド
1 at
2 reg
3 wmic
4 wusa
5 netsh advfirewall
6 sc
7 rundll32
このフェーズで特に多用されるのが、atwmic といった リモート端末上でコマンドを実行可能なコマンド です。

これらを利用することで、攻撃者は自らが直接ログインすることなく、他端末上でマルウェアや任意のコマンドを実行できます。

例えば at コマンドを用いることで、接続可能なリモート端末に対してタスクを登録し、指定した時刻に任意の実行ファイルを起動させることが可能です。

at \\[リモートホスト名 or IPアドレス] 12:00 cmd /c "C:\windows\temp\mal.exe"

 
また、wmicコマンドにより、次のような引数を指定することで、リモート端末上のコマンドを実行することができます。

wmic /node:[IPアドレス] /user:”[ユーザ名]” /password:”[パスワード]” process call create “cmd /c c:\Windows\System32\net.exe user”



おわりに

標的型攻撃において、攻撃者はマルウェアに組み込まれた専用機能だけで目的を遂行するわけではありません。
むしろ多くのケースで、Windows に標準搭載されたコマンドを巧みに組み合わせながら、調査・探索・横展開を進めている ことが、本記事で見てきた各フェーズからも分かります。

こうした攻撃の特徴を踏まえると、Windows コマンドの実行状況に着目することは、侵入後の挙動を把握するうえで非常に有効なアプローチ だと言えます。
攻撃者が使うコマンドと、通常の業務で使われるコマンドの間には明確な偏りがあり、そのズレを捉えることで、比較的早い段階でインシデントの拡大を抑止できる可能性があります。

一方で、業務環境において Windows コマンドの使用を一律に制限することは現実的ではありません。
そのため、防御の第一歩としては、AppLocker や各種ログ機能を活用し、どのコマンドが、いつ、どのプロセスから実行されているのかを可視化すること が有効です。
可視化された情報をもとに、通常業務では想定されない実行パターンを洗い出していくことで、段階的な検知精度の向上が期待できます。

さらに近年では、OS 上の挙動だけでなく、その Windows 環境自体が本当に信頼できる状態にあるのか を検証する視点も欠かせません。
ログが正常に見えていても、基盤となる構成やコンポーネントが改ざんされていれば、検知そのものが回避されるリスクがあるためです。

本記事で紹介した 「コマンド実行の検知」「環境の整合性を確認する検証」 という2つの視点を組み合わせることで、侵入後を前提とした現実的な防御に一歩近づくことができるはずです。
まずはログを取り、環境を知ることから始め、少しずつ自組織に合った検知・検証の仕組みを整えていくことが重要です。

出典:攻撃者が悪用するWindowsコマンド(2015-12-02)


出典:Windows Supply Chain Validation Cheat Sheet

SHODAN活用ガイド


SHODANの検索エンジンをプロのように使いこなすための、SHODANの検索フィルターやSHODANのドークを含む、個人的なSHODANチートシートを共有しています。これを使えば、簡単に目的の検索結果を得ることができます。

GoogleやBing、Yahooなどのコンテンツ検索エンジンとは大きく異なります。GoogleやBing、Yahooのようなコンテンツ検索エンジンは、ウェブページのデータをクロールして検索用のインデックスを作成するのに対し、Shodanはポートを照会して結果のバナーを取得し、検索用のインデックスを作成します。

あなたがサイバーセキュリティの分野にいるならば、Shodan検索エンジンについてよく知られているはずです。Shodanは、インターネット上の特定の種類のコンピューター(ルーター、ウェブカメラ、サーバーなど)を、さまざまなフィルターを使って見つけることができるIoT検索エンジンです。Shodanは、ターゲットの受動的な偵察や、測定ツールとして最適なリソースです。

https://shodan.io/ を開いて、このSHODANチートシートのコマンドを打ち込むだけです。

Server

特定のサーバーヘッダーフラグを持つデバイスやサーバーを探すことができます。脆弱なサーバーを調査することができます。

server: "apache 2.2.3"

または、直接フラグを入れても検索できます。

apache 2.2.3


hostname

世界中の特定のホスト名を持つデバイスを検索します。ホスト名とは、ネットワークに接続されている機器に付けられたラベルのことで、WWWなどの各種通信で機器を見分けるために使用されます。SHODANチートシートに含まれる複数のフィルターを使用して、検索結果を絞り込むことができます。

server: "apache" hostname:"google"


net

IPアドレスまたは/x CIDRに基づいて、デバイスやマシンを検索します。このフィルターは、IPレンジや特定のIPアドレスとサブネットマスクの検索にも使用できます。

net:34.98.0.0/16


os

オペレーティングシステムに基づいてデバイスを検索します。特定のOSを搭載しているデバイスをすべて見つけることができます。これは、侵入テスト担当者が、特定のオペレーティングシステムのフィルタを持つ脆弱なマシンを見つけるのに役立ちます。

os:"windows xp"


port

開いているポートに基づいてデバイスを検索します。"port "フィルターは、特定のオープンポートを持つマシンを検索対象にすることができます。

proftpd port:21


city

特定の都市のデバイスを検索します。例えば、ムンバイの都市のみに絞って検索したい場合は、以下のようになります。

city:"Mumbai"


country

特定の国のデバイスを検索します。例えば、インドだけに絞って検索したい場合

country:"IN"


geo

一定の半径内にある特定の経度と緯度による地理的座標を与えてデバイスを見つける。

geo:"48.1667,-100.1667"


before/after

「after」と「before」のフィルターを使うと、特定の日付の後や前にデバイスを表示することができます。

使用できるフォーマットはdd/mm/yyyyです。

nginx before:13/04/2020 after:13/04/2018


has_screenshot

このフィルターは、スクリーンショットが利用可能な結果のみを返します。

has_screenshot:true city:"George Town"


Wifi Passwords

Shodanでは、無線LANの平文のパスワードを見つけることができます。

html:"def_wirelesspassword"


Surveillance Cams

ユーザー名:admin、パスワード:passwordで監視カメラのデータを取得する

NETSurveillance uc-httpd


また、以下のコマンドを使用することもできます。

Android Webcam Server


Citrix

Citrix Gatewayの検索を行います。

title:"citrix gateway"


Windows RDP Password

ただし、セカンダリウィンドウズ認証を含む場合があります。

"\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00"


Misconfigured WordPress Sites

wp-config.phpにアクセスすると、データベースの認証情報が表示されます。

http.html:"* The wp-config.php creation script uses this file"

ワードプレスのメイン設定ファイルにアクセスし、設定ミスのサイトの認証情報やAUTH_KEYなどの機密情報を取得することができます。


Mongo DB servers

mongo DBサーバの情報を提供するフィルタです。

"MongoDB Server Information" port:27017 -authentication


FTP servers allowing anonymous access

完全なアノニマス・アクセスのためのデータを取得します。

"220" "230 Login successful." port:21


Jenkins

すべてのJenkinsのための検索 制限のないダッシュボード

x-jenkins 200


Telnet Access

telnetアクセスにパスワードが必要な機器を検索します。

port:23 console gateway


Etherium Miners

ETHを実行しているマイナーを表示しています。

"ETH - Total speed"


screenshot.label

セキュリティ設定がザルなWebカメラのスクリーンショットを表示

screenshot.label:ics country:"JP"


ssl

サーバの証明書情報に指定したドメインが含まれているサーバを列挙

ssl:expedia.com

自組織のドメイン名が世界的にも珍しく、他企業との重複がない場合は TLD 部分(.com / .jp など)を省略すると、海外ドメインや派生ドメインも一気に検索できます。

例えば私が根に持っている某 OTA の expedia.com であれば、以下のように ssl:expedia とすることで、関連ホストを一括で洗い出すことができます。

また、複数ドメインやホスト名をまとめて調査したい場合は、以下のように カンマ区切りで検索対象を追加できます。

ssl:expedia.com,hafh.com,united.com

🔎 追加:企業名や証明書のサブジェクト名で検索する方法


SSL 証明書には “組織名(Organization)” や “Common Name(CN)” が含まれています。
これを利用すると、企業名ベースの横断検索が可能です。

例えば「Coca-Cola Company」の証明書を持つホストを調べたい場合:

ssl:"Coca-Cola Company"

ヒット件数が多すぎたり、ステータスコードで絞り込みたいときは 200 系のみに限定することもできます。

ssl:"Coca-Cola Company" 200



🎯 追加:CN(Common Name)を直接指定する高度な検索

特定ドメインの証明書 “CN” を直接検索したい場合は、
以下のように ssl.cert.subject.CN: を使うのがより正確です。

ssl.cert.subject.CN:"coca-cola.com"

この検索は “メインのサブドメイン / ルートドメインの CN を持つ証明書” を対象にするため、誤検知を避けながら効率よく関連ホストを抽出できます。


org

IPアドレスの所有者情報に含まれる組織名をもとにサーバを列挙。

org:expedia



org検索を行うための組織名が不明な場合や他企業との重複が多い場合は、Facet検索を行い絞り込みを行う。

以下URLにアクセスし、左側の検索ボックスにssl:自社ドメイン または hostname:自社ドメインを検索すると、そのサーバがどのIPアドレス所有者のもとで稼働しているかが一覧で表示されます。

https://www.shodan.io/search/facet?query=ssl%3Aexpedia.com&facet=org

一覧中に、自組織名があれば、その文字列をコピーして org:を付加して検索。

自組織が所有権を持つIPアドレスが付与された資産を列挙することができます。


Shodan Dorking のためのリソース集

1. GitHub:Awesome-Dorks リポジトリ

GitHub にある Awesome-Dorks リポジトリは、一般的な Dorks 集のような雑多な内容ではなく、Bug Bounty で実際に使われる実用的な検索式がまとまっている点が大きな魅力です。



例:Jenkins を探す検索式

html:"Dashboard Jenkins" http.component:"jenkins"

HTML 内の特定文字列と HTTP コンポーネントの組み合わせで誤設定をピンポイントで検知できます。

GitHub には多数の Dorks リストがありますが、
実用度は玉石混交であり、最初に見るべきは Awesome-Dorks です。


2. Shodan の Favicon ハッシュ検索

次に活用頻度が高いのが favicon ハッシュによる製品特定です。


Shodan は各ホストの favicon をハッシュとして保持しており、
製品によっては 環境が違ってもほぼ同じ favicon を使うため、ハッシュ検索が非常に効果的です。

例:

  • Jenkins → 共通ハッシュ

  • Atlassian → 固有ハッシュ(複数の場合もあり)

検索例:

http.favicon.hash:81586312

favicon から製品を逆引きできるため、世界中の公開 Jenkins / Atlassian 環境を一気にスキャンして把握することができます。

誤設定 UI や管理画面が露出している場合、この方法は最も高速に “候補をザクザク集める” のに役立ちます。


3. Twitter(X)で最新の Shodan Dorks を収集する

アイデア源として非常に価値が高いのが Twitter(X)で流れてくる Shodan Dorks です。

ただし、Twitter(X) 内検索は精度が低いため、Google 経由で Twitter(X) を検索するのが正攻法です。

例:

site:twitter.com "shodan dorks"

Bug Bounty ハンターが共有した “実際に使える Dorks” が大量に出てくる


Twitter(X)は更新が圧倒的に速く、最新の誤設定・脆弱構成の発見方法はまずTwitter(X) に投稿されるという傾向があります。

そのため、「新しい Dork を探す」ではなく、“新しい攻撃ベクトルを知る” ために Twitter(X) をチェックするというイメージで活用すると効果が大きいです。



CyberChef入門ガイド:基礎から実践まで


CyberChefとは?

CyberChef(サイバーシェフ) ― 通称「サイバー界のスイスアーミーナイフ」― は、入力データを一連の手順(レシピ)に基づいて変換・操作できるウェブベースのユーティリティです。

サイバーセキュリティアナリストや研究者、セキュリティ愛好家など、幅広い層に利用されています。

各手順(ステップ)は「オペレーション(操作)」として定義され、入力に対して処理を行い、その結果を出力として生成します。

このツールは英国の情報機関 GCHQ(Government Communications Headquarters) によって開発され、その後オープンソース化され、現在は GitHub 上で公開されています。


CyberChefが対応する主な処理分野

  • 暗号化(Encryption)

  • エンコード(Encoding)

  • ネットワーク関連処理(Networking)

  • データ抽出(Data Extraction)

  • 圧縮/展開(Compression)

CyberChefで利用できる主要なオペレーションカテゴリ

代表的なCyberChefの操作例

  • Base64のエンコード/デコード

  • 16進(Hex)形式との相互変換

  • 正規表現の適用

  • 文字列の操作

  • ドメイン名の抽出

  • IPアドレスの抽出

本記事では、CyberChefの概要、代表的な機能、および実際に「レシピ」を使った処理の流れを紹介します。


CyberChefの使い方

CyberChefのWebツールは、アナリストが操作する5つの主要セクションで構成されています。

  1. Operations(オペレーション)

  2. Recipe(レシピ)

  3. Input(入力)

  4. Output(出力)

  5. Bake(実行)


各セクションの概要

CyberChefのWeb UIはこれらのセクションに分かれています。
左側のナビゲーションバーには利用可能なすべての「オペレーション(操作)」が表示されます。
中央の「レシピ」エリアには、入力データに対して実行される一連の操作がまとめられます。
右上の「入力」エリアには解析対象のデータを配置し、
右下の「出力」エリアには処理後の結果が表示されます。
そして下部の「Bake」ボタンを押すことで、レシピが実行されます。

CyberChefのWeb UIを構成する5つのセクション

Operations(オペレーション)

左側にあるオペレーションリストには、CyberChefがサポートしているすべての操作が並んでいます。
任意の操作をダブルクリックするか、ドラッグ&ドロップで「レシピ」セクションに追加できます。


Recipe(レシピ)

レシピセクションには、追加した操作が順番に積み重なって表示されます。
各操作は前の結果に対して処理を行うため、複数のオペレーションを組み合わせることで高度なデータ変換が可能になります。

このセクションには、レシピの保存および読み込みボタンがあり、作成したレシピを他の環境で再利用できます。

レシピは JSON形式 または Chef形式 のどちらかで保存でき、共有リンクも生成可能です。

CyberChefのレシピ保存ダイアログ

保存済みのレシピは、他のCyberChefインスタンスに読み込むことで、手動で各オペレーションを再設定することなく再現できます。


Operation Control(操作制御)

各オペレーションの右上には、無効化(Disable)ブレークポイント(Breakpoint) の切り替えボタンがあります。

各オペレーションの右上にある制御ボタン

  • 無効化:レシピ実行時にその操作をスキップします。

  • ブレークポイント:指定箇所で実行を一時停止します。

ブレークポイントは、どの操作で入力がどのように変化するかを段階的に確認する際に有効です。

Input(入力)

「入力」セクションでは、解析したいファイルをアップロードするか、テキストを直接貼り付けて使用します。
複数の入力を用意して、同じレシピで処理することも可能です。


Output(出力)

「出力」セクションには、すべてのオペレーションを実行した後の結果が表示されます。
結果はファイルとして保存することも、クリップボードにコピーすることもできます。

特に、shellcode のようなバイナリデータを扱う場合には、
ファイルとして保存して SpeakeasyBlobRunner といった解析ツールでさらに分析するのが便利です。


Bake(実行)

「Bake」セクションでは、レシピを実行して入力データに変換処理を適用します。
Auto Bake」機能を有効にしておくと、操作を追加・変更するたびに自動的にレシピが実行されます。


便利なオペレーション(Useful Operations)

CyberChefには、アナリストが頻繁に利用する便利なオペレーションがいくつかあります。

日常的に利用する代表的なオペレーション


🔮 Magic(マジック)

「Magic」オペレーションは、入力データの内容を解析し、どのオペレーションを使用すればよいかをCyberChefが自動で提案してくれる機能です。
入力されたコードやデータの特徴をもとに、最適と思われる操作を推奨します。

この機能は、分析の方向性に迷ったときに特に役立ちます。
推奨結果を参考にすることで、次に取るべきアクションのヒントや新たな発見につながることがあります。


✂️ Subsection(サブセクション)

「Subsection」オペレーションは、入力データの一部だけを選択して、次のオペレーションをその部分に限定して実行する機能です。
これにより、入力全体を変更することなく、特定の部分だけに処理を適用できます。

サブセクションは正規表現(Regex)を用いて、どの範囲のデータを対象にするかを指定します。

Base64でエンコードされたデータ(15文字以上)を抽出し、部分的にデコードを行う例


たとえば、「Balada InjectorのスクリプトからIoCを抽出する」セクション(後述)では、
Base64形式のデータ部分だけを対象にして「From Base64」オペレーションを実行し、スクリプトを正しく復号しています。

サブセクションを定義すると、その後のすべての操作はサブセクションに対してのみ適用され、「Merge」オペレーションを実行するまでその状態が維持されます。


💾 Register(レジスター)

「Register」オペレーションは、入力データの一部を変数として保存し、他のオペレーションで再利用できるようにする機能です。

保存対象のデータは正規表現を使って抽出され、後続処理の中で参照できます。

この機能は、複雑なレシピを作る際に、データの一時的な保持や条件付き処理に役立ちます。


🧩 Extract(抽出)

「Extract」オペレーション群は、入力テキストから有用な情報を自動的に検出・表示する機能です。

大量のデータの中から特定のパターンを見つけたいときに非常に有効です。

現在CyberChefでサポートされている代表的な抽出系オペレーションは以下の通りです。

オペレーション名説明
Extract EXIF画像ファイル内に埋め込まれたEXIFメタデータを表示
Extract URLsテキスト内のURLを抽出(プロトコル指定が必要)
Extract Files入力データ内からファイルを抽出
Extract Hashes文字列長からハッシュ値と推定されるデータを抽出
Extract Domains完全修飾ドメイン名(FQDN)を抽出
Extract File PathsWindowsまたはUnix形式のファイルパスを抽出
Extract IP AddressesIPv4およびIPv6アドレスを抽出

追加リソースと関連ブログ

多くの研究者が、CyberChef を活用した分析手法を共有しています。
これらの資料では、Cobalt Strike などのマルウェアローダーの難読化を解除する手法や、暗号レシピを活用したコンテンツ復号化の実例などが詳しく紹介されています。

CyberChef を応用した高度な分析事例や着想を得たい場合は、以下のブログや資料が参考になります。


🔍 関連ブログ・参考資料一覧


🎤 セキュリティカンファレンスでの紹介

CyberChef は複数のセキュリティカンファレンスでも紹介されています。
特に BSidesCharm 2022 での Marcelle Lee 氏による講演は、CyberChef のナビゲーション方法を分かりやすく解説しており、初心者に最適です。
発表資料では、実際に試せるサンプルレシピも公開されています。



この章で紹介された資料を読み進めると、CyberChef を単なるデコーダーではなく、「可視化・変換・抽出を統合した分析環境」として使いこなすための視点が得られるでしょう。


まとめ:CyberChefで“データの料理人”になろう

CyberChefは、単なるツールではなく「データを料理するためのキッチン」です。
暗号・解析・デコード・抽出といった複雑な処理を、ドラッグ&ドロップで直感的に実行できることが最大の魅力です。

今回紹介したように、

  • 文字列のエンコードやデコード

  • Base64や正規表現を使った解析

  • 難読化スクリプトの復号

  • URLやドメインの抽出・デファング

といった作業を組み合わせることで、マルウェア解析からログ調査、データ整形まで幅広く活用できます。

セキュリティ調査やインシデント対応の現場ではもちろん、日常的なデータ処理の効率化にも役立つツールです。

ぜひ今回のガイドを参考に、CyberChefの「レシピ」を自分なりにカスタマイズしてみてください。

きっと“分析の味”が一段と深まるはずです。