Анализ дампов памяти компьютера на Hacktober CTF 2020 “Evil Twin”. Форензика
«One of the junior analysts thinks that there is a duplicate process – an “evil twin” – masquerading as a legitimate process. What is the name of the malicious process? Submit the flag as flag{process_name.ext}.
Use the file from Captured Memories»
Описание задания звучит так: один из младших аналитиков считает, что здесь есть процесс дубликат – “злой близнец”, который маскируется под легитимный процесс. Какое имя у этого процесса? Флаг в формате flag{process_name.ext}. Также прилагается файл mem.raw.
Ну, попробуем найти близнеца.
Анализ дампов памяти производится через утилиту volatility. Volatility – опенсорсный фреймворк, написанный на Python, созданный для криминалистической экспертизы содержимого ОЗУ. Данная утилита предустановлена в таких дистрибутивах как Parrot OS Security и Kali Linux. На другие дистрибутивы и иные ОС ее можно установить из официального гитхаб репозитория.
Начнем анализ. Первым делом нужно узнать профиль операционной системы, чтобы производить дальнейший анализ.
$ volatility -f mem.raw imageinfo
Ключ -f используется для указания пути к нужному файлу.
Отсюда находим нужное имя профиля – Win10x64_17134.
Теперь стоит посмотреть список процессов, которые работали на компьютере жертвы в момент создания дампа. Используем плагин pstree для отображения дерева процессов.
$ volatility -f mem.raw –profile=Win10x64_17134 pstree
На первый взгляд, нет ничего подозрительного. Нет никаких странных имен процессов. В основном здесь представлены дефолтные процессы Windows, однако наша малварь маскируется под легитимный процесс, поэтому смотрим дальше.
Часто бывает полезно использовать плагин psxview, который показывает скрытые процессы. Посмотрим.
$ volatility -f mem.raw –profile=Win10x64_17134 psxview
Отсюда видим, что все процессы отображаются, поэтому малварь себя таким образом не прячет.
Теперь стоит посмотреть запущенные сокеты и открытые сетевые соединения на машине. Для этого я использовал плагин netscan.
$ volatility -f mem.raw –profile=Win10x64_17134 netscan
Вот и первая зацепка. Explorer.exe – стандартный проводник Windows, как-то странно, что он слушает 6666 порт. PID этого процесса 5448, запомним.
Теперь посмотрим с какими параметрами этот процесс запускался. Для этого используем плагин cmdline.
$ volatility -f mem.raw –profile=Win10x64_17134 cmdline -p 5448
Ключом -р указываем на PID нужного нам процесса.
Снова странности. Explorer.exe не должен открываться с параметром, похожим на прослушку 6666 порта.
Думаю, самое время проверить этот процесс на VirusTotal. Для этого нужно его сдампить. Делается это при помощи плагина procdump.
$ volatility -f mem.raw –profile=Win10x64_17134 procdump -p 5448 –dump-dir=/home/user/Desktop
Ключом –dump-dir указываем на директорию, куда сохранится наш дамп.
Есть файл, есть подозрения на его вредоносные свойства. Идем на VirusTotal и заливаем туда наш файл. И что же мы видим?
Мы нашли «близнеца», отсюда следует что флаг – flag{explorer.exe}
Участвовал: ⛓b4jutsu⛓ (Telegram: @b4jutsu). Большое спасибо за материал.