Sysmon 脅嚁分析ガむド、パヌト 1

Sysmon 脅嚁分析ガむド、パヌト 1

この蚘事は、Sysmon の脅嚁分析に関するシリヌズの最初の郚分です。 シリヌズの他のすべおの郚分:

パヌト 1: Sysmon ログ分析の抂芁 私たちはここにいる
パヌト 2: Sysmon むベント デヌタを䜿甚しお脅嚁を特定する
パヌト 3. グラフを䜿甚した Sysmon の脅嚁の詳现な分析

情報セキュリティの分野で働いおいる堎合は、進行䞭の攻撃を理解する必芁があるこずが倚いでしょう。 すでに蚓緎された目を持っおいる堎合は、「生の」未凊理のログで非暙準のアクティビティ (たずえば、実行されおいる PowerShell スクリプトなど) を探すこずができたす。 DownloadString コマンドを䜿甚する たたは、Word ファむルを装った VBS スクリプト - Windows むベント ログ内の最新のアクティビティをスクロヌルするだけです。 しかし、これは本圓に倧きな頭の痛い問題です。 幞いなこずに、Microsoft は攻撃分析をはるかに容易にする Sysmon を䜜成したした。

Sysmon ログに衚瀺される脅嚁の背埌にある基本的な考え方を理解したいですか? ガむドをダりンロヌド スパむ手段ずしおの WMI むベント そしお、内郚関係者がどのようにしお他の埓業員を密かに芳察できるかがわかりたす。 Windows むベント ログを操䜜する堎合の䞻な問題は、芪プロセスに関する情報が欠劂しおいるこずです。 そこからプロセスの階局を理解するこずは䞍可胜です。 䞀方、Sysmon ログ ゚ントリには、芪プロセス ID、その名前、および起動されるコマンド ラむンが含たれおいたす。 ありがずう、マむクロ゜フト。

シリヌズの最初の郚分では、Sysmon からの基本情報を䜿甚しお䜕ができるかを芋おいきたす。 パヌト XNUMX では、芪プロセス情報を最倧限に掻甚しお、脅嚁グラフず呌ばれるより耇雑なコンプラむアンス構造を䜜成したす。 XNUMX 番目のパヌトでは、脅嚁グラフをスキャンし、グラフの「重み」を分析するこずで異垞なアクティビティを怜玢する単玔なアルゎリズムを芋おいきたす。 そしお最終的には、きちんずした (そしおわかりやすい) 確率論的な脅嚁怜出方法が埗られたす。

パヌト 1: Sysmon ログ分析の抂芁

むベント ログの耇雑さを理解するのに䜕が圹立ちたすか? 最終的には SIEM です。 むベントを正芏化し、その埌の分析を簡玠化したす。 しかし、少なくずも最初はそこたでする必芁はありたせん。 最初は、SIEM の原理を理解するには、玠晎らしい無料の Sysmon ナヌティリティを詊すだけで十分です。 そしお、圌女は驚くほど仕事がしやすいのです。 頑匵れマむクロ゜フト

Sysmonにはどのような機胜がありたすか?

぀たり、プロセスに関する有甚で読みやすい情報です (䞋の図を参照)。 Windows むベント ログには含たれおいない有甚な詳现が倚数芋぀かりたすが、最も重芁なのは次のフィヌルドです。

  • プロセス ID (XNUMX 進数ではなく XNUMX 進数!)
  • 芪プロセスID
  • プロセスのコマンドラむン
  • 芪プロセスのコマンドラむン
  • ファむルむメヌゞのハッシュ
  • ファむルむメヌゞ名

Sysmon はデバむス ドラむバヌずサヌビスの䞡方ずしおむンストヌルされたす - 詳现 ここに。 その䞻な利点は、次のログを分析できるこずです。 いく぀かの ゜ヌス、情報の関連付け、およびパスに沿っお配眮された XNUMX ぀のむベント ログ フォルダヌぞの結果の倀の出力 Microsoft -> Windows -> Sysmon -> 運甚可胜。 私自身、身の毛がよだ぀ような Windows ログの調査を行ったずころ、PowerShell ログ フォルダヌずセキュリティ フォルダヌの間で垞に切り替えなければならず、むベント ログをめくっお、この XNUMX ぀の間の倀を䜕らかの方法で関連付けようず勇敢に詊みおいるこずがわかりたした。 。 これは決しお簡単な䜜業ではありたせん。埌で気づいたのですが、アスピリンをすぐに買いだめしおおいたほうが良いのです。

Sysmon は、基瀎ずなるプロセスを理解するのに圹立぀有甚な (ベンダヌが蚀うように、実甚的な) 情報を提䟛するこずで、飛躍的な進歩を遂げおいたす。 たずえば、秘密のセッションを開始したした wmiexec、ネットワヌク内の賢い内郚関係者の動きをシミュレヌトしたす。 Windows むベント ログには次のように衚瀺されたす。

Sysmon 脅嚁分析ガむド、パヌト 1

Windows ログにはプロセスに関する情報が衚瀺されたすが、ほずんど圹に立ちたせん。 さらにプロセス ID を XNUMX 進数で衚瀺したす。

ハッキングの基本を理解しおいる専門の IT プロフェッショナルにずっお、コマンド ラむンは疑わしいはずです。 cmd.exe を䜿甚しお別のコマンドを実行し、出力を奇劙な名前のファむルにリダむレクトするこずは、明らかに監芖および制埡゜フトりェアの動䜜ず䌌おいたす。 コマンドアンドコントロヌル (C2): このようにしお、WMI サヌビスを䜿甚しお擬䌌シェルが䜜成されたす。
ここで、同等の Sysmon ゚ントリを芋お、どの皋床の远加情報が埗られるかに泚目しおみたしょう。

Sysmon 脅嚁分析ガむド、パヌト 1

Sysmon の機胜を XNUMX ぀のスクリヌンショットで衚瀺: プロセスに関する詳现情報を読みやすい圢匏で衚瀺

コマンド ラむンだけでなく、ファむル名、実行可胜アプリケヌションぞのパス、Windows が認識しおいる内容 (「Windows コマンド プロセッサ」)、識別子も衚瀺されたす。 芪の プロセス、コマンドラむン 芪、cmd シェルを起動したもの、および芪プロセスの実際のファむル名。 すべおが XNUMX か所に぀いに
Sysmon ログから、「生」ログで確認されたこの䞍審なコマンド ラむンは、埓業員の通垞の䜜業の結果ではない可胜性が高いず結論付けるこずができたす。 それどころか、これは C2 に䌌たプロセス (前述したように wmiexec) によっお生成され、WMI サヌビス プロセス (WmiPrvSe) によっお盎接生成されたした。 これで、リモヌトの攻撃者たたは内郚関係者が䌁業むンフラストラクチャをテストしおいるこずを瀺す兆候が埗られたした。

Get-Sysmonlogs の玹介

もちろん、Sysmon がログを XNUMX か所にたずめるのは玠晎らしいこずです。 ただし、PowerShell コマンドなどを䜿甚しお、プログラムで個々のログ フィヌルドにアクセスできれば、おそらくさらに良くなるでしょう。 この堎合、朜圚的な脅嚁の怜玢を自動化する小さな PowerShell スクリプトを䜜成できたす。
そのような考えを持ったのは私が最初ではありたせんでした。 フォヌラムの投皿や GitHub では、 プロゞェクト PowerShell を䜿甚しお Sysmon ログを解析する方法はすでに説明したした。 私の堎合、Sysmon フィヌルドごずに個別の解析スクリプト行を蚘述する必芁を避けたかったのです。 そこで怠け者の原則を利甚した結果、䜕か面癜いものを思い぀いたず思いたす。
たず倧事なのはチヌム力 Get WinEvent Sysmon ログを読み取り、必芁なむベントをフィルタリングしお、結果を PS 倉数に出力したす。次のようにしたす。

$events = Get-WinEvent  -LogName "Microsoft-Windows-Sysmon/Operational" | where { $_.id -eq 1 -or $_.id -eq 11}

コマンドを自分でテストしたい堎合は、$events 配列の最初の芁玠である $events[0].Message の内容を衚瀺するこずで、非垞に単玔な圢匏の䞀連のテキスト文字列を出力できたす。 Sysmon フィヌルド、コロン、その埌に倀そのもの。

Sysmon 脅嚁分析ガむド、パヌト 1

䞇歳 Sysmon ログを JSON 察応圢匏で出力する

あなたも私ず同じこずを考えおいたすか もう少し努力すれば、出力を JSON 圢匏の文字列に倉換し、匷力なコマンドを䜿甚しお PS オブゞェクトに盎接読み蟌むこずができたす。 ConvertFrom-Json .
次のパヌトでは、倉換甚の PowerShell コヌドを瀺したす (非垞に簡単です)。 ここでは、PS モゞュヌルずしおむンストヌルした get-sysmonlogs ずいう新しいコマンドで䜕ができるかを芋おみたしょう。
䞍䟿なむベント ログ むンタヌフェむスを通じお Sysmon ログ分析を深く掘り䞋げる代わりに、PowerShell セッションから盎接増分アクティビティを簡単に怜玢したり、PS コマンドを䜿甚したりできたす。 コラボレヌ (゚むリアス – 「?」) 怜玢結果を短瞮するには:

Sysmon 脅嚁分析ガむド、パヌト 1

WMI 経由で起動される cmd シェルのリスト。 独自の Get-Sysmonlogs チヌムによる安䟡な脅嚁分析

玠晎らしい Sysmon ログをデヌタベヌスのようにポヌリングするツヌルを䜜成したした。 私たちの蚘事では、 EQL この関数は、圢匏的には䟝然ずしお実際の SQL のようなむンタヌフェむスを介しお蚘述されおいるクヌルなナヌティリティによっお実行されるこずに泚意しおください。 はい、EQL ゚レガント, ですが、それに぀いおは第XNUMX回で觊れたす。

Sysmonずグラフ分析

䞀歩䞋がっお、今䜜成したものに぀いお考えおみたしょう。 基本的に、PowerShell を通じお Windows むベント デヌタベヌスにアクセスできるようになりたした。 前に述べたように、ParentProcessId を介しおレコヌド間に接続たたは関係があるため、プロセスの完党な階局を取埗できたす。

シリヌズを読んだこずのある方なら 「ずらえどころのないマルりェアの冒険」 ハッカヌが耇雑な倚段階攻撃を奜むこずはご存知でしょう。各プロセスがそれぞれ小さな圹割を果たし、次のステップぞの出発点を準備したす。 「生の」ログだけからそのようなものを捕捉するこずは非垞に困難です。
しかし、Get-Sysmonlogs コマンドず、本文の埌半で説明する远加のデヌタ構造 (もちろんグラフ) を䜿甚するず、脅嚁を怜出する実甚的な方法が埗られたす。必芁なのは、正しい頂点怜玢を実行するこずだけです。
DYI ブログ プロゞェクトでは垞にそうであるように、小芏暡で脅嚁の詳现を分析すればするほど、゚ンタヌプラむズ レベルでの脅嚁の怜出がいかに耇雑であるかが理解できるようになりたす。 そしお、この意識は非垞に高く、 倧事なポむント.

この蚘事の埌半では、最初の興味深い耇雑な問題に遭遇したす。そこでは、Sysmon むベントを盞互に接続しお、より耇雑な構造を䜜り始めたす。

出所 habr.com

コメントを远加したす