すべてのイベント ログ (「アプリケーションとサービス ログ」を含む) のイベントを同時に表示することは可能ですか?

すべてのイベント ログ (「アプリケーションとサービス ログ」を含む) のイベントを同時に表示することは可能ですか?

今朝、私のクライアントの友人の 1 人が、安全でないリモート デスクトップ構成が原因でハッキング攻撃を受けたため、調査を依頼されました。(彼らのビジネス ファイルはすべて、2018 年第 1 四半期の Dharma ランサムウェアによって暗号化されていました)。

幸運なことに、Windows イベント ログは改ざんされておらず、各ログ (アプリケーション、セキュリティ、システムなど) を個別に確認した後、攻撃のタイムラインをつなぎ合わせることができました。攻撃者がいつどのようにマシンに接続し、マルウェアをインストールしたか、Windows サービスが停止またはクラッシュし、その後切断されたかが判明しました。

Windows XP 以前では、確認するログはアプリケーション、システム、およびセキュリティ ログのみでしたが、Windows Vista 以降では、アプリケーション固有のログが [アプリケーションとサービス ログ] ツリー ビュー ノードの下に配置され、新しい Windows がリリースされるたびに、確認する新しいログがますます増えています。残念ながら、手動で確認する必要があります。これらのログすべてからデータを選択して、日付/時刻範囲フィルターを適用したり、テキスト検索を実行したりする方法はないようです。

...それともあるのでしょうか?

(イベント ビューアーでカスタム ログ ビューを作成できることは知っていますが、検索に別のログを追加するのは簡単ではなく、非常に遅くなります。実際、Windows Vista での再設計以降、イベント ビューアーの UI 全体が非常に遅く、ラグがあり、扱いにくいものになっています)。10 を超えるログを参照するビューを作成しないようアドバイスも表示されます。

作成中のフィルターまたはカスタム ビューは、10 を超えるイベント ログを参照します。結果のパフォーマンスが低下し、大量のメモリまたはプロセッサ時間が消費される可能性があります。続行しますか?

実際、先ほどコンピューター上のすべてのログを参照するビューを作成したところ、イベント ビューアーがロックしてフリーズし、最終的に項目が 0 個表示されました。つまり、完全に壊れているのだと思います。

指定した 2 つのタイムスタンプ間のすべてのログからすべてのイベントをダンプするために実行できる PowerShell コマンドはありますか?

答え1

使用できますログ2タイムラインWindows 環境のログをエクスポートして解析します。これにより、興味深いイベントのタイムラインを検索および編集できるようになります。

これでリンクログ ファイルを操作する他のツールも見つかります。

答え2

Windows API には 256 個のログ名制限があります。一度に 256 個のログを選択するか、管理者として PowerShell で次のように実行します。

get-winevent -listlog * | foreach-object { get-winevent -logname $_.logname } 

get-winevent -listlog * | foreach { get-winevent @{logname = $_.logname;
  starttime = '2/29' } -ea 0 } | where message -match 'whatever you want'

関連情報