RUVIDEO
Поделитесь видео 🙏

Malware Analysis - 3 ways to deobfuscate JScript and JavaScript malware

Анализ вредоносных программ - 3 способа деобфускации вредоносных программ JScript и JavaScript

#javascript #deobfuscation #gootloader #malware #malwareanalysis #unpacking #reverseengineering #js #babel #jscript

extract called functions: https://github.com/struppigel/hedgehog-tools/tree/main/ECMAScript%20helpers
gootloader unpacker: https://github.com/struppigel/hedgehog-tools/tree/main/gootloader
sample: https://bazaar.abuse.ch/sample/1bc77b013c83b5b075c3d3c403da330178477843fc2d8326d90e495a61fbb01f/

00:00 Введение в анализ вредоносных программ

• Рассматриваются три метода деобфускации вредоносных программ на JavaScript.
• Пример: Goodloader, один из самых распространенных вредоносных программ на JavaScript.

00:26 Goodloader и его особенности

• Goodloader - вредоносная программа на JavaScript, используемая для распространения других вредоносных программ.
• Содержит до шести уровней зашифрованного кода.
• Используется Notepad++ для анализа.

01:07 Поиск вредоносного кода

• Goodloader использует библиотеку jQuery.
• Обнаружение вредоносного кода через анализ функций.
• Использование MD для поиска исходной библиотеки.

03:26 Использование скрипта для анализа

• Написание скрипта для извлечения вызываемых функций.
• Установка Node.js и npm для работы скрипта.
• Использование пакетов bubble core и commander.

04:57 Применение скрипта

• Скрипт извлекает все вызываемые функции и идентификаторы.
• Уменьшение количества строк кода для анализа.
• Обнаружение и анализ функций, создающих вредоносный код.

06:53 Использование регулярных выражений

• Использование регулярных выражений для замены идентификаторов.
• Пример замены идентификатора 23 на другой идентификатор.
• Применение регулярных выражений для замены всех совпадений.

12:34 Использование AST Explorer

• AST Explorer для анализа и деобфускации кода.
• Преобразование кода с помощью транспиляции.
• Преимущества использования AST Explorer по сравнению с регулярными выражениями.

15:37 Пример преобразования кода

• Пример преобразования имени функции и переменной.
• Использование AST для анализа и преобразования кода.
• Применение посетителей для обработки абстрактного синтаксического дерева.

17:09 Работа с абстрактными синтаксическими деревьями

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

18:33 Пример с объединением строк

• Включение функции в приложение.
• Создание преобразования для объединения строк.
• Использование абстрактного синтаксического дерева для поиска и замены узлов.

20:39 Проблемы с регулярными выражениями

• Замена узлов с помощью path replace with.
• Проблемы с заменой всех узлов, необходимость использования функции exit.
• Добавление пропущенных узлов для корректной замены.

23:00 Преобразование конкатенации

• Получение значения объединения узлов.
• Преобразование конкатенации сложнее, но надежнее регулярных выражений.
• Использование синтаксического анализатора для создания строки.

24:25 Двукратный обход абстрактного синтаксического дерева

• Определение посетителя для двукратного обхода.
• Сбор узлов и замена идентификаторов.
• Проверка, является ли узел частью двоичного выражения.

31:09 Анализ и расшифровка кода

• Использование онлайн-компилятора для анализа строки.
• Анализ вызовов функций и их аргументов.
• Расшифровка кода и анализ его использования.

34:15 Инициализация и запуск кода

• Инициализация переменных и запуск кода.
• Проблемы с неопределенными переменными.
• Преобразование и анализ скрипта с помощью AST Explorer.

37:09 Проблемы с экранированием

• Обнаружены проблемы с экранированием в коде.
• Двойные косые черты должны быть заменены на одинарные.
• После замены все работает корректно.

38:30 Улучшение кода

• Перемещение переходов и неизвестных возвратов.
• Использование функции для улучшения кода.
• Применение concat visitor для более приятного результата.

39:34 Эксперименты с посетителями

• Использование того же посетителя, но с отдельной константой.
• Объяснение, почему некоторые URL-адреса не заменяются.
• Демонстрация различных методов деобфускации.

40:20 Заключение и рекомендации

• Регулярные выражения и динамическое выполнение как простые методы.
• Манипулирование абстрактным синтаксическим деревом как надежный метод.
• Рекомендация использовать манипуляции с AST для создания инструментов деобфускации.
• Ссылка на инструмент для распаковки загрузчика и курс по математическому анализу.

Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «Malware Analysis - 3 ways to deobfuscate JScript and JavaScript malware», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.

Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.

Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!

Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.