Udhëzuesi i Analizës së Kërcënimeve Sysmon, Pjesa 1

Udhëzuesi i Analizës së Kërcënimeve Sysmon, Pjesa 1

Ky artikull është pjesa e parë e një serie mbi analizën e kërcënimit Sysmon. Të gjitha pjesët e tjera të serisë:

Pjesa 1: Hyrje në analizën e regjistrave të Sysmon (ne jemi këtu)
Pjesa 2: Përdorimi i të dhënave të ngjarjeve Sysmon për të identifikuar kërcënimet
Pjesa 3. Analizë e thellë e kërcënimeve të Sysmon duke përdorur grafikët

Nëse punoni në sigurinë e informacionit, ndoshta shpesh duhet të kuptoni sulmet e vazhdueshme. Nëse tashmë keni një sy të stërvitur, mund të kërkoni për aktivitete jo standarde në regjistrat e papërpunuar "të papërpunuar" - të themi, një skript PowerShell që funksionon me komandën DownloadString ose një skript VBS që pretendon të jetë një skedar Word - thjesht duke lëvizur nëpër aktivitetin më të fundit në regjistrin e ngjarjeve të Windows. Por kjo është vërtet një dhimbje koke e madhe. Për fat të mirë, Microsoft krijoi Sysmon, i cili e bën analizën e sulmeve shumë më të lehtë.

Dëshironi të kuptoni idetë themelore prapa kërcënimeve të shfaqura në regjistrin e Sysmon? Shkarkoni udhëzuesin tonë Ngjarjet WMI si një mjet spiunimi dhe ju e kuptoni se si të brendshëm mund të vëzhgojnë në mënyrë të fshehtë punonjësit e tjerë. Problemi kryesor me punën me regjistrin e ngjarjeve të Windows është mungesa e informacionit për proceset mëmë, d.m.th. është e pamundur të kuptohet hierarkia e proceseve prej saj. Regjistrimet e regjistrit Sysmon, nga ana tjetër, përmbajnë ID-në e procesit prind, emrin e tij dhe linjën e komandës që do të hapet. Faleminderit, Microsoft.

Në pjesën e parë të serisë sonë, ne do të shikojmë se çfarë mund të bëni me informacionin bazë nga Sysmon. Në Pjesën XNUMX, ne do të përfitojmë plotësisht nga informacioni i procesit prind për të krijuar struktura më komplekse të pajtueshmërisë të njohura si grafikët e kërcënimit. Në pjesën e tretë, do të shikojmë një algoritëm të thjeshtë që skanon një grafik kërcënimi për të kërkuar aktivitet të pazakontë duke analizuar "peshën" e grafikut. Dhe në fund, do të shpërbleheni me një metodë të zoti (dhe të kuptueshme) probabilistike të zbulimit të kërcënimit.

Pjesa 1: Hyrje në analizën e regjistrave të Sysmon

Çfarë mund t'ju ndihmojë të kuptoni kompleksitetin e regjistrit të ngjarjeve? Në fund të fundit - SIEM. Ai normalizon ngjarjet dhe thjeshton analizën e tyre pasuese. Por nuk duhet të shkojmë kaq larg, të paktën jo në fillim. Në fillim, për të kuptuar parimet e SIEM, do të mjaftojë të provoni mjetin e mrekullueshëm falas Sysmon. Dhe është çuditërisht e lehtë për të punuar me të. Vazhdo kështu, Microsoft!

Çfarë karakteristikash ka Sysmon?

Shkurtimisht - informacion i dobishëm dhe i lexueshëm në lidhje me proceset (shih fotot më poshtë). Do të gjeni një mori detajesh të dobishme që nuk janë në Regjistrin e Ngjarjeve të Windows, por më të rëndësishmet janë fushat e mëposhtme:

  • ID-ja e procesit (në dhjetor, jo heks!)
  • ID-ja e procesit prind
  • Linja e komandës së procesit
  • Linja e komandës së procesit prind
  • Hash imazhi i skedarit
  • Emrat e imazheve të skedarëve

Sysmon është instaluar si si drejtues pajisjeje ashtu edhe si shërbim - më shumë detaje këtu. Avantazhi i tij kryesor është aftësia për të analizuar regjistrat nga i një pakice burimet, korrelacioni i informacionit dhe prodhimi i vlerave rezultuese në një dosje të regjistrit të ngjarjeve të vendosura përgjatë shtegut Microsoft -> Windows -> Sysmon -> Operacional. Në hetimet e mia që ngjallin flokët në regjistrat e Windows, e gjeta veten që vazhdimisht duhej të kaloja midis, të themi, dosjes së regjistrave të PowerShell dhe dosjes së Sigurisë, duke shfletuar regjistrat e ngjarjeve në një përpjekje të guximshme për të lidhur disi vlerat midis të dyjave. . Kjo nuk është kurrë një detyrë e lehtë, dhe siç e kuptova më vonë, ishte më mirë të grumbullohesha menjëherë me aspirinë.

Sysmon bën një hap kuantik përpara duke ofruar informacion të dobishëm (ose siç duan të thonë shitësit, të zbatueshëm) për të ndihmuar në kuptimin e proceseve themelore. Për shembull, fillova një seancë sekrete wmiexec, duke simuluar lëvizjen e një insajderi të zgjuar brenda rrjetit. Kjo është ajo që do të shihni në regjistrin e ngjarjeve të Windows:

Udhëzuesi i Analizës së Kërcënimeve Sysmon, Pjesa 1

Regjistri i Windows tregon disa informacione rreth procesit, por është pak i dobishëm. ID-të e procesit plus në heksadecimal???

Për një profesionist profesionist i IT-së me një kuptim të bazave të hakimit, linja e komandës duhet të jetë e dyshimtë. Përdorimi i cmd.exe për të ekzekutuar më pas një komandë tjetër dhe ridrejtimi i daljes në një skedar me një emër të çuditshëm është qartësisht i ngjashëm me veprimet e softuerit të monitorimit dhe kontrollit komanda dhe kontrolli (C2): Në këtë mënyrë, krijohet një pseudo-predhë duke përdorur shërbimet WMI.
Tani le të hedhim një vështrim në ekuivalentin e hyrjes në Sysmon, duke vënë në dukje se sa informacion shtesë na jep:

Udhëzuesi i Analizës së Kërcënimeve Sysmon, Pjesa 1

Sysmon veçoritë në një pamje të ekranit: informacion i detajuar rreth procesit në një formë të lexueshme

Ju jo vetëm që shihni vijën e komandës, por edhe emrin e skedarit, shtegun drejt aplikacionit të ekzekutueshëm, çfarë di Windows për të ("Windows Command Processor"), identifikuesin prindërore procesi, linja e komandës prind, e cila nisi guaskën cmd, si dhe emrin e vërtetë të skedarit të procesit prind. Gjithçka në një vend, më në fund!
Nga regjistri i Sysmon mund të konkludojmë se me një shkallë të lartë probabiliteti kjo linjë komanduese e dyshimtë që pamë në regjistrat "të papërpunuar" nuk është rezultat i punës normale të punonjësit. Përkundrazi, ai u krijua nga një proces i ngjashëm me C2 - wmiexec, siç e përmenda më herët - dhe u krijua drejtpërdrejt nga procesi i shërbimit WMI (WmiPrvSe). Tani kemi një tregues që një sulmues ose person i brendshëm po teston infrastrukturën e korporatës.

Prezantimi i Get-Sysmonlogs

Sigurisht që është mirë kur Sysmon i vendos regjistrat në një vend. Por ndoshta do të ishte edhe më mirë nëse ne mund t'i qaseshim fushave individuale të regjistrave në mënyrë programore - për shembull, përmes komandave PowerShell. Në këtë rast, mund të shkruani një skript të vogël PowerShell që do të automatizonte kërkimin për kërcënimet e mundshme!
Nuk isha i pari që kisha një ide të tillë. Dhe është mirë që në disa postime të forumit dhe GitHub projektet Është shpjeguar tashmë se si të përdoret PowerShell për të analizuar regjistrin e Sysmon. Në rastin tim, doja të shmangja nevojën për të shkruar rreshta të veçantë të skriptit analizues për secilën fushë Sysmon. Kështu që unë përdora parimin e burrit dembel dhe mendoj se dola me diçka interesante si rezultat.
Pika e parë e rëndësishme është aftësia e ekipit Merr-WinEvent lexoni regjistrat e Sysmon, filtroni ngjarjet e nevojshme dhe nxirrni rezultatin në variablin PS, si këtu:

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

Nëse dëshironi ta testoni vetë komandën, duke shfaqur përmbajtjen në elementin e parë të grupit $events, $events[0]. Mesazhi, dalja mund të jetë një seri vargjesh teksti me një format shumë të thjeshtë: emri i Fusha Sysmon, një dy pika dhe më pas vetë vlera.

Udhëzuesi i Analizës së Kërcënimeve Sysmon, Pjesa 1

Hora! Dalja e hyrjes në Sysmon në formatin e gatshëm për JSON

A po mendon të njëjtën gjë si unë? Me pak më shumë përpjekje, mund ta konvertoni daljen në një varg të formatuar JSON dhe më pas ta ngarkoni direkt në një objekt PS duke përdorur një komandë të fuqishme ConvertFrom-Json .
Unë do të tregoj kodin PowerShell për konvertimin - është shumë i thjeshtë - në pjesën tjetër. Tani për tani, le të shohim se çfarë mund të bëjë komanda ime e re e quajtur get-sysmonlogs, të cilën e instalova si një modul PS.
Në vend që të zhytemi thellë në analizën e regjistrave të Sysmon përmes një ndërfaqeje të papërshtatshme të regjistrit të ngjarjeve, ne mund të kërkojmë pa mundim aktivitetin shtesë direkt nga një sesion PowerShell, si dhe të përdorim komandën PS ku (alias – “?”) për të shkurtuar rezultatet e kërkimit:

Udhëzuesi i Analizës së Kërcënimeve Sysmon, Pjesa 1

Lista e predhave cmd të lëshuara përmes WMI. Analiza e Kërcënimeve me çmim të lirë me ekipin tonë të Get-Sysmonlogs

E mrekullueshme! Krijova një mjet për të anketuar regjistrin e Sysmon sikur të ishte një bazë të dhënash. Në artikullin tonë rreth IQ u vu re se ky funksion do të kryhet nga mjeti i lezetshëm i përshkruar në të, megjithëse zyrtarisht ende përmes një ndërfaqeje të vërtetë si SQL. Po, EQL elegante, por do ta prekim në pjesën e tretë.

Analiza Sysmon dhe grafiku

Le të tërhiqemi dhe të mendojmë për atë që sapo krijuam. Në thelb, ne tani kemi një bazë të dhënash të ngjarjeve të Windows të aksesueshme përmes PowerShell. Siç e theksova më herët, ekzistojnë lidhje ose marrëdhënie midis regjistrimeve - nëpërmjet ParentProcessId - kështu që mund të merret një hierarki e plotë e proceseve.

Nëse e keni lexuar serialin "Aventurat e malware të pakapshëm" ju e dini se hakerëve u pëlqen të krijojnë sulme komplekse me shumë faza, në të cilat secili proces luan rolin e tij të vogël dhe përgatit një trampolinë për hapin tjetër. Është jashtëzakonisht e vështirë të kapësh gjëra të tilla thjesht nga regjistri "i papërpunuar".
Por me komandën time Get-Sysmonlogs dhe një strukturë shtesë të të dhënave që do të shikojmë më vonë në tekst (një grafik, sigurisht), ne kemi një mënyrë praktike për të zbuluar kërcënimet - gjë që kërkon vetëm kërkimin e duhur të kulmit.
Si gjithmonë me projektet tona të blogut DYI, sa më shumë të punoni për të analizuar detajet e kërcënimeve në një shkallë të vogël, aq më shumë do të kuptoni se sa kompleks është zbulimi i kërcënimeve në nivel ndërmarrje. Dhe ky ndërgjegjësim është jashtëzakonisht i madh pikë e rëndësishme.

Komplikimet e para interesante do t'i hasim në pjesën e dytë të artikullit, ku do të fillojmë të lidhim ngjarjet e Sysmon me njëra-tjetrën në struktura shumë më komplekse.

Burimi: www.habr.com

Shto një koment