自己紹介
こんにちは、エーピーコミュニケーションズiTOC事業部 BzD部 0-WANの田中と申します。
弊社でEDR製品を導入いただいたお客様のインシデント調査を主に担当しております。
その傍らプログラマーとしての経験と知識を生かしてセキュリティに関するウェブアプリケーションを設計構築するなどSOCチームのメンバーとして日々サイバーセキュリティと共に在るエンジニアです。
2025年は12回に渡ってCrowdStrikeの利用者視点で役に立つ情報をお伝えしています。
| 回 | 掲載月 | トピック |
|---|---|---|
| 1 | 2025/1 | 【CrowdStrike】FalconConsole徹底解説 その1 |
| 2 | 2025/2 | 【CrowdStrike】FalconConsole徹底解説 その2 |
| 3 | 2025/3 | 【CrowdStrike】FalconConsole徹底解説 その3 |
| 4 | 2025/4 | 【CrowdStrike】クエリー徹底解説 その1 |
| 5 | 2025/5 | 【CrowdStrike】クエリー徹底解説 その2 |
| 6 | 2025/6 | 【CrowdStrike】クエリー徹底解説 その3 |
| 7 | 2025/7 | 【CrowdStrike】API徹底解説 その1 |
| 8 | 2025/8 | 【CrowdStrike】API徹底解説 その2 |
| 9 | 2025/9 | 【CrowdStrike】API徹底解説 その3 |
| 10 | 2025/10 | 【CrowdStrike】Falcon Foundry徹底解説 その1 |
| 11 | 2025/11 | 【CrowdStrike】Falcon Foundry徹底解説 その2 |
| 12 | 2025/12 | 【CrowdStrike】Falcon Foundry徹底解説 その3 |
今回は「CrowdStrike Falcon」の強力な機能の一つであるFalconの「API」をPowerShellで利用する方法をご紹介いたします。
CrowdStrike APIとは
API (Application Programming Interface) とは、異なるソフトウェアやシステム間で機能を共有するための仕組みのことです。簡単に言うと、APIは「窓口」のようなもので、他のプログラムが提供する機能を利用するためのルールや手順を定めています。これにより、開発者は既存の機能を活用して効率的に開発を進めることができます。 CrowdStrike APIとはプログラム的にアクションを実行することができるプログラミングインターフェースで多くのエンドポイントが提供されています。 これらのAPIを利用するために複数言語のSDKが提供されていることも大きな特徴です。 Falcon SDKは、お好みの言語を使ってすべてのCrowdStrike APIエンドポイントと対話形式で操作するためのオープンソースのソリューションを提供します。 falcon.us-2.crowdstrike.com
SDKとは
SDK(Software Development Kit)とはソフトウェア開発キットの略で、アプリケーション開発に必要なツールやライブラリ、ドキュメントなどをまとめたものです。開発者はSDKを利用することで、ゼロから開発するよりも効率的に、そして短期間でアプリケーションを開発できます。Falconプラットフォーム利用者は最適な開発環境を利用して柔軟にAPIを組み込むことができます。
今回はWindows環境で手軽に利用できるPowerShellモジュール「PSFalcon」を使って、CrowdStrike APIを活用する方法をご紹介します。
PSFalconとは
PSFalconは、CrowdStrike FalconユーザーがAPIやPowerShellに関する高度な知識を必要とせずにCrowdStrike Falcon OAuth2 APIを操作できるようにするPowerShellモジュールです。PSFalconを使用すると、タスクを自動化し、Falcon UI外でアクションを実行できます。例えば、次のようなスクリプトを作成できます。
- 多数の検出、インシデント、ポリシー、ルールを変更する
- リアルタイムレスポンスを活用して、複数のデバイスで同時にアクションを実行します
- マルウェアサンプルまたはリアルタイムレスポンスファイルをアップロードまたはダウンロードする
- MSSP 親環境と子環境の構成を作成/変更する github.com
インストール手順の詳細は、下記ドキュメントをご参照ください。(英語なので適宜ブラウザの翻訳機能をご利用ください。) github.com
PowerShellギャラリーを使用すると簡単にインストールできるのでおすすめです。
# 実行ポリシーを確認する(オプション) PS C:\temp> Get-ExecutionPolicy RemoteSigned # 実行ポリシーがRestrictedに設定されている場合RemoteSignedに設定する(オプション) PS C:\temp> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned #PowerShellギャラリーからInstall-Moduleコマンドを使用してユーザーアカウントでモジュールをダウンロードしてインストール PS C:\temp> Install-Module -Name PSFalcon -Scope CurrentUser # インストール確認 PS C:\temp> Get-Command -Module PSFalcon CommandType Name Version Source ----------- ---- ------- ------ Alias Edit-FalconHorizonAwsAccount 2.2.7 PSFalcon Alias Edit-FalconHorizonAzureAccount 2.2.7 PSFalcon Alias Edit-FalconHorizonPolicy 2.2.7 PSFalcon Alias Edit-FalconHorizonSchedule 2.2.7 PSFalcon ...
複数のモジュールがシステムにある場合は以下のコマンドで確認できます。必要に応じて最新版にアップデートしてください。
# システムに存在するPSFalconの全てのバージョンを表示 PS C:\temp> Find-Module PSFalcon -AllVersions | Select-Object -First 5 Version Name Repository Description ------- ---- ---------- ----------- 2.2.8 PSFalcon PSGallery PowerShell for the CrowdStrike Falcon OAuth2 APIs 2.2.7 PSFalcon PSGallery PowerShell for the CrowdStrike Falcon OAuth2 APIs # (強制的に)モジュールをアップデート PS C:\temp> Update-Module -Name PSFalcon -Force # すべてのバージョンを削除する場合 PS C:\temp> Uninstall-Module -Name PSFalcon -AllVersions
CrowdStrikeのAPIキーを取得する
メニューの「サポートおよびリソース | APIクライアントおよびキー」からAPIクライアント作成画面に行って右上の「APIクライアントの作成」ボタンをクリックします。


必要事項を入力してクライアントを作成します。

必ずClientIdとClientSecretをコピーして安全な場所に保管してください。

PSFalconをターミナルから呼び出す
手始めにアラートを取得します。 コマンドの使い方は以下を参照ください。 github.com
# 全アラートを取得する(composite_idの一覧) PS C:\temp> Get-FalconAlert ClientId: <ご自身のClientIdを入力> ClientSecret: <ご自身のClientSecretを入力> 12345678ASD:thirdparty:12345678ASD:*********123 12345678ASD:thirdparty:12345678ASD:*********456 12345678ASD:thirdparty:12345678ASD:*********789 ...
# ユーザ名を指定して1件アラート抽出 PS C:\temp> Get-FalconAlert -Filter "source_vendors:'CrowdStrike'+user_name:'<ユーザ名>'" -Detailed -limit 1 agent_id : ************************ aggregate_id : ******************** alleged_filetype : exe cid : *********************** cloud_indicator : false cmdline : "C:\Program Files\7-Zip\7zG.exe" x -o"C:\***********\Downloads\" -an -ai#7zMap************* composite_id : ********:ind:********:********-****-******** ...
# composite_idを指定して特定のアラート抽出 PS C:\temp> Get-FalconAlert -id <composite_idを指定> agent_id : ************************ aggregate_id : ******************** alleged_filetype : exe cid : *********************** cloud_indicator : false cmdline : "C:\Program Files\7-Zip\7zG.exe" x -o"C:\***********\Downloads\" -an -ai#7zMap************* composite_id : ********:ind:********:********-****-******** ...
# source_vendors:'CrowdStrike & agent_idを指定、timestampの降順(新しい順)でソートしてアラートを抽出
PS C:\temp> Get-FalconAlert -Filter "source_vendors:'CrowdStrike'+agent_id:'<agentid(またはdeviceid)を指定>'" -Sort timestamp.dsc
12345678ASD:ind:ZXCV0987654:*****-4784-3328016
12345678ASD:ind:12345678ASD:xdr|inc-ZXCV0987654-*****
12345678ASD:ind:ZXCV0987654:*****-118-5518864
12345678ASD:ind:ZXCV0987654:*****-10479-3758352
12345678ASD:ind:ZXCV0987654:*****-4784-4743696
12345678ASD:ind:ZXCV0987654:*****-4748-5414672
...
# 上で抽出したアラートの1件目の詳細を表示する
PS C:\temp> Get-FalconAlert -Filter "source_vendors:'CrowdStrike'+agent_id:'<agentid(またはdeviceid)を指定>'"-Sort timestamp.dsc -limit 1 -detailed
agent_id : *************
aggregate_id : aggind:*************:****************
alleged_filetype : exe
cid : *************
cloud_indicator : false
cmdline : "C:\Program Files\7-Zip\7zG.exe" x -o"C:\****\Downloads\" -an -ai#7zMap1248:210:7zEvent993
composite_id : ******************:ind:*************:*************-**************
confidence : 50
context_timestamp : 2025-08-28T04:05:25Z
control_graph_id : ctg:*************:**************
crawled_timestamp : 2025-08-28T05:02:59.295135544Z
created_timestamp : 2025-08-28T04:03:59.335104928Z
data_domains : {Endpoint}
description : An Office file with a macro written to the file system meets the File Analysis ML algorithm's medium-confidence threshold for malware.
device : ****************************************
display_name : CloudDetect-OnWriteMacroKestrelXMLMedium
email_sent : True
falcon_host_link : https://falcon.us-2.crowdstrike.com/activity-v2/detections/********:ind:*************:*******-******-******?_cid=************
filename : 7zG.exe
filepath : \Device\HarddiskVolume3\Program Files\7-Zip\7zG.exe
...
続いてホスト情報を取得してみましょう。 コマンドの使い方は以下を参照ください。 github.com
PS C:\temp> Get-FalconHost -Id <agentid(またはdeviceid)を指定> device_id : ************* cid : ************* agent_load_flags : ***** agent_local_time : 2025-08-29T09:39:16.962Z agent_version : ***** bios_manufacturer : ***** bios_version : ***** build_number : ***** config_id_base : ***** config_id_build : ***** config_id_platform : ***** cpu_signature : ***** cpu_vendor : ***** external_ip : ***** mac_address : ***** hostname : ***** ...
いかがでしたでしょうか。
本記事でご紹介した内容は、PSFalconが持つ機能のほんの一部です。
例えば、-Filterオプションを用いて日付を指定してアラートを絞り込んだり(例:Get-FalconAlert -Filter "timestamp:>'2025-08-01T00:00:00Z'+timestamp:<'2025-08-31T23:59:59Z'" -Detailed)、取得した結果をPowerShellのSelect-Objectコマンドに渡して表示形式を整形したり(例:Get-FalconAlert -Id "<取得したcomposite_idを指定>" | Select timestamp, name, description)と、柔軟なデータ取得が可能です。
このように、PSFalconが提供する豊富なコマンドとPowerShellの強力な機能を組み合わせることで、必要な情報をコマンドラインから迅速に取得できる点こそ、このSDK最大の魅力と言えるでしょう。
まとめ
今回は、PowerShellモジュール「PSFalcon」を利用して、Windows環境から手軽にCrowdStrike APIを操作する方法をご紹介しました。
PSFalconを使えば、これまでGUIで一つ一つ確認していたデバイス情報の検索や、特定のインシデントに関する情報収集などをスクリプト化し、大幅に効率化できます。まずは簡単な情報取得から始め、将来的にはインシデント発生時の初動対応(調査、隔離など)を自動化するスクリプトを作成するなど、ぜひPSFalconを日々のセキュリティ運用に積極的に取り入れてみてください。
こちらではサンプルコードも提供されています。 github.com
今後の連載の予定をご参考に興味があるトピックだけでもご覧いただければ幸いです。
少しでもサイバーセキュリティに興味を持っていただけるように楽しくお伝えしますのでお楽しみに。
最後まで読んでいただきありがとうございました。
0-WANについて
私たち0-WANは、ゼロトラスト製品を中心とした、マルチベンダーでのご提案で、お客様の経営課題解決を支援しております。 ゼロトラストってどうやるの?製品を導入したけれど使いこなせていない気がする等々、どんな内容でも支援いたします。 お気軽にご相談ください。
問い合わせ先、0-WANについてはこちら。 www.ap-com.co.jp
一緒に働いて頂ける仲間も募集しています
今までの経験を活かして、私たちと一緒にゼロトラスト分野で活躍しませんか? www.ap-com.co.jp