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
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
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
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
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.
İndi Sysmon girişinin ekvivalentinə nəzər salaq və onun bizə nə qədər əlavə məlumat verdiyini qeyd edək:
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
Birinci vacib məqam komandanın qabiliyyətidir
$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ü.
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.
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.
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ə
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
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