Ovaj je članak prvi dio serije o analizi prijetnji Sysmona. Svi ostali dijelovi serije:
Dio 1: Uvod u Sysmonovu analizu dnevnika (mi smo ovdje)
Dio 2: Korištenje Sysmon podataka o događajima za prepoznavanje prijetnji
Dio 3. Detaljna analiza prijetnji Sysmona korištenjem grafikona
Ako radite u informacijskoj sigurnosti, vjerojatno često morate razumjeti stalne napade. Ako već imate izvježbano oko, možete potražiti nestandardnu aktivnost u "sirovim" neobrađenim zapisima - recimo, pokrenutu skriptu PowerShell
Želite li razumjeti osnovne ideje koje stoje iza prijetnji prikazanih u zapisniku Sysmona? Preuzmite naš vodič
U prvom dijelu naše serije, pogledat ćemo što možete učiniti s osnovnim informacijama iz Sysmona. U XNUMX. dijelu ćemo u potpunosti iskoristiti informacije o nadređenom procesu za stvaranje složenijih struktura usklađenosti poznatih kao grafikoni prijetnji. U trećem ćemo dijelu pogledati jednostavan algoritam koji skenira graf prijetnji u potrazi za neuobičajenom aktivnošću analizirajući "težinu" grafa. I na kraju ćete biti nagrađeni urednom (i razumljivom) metodom probabilističkog otkrivanja prijetnji.
Dio 1: Uvod u Sysmonovu analizu dnevnika
Što vam može pomoći da razumijete složenost dnevnika događaja? U konačnici - SIEM. Normalizira događaje i pojednostavljuje njihovu naknadnu analizu. Ali ne moramo ići tako daleko, barem ne u početku. U početku, da biste razumjeli principe SIEM-a, bit će dovoljno isprobati prekrasan besplatni uslužni program Sysmon. I iznenađujuće je lako raditi s njom. Samo tako nastavi, Microsoft!
Koje značajke ima Sysmon?
Ukratko – korisne i čitljive informacije o procesima (vidi slike ispod). Pronaći ćete hrpu korisnih detalja kojih nema u zapisniku događaja u sustavu Windows, ali najvažnija su sljedeća polja:
- ID procesa (u decimalnom, ne heksadecimalnom!)
- ID nadređenog procesa
- Obradi naredbeni redak
- Naredbeni redak nadređenog procesa
- Hash slike datoteke
- Nazivi slika datoteka
Sysmon je instaliran i kao upravljački program uređaja i kao servis - više detalja
Sysmon čini kvantni skok naprijed pružajući korisne (ili kako proizvođači vole reći, djelotvorne) informacije koje pomažu u razumijevanju temeljnih procesa. Na primjer, započeo sam tajnu sesiju
Dnevnik sustava Windows prikazuje neke informacije o procesu, ali je od male koristi. Plus ID-ovi procesa u heksadecimalnom obliku???
Za profesionalnog IT stručnjaka koji razumije osnove hakiranja, naredbeni redak trebao bi biti sumnjiv. Korištenje cmd.exe za pokretanje druge naredbe i preusmjeravanje izlaza u datoteku s čudnim nazivom očito je slično radnjama softvera za nadzor i kontrolu
Sada pogledajmo ekvivalent unosa u Sysmonu, primijetivši koliko nam dodatnih informacija daje:
Značajke Sysmona u jednoj snimci zaslona: detaljne informacije o procesu u čitljivom obliku
Ne vidite samo naredbeni redak, već i naziv datoteke, put do izvršne aplikacije, što Windows zna o njoj ("Windows naredbeni procesor"), identifikator roditeljski proces, naredbeni redak roditelj, koji je pokrenuo cmd shell, kao i pravi naziv datoteke nadređenog procesa. Napokon sve na jednom mjestu!
Iz Sysmon log-a možemo zaključiti da s velikim stupnjem vjerojatnosti ova sumnjiva naredbena linija koju smo vidjeli u “sirovim” logovima nije rezultat normalnog rada zaposlenika. Upravo suprotno, generirao ga je proces sličan C2 - wmiexec, kao što sam ranije spomenuo - i izravno ga je iznjedrio WMI servisni proces (WmiPrvSe). Sada imamo indikator da udaljeni napadač ili insajder testira korporativnu infrastrukturu.
Predstavljamo Get-Sysmonlogs
Naravno da je super kada Sysmon stavi zapise na jedno mjesto. Ali vjerojatno bi bilo još bolje kada bismo mogli pristupiti pojedinim poljima dnevnika programski - na primjer, putem PowerShell naredbi. U ovom slučaju, mogli biste napisati malu PowerShell skriptu koja bi automatizirala traženje potencijalnih prijetnji!
Nisam bio prvi koji je imao takvu ideju. I dobro je to u nekim postovima na forumu i GitHubu
Prva važna točka je sposobnost momčadi
$events = Get-WinEvent -LogName "Microsoft-Windows-Sysmon/Operational" | where { $_.id -eq 1 -or $_.id -eq 11}
Ako želite sami testirati naredbu, prikazivanjem sadržaja u prvom elementu niza $events, $events[0].Message, izlaz može biti niz tekstualnih nizova s vrlo jednostavnim formatom: naziv Sysmonovo polje, dvotočka, a zatim sama vrijednost.
hura! Ispis Sysmonovog dnevnika u formatu spremnom za JSON
Misliš li isto što i ja? Uz malo više truda, možete pretvoriti izlaz u JSON formatirani niz i zatim ga učitati izravno u PS objekt pomoću moćne naredbe
Pokazat ću PowerShell kod za pretvorbu - vrlo je jednostavan - u sljedećem dijelu. Za sada, da vidimo što može učiniti moja nova naredba pod nazivom get-sysmonlogs, koju sam instalirao kao PS modul.
Umjesto dubokog poniranja u analizu zapisnika Sysmona kroz nezgodno sučelje zapisnika događaja, možemo bez napora pretraživati inkrementalne aktivnosti izravno iz PowerShell sesije, kao i koristiti PS naredbu
Popis cmd ljuski pokrenutih putem WMI-ja. Analiza prijetnji jeftino s našim vlastitim Get-Sysmonlogs timom
Predivno! Napravio sam alat za ispitivanje Sysmonovog dnevnika kao da je baza podataka. U našem članku o
Sysmon i analiza grafova
Odmaknimo se i razmislimo o onome što smo upravo stvorili. U biti, sada imamo Windows bazu podataka događaja dostupnu putem PowerShell-a. Kao što sam ranije primijetio, postoje veze ili odnosi između zapisa - putem ParentProcessId-a - tako da se može dobiti potpuna hijerarhija procesa.
Ako ste čitali seriju
Ali s mojom naredbom Get-Sysmonlogs i dodatnom strukturom podataka koju ćemo pogledati kasnije u tekstu (naravno, grafikonom), imamo praktičan način otkrivanja prijetnji - što samo zahtijeva ispravno pretraživanje vrhova.
Kao i uvijek s našim DYI blog projektima, što više radite na analizi detalja prijetnji u maloj mjeri, to ćete više shvatiti koliko je otkrivanje prijetnji složeno na razini poduzeća. A ova svijest je izuzetno velika važna točka.
S prvim zanimljivim komplikacijama naići ćemo u drugom dijelu članka, gdje ćemo početi međusobno povezivati Sysmonove događaje u mnogo složenije strukture.
Izvor: www.habr.com