Blue Teamers の Osquery

Dec 22 2022
Osquery は、SQL に似た構文を使用してシステムを監視およびクエリできるオープンソースのエンドポイント セキュリティ プラットフォームです。これは Facebook によって開発され、ネットワークとシステムを保護するために世界中の企業や組織によって使用されています。

Osquery は、SQL に似た構文を使用してシステムを監視およびクエリできるオープンソースのエンドポイント セキュリティ プラットフォームです。これは Facebook によって開発され、ネットワークとシステムを保護するために世界中の企業や組織によって使用されています。

Osquery の重要な機能の 1 つは、システムのリアルタイムの監視と分析を実行できることです。インフラストラクチャ全体の統一されたビューを提供し、セキュリティの脅威と異常を迅速に特定して対応できるようにします。

Osquery を使用して、次のようなシステムのさまざまな側面を監視できます。

  • ファイルの整合性: Osquery は重要なシステム ファイルの変更を検出し、改ざんやマルウェア感染の可能性を警告します。
  • ネットワーク アクティビティ: Osquery は、着信および発信ネットワーク接続を監視できるため、潜在的な攻撃や不正アクセスを検出して対応できます。
  • プロセス アクティビティ: Osquery は、システムで実行されているプロセスを追跡し、疑わしいアクティビティや悪意のあるアクティビティを警告します。
  • システム構成: Osquery はシステム構成を収集して報告できるため、システムが安全かつ一貫して構成されていることを確認できます。

インストール:

osquery を使用して、Windows、Linux、Mac などのさまざまなオペレーティング システムを探索できます。ここから好きなバージョンをダウンロードしてください。私の場合、Windows用にダウンロードしてインストールしました。

インストール後、Powershell を管理者として起動 > Osquery ダウンロード パスに移動 > .\osqueryi.exe で osquery を起動

始めたばかりなので、.help と入力して、Osquery の機能を確認してみましょう。

Windows でのテーブルの探索:

.tablesと入力してテーブルを調べてみましょう。これにより、オペレーティング システム関数のリストが表示されます。さらに、それらの関数のいくつかをクエリして、影響を受けるマシンから可能なデータを取得します。

上記のように、osquery はオペレーティング システム上のテーブルのリストをクエリしました。いくつかの興味深いテーブルから複雑な詳細を取得して、さらにクエリを実行してみましょう。

アクティブなユーザーのリスト:

コマンドselect * from users; マシン上に存在するすべてのユーザーを列挙できます。さらに、ユーザー権限の可能性のある UID と GID を探し、管理者権限を持つユーザーを確認できます。

コマンドselect Count(*) from usersは、このマシンで作成されたユーザー アカウントの統計数を示します。

UID を取得するには、select UID from users;コマンドを使用します。

プロセスのリスト:

システムで実行されているすべてのプロセスを登録するには、コマンドselect * from processes;を使用します。

私のマシンでは多数のプロセスが実行されているため、制限 5 を使用して結果を制限し、上位 5 つのプロセスを表示していることに注意してください。

それに応じて結果をフィルタリングして、悪意のあるアクターを見つけることができます。

ユーザー名と、それらによって実行されている対応するプロセスを取得するクエリを作成しましょう。

このようなクエリを実行したい場合は、SQL の基本に精通している必要があります。

アクティブなプロセスのネットワーク接続:

疑わしいネットワーク ソケットをチェックし、ローカル IP アドレスからリモート IP アドレスに確立された接続を探します。最初に Windows プロセス テーブルを調べてみましょう。

次に、 process_open_socketsテーブルにクエリを実行して確認します。

結果を除外して、確立されたすべての接続を確認しましょう。

これで、脅威インテリジェンス ツールを介して外部 IP アドレスのチェックを実行し、アウトバウンド接続が行われた悪意のある IP アドレスがあるかどうかを確認できます。

ファイル監視:

システムに存在する疑わしいファイルを監視するには、次のコマンドを使用できます。

クエリの作成に関しては、次のワイルドカード ルールに注意してください。

一致するワイルドカード ルール

  • %: 1 つのレベルのすべてのファイルとフォルダーに一致します。
  • %%: すべてのファイルとフォルダーを再帰的に一致させます。
  • %abc: 「abc」で終わるレベル内のすべてに一致します。
  • abc%: "abc" で始まるレベル内のすべてに一致します。

疑わしいレジストリ キー値の変更をチェックし、興味深いアーティファクトを見つけることができます。クエリを準備すると、インシデントへの対応時間が短縮され、レジストリ内のマルウェアの持続性を知ることができます。

上記で使用されているクエリはSelect data, path from registry where key = 'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders'; です。

ブート時のマルウェアの起動

マルウェアの持続性動作として起動時に開始される Windows プロセスを確認できます。このような悪意のある活動を検出することで、マシンをネットワークから隔離したり、根本原因についてさらに可能性のあるフォレンジック分析を行ったりするなど、さらなる措置を講じることができます。

上で使用されている OSquery ステートメントはselect * from services where start_type='DEMAND_START' limit 2; です。

全体として、Osquery は、システムのセキュリティを担当するすべての人にとって価値のあるツールです。そのリアルタイム監視と強力なクエリ機能により、セキュリティの脅威と異常を検出して対応するための多目的で効果的なプラットフォームになります。

参考文献:

https://osquery.io/schema/5.6.0