Последний год видим, что стало больше случаев применения такой техники антифорензики, как
Timestomping (Т1070.006) или подмена временных меток у файлов. Если модификацией $STANDARD_INFORMATION ($SI) в Windows уже никого не удивить, то подмена временных меток $FILE_NAME ($FN) в NTFS достаточно долго была редким явлением, которое находили лишь в некоторых APT-атаках с участием азиатских групп. Но теперь эту технику используют в том числе группировки из восточной Европы, которые занимаются шифрованием. Значит техника подмены $FN пошла в массы 👀Чем опасен Timestomping?
👍 При просмотре событий в виде таймлайнов файл с подмененной меткой может быть вне окрестности активности атакующих и попросту пропущен.
👍 Часто дата, на которую совершается подмена, соответствует легитимным файлам, среди которых пытаются скрыть что-то плохое. Найти вредоносный имплант в окрестности легитимной активности — не простая задача.
Как обнаружить подмену
$SI, уже давно пишут в учебниках по DFIR — можно просто сравнить временную метку создания файла из $SI с меткой создания из $FN. Если значения расходятся, делаем вывод: $SI — не настоящее время создания файла (только учитывайте, что некоторые легитимные файлы часто тоже имеют неверную дату создания). И давно рекомендуют, что при анализе файлов нужно смотреть именно на $FN Creation, чтобы избежать проблем с техникой Timestomping.Но что делать, если
$FN метки тоже подменены? 1️⃣ Проверь нули. Интересный факт: при подмене меток
$FN атакующие не хотят или не могут поменять миллисекунды у временных меток, из-за чего все модифицированные метки будут без миллисекунд. Как гарантированный детект работает не очень хорошо — будут ложные срабатывания, но что вам мешает посмотреть детекты в окрестности инцидента?2️⃣ Четвертый не лишний. В NTFS 4 пары временных меток: Creation, Modification, Access и Entry. Подмену временной метки
$FN Entry мы не видели ни разу. Возможно, про неё все забыли. Все временные метки $FN обычно хранят одно и то же значение, соответственно, истинную дату создания файла можно восстановить именно благодаря значению из $FN Entry. Но при условии, что файл не был перезаписан второй раз.Вот это уже похоже на детект:
Если в записи MFT в $FN миллисекунды Creation, Modification и Access равны нулю, а миллескунды Entry не равны нулю, то вероятна подмена $FN меток.
3️⃣ Иногда атакующие любят создавать директории для своего вредоносного ПО, а при выполнении техники Timestomping напрочь забывают, что дата создания директории соответствует дате размещения их собственного «скрытого» файла. Это касается и времени модификации легитимных директорий.
Не живите в иллюзии, что какие-то техники остались забытыми: напишите на них детекты, даже если они будут не идеальными. Однажды детекты помогут вам быстрее обнаружить злоумышленников при расследовании.
