Цифровая криминалистика
🥷 Приветствую друзья
❗️Осталось всего 3 места на в нашу Академию Cyber Squad.
Читать подробнее - Cyber-squad.pro
Статья длинная, приятного чтения 🚀
Если ты когда-нибудь садился за чужой компьютер, восклицал «Елки-палки, да что же тут творилось-то?!» и пытался разобраться (а не начисто форматировал винт), то поздравляю: ты уже занимался форензикой. Только у специалистов круг задач намного шире: они расследуют инциденты, анализируют трафик, ищут сокрытые данные и прочие улики. Хочешь стать одним из таких спецов?
Тогда давай посмотрим на основы этого мастерства и соберем коллекцию утилит и ссылок на ресурсы, которые помогут прокачать скилл.
Форензика как наука о расследовании киберпреступлений
Вообще, «форензика» — это калька с английского слова forensics, которое, в свою очередь, является сокращенной формой от forensic science, «судебная наука», то есть наука об исследовании доказательств. В русском это понятие чаще называют криминалистикой, а слово «форензика» закрепилось за компьютерной ее частью.
Форензика — это удел спецов из групп быстрого реагирования, которые включаются в работу, если произошел инцидент, например взлом веб-сервера или утечка конфиденциальной информации, шифрование ценных данных и тому подобные проблемы. Перед экспертами-криминалистами в таком случае ставятся следующие задачи:
- понять, как была реализована атака;
- построить сценарий взлома;
- восстановить хронологию (таймлайн) атаки;
- собрать артефакты (в смысле, не меч Армагеддона и не святой Грааль, а оставшиеся после атаки следы);
- предложить превентивные защитные меры, чтобы такого впредь не повторилось.
Отдельно в этой цепи существует этап формирования экспертного заключения по факту инцидента ИБ. К примеру, для судебных органов или иных компетентных в расследовании инцидента структур.
Сейчас все больше крупных компаний из тех, что имеют свой бренд услуг ИБ, в обязательном порядке заводят специализированную лабораторию и штат из нескольких экспертов по форензике. Также форензика часто идет в составе услуг компаний, которые далеки от сферы ИТ и занимаются, к примеру, финансовым аудитом. Ведь при расследовании финансового мошенничества до 100% всех доказательств может содержаться в компьютерных системах (ERP, CRM, BI, BPM и так далее).
Ну и конечно, эксперты по форензике — это неотъемлемая часть «управления К». Ведь чтобы возбудить уголовное дело по фактам компьютерных преступлений, сначала по нормам законодательства необходимо подтвердить сам факт преступления и определить его состав. Аналогично, если пострадавшая сторона обращается в суд за взысканием ущерба, возникшего из-за взлома, — тут уже без экспертизы никак не обойтись.
Отдельная тема — расследование целенаправленных атак, или APT. Их суть сводится к взлому целевых систем с использованием разнообразных векторов атак, инструментов, изощренных техник и методов, неизвестных до настоящего момента.
Стоит ли говорить, что таски на форензику традиционно присутствуют и в CTF? Поэтому без знания хотя бы базовых техник расследований не обойтись. А некоторые часто используемые тулзы, идущие в ход на CTF, мы рассмотрим чуть ниже.
Классификация
Любая наука склонна делиться на более мелкие темы. Чтобы окончательно почувствовать себя в институте, давай прикинем карту классификации нашего предмета.
- Computer forensics — к ней относится все, что связано с поиском артефактов взлома на локальной машине: анализ RAM, HDD, реестра, журналов ОС и так далее.
- Network forensics, как понятно из названия, имеет отношение к расследованиям в области сетевого стека — например, дампу и парсингу сетевого трафика для выявления таких интересных вещей, как RAT, reverse shell, backdoor-туннели и тому подобное.
- Forensic data analysis посвящена анализу файлов, структур данных и бинарных последовательностей, оставшихся после атаки или использовавшихся при вторжении.
- Mobile device forensics занимается всем, что касается особенностей извлечения данных из Android и iOS.
- Hardware forensic — экспертиза аппаратного обеспечения и технических устройств (примеры тут, тут и еще тут, все ссылки — на PDF). Это направление наименее популярно и наиболее сложно. Сюда входит разбор данных на низком уровне (микроконтроллера, прошивки или BIOS), ресерч специфических особенностей работы устройства, к примеру диапазона частот работы Wi-Fi-передатчика или внутреннего устройства скиммера, устанавливаемого на банкоматы.
Методы и техники экспертизы
Как и в случае с анализом малвари, есть два основных подхода к экспертизе взломанной машины — статический и динамический анализ. Задачи статического анализа — создать (скопировать) образ жесткого диска или дампа оперативной памяти, выявить и восстановить удаленные файлы, остатки аномальных файлов в %TEMP% и системных директориях, собрать историю серфинга веб-браузера, системные логи (события авторизации, аудит доступа к файлам и директориям и так далее), получить список запущенных в памяти процессов и открытых коннектов сети.
Динамический анализ, или live-анализ, использует нарезку из снапшотов системы, запускаемой в различных условиях для получения полной картины происходящего. К примеру, малварь склонна удалять свой код и следы инфицирования после определенных действий. И если снапшот взломанной системы был снят до этого момента, есть реальный шанс получить данные о том, что эта малварь делала на компьютере жертвы. Соответственно, в качестве подшивки электронных свидетельств здесь могут выступать скриншоты, логи коннектов в сеть, передаваемый трафик, сравнение состояния файловой системы ОС до и после инцидента.
Есть неплохая статейка (PDF) на английском языке, где вкратце описываются и сравниваются эти методы. И еще одна обзорная публикация — на небезызвестном портале InfoSec Resources.
Основные инструменты
Первое, что нужно сделать в начале экспертизы, — это собрать и сохранить информацию, чтобы затем можно было восстанавливать хронологию и поведенческую картину инцидента.
Давай посмотрим, какие инструменты по умолчанию должны быть в «походном чемодане» эксперта. Начнем с самого главного — снятия образа диска для последующего ресерча в лабораторных условиях.
Всегда ясно и четко осознавай, какое именно действие и для чего ты совершаешь. Неправильное использование приведенных в тексте статьи программ может привести к потере информации или искажению полученных данных. Автор не несет ответственности за любой ущерб, причиненный из-за неправильного использования материалов данной статьи.
Создаем образы диска, раздела или отдельного сектора
- FTK Imager — неплохой инструмент для клонирования носителей данных в Windows.
- dc3dd (а также adulau/dcfldd) — улучшенные версии стандартной консольной утилиты dd в Linux.
- Guymager — специализированное приложение для создания точных копий носителей (написано на C++, на базе Qt).
- Paragon или Acronis — комбайны «все в одном» для просмотра, создания, изменения, копирования любых данных, разделов, отдельных секторов.
Обработка сформированных образов дисков
- Imagemounter — утилита на Python, которая работает из командной строки и помогает быстро монтировать образы дисков.
- Libewf — тулза и вместе с ней библиотека для обработки форматов EWF (Encase Image file Format).
- Xmount — крохотная CLI-утилитка для конвертирования образов дисков в удобный формат с сохранением всей инфы и метаданных.
Сбор данных с хардов
- DumpIt — утилита для создания дампа оперативной памяти машины. Проста и удобна.
- Encase Forensic Imager — софтинка для создания базы доказательных файлов.
- Encrypted Disk Detector — еще одна тулза для криптоаналитиков, помогает искать зашифрованные тома TrueCrypt, PGP и Bitlocker.
- Forensics Acquisition of Websites — специальный браузер, предназначенный для захвата веб-страниц и последующего расследования.
- Live RAM Capturer — годная утилитка для извлечения дампа RAM, в том числе приложений, защищенных антиотладочной или антидампинговой системой.
- Magnet RAM Capture — как и прошлая тулза, предназначена для снятия RAM всех версий Windows — от старушки XP до Windows 10 (включая и релизы Windows Server).
Уделяй пристальное внимание корректному созданию образа системы для дальнейшего изучения. Это позволит быть уверенным в достоверности полученных результатов. Перед любыми действиями, задевающими работоспособность системы или сохранность данных, обязательно делай снапшоты и резервные копии файлов.
Анализ файлов
- Crowd Inspect помогает в получении информации о сетевых процессах и списков двоичных файлов, связанных с каждым процессом. Помимо этого, линкуется к VirusTotal и другим онлайновым сервисам анализа вредоносных программ и службам репутации.
- dCode преобразует разные типы данных в значения даты и времени.
- Bstrings — программа для поиска в двоичных данных, есть поддержка регулярных выражений.
- eCryptfs Parser рекурсивно анализирует заголовки каждого файла eCryptfs в выбранном каталоге или диске и выводит список шифрованных файлов.
- Encryption Analyzer — утилитка для анализа защищенных паролем и зашифрованных другими алгоритмами файлов, которая заодно анализирует сложность шифрования и предлагает варианты дешифровки.
- File Identifier — программа для онлайнового анализа типа файлов по собственной базе сигнатур, которых уже больше двух тысяч.
- Memoryze — тулза для анализа образов оперативной памяти, включая анализ файлов подкачки и извлечения оттуда данных.
- ShadowExplorer — утилита для просмотра и дальнейшего извлечения файлов из теневых копий в системе Windows.
- HxD — маленький и быстрый HEX-редактор.
- Synalyze It! — HEX-редактор с поддержкой шаблонов, при этом быстр и в нем нет ничего лишнего.
- wxHex Editor — кросс-платформенный HEX-редактор с возможностью сравнивать файлы и кучей других фич.
Извлечение данных из файлов
- Bulk_extractor — утилитка для вылавливания email, IP-адресов и телефонов из файлов.
- PhotoRec — утилита для извлечения данных и файлов изображений.
Обработка данных в оперативной памяти (RAM)
- Forensics, Memory Integrity & Assurance Tool by invtero — крутой и навороченный фреймворк, который при этом быстро работает.
- volatility — опенсорсный набор утилит для разностороннего анализа образов физической памяти.
- Rekall — скрипт для анализа дампов RAM, написанный на Python.
- KeeFarce — прога для извлечения паролей KeePass из памяти.
Анализ сетевого стека и браузеров
- SiLK — прога для сбора, хранения и анализа данных сетевого потока. Идеально подходит для анализа трафика на магистрали или границе крупного распределенного предприятия или провайдера среднего размера.
- Wireshark — всемирно известный сетевой анализатор пакетов (сниффер). Имеет графический пользовательский интерфейс и широкий набор возможностей сортировки и фильтрации информации.
- NetworkMiner — инструмент сетевого анализа для обнаружения ОС, имени хоста и открытых портов сетевых узлов с помощью перехвата пакетов в формате PCAP.
- chrome-url-dumper — крошечная программа для извлечения информации из браузера Google Chrome.
- hindsight — еще одна утилитка для анализа истории Chrome.
Анализ email-сообщений
- EDB Viewer — мощная утилита для просмотра файлов Outlook (EDB) без подключения сервера Exchange.
- Mail Viewer — утилита для просмотра файлов Outlook Express, Windows Mail / Windows Live Mail, базы данных сообщений Mozilla Thunderbird и отдельных файлов EML.
- OST Viewer — утилита для просмотра файлов OST Outlook, опять же без привязки к серверу Exchange.
- PST Viewer — вариант предыдущей утилиты, служит для просмотра файлов PST Outlook.
Поиск артефактов на HDD и периферии
- FastIR Collector — мощный функциональный сборщик информации о системе Windows (реестр, файловая система, сервисы, процессы, настройка окружения, автозагрузка и так далее).
- FRED — кросс-платформенный быстрый анализатор реестра для ОС Windows.
- NTFS USN Journal parser — парсер журналов USN для томов NTFS.
- RecuperaBit — утилита для восстановления данных NTFS.
Специализированные паки и фреймворки
- Digital Forensics Framework — платформа с открытым исходным кодом для извлечения и исследования данных. Есть варианты для CLI и GUI.
- The Sleuth Kit и Autopsy — еще одна библиотека с открытыми исходниками и коллекция инструментов командной строки для анализа образов дисков.
- Oxygen Forensic Detective — универсальный криминалистический инструмент для исследования данных мобильных устройств. Пак входящих в него утилит позволяет выполнять полное извлечение данных, проводить исчерпывающий анализ данных, хранящихся на телефонах и в облачных хранилищах. В наличии есть Forensic Cloud Extractor — встроенная служебная программа, собирающая данные из облачных служб хранения данных; средство Forensic Maps — программа, работающая с данными геоинформационных систем (GPS); Forensic Call Data Expert — программа для импорта записей данных о вызовах (так называемые CDR-файлы) любого поставщика услуг беспроводной связи и визуального анализа соединений абонентов.
Конечно, это далеко не все инструменты, которые могут пригодиться, а только известные и часто встречающиеся программы. Более полный список тулз можно посмотреть в Wiki Forensic. На русском языке есть очень неплохой обзор 23 бесплатных инструментов на «Хабре», а также на страницах этого блога и еще вот здесь.
Собираем свою лабораторию
Для ресерча и сбора артефактов нам будет нужна специальная лаборатория. Поскольку мы будем акцентироваться только на софтовой составляющей экспертизы, то есть без ковыряния железок, нам в качестве основы вполне хватит пула из нескольких виртуальных машин и специализированных дистрибутивов с необходимыми тулзами. Гипервизор я тебе предлагаю выбрать на свой вкус, это может быть и бесплатный VirtualBox, и VMware.
Ясное дело, можно собрать и свой, но зачем, если есть специализированные? Лично я предпочитаю DEFT или, как вариант, Remnux, но CAINE и Parrot OS тоже достойны внимания, не говоря уже о платных Encase и SMART Linux.
Материалы для изучения
Книги
Так вышло, что русскоязычной литературы по нашей теме практически нет. Да оно и неудивительно, форензика как прикладная деятельность стала популярна относительно недавно.
- Н. Н. Федотов. Форензика — компьютерная криминалистика, официальный сайт с материалами книги и PDF, доступная для загрузки. Это единственный на русском языке и наиболее полный труд, системно рассказывающий о форензике. Из минусов — многие вещи, описанные в книге, на сегодня устарели. Однако это все-таки must read как для начинающих, так и для тех, кто уже занимается криминалистикой в сфере высоких технологий.
- Network Forensics 1st Edition — этот труд посвящен особенностям экспертизы систем на сетевом уровне. Хорошее пособие, с основ и по шагам рассказывающее о сетевом стеке и методах его анализа.
- File System Forensic Analysis 1st Edition — труд, аналогичный предыдущему, но посвященный исключительно анализу файлов и файловой системы взломанных машин.
- Practical Mobile Forensics — хороший вариант для новичков, желающих заняться мобильной форензикой.
- The Basics of Digital Forensics:The Primer for Getting Started in Digital Forensics — еще одна книга, которую можно порекомендовать новичкам для уверенного старта.
- Windows Forensic Analysis Toolkit: Advanced Analysis Techniques for Windows 8 — само название книги говорит о продвинутых техниках экспертизы и особенностей применения именно в Windows 8.
- Practical Windows Forensics Paperback — неплохое пособие по форензике ОС, файловой системы, реестра, сети и съемных носителей.
- Digital Forensics with Kali Linux — можно сказать, это гайд по встроенным утилитам из раздела форензики дистрибутива Kali Linux.
- Windows Registry Forensics: Advanced Digital Forensic Analysis — книга концентрируется на особенностях парсинга системного реестра Windows, извлечении данных и особенностях, появившихся с Windows 8.
- Computer Forensics: Investigating File and Operating Systems, Wireless Networks, and Storage (CHFI) by EC-Council — официальный мануал по курсу обучения CHFI с уклоном на исследование артефактов Wi-Fi-сетей и носителей данных.
- Malware Forensics Field Guide for Windows Systems — хоть эта книга и не имеет прямого отношения к «классической» форензике, но все же стоит ее почитать, особенно если ты расследуешь инциденты с уклоном в сторону малвари.
- CHFI Computer Hacking Forensic Investigator Certification All-in-One Exam Guide 1st Edition — официальное издание по курсу обучения CHFI. Рассмотрены все основные темы и вопросы с экзамена.
- Practical Forensic Imaging: Securing Digital Evidence with Linux Tools — книга, целиком посвященная правильному подходу к созданию корректного образа взломанной системы для ее дальнейшего ресерча в лабораторных условиях. Считаю, что это must read для тех, кто начинает заниматься ремеслом криминалистической хай-тек-экспертизы
Площадки для тренировки
После изучения матчасти, я уверен, ты готов ринуться в бой, чтобы проверить свои навыки. Но вряд ли у каждого будет возможность сразу попасть на «живое» расследование. Начинать тренировки лучше, как говорилось в классическом фильме, «на кошках». В данном случае в роли фарфоровых кошек из «Операции Ы» выступают заранее подготовленные образы с артефактами, которые нужно извлечь и проанализировать.
- Memory samples — набор дампов памяти от Windows до Linux с зашитыми в них артефактами. В качестве небольшого гайда — статья из наших архивов.
- p0wnlabs Sample Challenges — набор свободно скачиваемых заданий на темы web sleuthing и deleted file recovery.
- Wireshark Sample Captures — репозиторий дампов сетевого трафика.
Краткие руководства и примеры парсинга дампов сетевого трафика можно найти тут, вот тут и на русском вот еще тут.
- Computer Forensic Reference Data Sets (CFReDS) — репозиторий образов для тренировки навыков криминалистической экспертизы.
- Digital Forensics Tool Testing Images — еще один архив снимков ФС.
- Digital Corpora — портал организации Digital Corpora, созданный для энтузиастов киберфорензики, с семплами для тестирования своих навыков.
- BlackLight — коммерческий набор инструментов и демопак для тестирования навыков.
Другие полезные ресурсы
- Огромный архив ссылок, материалов, описаний по теме форензики на GitHub.
- Cheat Sheets & Posters — чит-листы и шпаргалки по форензике, созданные в институте SANS, и не только!
- Forensic Computer Analyst Salary — статья о том, сколько зарабатывают эксперты по форензике за рубежом. Согласись, недурно!
- Forensic Workstations, Forensic Hardware, Forensic Duplicators_Bridges, Forensic Software — железо для аппаратной форензики.
Актуальная ссылка - @cyber_sq
Главный - Fantom