Sysmon Təhlükə Təhlili Bələdçisi, 1-ci Hissə

Sysmon Təhlükə Təhlili Bələdçisi, 1-ci Hissə

Bu məqalə Sysmon təhlükələrinin təhlili seriyasının birinci hissəsidir. Seriyanın bütün digər hissələri:

Hissə 1. Sysmon qeydlərinin təhlilinə giriş (biz buradayıq)
Hissə 2. Təhdidləri Aşkar etmək üçün Sysmon Hadisələrindən Məlumatların İstifadəsi
Hissə 3: Qrafiklərlə Dərin Sysmon Təhlükə Analizi

Əgər siz informasiya təhlükəsizliyi ilə məşğul olursunuzsa, çox güman ki, davam edən hücumları başa düşməlisiniz. Artıq öyrədilmiş bir gözünüz varsa, "xam" xam qeydlərdə qeyri-standart fəaliyyəti axtara bilərsiniz - deyək ki, işləyən PowerShell skripti DownloadString əmri və ya Windows hadisələr jurnalında ən son fəaliyyətə keçməklə özünü Word faylı kimi göstərən VBS skripti. Ancaq bu, həqiqətən böyük bir baş ağrısıdır. Xoşbəxtlikdən, Microsoft hücum təhlilini çox asanlaşdıran Sysmon-u yaratdı.

Sysmon jurnalında göstərilən təhdidlərin arxasında duran əsas fikirləri anlamaq istəyirsiniz? Bələdçimizi yükləyin WMI hadisələri casusluq vasitəsi kimi və siz insayderlərin digər işçilərə necə gizli şəkildə casusluq edə biləcəyini anlayırsınız. Windows hadisələr jurnalı ilə işləməyin əsas problemi ana proseslər haqqında məlumatın olmamasıdır, yəni. proseslərin iyerarxiyasını ondan anlamaq mümkün deyil. Digər tərəfdən, Sysmon jurnalının qeydlərində valideynin proses identifikatoru, adı və icra olunan komanda xətti var. Təşəkkürlər Microsoft.

Serimizin birinci hissəsində Sysmon-dan əsas məlumatlarla nə edə biləcəyimizi görəcəyik. İkinci hissədə biz təhdid qrafikləri kimi tanınan daha mürəkkəb uyğunluq strukturlarını yaratmaq üçün ana proses məlumatlarından tam istifadə edəcəyik. Üçüncü hissədə biz qrafikin “çəkisi”nin təhlili vasitəsilə qeyri-standart fəaliyyət üçün təhlükə qrafikini skan edən sadə alqoritmə baxacağıq. Və sonunda, bir mükafat olaraq, təhdidləri aşkar etmək üçün səliqəli (və başa düşülən) bir ehtimal metodu tapacaqsınız.

Hissə 1: Sysmon Log Analizi ilə tanışlıq

Hadisə jurnalının mürəkkəbliyini anlamağa nə kömək edəcək? Nəhayət, SIEM. O, hadisələri normallaşdırır və onların sonrakı təhlilini asanlaşdırır. Ancaq ən azı ilk vaxtlar o qədər də uzağa getməməliyik. Əvvəlcə SIEM-in prinsiplərini başa düşmək üçün gözəl pulsuz Sysmon yardım proqramını sınamaq kifayətdir. Və onunla işləmək təəccüblü dərəcədə asandır. Davam et, Microsoft!

Sysmon-un xüsusiyyətləri nələrdir?

Qısacası, proseslər haqqında faydalı və oxunaqlı məlumat (aşağıdakı şəkillərə baxın). Siz Windows hadisə jurnalında olmayan bir çox faydalı təfərrüat tapa bilərsiniz, lakin ən vacibi aşağıdakı sahələrdir:

  • Proses identifikatoru (onluq, onaltılıq deyil!)
  • Ana proses identifikatoru
  • Komanda xəttini emal edin
  • Ana proses əmr xətti
  • Fayl şəkli hash
  • Fayl Şəkil Adları

Sysmon eyni zamanda həm cihaz sürücüsü, həm də xidmət kimi quraşdırılır - daha çox öyrənin burada. Onun əsas üstünlüyü logları təhlil etmək qabiliyyətidir bir neçə mənbələr, məlumatların korrelyasiyası və nəticədə çıxan dəyərlərin çıxışı, yol boyunca yerləşən hadisə jurnalının bir qovluğunda Microsoft -> Windows -> Sysmon -> Əməliyyat. Windows qeydləri ilə bağlı apardığım araşdırmalar zamanı mən daima PowerShell qeydləri qovluğu ilə Təhlükəsizlik qovluğu arasında keçid etməli oldum, hadisələrin qeydlərini birtəhər onların arasındakı dəyərlərin xəritəsini çıxarmaq üçün qəhrəmancasına sürüşdürdüm. Bu, heç vaxt asan məsələ deyil və sonradan anladığım kimi, dərhal aspirin ehtiyatı toplamaq daha yaxşıdır.

Sysmon, əksinə, əsas prosesləri başa düşməyinizə kömək etmək üçün faydalı (və ya satıcıların dediyi kimi, hərəkətə keçə bilən) məlumat verməklə keyfiyyətcə irəliləyir. Məsələn, mən gizli seansa başladım wmiexec, bu şəbəkə daxilində ağıllı insayderin hərəkətini simulyasiya edir. Windows Hadisə Qeydiyyatında görəcəyiniz budur:

Sysmon Təhlükə Təhlili Bələdçisi, 1-ci Hissə

Proses haqqında bəzi məlumatlar Windows jurnalında görünür, lakin çox az istifadə olunur. Üstəlik hex-də proses identifikatorları???

Hacking əsaslarını başa düşən peşəkar İT mütəxəssisi üçün komanda xətti şübhəli olmalıdır. Cmd.exe-dən istifadə edərək, daha sonra qəribə bir adla fayla yönləndirilmiş çıxışı olan başqa bir əmri işə salın - bu, nəzarət və idarəetmə üçün proqram təminatının hərəkətlərinə açıq şəkildə bənzəyir. komanda-nəzarət (C2): Beləliklə, WMI xidmətlərindən istifadə edərək psevdo qabıq yaradılır.
İndi Sysmon girişinin ekvivalentinə nəzər salaq və onun bizə nə qədər əlavə məlumat verdiyini qeyd edək:

Sysmon Təhlükə Təhlili Bələdçisi, 1-ci Hissə

Bir ekran görüntüsündə Sysmon xüsusiyyətləri: oxunaqlı formada proses haqqında ətraflı məlumat

Siz təkcə komanda xəttini deyil, həm də fayl adını, icra olunan proqrama gedən yolu, Windows-un bu barədə bildiklərini (“Windows Command Processor”), identifikatoru görürsünüz. valideyn proses, komanda xətti valideyn, cmd qabığını işə salan, həmçinin ana prosesin əsl fayl adı. Hamısı bir yerdə, nəhayət!
Sysmon jurnalından belə nəticəyə gələ bilərik ki, yüksək ehtimalla “xam” jurnallarda gördüyümüz bu şübhəli komanda xətti işçinin normal işinin nəticəsi deyil. Daha doğrusu, o, C2-yə bənzər bir proses - wmiexec, əvvəldə qeyd etdiyim kimi - yaradılıb və birbaşa xidmətin WMI prosesi (WmiPrvSe) tərəfindən yaradılıb. İndi uzaq bir hücumçunun və ya insayderin bir diş üçün korporativ infrastrukturu sınadığına dair bir göstəricimiz var.

Get-Sysmonlogs təqdimatı

Əlbəttə ki, Sysmon-un bir yerdə qeydləri olduqda əladır. Fərdi log sahələrinə proqramlı şəkildə - məsələn, PowerShell əmrləri vasitəsilə daxil ola bilsək, yəqin ki, daha yaxşı olardı. Bu halda potensial təhlükələrin axtarışını avtomatlaşdıracaq kiçik PowerShell skripti yazmaq mümkün olardı!
Bu fikri ilk mən deyildim. Bəzi forum yazılarında və GitHub-da olması yaxşıdır layihələr Sysmon jurnalını təhlil etmək üçün PowerShell-dən necə istifadə etmək artıq izah edilmişdir. Mənim vəziyyətimdə, hər bir Sysmon sahəsi üçün ayrı-ayrılıqda təhlil skripti yazmaq məcburiyyətindən qaçmaq istədim. Beləliklə, mən tənbəl insan prinsipindən istifadə etdim və hesab edirəm ki, nəticədə maraqlı bir şey əldə etdim.
Birinci vacib məqam komandanın qabiliyyətidir Get-WinEvent Sysmon qeydlərini oxuyun, lazımi hadisələri süzün və nəticəni PS dəyişənində göstərin, məsələn:

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

Əgər siz əmri özünüz yoxlamaq istəyirsinizsə, məzmunu $events massivinin birinci elementində, $events[0].Message göstərməklə, siz çox sadə formatda bir sıra mətn sətirlərini çıxara bilərsiniz: Sysmon-un adı sahə, iki nöqtə və sonra dəyərin özü.

Sysmon Təhlükə Təhlili Bələdçisi, 1-ci Hissə

Yaşasın! JSON-hazır formatda Sysmon log çıxışı

Mənimlə eyni şeyi düşünürsən? Bir az daha çox səy göstərərək, çıxışı JSON formatlı sətirə çevirə və güclü əmrlə onu birbaşa PS obyektinə yükləyə bilərsiniz. ConvertFrom-Json .
Dönüşüm üçün PowerShell kodunu göstərəcəyəm - bu, çox sadədir - növbəti hissədə. Hələlik gəlin PS modulu kimi quraşdırdığım get-sysmonlogs adlı yeni komandamın nə edə biləcəyinə nəzər salaq.
Yöndəmsiz hadisələr jurnalı interfeysi vasitəsilə Sysmon jurnalının təhlilini daha dərindən araşdırmaq əvəzinə, biz birbaşa PowerShell seansından artımlı fəaliyyəti səylə axtara və həmçinin PS əmrindən istifadə edə bilərik. hara (ləqəb - "?") axtarış nəticələrini qısaltmaq üçün:

Sysmon Təhlükə Təhlili Bələdçisi, 1-ci Hissə

WMI vasitəsilə işə salınan cmd qabıqlarının siyahısı. Öz Get-Sysmonlogs komandamız ilə təhdid təhlili ucuzdur

Möhtəşəm! Mən verilənlər bazası kimi Sysmon log sorğu aləti yaratdım. haqqında məqaləmizdə IQ qeyd olunub ki, bu funksiya formal olaraq real SQL-ə bənzər interfeys vasitəsilə də təsvir edilən sərin yardım proqramı tərəfindən yerinə yetiriləcək. Bəli, ECL zərif, lakin üçüncü hissədə buna toxunacağıq.

Sysmon və qrafik analizi

Gəlin mücərrədləşək və indicə yaratdığımız haqqında düşünək. Əslində, indi PowerShell vasitəsilə əldə edilə bilən Windows Hadisələr Bazamız var. Daha əvvəl qeyd etdiyim kimi, qeydlər arasında əlaqələr və ya əlaqələr var - ParentProcessId vasitəsilə - beləliklə, proseslərin tam iyerarxiyasını əldə edə bilərsiniz.

Serialı oxumusunuzsa "Mütləq Malvarinin sərgüzəştləri" onda bilirsiniz ki, hakerlər hər bir prosesin öz kiçik rolunu oynadığı və növbəti addım üçün tramplin hazırladığı mürəkkəb çoxmərhələli hücumlar yaratmağı sevirlər. Belə şeyləri yalnız "xam" jurnaldan tutmaq olduqca çətindir.
Lakin mənim Get-Sysmonlogs əmrim və mətndə daha sonra baxacağımız əlavə məlumat strukturu ilə (əlbəttə ki, qrafik) təhdidləri aşkar etmək üçün praktiki üsulumuz var – tələb olunan tək şey düzgün təpə axtarışını yerinə yetirməkdir. .
DYI blog layihələrimizdə həmişə olduğu kimi, kiçik miqyasda təhdidlərin təfərrüatlarının təhlili üzərində nə qədər çox işləsəniz, təşkilat səviyyəsində təhlükələri aşkar etməyin nə qədər çətin olduğunu bir o qədər dərk edəcəksiniz. Və bu reallaşma son dərəcə böyükdür mühüm məqam.

Sysmon hadisələrini bir-biri ilə daha mürəkkəb strukturlara bağlamağa başlayacağımız məqalənin ikinci hissəsində ilk maraqlı mürəkkəbliklərlə qarşılaşacağıq.

Mənbə: www.habr.com

Добавить комментарий