README.hta
2.75K subscribers
183 photos
50 files
122 links
Что-то из области информационной безопасности. Чаще реагирование, форензика и чаще на русском, но тут как пойдет

Рекламу не размещаю

Hope you enjoy!
All opinions are my own @ant19ova
Download Telegram
#basics
#git #soft
#windows
#linux
#macos
#cloud
#network
#red #blue #purple

#forensics
#dfir
#threathunting
#malware // скорее всего, будет много реверса
#report // технические отчеты
#research // ресерчи
#books // полезная литература
#video // видеоматериалы
#presentation // презентации с докладов
#tips // white papers, читшиты и любые другие заметки, где можно откопать что-то важное, но не подходит под категории выше

#own // личные мысли, истории, наблюдения, выводы
#weekly // подборка прочитанных достойных материалов
#meme // тег для души или когда мне лень писать много буков
4🎅3🔥2😁1
Forwarded from ESCalator
Yara Yara Daze

Всем, кто занимается malware analysis, точно знаком такой инструмент, как YARA 😉. С помощью него во многих компаниях 🔴 составляют наборы сигнатурных правил для определения и классификации вредоносов.

🤔 So, что такое хорошие YARA-правила? Это правила, которые могут детектировать предназначенный им класс или семейство ВПО, не детектируют ничего лишнего (false positive) и способны сохранять актуальность, даже если ВПО подвергается небольшим изменениям.

😏 Нет общего совета, как сделать хорошее YARA-правило — это зависит от сампла к самплу. Мы поделимся некоторыми Tips&Tricks про детект строк, которые будут полезны начинающим:

🔹 Не стоит забывать fullword — этот модификатор на строки гарантирует, что сигнатурная строка не будет находиться между буквенно-цифровыми символами (осторожнее с golang).

🔹 filesize выручает в тех случаях, когда сампл маленький и кроме общих сигнатур в нем ничего нет:

   rule CustomSocksProxy {
strings:
$a_1 = "SOCKS5 Proxy listening" wide
$a_2 = "New connection from" wide
condition:
uint16(0) == 0x5a4d and filesize < 100KB and all of ($a_*)
}


🔹 Лучше избегать сигнатур длиной в 3-4 символа.

🔹 Иногда очень полезно прописывать условие расстояния между строками. Например, если в файле есть какие-нибудь white- / blacklist, как имена процессов, можно ограничить их расположение в окне конкретной длины:

rule CheckProcessList {
strings:
$base = "\\system32\\cmd.exe" wide
$str2 = "\\task.exe" wide
$str3 = "cmd.exe" wide
$str4 = "\\alg.exe" wide
$str5 = "powershell.exe" wide
condition:
for all of ($str*): (@ - @base < 100) and for all of ($str*): (@base - @ < 100)
}


🔹 Строки логирования лучше не разбивать на подстроки длиной 4-5 символов, если там общие слова, которые могут встретиться в любом контексте: детект подстроки \\\\dc2 в строке \nUsing:\n\t session_enum.exe \\\\dc1 \\\\dc2 \n — плохой детект.

🔹 Чтобы детект строк пережил различные кодировки, чередование заглавных и строчных букв, можно использовать три модификатора wide ascii nocase:

   rule SomeAPTScript {
strings:
$a1 = "GetRef(" ascii wide
$a2 = " & ChrW(\"&H\" &" ascii wide
$a3 = "Mid(" ascii wide
$a4 = "Join(" ascii wide
$a5 = "=0 Step -2" ascii wide
$a6 = "Function [" ascii wide
$a7 = "MSXML2.ServerXMLHTTP" ascii wide
$v1 = "<Script " ascii nocase wide
$v2 = "VBSCript" ascii nocase wide
$v3 = "JSCript" ascii nocase wide
$wscript = "WScript.CreateObject(\"WScript.Shell\")" ascii nocase wide
condition:
filesize < 30KB and $wscript and 2 of ($v*) and 5 of ($a*)
}


И, конечно, главное — не забывать смотреть в документацию YARA 👀, следить за обновлениями и подсматривать на рули коллег.

Успехов в работе.

#tips #malware #YARA
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥175