私には次のような苦境があります。私は、クライアントのワークステーションがマルウェアの観点からきしむようにクリーンであることを確認する必要があります。悪意のあるアウトバウンドトラフィック識別ツールとしてWebsenseに恵まれています。
特定のホストについて、疑わしいトラフィックがいくつかあり、それを引き起こしているプロセスを特定したいとします(ワークステーションはWin 7 32ビットです)。
また、netstatは、プロセスが常に実行されている場合にのみ役立ちます。希少なトラフィックの場合、問題のプロセスは必ずしも明白ではありません。
苦痛は次のとおりです。リモートコマンドラインアクセスしかできない疑似管理者アカウントしかありません。 PowerShellも、GUI(Process Explorerなど)を使用してプログラムを実行する機能もありません。また、ユーザーの作業中に最小限の割り込みをかける必要があります。
このため、私はnetshトレースの隠された芸術を習得しようとしています。しかし、イーサネットタイプ、プロトコル、IPのフィルターを追加しても、Windowsカーネルのエントリでログが膨大になり、分析のためにホストからダウンロードするのに永遠に時間がかかります。
今まで私はそれらを切り取る方法を見つけていません。シナリオやプロバイダーには方法があるはずだと思いましたが、それらの説明はどこにも見つかりませんでした。
また、CLIからSysInternalsツールを使用してこれを行う方法も見つかりませんでした。
タスクを実行するためのツールまたは方法に関する提案はありますか?
説明から、必要なのはタイムスタンプ、プロセス名、および送信元ポートだけのようです(悪意のあるトラフィックを外部で識別し、使用されているタイムスタンプとポートにアクセスできるため)。これにより、物事を大幅に簡素化できます。
毎秒grepを使用してnetstatを実行し、プロセスとソースポートをログにキャプチャします(ログを中央ロギングサーバーにエクスポートします)。ログの内容はこの方法では小さくなりますが、キャプチャ時間の間に発生した場合、短期間のプロセスを見逃すリスクがあります。少しハッキーですが、効果的です、そして私はそれをしました。
ワークステーションにログインしてこの情報をポーリングするロギングアグリゲーターまたはエンドポイント保護プログラムを試すこともできます。ただし、パフォーマンス、コスト、および複雑さは、使用中のワークステーションの数によって異なります。