Custom SIEM + Sentinel BAS
Python’da noldan qurilgan tahdidlarni aniqlash va javob berish platformasi hamda unga juftlangan Sentinel BAS — jonli laboratoriyaga qarshi Atomic Red Team usullarini ishga tushiradigan va qaysi aniqlash qoidalari haqiqatda ishlashini tekshiradigan breach-and-attack-simulation dvigateli.
- Rol
- Dizayn, muhandislik va tekshiruv
- Yil
- 2026
- Holat
- Ochiq, MIT litsenziyasi
- Aniqlash qoidalari
- 35
- O‘lchangan qamrov, 10 ta usuldan 7 tasi
- 70%
- Hujum zanjiri korrelyatsiyasi oynasi
- 60 daq
- Tayyor tahdid qidiruvlari
- 8
Umumiy ko‘rinish
Muammo
Ko‘rib chiqishda to‘g‘ri ko‘ringan aniqlash qoidasi baribir ishlamasligi mumkin: parser u tayanadigan maydonni tashlab yuborishi yoki telemetriya ifloslanishi mumkin. Pipeline’ga qarshi real hujum usullarini ishga tushirmasdan, aniqlash qamrovi shunchaki taxmin.
Nima qurdim
Mini SIEM — Python’da noldan yozilgan tahdidlarni aniqlash va javob berish platformasi: ko‘p manbali ma’lumot yig‘ish, 35 ta aniqlash qoidasi, Sigma dvigateli, hujum zanjiri korrelyatsiyasi, insidentlarni boshqarish, tahdid qidiruvi va tahlilchi tasdiqlaydigan SOAR.
Uning yonida Sentinel BAS jonli laboratoriyaga qarshi Atomic Red Team usullarini ishga tushiradi va har birini «Aniqlandi», «Kechikdi» yoki «O‘tkazib yuborildi» deb tasniflaydi.
Nega bu muhim
Birinchi tekshiruv qoidalarni ko‘rib chiqishda sezilmagan kamchiliklarni ochib berdi. Kerberoasting qoidasi tuzilishiga ko‘ra ishlay olmas edi, chunki TicketEncryptionType hech qachon ajratib olinmagan, log forwarder esa telemetriyani o‘z shovqini bilan ifloslantirayotgan edi.
Arxitektura
Telemetriya yig‘ishdan javob berishgacha bitta pipeline orqali o‘tadi, Sentinel BAS esa uni real usullar bilan sinab, siklni yopadi.
- Yig‘ishWindows Event Log, Sysmon, Linux syslog, masofaviy forwarder
- SaqlashParametrlangan so‘rovlar bilan SQLite
- Aniqlash35 ta qoida, Sigma dvigateli, IOC ro‘yxati, avtomatik ATT&CK teglari
- Korrelyatsiya3+ turdagi qoida, bir foydalanuvchi yoki IP, 60 daqiqa
- JavobTahlilchi tasdig‘i bilan insidentlar va SOAR
- TekshiruvSentinel BAS Atomic Red Team’ni qayta ijro etadi
Ma’lumot yig‘ish
Windows Security va System loglari, Sysmon (jarayon yaratish, jarayonga kirish, inyeksiya, DNS so‘rovi) va Linux syslog (SSH, sudo, su, useradd/usermod). Masofaviy Windows xostlari hodisalarni Get-WinEvent asosida qurilgan forwarder agent orqali yuboradi.
Tergov
Insidentlar dalillar, mas’ul shaxs va hal qilinish holati kuzatiladigan raqamlangan ishlarga aylanadi. Tahlilchilar 8 ta tayyor saqlangan qidiruvli tahdid qidiruvi so‘rov tili, MITRE ATT&CK issiqlik xaritasi, vaqt shkalalari, xavf konteksti va AI yordamidagi insident xulosalariga ega.
Javob berish
SOAR playbook’lari javob choralarini tahlilchi tasdig‘i ortida navbatga qo‘yadi, shuning uchun buzuvchi hech narsa avtomatik ishga tushmaydi.
Joylashtirish
Mustaqil Windows dasturi (PyInstaller + waitress), Linux’da xosting rejimi (gunicorn) va ma’lumot qabul qilish endpoint’i butunlay o‘chirilgan ommaviy demo rejimi.
Ma’lum cheklovlar
SQLite katta hajmdagi parallel ma’lumot qabul qilish uchun mo‘ljallanmagan, tizim bitta tugunda ishlaydi, HTTPS emas HTTP orqali ishlaydi va Sigma dvigateli to‘liq spetsifikatsiyani emas, keng tarqalgan shablonlarni qamrab oladi. Bular repozitoriyda hujjatlashtirilgan.
Texnologiyalar
Aniqlash
Windows, Sysmon, Linux va xulq-atvor tahlili bo‘yicha o‘ttiz beshta qoida. Har bir ogohlantirish avtomatik ravishda MITRE ATT&CK bilan belgilanadi.
| Toifa | Qoidalar | Misollar |
|---|---|---|
| Windows asosiy | 11 | Parolni tanlash (brute force), password spraying, audit jurnali tozalanishi, yangi xizmat, Kerberoasting |
| Kengaytirilgan Windows / Sysmon | 7 | Office’ning shell ishga tushirishi, AMSI’ni chetlab o‘tish, LSASS’ga kirish, CreateRemoteThread inyeksiyasi, DNS tunnellash |
| Razvedka, lateral movement, mustahkamlanish | 8 | LOLBin’dan suiiste’mol, Run kaliti orqali mustahkamlanish, masofaviy xizmatni ishga tushirish, soyali nusxalarni o‘chirish |
| Linux | 5 | SSH brute force, shubhali sudo, yangi foydalanuvchi, imtiyozli guruhga qo‘shilish |
| Xulq-atvor | 2 | Odatiy bo‘lmagan kirish vaqti, yangi manba IP |
| Platforma xavfsizligi | 1 | SIEM’ning o‘z login sahifasiga brute force |
| IOC ro‘yxati | 1 | Hodisalarni ma’lum indikatorlar bilan solishtiradi |
Repozitoriydagi Sigma qoidasi
Sigma dvigateli oddiy va ko‘p tanlovli AND/OR shartlariga ega YAML qoidalarini yuklaydi. Bu qoida taniqli hisob ma’lumotlarini o‘g‘irlash vositalarini aniqlaydi.
title: Credential Dumping Tool Execution
status: stable
logsource:
category: process_creation
detection:
selection:
EventID: 4688
CommandLine:
- '*mimikatz*'
- '*sekurlsa*'
- '*lsadump*'
condition: selection
level: critical
tags:
- attack.credential_access
- attack.t1003
Hujum zanjiri korrelyatsiyasi
Bir foydalanuvchi yoki manba IP uchun 60 daqiqa ichida uch va undan ortiq turli qoida ishlasa, ogohlantirishlar avtomatik ravishda bitta insidentga birlashtiriladi. Tahlilchi o‘nlab bog‘lanmagan ogohlantirish o‘rniga bitta hujum zanjirini ko‘radi.
Tekshiruv
Sentinel BAS «bu qoidalar ishlashi kerak» degan taxminni o‘lchangan qamrov hisobotiga aylantiradi.
Metodika
- BajarishLaboratoriya xostida Atomic Red Team usulini ishga tushirish
- Yig‘ishSIEM chiqargan ogohlantirishlarni yig‘ish
- MoslashtirishATT&CK usuli, xost va vaqt bo‘yicha
- Tasniflash60 soniya ichida aniqlandi, 5 daqiqa ichida kechikdi, aks holda o‘tkazib yuborildi
Usullarni moslashtirish ierarxiyani hisobga oladi: T1003 uchun test T1003.001 bilan belgilangan ogohlantirishni to‘g‘ri hisoblaydi.
Usullar bo‘yicha natijalar
Hech bir usul kechikmadi yoki kutish holatida qolmadi.
| Texnika | Atomic test | Natija | Kechikish |
|---|---|---|---|
T1003.001 LSASS xotirasi | LSASS xotirasini damp qilish | Aniqlandi | 0 s |
T1059.001 PowerShell | Kodlangan PowerShell buyrug‘i | Aniqlandi | 0 s |
T1136.001 Mahalliy hisob | Yangi mahalliy foydalanuvchi yaratish | Aniqlandi | 0 s |
T1490 Tizimni tiklashga to‘sqinlik | Soyali nusxalarni o‘chirish | Aniqlandi | 0 s |
T1547.001 Registrning Run kalitlari | Registrning Run kaliti orqali mustahkamlanish | Aniqlandi | 0 s |
T1543.003 Windows xizmati | Yangi xizmat o‘rnatish | Aniqlandi | 4 s |
T1082 Tizim ma’lumotlarini aniqlash | Razvedka buyruqlari to‘lqini | Aniqlandi | 21 s |
T1558.003 Kerberoasting | SPN chiptalarini so‘rash | O‘tkazib yuborildi | Ogohlantirish yo‘q |
T1070.001 Windows hodisalar jurnalini tozalash | Security hodisalar jurnalini tozalash | O‘tkazib yuborildi | Ogohlantirish yo‘q |
T1053.005 Rejalashtirilgan vazifa | Rejalashtirilgan vazifa yaratish | O‘tkazib yuborildi | Ogohlantirish yo‘q |
O‘tkazib yuborilganlar nimani ko‘rsatdi
Hech qachon ishlay olmaydigan qoida
Kerberoasting qoidasi pipeline hech qachon ajratib olmagan
TicketEncryptionTypemaydoniga tayangan, shuning uchun u tuzilishiga ko‘ra ishlay olmas edi. Qoidalarni ko‘rib chiqish buni sezmagan.Ifloslangan telemetriya
Masofaviy forwarder o‘zi yuborayotgan telemetriya ichida o‘z shovqinini hosil qilayotgan edi.
Xavfsizlik
SIEM maxfiy telemetriyani saqlaydi, shuning uchun platformaning o‘zi ham mustahkamlangan va tekshirilgan.
Saqlanadigan XSS topildi va tuzatildi
Maxsus XSS tekshiruvi haqiqiy saqlanadigan XSS’ni topdi: Sigma qoidalari sarlavhalari ekranlanmasdan ko‘rsatilayotgan edi. Tuzatildi, butun loyihada Jinja2 avtomatik ekranlash yoqildi.
Sessiyalar va maxfiy ma’lumotlar
Maxfiy ma’lumotlar muhit o‘zgaruvchilaridan olinadi, parollar xeshlanadi, sessiyalar server tomonida saqlanadi. Cookie’lar HttpOnly, SameSite=Lax, yoqilganda Secure va 8 soatlik muddatga ega.
Kirishni boshqarish
Viewer, Analyst va Admin uchun rollarga asoslangan kirish hamda 15 daqiqada 5 ta muvaffaqiyatsiz urinishdan keyin login bloklanishi.
Xavfsizlik sarlavhalari
Har bir javobda CSP, X-Frame-Options, nosniff, Referrer-Policy, Permissions-Policy va HSTS.
Inyeksiyadan himoya
Parametrlangan SQL va ruxsat etilgan qiymatlar ro‘yxati bo‘yicha kiritishni tekshirish.
Bog‘liqliklarni skanerlash
Flask 3.0.3 dan 3.1.3 ga (PYSEC-2026-2151) va requests 2.32.3 dan 2.32.4 / 2.33.0 ga (PYSEC-2026-1872, PYSEC-2026-2275).
Hujjatlashtirilgan murosa: haqiqiy foydalanuvchi nomini biladigan kishi bloklashni ataylab ishga tushirishi mumkin.
Skrinshotlar
Skrinshotni to‘liq o‘lchamda ko‘rish uchun ustiga bosing, so‘ng ular orasida surib yoki strelka tugmalari bilan o‘ting.
