Использование сканера YARA Velociraptor и Loki Scaner

Использование YARA Velociraptor Loki Scaner

В сегодняшней статье рассмотрим использование сканеров Velociraptor и Loki Scaner.

Еще по теме: Создание лаборатории для анализа вредоносных файлов

Использование сканера YARA Velociraptor и Loki Scaner

Кро­ме офи­циаль­ного бинар­ника YARA, для ска­ниро­вания мож­но исполь­зовать решения EDR/XDR и ска­неры типа Loki Scaner. EDR/XDR дают воз­можность про­водить ска­ниро­вание сра­зу по всей сетевой инфраструк­туре, в то вре­мя как yara.exe огра­ничи­вает­ся толь­ко кон­крет­ной машиной, на которой эта прог­рамма запуще­на.

Velociraptor

Рас­смот­рим алго­ритм запус­ка ска­ниро­вания на при­мере open-source EDR Velociraptor.

Пе­рехо­дим в раз­дел Hunt Manager.

Использование Velociraptor YARA

Соз­даем новый хант и на вклад­ке Select Artifact выбира­ем вари­ант Windows.Detections.YARA.NTFS для ска­ниро­вания фай­ловой сис­темы.

Как пользоваться Velociraptor YARA

Пи­шем наше пра­вило на вклад­ке Configure Artifact в поле YaraRule либо заг­ружа­ем его в виде фай­ла, вос­поль­зовав­шись полем YaraUrl.

Использование YARA Velociraptor

Пос­ле нас­трой­ки всех необ­ходимых полей откры­ваем вклад­ку Launch, и наш хант попада­ет в оче­редь на исполне­ние. Если тре­бует­ся мгно­вен­но выпол­нить ска­ниро­вание пос­ле соз­дания хан­та, открой вклад­ку Configure Hunt и жми чек­бокс Start Hunt Immediatly.

Как пользоваться YARA Velociraptor

Пос­ле завер­шения ска­ниро­вания мы уви­дим успешные детек­тирова­ния внут­ри нашего хан­та на вклад­ке Notebook.

Использование YARA Velociraptor

Loki Scaner

Loki Scaner — это кон­соль­ная ути­лита с откры­тым исходным кодом, которая может соз­давать IOC (Indicator of Compromise — инди­като­ры ком­про­мета­ции) и выпол­нять YARA-ска­ниро­вание.

Для добав­ления сво­их пра­вил перехо­дим в пап­ку loki\signature-base\yara, пос­ле чего можем открыть CLI (cmd/terminal) и начать ска­ниро­вание.

Как пользоваться Loki Scaner YARA

Не­боль­шой ман по основным аргу­мен­там:

  • -p path — дирек­тория начала ска­ниро­вания;
  • -s kilobyte — мак­сималь­ный раз­мер фай­лов в килобай­тах (по умол­чанию 5 Мбайт);
  • --onlyrelevant — выводить в кон­соль толь­ко сра­баты­вания пра­вил;
  • --allhds — выпол­нить ска­ниро­вание всех логичес­ких томов (толь­ко в Windows).

Атрибуция на YARA

Атри­буция мал­вари — это спо­соб опре­делить, к какому семей­ству или APT-груп­пиров­ке отно­сит­ся кон­крет­ный обра­зец вре­донос­ной прог­раммы. Занимать­ся атри­буци­ей для ком­пании неп­росто — нужен целый отдел и мощ­ные сер­вера (пос­коль­ку детек­тиру­ющее пра­вило для атри­буции кон­крет­ного образца будет огромным).

Для выпол­нения атри­буции мож­но исполь­зовать инс­тру­мент yarGen. Он уме­ет соз­давать общее пра­вило для всех фай­лов. В целом алго­ритм его работы выг­лядит сле­дующим обра­зом:

  • Бе­рем нес­коль­ко образцов вре­донос­ных прог­рамм одно­го семей­ства.
  • За­пус­каем yarGen, ука­зыва­ем прог­рамме на пап­ку с образца­ми.
  • YarGen ищет общие стро­ки и/или опко­ды, на осно­ве которых генери­рует общее YARA-пра­вило, которое явля­ется атри­бути­рующим.
  • Ито­говое пра­вило неидеаль­но, желатель­но его при­чесать.

В качес­тве аль­тер­нативы мож­но сге­нери­ровать набор хешей сек­ций (ресур­сов) извес­тных нам угроз. Для это­го прос­то соз­даем YARA-пра­вило, в котором име­ются все хеши инте­ресу­ющих нас сек­ций. Почему не хеши сем­плов? Все прос­то: дос­таточ­но добавить пару бай­тов в конец фай­ла, и наш хеш поменя­ется, а с сек­циями это сде­лать нем­ного слож­нее.

Еще мож­но атри­бути­ровать под­техни­ки MITTRE (этот вари­ант я при­вожу чис­то для при­мера, на деле он не поможет, толь­ко если ты не собира­ешь­ся сде­лать собс­твен­ную плат­форму для атри­буции). Нап­ример, есть пра­вило, которое атри­бути­рует под­техни­ку MITTRE T1552.004.

Я счи­таю, что пос­тро­ения атри­буции на одной YARA недос­таточ­но, я бы добавил в помощь к ней нечет­кий хеш ssdeep.

Аналог YARA

YARA-X — это офи­циаль­ный форк YARA, перепи­сан­ный на язы­ке Rust. От про­екта ожи­дает­ся повышен­ная ско­рость работы бла­года­ря опти­миза­ции это­го язы­ка прог­рамми­рова­ния. Я счи­таю, этот про­ект име­ет пра­во на жизнь: если взгля­нуть на RustScan (неофи­циаль­ный форк Nmap), то замет­но сущес­твен­ное пре­вос­ходс­тво в ско­рос­ти ска­ниро­вания сетей.

ПОЛЕЗНЫЕ ССЫЛКИ:

Дима (Kozhuh)

Эксперт в кибербезопасности. Работал в ведущих компаниях занимающихся защитой и аналитикой компьютерных угроз.

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