• [ Регистрация ]Открытая и бесплатная
  • Tg admin@ALPHV_Admin (обязательно подтверждение в ЛС форума)

Статья Форензика. Исследуем инцидент по следам в GitHub

stihl

Moderator
Регистрация
09.02.2012
Сообщения
1,178
Розыгрыши
0
Реакции
510
Deposit
0.228 BTC
stihl не предоставил(а) никакой дополнительной информации.
Сегодня мы шаг за шагом пройдем процесс анализа инцидента: по собранным артефактам узнаем подробности о подозрительной активности, а затем изучим код вредоноса по изменениям на GitHub. Особое внимание уделим практическому применению методологии MITRE ATT&CK и использованию OSINT-методов для детального исследования инцидента.
Мы будем проходить лабораторную работу Для просмотра ссылки Войди или Зарегистрируйся из раздела Sherlocks на площадке Hack The Box.

Вот как звучит предложенный автором лабы сценарий:


Служба внутренней безопасности компании Forela провела тестирование на проникновение в ее сеть. В результате тестирования было обнаружено, что один из узлов, возможно, был взломан.
Цель расследования — проверить, как произошла компрометация, используя предоставленные данные.


Поиск аномальной активности​

Распакуем и прошерстим файлы из задания. Нет ли среди них папок с подозрительными названиями? Особое внимание уделяем каталогам пользователя.

В корневой папке есть каталог User_Files, который содержит архив с интересным названием hidden-user-home-dir.tar.gz. В нем — каталоги home/ и root/.

Для просмотра ссылки Войди или Зарегистрируйся
В домашней директории находим папку пользователя johnspire, который предположительно был скомпрометирован. Просмотрим историю команд, чтобы убедиться в этом.

Для просмотра ссылки Войди или Зарегистрируйся
Видим, что под учеткой выполнялась подозрительная активность, в том числе сканирование сети, просмотр /etc/passwd, запуск MSF. Примечателен запуск Git и использование скрипта enum.sh. Посмотрим на GitHub засветившийся репозиторий autoenum.

Для просмотра ссылки Войди или Зарегистрируйся
В README написано NA (not available), что подразумевает отсутствие каких‑либо сведений. Разберем подробнее запускавшийся на хосте enum.sh.

Для просмотра ссылки Войди или Зарегистрируйся

Анализ enum.sh​

Внимание привлекает функция do_wget_and_run(), которая и является вредоносной. В ней содержится ссылка на Dropbox, составляемая из двух переменных:

Код:
f1="https://www.dropbox.com/scl/fi/uw8oxug0jydibnorjvyl2"
f2="/blob.zip?rlkey=zmbys0idnbab9qnl45xhqn257&st=v22geon6&dl=1"

C сайта скачивается ZIP-архив с достаточно тривиальным паролем, тоже состоящим из двух по отдельности кодированных Base64 частей.

Для просмотра ссылки Войди или Зарегистрируйся
Не было ли у этого скрипта более ранних версий? Чтобы это узнать, переходим в раздел Activity на странице репозитория.

Для просмотра ссылки Войди или Зарегистрируйся
Здесь отображены все изменения, внесенные в проект (плюсом отмечены новые строчки кода, минусом — удаленные): какой пользователь вносил эти изменения и когда. Например, в коммите с SHA 7d20...5f видим удаленные комментарии к частям вредоносной функции.

Для просмотра ссылки Войди или Зарегистрируйся
Чтобы уточнить временную метку, воспользуемся командой git log --pretty=oneline. Она используется в Git для отображения истории коммитов в укороченном формате, где каждый коммит представлен одной строкой. Это удобно для быстрого просмотра истории изменений.

Для просмотра ссылки Войди или Зарегистрируйся
Команда git show в Git используется для отображения подробной информации о конкретном объекте в репозитории, в том числе его временной метки. Чаще всего она применяется для просмотра данных о коммитах, но также показывает информацию о тегах, деревьях (tree) и файлах (blob).

Для просмотра ссылки Войди или Зарегистрируйся
Из интересного в этом кейсе видим смену ссылки на Dropbox в коммите с SHA 5d88...7b.

Для просмотра ссылки Войди или Зарегистрируйся
GitHub, как одна из крупнейших платформ для совместной разработки, часто становится инструментом для распространения вредоносного кода. Злоумышленники могут использовать репозитории для хранения и распространения вредоносных скриптов, эксплоитов или фишинговых инструментов. История активности таких репозиториев — ценный источник информации.

Каждый коммит в Git содержит информацию о внесенных изменениях, авторе и времени. Используя команду git log, получим полную историю коммитов репозитория. Это позволяет:
  1. Определить этапы разработки вредоносного кода: например, когда были добавлены ключевые функции или исправлены уязвимости.
  2. Выявить подозрительные паттерны: например, массовое удаление файлов или добавление зашифрованных данных.
  3. Связать коммиты с реальными инцидентами, сравнивая даты коммитов с временем атак или утечек данных.
Команда git show позволяет детально изучить изменения, внесенные в конкретном коммите. Это особенно полезно для изучения вредоносного кода, поиска скрытых данных и выявления подозрительных файлов.

Также злоумышленники могут использовать ветки и теги для организации своей работы. Например:
  • Ветки для тестирования. Вредоносный код может разрабатываться в отдельных ветках, а затем сливаться в основную.
  • Теги для версификации. Теги могут указывать на версии вредоносного ПО, что помогает отследить его эволюцию. Используя команды git branch -a и git tag, получим список всех веток и тегов, а затем изучим их содержимое.
Для более глубокого анализа используй специализированные инструменты:
  • GitHub API. Для автоматизации сбора данных о репозитории, включая коммиты, проблемы и пул‑реквесты.
  • Инструменты статического анализа кода. Например, Bandit для Python или Semgrep для поиска уязвимостей.
  • OSINT-инструменты. Для поиска связей между авторами репозитория и другими аккаунтами в сети.

Закрепление через Cron​

Снова обратим внимание на enum.sh. В той же вредоносной функции есть действия по закреплению с помощью Cron.

Для просмотра ссылки Войди или Зарегистрируйся
Это, согласно MITRE, относится к подтехнике закрепления в системе T1053.003.

Классификация​

Техника MITRE T1053.003, известная как Cron, относится к использованию планировщика задач Cron в Unix-подобных системах для выполнения команд или скриптов по расписанию. Злоумышленники могут использовать эту технику для выполнения вредоносного кода с определенной периодичностью или для закрепления в системе после компрометации.
Давай разберем, что за файл blob был доставлен, распакован и закреплен в системе. В каталогах его не найти, поэтому воспользуемся артефактами из триажа. В папке Misc есть документ exec-perm-files.txt, в котором отображены все файлы с правами на выполнение и их хеш‑суммами.

Для просмотра ссылки Войди или Зарегистрируйся
Заливаем хеш на VirusTotal и видим, что образец действительно вредоносен. Перейдем на вкладку Behavior, чтобы уточнить его вид и предназначение.

Для просмотра ссылки Войди или Зарегистрируйся
Согласно MITRE, основное воздействие blob связано с техникой T1496, а исходя из строки reference cryptocurrency strings, можем заключить, что это майнер криптовалюты.

Классификация​

Техника T1496 (Resource Hijacking) описывает захват злоумышленниками системных или сетевых ресурсов для выполнения вредоносных задач, таких как майнинг криптовалюты, проведение DDoS-атак или выполнение сложных вычислений, что приводит к несанкционированному использованию CPU, GPU или пропускной способности сети, снижению производительности системы и увеличению энергопотребления.

Выводы​

В ходе анализа мы проследили полную цепочку атаки: от начального доступа через учетную запись пользователя johnspire до закрепления в системе с помощью планировщика cron и установки майнера криптовалюты.

Исследование истории изменений в GitHub-репозитории позволило выявить эволюцию вредоносного скрипта enum.sh и определить точные временные метки внесения критических изменений.

Использование специализированных инструментов Git и анализ поведения файла blob помогли классифицировать атаку по техникам MITRE T1053.003 и T1496.
 
Activity
So far there's no one here
Сверху Снизу