
Ky artikull është pjesa e parë e një serie mbi analizën e kërcënimeve Sysmon. Të gjitha pjesët tjera të serisë:
Pjesa 1. Njohja me analizën e logjeve Sysmon (ne jemi këtu)
Pjesa 2. Përdorimi i të dhënave nga ngjarjet Sysmon për identifikimin e kërcënimeve
Pjesa 3. Analiza e thelluar e kërcënimeve Sysmon përmes grafikëve
NĂ«se merresh me sigurinĂ« informacionit, sigurisht qĂ« shpesh duhet tĂ« analizosh sulmet e ndodhura. NĂ«se ke njĂ« sy tĂ« stĂ«rvitur, mund tĂ« kĂ«rkosh pĂ«r aktivitete tĂ« pazakonta nĂ« logjet 'tĂ« papĂ«rpunuara' â pĂ«r shembull, njĂ« skritp PowerShell tĂ« ekzekutuar apo njĂ« skritp VBS qĂ« pretendet tĂ« jetĂ« njĂ« skedari Word, duke i parĂ« thjesht aktivitetet mĂ« tĂ« fundit nĂ« regjistrin e ngjarjeve tĂ« Windows. Por kjo Ă«shtĂ« vĂ«rtet njĂ« dhimbje koke e madhe. FatmirĂ«sisht, Microsoft ka krijuar Sysmon, i cili e bĂ«n analizĂ«n e sulmeve shumĂ« mĂ« tĂ« thjeshtĂ«.
Doni të kuptoni idetë themelore që qëndrojnë pas kërcënimeve të paraqitura në logun e Sysmon? Shkarkoni udhëzuesin tonë dhe ju kuptoni se si insajderët mund të vëzhgojnë fshehurazi punonjësit e tjerë. Problemi kryesor i punës me logun e ngjarjeve të Windows është mungesa e informacionit mbi proceset prind, dmth nuk mund të kuptohet hierarkia e proceseve. Në regjistrimet e logut të Sysmon, përkundrazi, përmbahen identifikuesi i procesit prind, emri i tij dhe komanda që është ekzekutuar. Faleminderit, Microsoft.
Në pjesën e parë të serisë sonë, do të shohim se çfarë mund të bëjmë me informacionin bazë nga Sysmon. Në pjesën e dytë ne do të përdorim plotësisht informacionin rreth proceseve prind për të krijuar struktura më komplekse të përputhshmërisë, të njohura si grafet e kërcënimeve. Në pjesën e tretë, ne do të shqyrtojmë një algoritem të thjeshtë që skanon grafet e kërcënimeve për të kërkuar aktivitete jashtëzakonshme përmes analizës së 'peshores' së grafit. Dhe në fund, si shpërblim, ju pret një metodë probabiliste të bukur (dhe të qartë) për zbulimin e kërcënimeve.
Pjesa 1: Njohja me analizën e logëve të Sysmon
ĂfarĂ« ndihmon nĂ« kuptimin e vĂ«shtirĂ«sive tĂ« regjistrit tĂ« ngjarjeve? NĂ« fund tĂ« fundit â SIEM. Ajo normalizon ngjarjet dhe thjeshton analizĂ«n e tyre tĂ« mĂ«tejshme. Por nuk Ă«shtĂ« e nevojshme tĂ« shkojmĂ« aq larg, tĂ« paktĂ«n nĂ« fillim. NĂ« fillim, pĂ«r tĂ« kuptuar parimet e SIEM, do tĂ« mjaftonte tĂ« provonit njĂ« utilitar tĂ« shkĂ«lqyer falas si Sysmon. Dhe me tĂ« Ă«shtĂ« befasueshĂ«m lehtĂ« tĂ« punosh. ShĂ«ndet, Microsoft!
Cilat janë mundësitë e Sysmon?
NĂ«se e themi shkurt â informacion i dobishĂ«m dhe i lexueshĂ«m nĂ« lidhje me proceset (shihni imazhet mĂ« poshtĂ«). Do tĂ« zbuloni shumĂ« detaje tĂ« dobishme qĂ« nuk janĂ« nĂ« regjistrin e ngjarjeve tĂ« Windows, por e rĂ«ndĂ«sishmja â fushat e mĂ«poshtme:
- ID e procesit (në formën dekimale, jo hex!)
- ID e procesit prind
- Fjala kyçe e procesit
- Fjala kyçe e procesit prind
- Hash i imazhit të skedarit
- Emrat e imazheve të skedarit
Sysmon instalohet njĂ«kohĂ«sisht si njĂ« drejtues pajisjeje dhe si shĂ«rbim â mĂ« shumĂ« informacion Avantazhi i saj kryesor Ă«shtĂ« mundĂ«sia e analizĂ«s sĂ« logeve nga disa burimet, korrelacioni i informacionit dhe nxjerrja e vlerave pĂ«rfundimtare nĂ« njĂ« dosje regjistri ngjarjesh, e vendosur nĂ« rrugĂ«n Microsoft -> Windows -> Sysmon -> Operacional. NĂ« hetimet e mia mbi regjistrat e Windows, qĂ« mĂ« bĂ«nin tĂ« mĂ« ngrinin flokĂ«t, unĂ« vazhdimisht isha duke u shfletuar ndĂ«rmjet dosjes me regjistrat e PowerShell-it dhe dosjes 'Siguria', duke shfletuar regjistrat e ngjarjeve nĂ« njĂ« pĂ«rpjekje heroike pĂ«r tĂ« lidhur ndonjĂ«herĂ« vlerat midis tyre. Kjo nuk Ă«shtĂ« aspak njĂ« detyrĂ« e lehtĂ«, dhe siç kuptova mĂ« vonĂ«, do tĂ« ishte mĂ« mirĂ« tĂ« kisha marrĂ« aspirin menjĂ«herĂ«.
Sysmon bĂ«n njĂ« hap cilĂ«sor pĂ«rpara, duke ofruar informacion tĂ« dobishĂ«m (ose siç e thonĂ« furnizuesit â efektiv) pĂ«r tĂ« ndihmuar nĂ« kuptimin e proceseve themelore. PĂ«r shembull, unĂ« fillova njĂ« seancĂ« tĂ« fshehtĂ« , qĂ« simulinon lĂ«vizjen e njĂ« insider-i tĂ« zgjuar brenda rrjetit. KĂ«to janĂ« ato qĂ« do tĂ« shihni nĂ« regjistrin e ngjarjeve tĂ« Windows:

Në regjistrin e Windows shfaqet ndonjë informacion në lidhje me procesin, por ai është shumë i pakonceptuar. Përveç kësaj, identifikuesit e proceseve janë në formë hekso???
Një specialist IT profesionist me njohuri të bazave të hackimit duhet të dyshojë për komandën e linjës. Përdorimi i cmd.exe për të ekzekutuar një komandë tjetër me redirektimin e daljes në një skedar me një emër të çuditshëm, është qartë si veprimet e një programi për kontroll dhe menaxhim. : në këtë mënyrë krijohet një psevdoshkë nëpërmjet shërbimeve WMI.
Tani le të shohim ekvivalentin e regjistrimit nga Sysmon, duke u fokusuar në sa shumë informacion shtesë na jep:

Aftësitë e Sysmon në një screenshot: informacion të detajuar mbi procesin në një format të lexueshëm.
Jo vetĂ«m qĂ« shihni komandĂ«n e linjĂ«s, por edhe emrin e skedarit, rrugĂ«n deri te aplikacioni ekzekutues, atĂ« qĂ« Windows e di pĂ«r tĂ« (âWindows Command Processorâ), identifikuesin e procesit prind , linja e komandĂ«se prindit
, që ekzekutoi shell-in cmd, si dhe emrin real të skedarit të procesit prind. Të gjitha në një vend, përfundimisht!
Prezantojmë Get-Sysmonlogs
Sigurisht qĂ« Ă«shtĂ« bukur kur Sysmon ka logĂ«t nĂ« njĂ« vend. Por ndoshta do tĂ« ishte edhe mĂ« mirĂ« nĂ«se do tĂ« mund tĂ« kishim qasje nĂ« fushat individuale tĂ« logs nĂ« mĂ«nyrĂ« programore â pĂ«r shembull, pĂ«rmes komandave PowerShell. NĂ« kĂ«tĂ« rast, mund tĂ« shkruhej njĂ« skript tĂ« vogĂ«l PowerShell qĂ« automatizonte kĂ«rkimin pĂ«r kĂ«rcĂ«nime tĂ« mundshme!
Nuk jam i pari që kam pasur një ide të tillë. Dhe është mirë që në disa postime në forume dhe projekte në GitHub E kemi shpjeguar tashmë se si të përdorni PowerShell për të analizuar logun e Sysmon. Në rastin tim, doja të shmangia nevojën për të shkruar rreshta të veçantë për skriptin e analizës për çdo fushë të Sysmon. Prandaj, përdora parimin e njeriut të lenë dhe, siç mendoj, si rezultat arrita të shpik diçka interesante.
Pika e parë e rëndësishme është mundësia e komandës për të lexuar logjet e Sysmon, filtruar ngjarjet që duhen dhe nxjerrë rezultatin në një variabël PS, si këtu:
$events = Get-WinEvent -LogName "Microsoft-Windows-Sysmon/Operational" | where { $_.id -eq 1 -or $_.id -eq 11}
Nëse dëshironi të verifikoni vetë funksionimin e komandës, përmes shfaqjes së përmbajtjes në elementin e parë të vargut $events, $events[0].Message, mund të merrni një sërë tekstesh me një format shumë të thjeshtë: emri i fushës Sysmon, dy pika dhe pastaj vetë vlera.

Hurra! Nxjerrja e logut të Sysmon në formatin e gatshëm për JSON
A po mendoni për të njëjtën gjë si unë? Duke e përkushtuar pak më shumë përpjekje, mund ta konvertoni daljen në një varg të formatizuar si JSON dhe pastaj ta ngarkoni drejtpërdrejt në një objekt PS me komandën e fuqishme .
Do tĂ« tregoj njĂ« kod PowerShell pĂ«r konvertim â Ă«shtĂ« shumĂ« i thjeshtĂ« â nĂ« pjesĂ«n tjetĂ«r. NdĂ«rkohĂ«, le tĂ« shikojmĂ« çfarĂ« mund tĂ« bĂ«jĂ« ekipi im i ri i quajtur get-sysmonlogs, qĂ« e kam instaluar si modul PS.
NĂ« vend qĂ« tĂ« thellohemi nĂ« analizĂ«n e logeve Sysmon pĂ«rmes njĂ« ndĂ«rfaqeje tĂ« pakĂ«ndshme tĂ« regjistrit tĂ« ngjarjeve, ne mund tĂ« kĂ«rkojmĂ« pa mundim aktivitetin incremental direkt nga seanca PowerShell, si dhe tĂ« pĂ«rdorim komandĂ«n PS (aliasi â «?») pĂ«r tĂ« shkurtuar rezultatet e pĂ«rgjigjes:

Lista e cmd-shellave që janë ekzekutuar përmes WMI. Analiza e kërcënimeve me kostot më të ulëta përmes komandës sonë Get-Sysmonlogs.
Më befasoi! Kam krijuar një mjet pyetjesh të logeve Sysmon, sikur të ishte një bazë të dhënash. Në artikullin tonë për u përmend se kjo funksionalitet do të kryhet nga utiliti fantastik për të cilin flitet, megjithatë formalisht përmes një ndërfaqeje reale të ngjashme me SQL. Po, EQL është elegant, por do ta përmendim në pjesën e tretë.
Sysmon dhe analiza grafike
Le tĂ« shkĂ«putemi dhe tĂ« mendojmĂ« pĂ«r atĂ« qĂ« sapo kemi krijuar. NĂ« thelb, tani kemi njĂ« bazĂ« tĂ« dhĂ«nash pĂ«r ngjarjet Windows, e cila Ă«shtĂ« e aksesueshme pĂ«rmes PowerShell. Siç e vura nĂ« dukje mĂ« parĂ«, ka lidhje ose lidhshmĂ«ri mes regjistrimeve â pĂ«rmes ParentProcessId â kĂ«shtu qĂ« mund tĂ« marrim hierarkinĂ« e plotĂ« tĂ« proceseve.
NĂ«se e keni lexuar serinĂ« do tĂ« dini se hakerĂ«t i pĂ«lqejnĂ« tĂ« krijojnĂ« sulme komplekse nĂ« shumĂ« hapa, ku çdo proces luan rolin e tij tĂ« vogĂ«l dhe pĂ«rgatit terrenin pĂ«r hapat e ardhshĂ«m. KĂ«to gjĂ«ra janĂ« jashtĂ«zakonisht tĂ« vĂ«shtira pĂ«r tâu kapur thjesht nga njĂ« log «i papĂ«rpunuar».
Por me ekipin tim Get-Sysmonlogs dhe strukturĂ«n shtesĂ« tĂ« tĂ« dhĂ«nave qĂ« do tĂ« shqyrtojmĂ« mĂ« poshtĂ« (sigurisht, Ă«shtĂ« grafi), ne do tĂ« kemi njĂ« mĂ«nyrĂ« praktike pĂ«r tĂ« zbuluar kĂ«rcĂ«nimet â pĂ«r kĂ«tĂ« kĂ«rkohet vetĂ«m tĂ« kryejmĂ« kĂ«rkimin e duhur mbi majat.
Si gjithmonë në projektet tona blog DYI, aq më shumë punoni mbi analizën e detajeve të kërcënimeve në një shkallë të vogël, aq më mirë e kuptoni sa e komplikuar është zbulimi i kërcënimeve në nivel organizate. Dhe kjo vetëdije është jashtëzakonisht e rëndësishme..
Do të takohemi me disa sfida interesante në pjesën e dytë të artikullit, ku do të fillojmë të lidhim ngjarjet Sysmon në struktura më komplekse.
Burimi: habr.com
