В статье описаны начальные методы и техники выявления вредоносного кода в файлах, и в каких условиях стоит обследовать малварь.
Первым делом что нам предстоит сделать, во избежание заражения инфраструктуры малварью это:
- Изолировать потенциально зараженный ПК от других сетей
- Сделать дамп оперативной памяти
- Снять образ диска
Образ диска и дамп оперативной памяти позволяет выполнить ПО FTK Imager.
Инструментарий, с помощью которого будет производиться снятие слепка оперативной памяти лучше всего запускать с внешнего носителя, во избежания оставить лишнее следы на жестком диске (данные с жесткого диска необходимо сохранить в неизменном виде).
Важно помнить следующие:
- В случае заражения ПК вирусом шифровальщиком есть шанс что при потере сетевого соединения, малварь начнет шифровать все данные на ПК, Вам необходимо предварительно оценить важность и критичность информации расположенной на зараженном ПК.
- Чтобы малварь не успела среагировать на выключение системы, проще всего выдернуть кабель питания.
Перед началом исследования малвари статическим и динамическим анализом, необходимо подготовить безопасную среду, которая должна включать в себя следующие:
1.Подготовить виртуальную машину с помощью Virtual Box или VMware (Важно актуальной версии), или отдельно выделенный ПК, желательно с Windows 7.
Далее следующий софт, который должен быть установлен для благоприятной среды выполнения вредоносного кода:
- Microsoft Office
- .NET Framework
- Microsoft Visual C++ Redistributable
- DirectX
- Python 2,7 Python 3,5
- Java Version 8
- Chrome, Firefox, Opera
- Adobe Acrobat Reader
- Включить поддержку скриптов PowerShell
Так же необходимо изолировать виртуальную среду от основной ОС:
- Отключение Drag&Drop
- Отключение общих папок
- Отключение буфера обмена
- Отключение от сети. Если интернет нужен настраиваем VPN.
- Удаляем VMware Tools, virtualbox guest additions (малварь может обнаружить данные дополнения и перестать выполняться т.к. выполнение вредоносного кода в виртуальной среде один из признаков ее исследования)
2. Необходимо настроить выход в сеть интернет используя VPN, чтобы поддерживать связь с сервера управления вредоносным ПО.
3. Чтобы была возможность откатиться на первоначальное состояние тестовой среды, необходимо сделать snapshot.
И так, статический анализ:
1. Проверка потенциально вредоносного файла антивирусным ПО.
2. Залив потенциально вредоносного файла на VirusTotal, в данном случае осторожно с потенциально конфиденциальной/приватной информацией, так как после залива она будет доступна всем. Либо осуществить поиск по сгенерированной хеш сумме.
Анализ метаданных файла:
1. Наличие цифровой подписи, желаем о от известных вендоров. Для проверки цифровой подписи можно использовать Sign Tool.
2. Обратите внимание на дату компиляции, если ПО было скомпилировано в ближайшие время это повод задуматься (дату компиляции легко подделать).
Для просмотра даты компиляции можно использовать утилиту CFF Explorer.
3. Зачастую время компиляции файла совпадает с временем залива файла (сэмпла) на VirusTotal (т.к «хакер» проверяет сколько антивирусов обнаружит его малварь).
4. Сравнение хеш суммы файлов, нужно найти оригинальный файл на сайте разработчика и сравнить хеши с потенциально вредоносным.
5. При запуске потенциально вредоносного файла обратить внимание на аномальную нагрузку ресурсов СP, HDD, Network interface можно использовать Resource Hacker. (так же данная утилита имеет множество возможностей отследить аномальную активность).
Анализ строк:
1.Нельзя бинарный файл открывать (notepad++, ms word, браузер) могут содержаться эксплойты.
2. Бинарные файлы нужно смотреть HEX редакторами.
3.Стоит обратить внимание при просмотре файла в HEX редакторе на PDB-строку она добавляется автоматический компилятором, если ее нету значит ее кто-то удалил (PDB строка - путь к отладочным символам, можно найти название семейство ПО или его функционала). Так же обращаем внимание на ip-адреса, url и отправляем на VirusTotal. Cтоит обратить свое внимание на фрагменты осмысленного текста.
4.Фрагменты файла с высокой плотностью нулевых символов — это признак упаковщика.
Анализ энтропии:
1. Высокий уровень энтропии соответствует тому что файл сжат или зашифрован.
2. Фрагменты файла с высоким уровнем энтропии близкий к 8.
3. Фрагменты файлы где уровень энтропии не изменяется.
Для анализа энтропии можно воспользоваться ПО DIE.
Полу динамический анализ:
1. Взаимодействие файла с реестром. (обращать внимание на ветки автозагрузки)
Утилита RegShot делает снимок реестра до и после. (производит сравнение созданных и удаленных веток в реестре)
2. Cетевая активность.
2.1. Запись дампа трафика, исходящего от файлы утилиты, в момент запуска.
2.2. Просмотр на Virus Total: url, ip-addr к которым идет обращение.
2.3 Обратить внимание на использование нестандартных портов.
Ну и на по следок можно воспользоваться онлайн песочницами:
Онлайн песочница 1
Онлайн песочница 2
Спасибо за внимание.