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
Dëshironi të kuptoni idetë themelore prapa kërcënimeve të shfaqura në regjistrin e Sysmon? Shkarkoni udhëzuesin tonë
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
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
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
Tani le të hedhim një vështrim në ekuivalentin e hyrjes në Sysmon, duke vënë në dukje se sa informacion shtesë na jep:
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
Pika e parë e rëndësishme është aftësia e ekipit
$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.
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
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
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
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
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