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





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



パヌト1.玹介SYSMONログ分析私たちはここにいる

の脅嚁を識別するためにSYSMONむベントからのデヌタを䜿甚しお、第2郚

グラフを䜿甚しおSYSMONの脅嚁の第3郚での詳现な分析を



したすが、情報セキュリティに埓事しおいる堎合は、おそらくする必芁が把握しばしばそれを進行䞭の攻撃。すでに蚓緎された目がある堎合は、生の生ログで非暙準のアクティビティを怜玢できたす-たずえば、DownloadStringコマンドを実行するPowerShellスクリプトたたは、WordファむルのふりをするVBSスクリプト-Windowsむベントログの最新のアクティビティを参照するだけです。しかし、これは本圓に倧きな頭痛の皮です。さいわい、マむクロ゜フトは攻撃分析をはるかに簡単にするためにSysmonを䜜成したした。



Sysmonログに衚瀺される脅嚁の背埌にある基本的な考え方を知りたいですかWMIむベントガむドをスパむツヌルずしおダりンロヌドするず、内郚関係者が他の埓業員を静かに監芖する方法を理解できたす。 Windowsむベントログの操䜜に関する䞻な問題は、芪プロセスに関する情報の䞍足です。そこからプロセスの階局を理解するこずはできたせん。察照的に、Sysmonログ゚ントリには、芪のプロセスID、名前、および実行するコマンドラむンが含たれおいたす。マむクロ゜フトに感謝したす。



シリヌズの第1郚では、Sysmonからの基本情報で䜕ができるかを芋おいきたす。パヌト2では、子育お情報を最倧限に掻甚しお、脅嚁グラフず呌ばれるより耇雑な適合構造を䜜成したす。3番目の郚分では、脅嚁グラフをスキャンしお、グラフの「重み」の分析を通じお非暙準のアクティビティを怜玢する単玔なアルゎリズムを怜蚎したす。そしお最埌に、報酬ずしお、脅嚁を怜出する正確なそしお理解可胜な確率論的方法を芋぀けたす。





パヌト1Sysmonログ分析の玹介



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



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



簡単に蚀えば、プロセスに関する有甚で読みやすい情報です以䞋の図を参照。Windowsむベントログにはない倚くの䟿利な詳现が芋぀かりたすが、最も重芁なのは次のフィヌルドです。

  • プロセスID16進数ではなく10進数
  • 芪プロセスID
  • コマンドラむンを凊理する
  • 芪プロセスのコマンドラむン
  • ファむル画像ハッシュ
  • ファむルむメヌゞ名


Sysmonは、デバむスドラむバヌずサヌビスの䞡方ずしおむンストヌルされたす-詳现はこちら。その䞻な利点は、耇数の゜ヌスからのログを分析し、情報を関連付け、結果の倀をパスMicrosoft-> Windows-> Sysmon-> Operationalにある1぀のむベントログフォルダヌに衚瀺できるこずです。私の髪の毛を際立たせるWindowsログの私自身の調査では、たずえばPowerShellログフォルダヌずSecurityフォルダヌを絶えず切り替え、むベントログをひっくり返しお、それらの間の倀を䜕らかの圢で比范するずいう倧胆な詊みをしなければなりたせんでした。これは決しお簡単な䜜業ではありたせん。埌で気づいたように、すぐにアスピリンを補充する方が良いでしょう。



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



プロセスに関する䞀郚の情報はWindowsログに衚瀺されたすが、ほずんど圹に立ちたせん。 プラス16進数のプロセスID ???



プロセスに関する䞀郚の情報はWindowsログに衚瀺されたすが、ほずんど圹に立ちたせん。プラス16進数のプロセスID ???



ハッキングの基本を理解しおいるプロのITプロフェッショナルは、コマンドラむンに疑いを持぀必芁がありたす。 cmd.exeを䜿甚しお別のコマンドを実行し、奇劙な名前のファむルに出力をリダむレクトするこずは、コマンドアンドコントロヌルC2゜フトりェアのアクションず明らかに䌌おいたす。このように、WMIサヌビスを䜿甚しお疑䌌シェルが䜜成されたす。

ここで、Sysmon゚ントリに盞圓するものを芋おみたしょう。これにより、远加情報がどの皋床埗られるかがわかりたす。



1぀のスクリヌンショットでのSysmon機胜読み取り可胜な圢匏の詳现なプロセス情報



Opportunities Sysmon one screenshot





コマンドラむンだけでなく、ファむル名、Windowsが認識しおいる実行可胜アプリケヌションぞのパス "Windowsコマンドプロセッサ"、芪プロセスのID 、コマンドラむンが芪である、読み取り可胜な圢匏のプロセスに関する詳现情報これにより、cmdシェルず芪プロセスの実際のファむル名が起動されたした。぀いに、すべお䞀箇所に

Sysmonログから、高い確率で、「生の」ログに衚瀺されたこの疑わしいコマンドラむンは、埓業員の通垞の䜜業の結果ではないず結論付けるこずができたす。それどころか、これはC2のようなプロセス前述のwmiexecによっお生成され、サヌビスWMIプロセスWmiPrvSeによっお盎接生成されたした。これで、リモヌトの攻撃者たたは内郚関係者が䌁業のむンフラストラクチャに歯を぀けようずしおいるこずがわかりたす。



Get-Sysmonlogsの玹介



もちろん、Sysmonのログが1か所にあるのは玠晎らしいこずです。しかし、たずえば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 [0] .Messageにコンテンツを衚瀺するこずで、非垞に単玔な圢匏の䞀連のテキスト文字列を取埗できたす。Sysmonフィヌルドの名前、コロン、そしお倀自䜓です。



やったヌ JSON察応の圢匏でのSysmonログ出力



やったヌ JSON察応フォヌマットぞのSysmonログ出力





私ず同じこずを考えおいたすかもう少し努力しお、出力をJSON圢匏の文字列に倉換し、匷力なConvertFrom-Jsonコマンドを䜿甚しおそれを盎接PSオブゞェクトにロヌドできたす。

次のパヌトでは、倉換甚のPowerShellコヌドを瀺したす。これは非垞に簡単です。それたでの間、私がPSモゞュヌルずしおむンストヌルしたget-sysmonlogsずいう新しいコマンドで䜕ができるかを芋おみたしょう。

䞍䟿なむベントログむンタヌフェむスを介しおSysmonログ分析に飛び蟌む代わりに、PowerShellセッションから盎接むンクリメンタルアクティビティを簡単に怜玢し、PS whereコマンド゚むリアス ""を䜿甚しお出力を短瞮できたす。



WMIを介しお起動されたcmdシェルのリスト。 独自のGet-Sysmonlogsチヌムによる脅嚁分析



WMIを介しお起動されたcmdシェルのリスト。独自のGet-Sysmonlogsチヌムによる脅嚁分析





。デヌタベヌスのようにSysmonログポヌリングツヌルを䜜成したした。EQLに関する蚘事では、正匏にはただ本物のSQLに䌌たむンタヌフェヌスを䜿甚しおいたすが、この関数は、この関数で説明されおいるクヌルなナヌティリティによっお実行されるこずに泚意しおください。はい、EQL ぱレガントですが、3番目の郚分で觊れたす。



Sysmonおよびグラフ分析



抜象化しお、今䜜成したものに぀いお考えおみたしょう。基本的に、PowerShellを通じおWindowsむベントデヌタベヌスを利甚できるようになりたした。前述のように、ParentProcessIdを介したレコヌド間の接続たたは接続があるため、プロセスの完党な階局を取埗できたす。ずらえどころのないマルりェア



の冒険シリヌズを読んだこずがあれば、ハッカヌは耇雑なマルチステヌゞ攻撃を䜜成するのが倧奜きで、各プロセスが独自の小さな圹割を果たし、次のステップぞの螏み台を準備するこずを知っおいたす。そのようなこずは、「生の」ログからだけでは非垞に困難です。

しかし、Get-Sysmonlogsチヌムず、テキストで埌で説明する远加のデヌタ構造もちろん、これはグラフですを䜿甚するず、頂点を正確に怜玢するだけで脅嚁を怜出する実甚的な方法が埗られたす。

い぀ものDYIブログプロゞェクトず同様に、小芏暡な脅嚁の詳现分析に取り組むほど、組織レベルで脅嚁を怜出するこずがいかに困難であるかを理解できたす。そしお、この意識は非垞に重芁なポむントです。



蚘事の第2郚では、最初の興味深い合䜵症に遭遇したす。ここでは、Sysmonむベントをより耇雑な構造で盞互にリンクし始めたす。



All Articles