[ << ALL_FEED ]

Yara-Yara

Ещё в группе «Вредоносное ПО»

  • Этот ваш Siemens…

    Недавно наши коллеги из Центра промышленной экспертизы Позитива обнаружили на MalwareBazaar один любопытный Windows-образец. Вот его…

  • Анти-антивирус

    Недавно нам на глаза попалась APK-шка с интригующим и внушающим доверие названием «Антивирус ФСБ.apk». Установив его,…

  • .exe .docm .xlsm

    .exe .docm .xlsm Вредоносные файлы с этими расширениями чаще всего встречаются в сетевом трафике компаний. Давайте…

  • Операция Chewbacca

    В конце июня команда PT ESC в ходе расследования инцидентов обнаружила новую группу, нацеленную как минимум…

  • Ваш сервер Zimbra под угрозой

    Недавно наша команда PT ESC IR столкнулась с новой атакой ransomware-группировок на почтовые серверы Zimbra с…

Yara-Yara–Yara!
🐧 Когда со строками разобрались, можно приступить к генерации байтовых сигнатур. Обычно их стараются делать как можно реже, так как для их генерации приходится смотреть на голый ассемблер 😗

Но рано или поздно найдется сампл, в котором не будет нужных строк для детекта 😶. Приведем парочку советов и примеров 😌, как перестать бояться и начать делать генерировать байтовые сигнатуры на код:

🐾 Практически нет смысла писать сигнатуру на пролог функции и ее завершение: поверьте, эти push\pop почти везде одинаковые 😤

🐾 Старайтесь ухватиться за константы или необычную последовательность инструкций: часто в бэкдорах злоумышленники используют кастомное шифрование пакетов, которые очень приятно детектить

$code1 = {
    FF C6           // inc     esi
    B8 99 99 99 99  // mov     eax, 99999999h
    F7 EE           // imul    esi
    D1 FA           // sar     edx, 1
    8B C2           // mov     eax, edx
    C1 E8 1F        // shr     eax, 1Fh
    03 D0           // add     edx, eax
  }
Code language: Intel x86 Assembly (x86asm)


🐾 Компилятор может изменить порядок инструкций, или даже вставить выравнивающие nop 😨. Будет не лишним использовать пропуски между инструкциями — { <byte inst> [5-6] <byte inst2> }

🐾 Все оффсеты (в jmp, call и т.д.) надо заменять на знаки ?, поскольку смещения меняются компилятором /*разве что в рукописном шеллкоде это не так*/ Можно оставлять старшие 1-2 байта оффсета в сигнатуре — они почти всегда 00 или ff

$code61  = {
    68 DF 71 00 00  // push    71DFh           ; request
    53              // push    ebx             ; fd
    E8 ?? ?? ?? ??  // call    _ioctl 
  } // если вопросы стоят в конце байт-конструкцции, их можно вовсе убрать
Code language: Intel x86 Assembly (x86asm)


🐾 Стоит учитывать, что один и тот же opcode может оперировать разными регистрами от сампла к самплу 😫. Чтобы сигнатура была актуальной, нужно затереть байты операндов знаками ? в инструкции

$code21  = {
    89 ??                 // mov     edi, esi
    83 C? 01              // add     esi, 1
    83 E? 1F              // and     edi, 1Fh
    0F B6 ?? ?? 10        // movzx   edx, byte ptr [edx+eax+10h]
    83 C? 01              // add     eax, 1
    30 ?? ?? 28 03 00 00  // xor     [ebx+edi+328h], dl
    83 F? 0C              // cmp     eax, 0Ch
  }
Code language: Intel x86 Assembly (x86asm)


🐾 Можно сделать выбор из нескольких вариантов (<opcode1> | <opcode2>), когда в серии самплов используются разные opcode для цепочки инструкций

  $code_3 = {
    80 34 (0? | 1? | 2? | 3?) 02  // xor byte ptr [eax + esi], 3
    4?                            // inc eax
    3D ?? ?? 00 00                // cmp eax, 0x21e6
    (7C | 72) ??                  // jl 0x10001322 \ jb ????????
    B? ?? ?? 00 00
  }
Code language: Intel x86 Assembly (x86asm)


Все эти ассемблерные манипуляции с байтовыми сигнатурами зачастую приходится делать с декодером опкодов и инструкций. К счастью, один из наших коллег создал плагин для помощи 😏 в генерации сигнатур, который заменяет все параметризуемые участки сигнатуры на ? и группы (x | y). Инструмент yarg работает как плагин к Ida Pro, генерируя к выбранному участку кода готовую сигнатуру для Yara-правила. Вам останется только найти участок кода, подходящий для создания сигнатуры 🙂

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

#tips #malware #YARA
@ptescalator

Ещё от global_author

  • Этот ваш Siemens…

    Недавно наши коллеги из Центра промышленной экспертизы Позитива обнаружили на MalwareBazaar один любопытный Windows-образец. Вот его…

  • Анти-антивирус

    Недавно нам на глаза попалась APK-шка с интригующим и внушающим доверие названием «Антивирус ФСБ.apk». Установив его,…

  • .exe .docm .xlsm

    .exe .docm .xlsm Вредоносные файлы с этими расширениями чаще всего встречаются в сетевом трафике компаний. Давайте…

  • Хаос, шок, приватные ключи от не менее приватного GitLab 💻

    Последние пару месяцев злоумышленник распространял трояны с нескольких npm-учеток: alex05255, mdrafiqulislamrabby, b.w1001, abdev8773 и mollspotwood54400. Список…

  • ::%16777216 — так что же ты такое?

    ::%16777216 — так что же ты такое? Известно, что в ходе атак злоумышленники могут использовать туннелирование.…

Ещё от global_author

  • Этот ваш Siemens…

    Недавно наши коллеги из Центра промышленной экспертизы Позитива обнаружили на MalwareBazaar один любопытный Windows-образец. Вот его…

  • Анти-антивирус

    Недавно нам на глаза попалась APK-шка с интригующим и внушающим доверие названием «Антивирус ФСБ.apk». Установив его,…

  • .exe .docm .xlsm

    .exe .docm .xlsm Вредоносные файлы с этими расширениями чаще всего встречаются в сетевом трафике компаний. Давайте…

  • Хаос, шок, приватные ключи от не менее приватного GitLab 💻

    Последние пару месяцев злоумышленник распространял трояны с нескольких npm-учеток: alex05255, mdrafiqulislamrabby, b.w1001, abdev8773 и mollspotwood54400. Список…

  • ::%16777216 — так что же ты такое?

    ::%16777216 — так что же ты такое? Известно, что в ходе атак злоумышленники могут использовать туннелирование.…

Ещё в группе «Вредоносное ПО»

  • Этот ваш Siemens…

    Недавно наши коллеги из Центра промышленной экспертизы Позитива обнаружили на MalwareBazaar один любопытный Windows-образец. Вот его…

  • Анти-антивирус

    Недавно нам на глаза попалась APK-шка с интригующим и внушающим доверие названием «Антивирус ФСБ.apk». Установив его,…

  • .exe .docm .xlsm

    .exe .docm .xlsm Вредоносные файлы с этими расширениями чаще всего встречаются в сетевом трафике компаний. Давайте…

  • Операция Chewbacca

    В конце июня команда PT ESC в ходе расследования инцидентов обнаружила новую группу, нацеленную как минимум…

  • Ваш сервер Zimbra под угрозой

    Недавно наша команда PT ESC IR столкнулась с новой атакой ransomware-группировок на почтовые серверы Zimbra с…