Sysmon коркунучун талдоо боюнча колдонмо, 1-бөлүк

Sysmon коркунучун талдоо боюнча колдонмо, 1-бөлүк

Бул макала Sysmon коркунучун талдоо боюнча сериянын биринчи бөлүгү. Сериянын бардык башка бөлүктөрү:

1-бөлүк: Sysmon Log Analysis программасына киришүү (биз бул жердебиз)
2-бөлүк: Коркунучтарды аныктоо үчүн Sysmon окуясынын маалыматтарын колдонуу
3-бөлүк. Графиктердин жардамы менен Sysmon коркунучтарын терең талдоо

Эгер сиз маалыматтык коопсуздук тармагында иштесеңиз, анда сиз көп учурда болуп жаткан чабуулдарды түшүнүшүңүз керек. Эгер сизде мурунтан эле үйрөтүлгөн көзүңүз болсо, сиз "чийки" иштетилбеген журналдардан стандарттуу эмес аракеттерди издесеңиз болот - айталы, PowerShell скрипти иштеп жатат DownloadString буйругу менен же Word файлы болуп көрүнгөн VBS скрипти - жөн гана Windows окуялар журналындагы акыркы аракеттерди сыдырып. Бирок бул чындап эле чоң баш оору. Бактыга жараша, Microsoft Sysmon түздү, ал чабуулду талдоону бир топ жеңилдетет.

Sysmon журналында көрсөтүлгөн коркунучтардын артында турган негизги идеяларды түшүнгүңүз келеби? Биздин колдонмону жүктөп алыңыз WMI окуялары шпиондук кылуунун каражаты катары жана сиз инсайдерлер башка кызматкерлерди кантип тымызын байкай аларын түшүнөсүз. Windows окуялар журналы менен иштөөдөгү негизги көйгөй ата-эне процесстери жөнүндө маалыматтын жоктугу, б.а. андан процесстердин иерархиясын түшүнүү мүмкүн эмес. Sysmon журналынын жазуулары, экинчи жагынан, ата-эне процессинин идентификаторун, анын атын жана ишке киргизиле турган буйрук сабын камтыйт. Рахмат, Microsoft.

Сериябыздын биринчи бөлүгүндө биз Sysmonдон негизги маалымат менен эмне кыла аларыңызды карап чыгабыз. XNUMX-бөлүктө биз коркунуч графиги деп аталган татаал шайкештик структураларын түзүү үчүн ата-эне процессинин маалыматынан толук пайдаланабыз. Үчүнчү бөлүктө биз графиктин “салмагын” талдоо аркылуу адаттан тыш аракетти издөө үчүн коркунуч графигин сканерлеген жөнөкөй алгоритмди карайбыз. Жана акырында, сиз коркунучту аныктоонун тыкан (жана түшүнүктүү) ыктымалдык ыкмасы менен сыйланасыз.

1-бөлүк: Sysmon Log Analysis программасына киришүү

Окуялар журналынын татаалдыгын түшүнүүгө эмне жардам берет? Акыр-аягы - SIEM. Бул окуяларды нормалдаштырат жана алардын кийинки анализин жөнөкөйлөтөт. Бирок биз мынчалык алыска барбашыбыз керек, жок эле дегенде, алгач. Башында, SIEM принциптерин түшүнүү үчүн, сонун акысыз Sysmon утилитасын сынап көрүү жетиштүү болот. Жана аны менен иштөө оңой. Уланта бер, Microsoft!

Sysmon кандай өзгөчөлүктөргө ээ?

Кыскасы - процесстер жөнүндө пайдалуу жана окула турган маалымат (төмөндөгү сүрөттөрдү караңыз). Сиз Windows окуялар журналында жок бир топ пайдалуу маалымат таба аласыз, бирок эң маанилүүсү төмөнкү талаалар:

  • Процесс идентификатору (ондук санда, он алтылык эмес!)
  • Аталык процесс ID
  • Буйрук сабын иштетүү
  • Аталык процесстин буйрук сабы
  • Файлдын сүрөттүн хэш
  • Файлдын сүрөт аттары

Sysmon түзмөк драйвери катары да, кызмат катары да орнотулган - кененирээк маалымат бул жерде. Анын негизги артыкчылыгы - журналдарды талдоо мүмкүнчүлүгү бир нече булактар, маалыматтын корреляциясы жана натыйжадагы маанилердин жолдун боюнда жайгашкан бир окуя журналы папкасына чыгышы Microsoft -> Windows -> Sysmon -> Оперативдүү. Өзүмдүн Windows журналдарын изилдөөдө, мен ар дайым PowerShell журналдары папкасы менен Коопсуздук папкасынын ортосунда которулуп турууга туура келип, экөөнүн ортосундагы баалуулуктарды кандайдыр бир жол менен салыштырууга аракет кылып, окуялар журналдарын аралай баштадым. . Бул эч качан оңой иш эмес, мен кийин түшүнгөндөй, дароо аспиринди камдап алганым жакшы.

Sysmon негизги процесстерди түшүнүүгө жардам берүү үчүн пайдалуу (же сатуучулар айткандай, ишке ашырылуучу) маалыматты берүү менен алдыга кванттык секирик жасайт. Мисалы, мен жашыруун сессияны баштадым wmiexec, тармактын ичинде акылдуу инсайдердин кыймылын окшоштуруу. Бул Windows окуялар журналында көрө турган нерсе:

Sysmon коркунучун талдоо боюнча колдонмо, 1-бөлүк

Windows журналы процесс жөнүндө кээ бир маалыматты көрсөтөт, бирок анын пайдасы аз. Плюс идентификаторлорду он алтылык системада иштетүү???

Хакерликтин негиздерин түшүнгөн кесипкөй IT адиси үчүн буйрук сабы шектүү болушу керек. cmd.exe файлын колдонуу, андан кийин башка буйрукту иштетип, натыйжаны кызыктай аталыштагы файлга багыттоо мониторинг жана башкаруу программасынын аракеттерине так окшош. буйрук жана башкаруу (C2): Ошентип, псевдо-кабык WMI кызматтарын колдонуу менен түзүлөт.
Эми Sysmon киргизүү эквивалентине карап көрөлү, ал бизге канчалык кошумча маалымат берерин байкап көрөлү:

Sysmon коркунучун талдоо боюнча колдонмо, 1-бөлүк

Sysmon өзгөчөлүктөрү бир скриншотто: процесс жөнүндө толук маалымат окула турган формада

Сиз буйрук сабын гана эмес, ошондой эле файлдын атын, аткарылуучу тиркемеге жолду, Windows ал жөнүндө эмнелерди биле турганын (“Windows Command Processor”), идентификаторду көрөсүз. ата-энелик процесс, буйрук сабы ата-эне, cmd кабыгын ишке киргизген, ошондой эле ата-эне процессинин чыныгы файл аталышы. Баары бир жерде, акыры!
Sysmon журналынан биз "чийки" журналдарда көргөн бул шектүү буйрук сабы жогорку ыктымалдуулук менен кызматкердин кадимки ишинин натыйжасы эмес деген тыянакка келсек болот. Тескерисинче, ал C2 сыяктуу процесс тарабынан түзүлгөн - мен жогоруда айткандай, wmiexec - жана түздөн-түз WMI кызмат процесси (WmiPrvSe) тарабынан пайда болгон. Азыр бизде алыскы чабуулчу же инсайдер корпоративдик инфраструктураны сынап жатат деген индикатор бар.

Get-Sysmonlogs менен тааныштыруу

Албетте, Sysmon журналдарды бир жерге койгондо абдан жакшы болот. Бирок биз жеке журнал талааларына программалык түрдө кире алсак, балким, андан да жакшы болмок - мисалы, PowerShell буйруктары аркылуу. Бул учурда, сиз потенциалдуу коркунучтарды издөөнү автоматташтыра турган кичинекей PowerShell сценарийин жазсаңыз болот!
Менде мындай идея биринчи болгон эмес. Ал эми кээ бир форум билдирүүлөрүндө жана GitHub болгону жакшы долбоорлор Sysmon журналын талдоо үчүн PowerShellди кантип колдонуу керектиги буга чейин түшүндүрүлгөн. Менин учурда, мен ар бир Sysmon талаасы үчүн талдоо скриптинин өзүнчө саптарын жазуудан алыс болгум келди. Ошентип, мен жалкоо принципти колдондум жана натыйжада кызыктуу нерсе ойлоп таптым деп ойлойм.
Биринчи маанилүү жагдай - команданын жөндөмдүүлүгү Get-WinEvent Sysmon журналдарын окуп, керектүү окуяларды чыпкалап, натыйжаны PS өзгөрмөсүнө чыгарыңыз, бул жерде:

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

Эгер сиз буйрукту өзүңүз сынагыңыз келсе, мазмунду $events массивинин биринчи элементинде көрсөтүү менен $events[0].Message, чыгаруу өтө жөнөкөй форматтагы текст саптарынын сериясы болушу мүмкүн: Sysmon талаасы, эки чекит, анан маанинин өзү.

Sysmon коркунучун талдоо боюнча колдонмо, 1-бөлүк

Жашасын! Sysmon логун JSON даяр форматка чыгаруу

Сиз дагы мен сыяктуу эле ойлонуп жатасызбы? Бир аз көбүрөөк күч жумшап, сиз чыгарууну JSON форматталган сапка айландырсаңыз болот, андан кийин күчтүү буйрукту колдонуп, аны түздөн-түз PS объектисине жүктөй аласыз ConvertFrom-Json .
Мен өзгөртүү үчүн PowerShell кодун көрсөтөм - бул абдан жөнөкөй - кийинки бөлүктө. Азырынча, мен PS модулу катары орноткон get-sysmonlogs деп аталган жаңы буйругум эмне кыла аларын карап көрөлү.
Ыңгайсыз окуялар журналынын интерфейси аркылуу Sysmon журналынын анализине терең сүңгүүнүн ордуна, биз түздөн-түз PowerShell сеансынан кошумча аракетти оңой издеп, ошондой эле PS буйругун колдоно алабыз. кайда (лакап ат – “?”) издөө натыйжаларын кыскартуу үчүн:

Sysmon коркунучун талдоо боюнча колдонмо, 1-бөлүк

WMI аркылуу ишке киргизилген cmd кабыктарынын тизмеси. Биздин Get-Sysmonlogs командасы менен арзан коркунучтарды талдоо

Керемет! Мен Sysmon журналын маалымат базасы сыяктуу сурамжылоо үчүн курал түздүм. жөнүндө биздин макалада IQ формалдуу түрдө дагы эле чыныгы SQL сыяктуу интерфейс аркылуу, бул функция анда сүрөттөлгөн сонун утилита тарабынан аткарыла тургандыгы белгиленди. Ооба, EQL жарашыктуу, бирок биз ага үчүнчү бөлүктө токтолобуз.

Sysmon жана графикалык анализ

Келгиле, артка чегинип, эмнени жаратканыбыз жөнүндө ойлонолу. Негизи, бизде азыр PowerShell аркылуу жеткиликтүү болгон Windows окуялар базасы бар. Мен мурда белгилегендей, жазуулардын ортосунда байланыштар же мамилелер бар - ParentProcessId аркылуу - процесстердин толук иерархиясын алууга болот.

Эгер сиз серияны окуган болсоңуз "Калгыс кесепеттүү программанын жоруктары" хакерлер татаал көп баскычтуу чабуулдарды түзүүнү жакшы көрөрүн билесиз, мында ар бир процесс өзүнүн кичинекей ролун ойнойт жана кийинки кадамга трамплин даярдайт. Мындай нерселерди жөн эле "чийки" журналдан кармоо өтө кыйын.
Бирок менин Get-Sysmonlogs буйругум жана биз кийинчерээк текстте карай турган кошумча маалымат структурасы (албетте, график) менен бизде коркунучтарды аныктоонун практикалык жолу бар – бул жөн гана чокудан туура издөөнү талап кылат.
Биздин DYI блог долбоорлорубуздагыдай эле, сиз коркунучтардын майда-чүйдөсүнө чейин майда-чүйдөсүнө чейин анализдөө үстүндө канчалык көп иштесеңиз, ишкана деңгээлинде коркунучтарды аныктоо канчалык татаал экенин түшүнөсүз. Жана бул аң-сезим өтө чоң маанилүү чекит.

Биз биринчи кызыктуу татаалдыктарга макаланын экинчи бөлүгүндө туш болобуз, анда биз Sysmon окуяларын бири-бири менен алда канча татаал структураларга байланыштыра баштайбыз.

Source: www.habr.com

Комментарий кошуу