Порой айтишникам приходится решать не совсем обычные задачи. На днях знакомый админ поведал мне о том, что на фоне обычной офисной рутины руководство поручило ему на время превратиться в Шерлока Холмса, в связи с чем он срочно ищет себе в помощники доктора Ватсона. На волне коронавирусной пандемии и локдауна компания провела ряд вынужденных сокращений, и кому-то из уволенных сотрудников это явно не понравилось. Неизвестные слили в паблик данные, которые никак не должны были туда попасть. Руководство поставило задачу выяснить, кто из «бывших» совершил такую пакость и подлость. Каким образом? Придумай сам, тыжпрограммист. Профессиональным исследователем киберинцидентов, понятное дело, никто из участников процесса не являлся даже близко.
Логи сервера, на котором хранилось файло, в принципе способны подсказать, кто и когда обращался к расшаренным папкам из локальной сети, но этой информации явно недостаточно для построения объективной картины. Нужно ковырять пользовательские машины. Проблема в том, что для проведения подобных исследований в сфере «бытовой форензики» требуется не только специальный инструментарий, но и навык его использования, который у большинства компьютерщиков попросту отсутствует за ненадобностью. Часто ли вам приходится искать артефакты на чужой машине (если вы, конечно, не эксперт в сфере криминалистики)? То-то и оно. Вот и в описанном мною случае пришлось экстренно гуглить соответствующие тулзы и осваивать принципы их работы. Эти находки я кратко перечислил в сегодняшней заметке, в надежде, что читатели поделятся и своим полезным инструментарием, а также опытом подобных изысканий, который рано или поздно может кому-нибудь пригодиться.
Термин «форензика» произошел от английского термина forensics (forensic science) — «судебная наука», или «криминалистика». В нашей стране под форензикой обычно понимают исследование инцидентов информационной безопасности, изучение, сбор и закрепление доказательств. Описанный выше случай вряд ли можно отнести к форензике в профессиональном смысле этого термина, однако внутрикорпоративные исследования, ставящие своей целью поиск источников утечки информации, установление фактов нарушения трудовой дисциплины и «цифровой гигиены» сотрудниками — явление довольно-таки частое.
В данном конкретном случае перед исследователем стояли как минимум следующие задачи: выяснить, на какой машине из нескольких «подозреваемых» побывали скопированные с сервера файлы (если они побывали там вообще), открывал ли кто-то из бывших сотрудников в браузере определенный URL, не отправлял ли он файлы куда-нибудь в облако или по электронной почте. При этом исследование корпоративного почтового сервера не принесло интересных результатов: если «злоумышленник» и пользовался для передачи информации электронной почтой, ему хватило ума задействовать для этих целей личную учетку. На всех машинах была установлена Windows, юзеры работали с правами локального администратора, имели возможность инсталляции и удаления софта. При этом практически все компы были сданы админу уходящими сотрудниками в состоянии «как есть», с хранящимися там файлами и программами. А вот один компьютер и один ноутбук вызывали особые подозрения, поскольку оказались основательно «почищены». Их было решено изучить в первую очередь.
Кто виноват и что делать?
После некоторых размышлений был составлен краткий перечень минимально необходимых исследований, который включал в себя следующие пункты:
- восстановление истории браузеров;
- восстановление потертых файлов;
- получение списка установленных (и удаленных) на машине приложений.
Теоретически (и с большой вероятностью) эти изыскания могли не принести вообще никакого результата. Пользователь мог скопировать файлы на съемный носитель. Кроме того, оставалась проблема BYOD (Bring Your Own Device) — некоторые сотрудники таскали в офис личные ноутбуки, имевшие доступ к корпоративному вайфаю, а с началом пандемии многие и вовсе перешли на удаленку с подключением к сети компании через VPN. Все эти сетевые подключения, безусловно, логировались, но найти в логах подозрительную активность — та еще задачка. Критичные файлы могли открывать или копировать и по делу, причем для некоторых действий при желании можно найти тысячу разумных объяснений. Заполучить личную технику теперь уже бывшего персонала для анализа по понятным причинам невозможно. В общем, оставалось работать с тем, что есть, в надежде хоть на какой-то улов
Как мне дорог образ твой…
Криминалисты, занимающиеся форензикой профессионально, обычно создают образ исследуемого диска и работают уже с ним, оставляя оригинальное устройство в неприкосновенности. Образ монтируют к стенду со всем необходимым инструментарием, а затем вдумчиво потрошат, выискивая подозрительные файлы, сохраненные пароли, зашифрованные контейнеры и прочие полезные артефакты. Даже если у исследователя нет необходимости собирать доказательства для суда, и он вполне может позволить себе поковыряться с содержимым диска в свое удовольствие, образ все равно лучше создать на случай, если что-то пойдет не так. Под Windows для этих целей традиционно используется продукция Paragon и Acronis, но существует менее известный FTK-imager от компании AccessData. В Linux имеется примечательный Guymager — тулза, написанная на C++ / QT, и предназначенная для создания точных копий носителей и клонирования образов. Утилита может создавать необработанные образы (формата dd), а также работать с AFF (Advanced Forensics Format) и EWF (Expert Witness Compression Format).
Еще существует загрузочный образ с утилитой OSFClone от PassMark Software, позволяющий создавать образы дисков с поддержкой AFF, не запуская операционную систему на самой исследуемой машине.
Для удобства монтирования образов можно использовать питоновский скрипт imagemounter, позволяющий из командной строки работать с образами EnCase, Affuse, vmdk и dd, использующими FAT, Ext, XFS UFS, HFS+, LUKS и NTFS. Еще более удобная утилита — OSFMount от уже упоминавшийся ранее компании PassMark Software, позволяющая работать с образами в Windows, как с логическими или физическими дисками. По умолчанию образ монтируется в режиме read only, но существует возможность смонтировать образ для чтения-записи в режиме write cache.
Восстановление файлов
Даже если пользователь удалил какие-то файлы на своем компьютере, их можно попытаться восстановить. Для этих целей существует множество утилит, как для Windows, так и для Linux — в нашей истории была актуально именно первая категория. Почитав описания в этих ваших интернетах, было решено обратить внимание на следующие инструменты.
GetDataBack
Утилитка от создателей популярной программы FileExplorer. Программа сканирует диск и выводит список всех файлов, которые только удалось найти (включая удаленные), при условии, что их индексы не повреждены. Для облегчения задач исследователя программа поддерживает поиск по дате и размеру файла.
Easy Recovery
Коммерческая утилита от OnTrack EasyRecovery, позволяющая восстанавливать удаленные файлы на разделах NTFS. С сайта производителя можно загрузить триальную версию, но для этого придется пройти небольшой квест: вас попросят зарегистрироваться, указав ваше имя, адрес электронной почты, страну проживания, номер телефона и название компании, в которой вы работаете (все поля обязательны для заполнения), пообещав выслать ссылку на загрузку по e-mail. Ссылка, однако, приходит далеко не всегда, даже если все поля вы заполните правильно.
Однако со своей основной задачей — поиском и восстановлением удаленных файлов — программа в целом справляется, а большего от нее по большому счету и не требуется.
Windows Data Recovery
Как и следует из ее названия, утилита от Stellar предназначена для восстановления данных под виндой. она поддерживает практически все популярные файловые системы, которые только известны на сегодняшний день (включая UFS). Демонстрационную версию можно скачать по следующему адресу: http://download.stellarinfo.com/StellarDataRecovery.exe.
Приложение предназначено для поиска удаленных файлов и может восстановить их, если поверх этих файлов система ничего не успела записать. Никакими другими функциональными возможностями приложение не обладает, но и этой для наших целей вполне достаточно.
Восстановление истории браузера
Восстановление удаленной истории браузера — не столь сложная задача, какой может показаться на первый взгляд. Дабы благородные доны не возились с этим вручную, компания Recovery Software придумала специальную тулзу под названием Browser Forensic. Производители заявляют, что программа может работать со следующими браузерами:
- Mozilla Firefox;
- Opera;
- Google Chrome;
- Yandex.Browser;
- Internet Explorer/Edge.
Утилита умеет извлекать хистори, даже если история браузера была очищена, и кроме того, может достать из небытия сохраненные пароли и данные форм. Разработчики утверждают, что программа позволяет восстановить даже информацию о сессиях, открытых в режиме инкогнито, но это утверждение в нашем случае проверить не удалось.
В принципе, вернуть назад удаленную историю просмотра браузера, который предпочитает пользователь, можно и на предыдущем этапе — физически восстановив файлы из соответствующих папок на диске (нагуглить расположение файлов с хистори, закладками «Избранного» и кэшем для каждого браузера, в общем-то, несложно). Если юзер не прибил свою учетку в Google, Chrome позволяет восстановить закладки и хистори из его аккаунта, при условии, что там была включена синхронизация. Если учетка удалена, но физически файлы Chrome не потёрты, можно воспользоваться утилитами chrome-url-dumper и hindsight.
Другие полезные утилиты
Из других полезных инструментов, которые в подобных случаях лучше иметь под рукой, можно отметить следующие:
MAGNET Encrypted Disk Detector — программа, позволяющая найти на дисках зашифрованные тома и контейнеры;
Mail Viewer — программа для просмотра баз сообщений электронной почты клиентов Mozilla Thunderbird, Windows Live Mail и Microsoft Outlook без необходимости установки самого почтового клиента;
Encryption Analyzer — средство анализа защищенных паролем и зашифрованных файлов, позволяет определить тип шифрования и предлагает варианты дешифровки;
ShadowExplorer — программа для просмотра и извлечения файлов из теневых копий Microsoft Windows;
FastIR Collector — консольная утилита для быстрого сбора данных о системе Windows (файловая система, запущенные службы, реестр, процессы, настройка окружения, автозагрузка и т.д).
Итоги
В истории, с которой я начал эту заметку, исследователю все же удалось получить кое-какие результаты. На «подозрительном» ноутбуке были обнаружены следы установки и последующего сноса клиента Dropbox, в удаленных файлах нашлись скопированные локально данные, которые впоследствии утекли в сеть, в восстановленной хистори браузера — URL паблика, где эти данные впоследствии всплыли. Это, разумеется, ровным счетом ничего не доказывает, но заставляет задуматься.
Кроме того, изучение остальных компов ожидаемо показало, что сотрудники на служебных ПК предсказуемо занимались не относящимися к работе вопросами, совершали он-лайн покупки, качали кинцо, рубились в онлайн-игрушки, смотрели мемасы и котиков. Выводы напрашиваются однозначные: лучше заранее озаботиться корпоративной безопасностью, например, настроить какой-нибудь прокси с фильтрацией контента и контролем трафика, а заодно правильно разграничить права юзеров, чем потом проводить экстренные расследования по горячим следам, когда у руководства компании уже задымилась ж… изненная ситуация, а паника приняла критическую форму. В общем, лучше стелить солому заранее. Тогда падать будет не так больно.
EDA
«читатели поделятся и своим полезным инструментарием»
Лично я, если бы был админом, поделился бы советом не заниматься не своим делом. Предположим, что админ (стрелочник) найдёт подозреваемого. И что? Владельцы бизнеса пойдут в суд, а доказательством будут слова админа? Засмеют в суде, админ — не квалифицированный эксперт. Или по понятиям, завести подозреваемого в лес и попросить раскаяться? Тогда админ становится соучастником преступления.
А если админ нашёл не того человека? Предположим, что «злоумышленник» зашел в учётную запись подозреваемого, пока тот был на обеде и быстро слил инфу? Что будет дальше — предположим, ошибка вскроется, когда подозреваемого уже вывезут в лес? Админа повезут на природу следующим?
Holmogorov Автор
Согласен, даже обнаружение следов ничего не доказывает. Я об этом, собственно, и написал. Ну, начальство выдало распоряжение — админу пришлось выполнять. Что оно с этим будет делать дальше, уже другое дело…
EDA
Конечно, но начальник может неправильно понять. Начальник спрашивает — кто слил инфу? Админ отвечает — с компьютера Пупкина кто-то закачивал инфу в интернет. Что слышит начальник? «Пупкин виноват, это сказал компьютер, компьютер не может ошибаться».
В таких случаях лучше сказать, что ввиду недостатков системы, сделать ничего нельзя, но вот план, чтобы такого не повторилось.
Holmogorov Автор
Именно. Потому следует быть крайне осторожным в формулировках.
vrangel
Работаю в интернет провайдере. Пару раз довелось получать запрос от полиции (не в РФ) на предмет выдачи данных абонента, корый в период X посещал ресурс Y с IP Z.
Одно дело было достаточно серьезное, шантаж и вымогательство. Приходилось много объяснять полиции, что IP абонента никак не может напрямую связать его с преступными деянеями. Только как нить расследования, никак не больше.
other_letter
Немного скепсиса от меня… Неужто полицейский сказал что-то типа «а, ну ладно» и отвалил? Разумеется, если речь не про полицейское государство, вопросы ставятся несколько иначе, но чтобы какой-то сотрудник провайдера отказал полицейскому? ДА ладно.
qw1
Так написано же, IP предоставляется как «нить расследования». Полицейский все эти увещевания просто проигнорировал, а у сотрудника провайдера совесть якобы чиста.
vrangel
Нет, никто не отказывал. В законе четко прописано кто и что обязан выдавать представителям следствия и на основании каких документов. Все было предоставлено с письменным и устным пояснением, что с технической точки зрения данных не достаточно для идентификации конкретной персоны. Полиции ж тоже не выгодно хватать и тащить в суд абы кого. Я думаю, даже в РФ так.