The Return of the Yeti
The Yeti needs a plan for 2023. Help him out!

TryHackMe: Прохождение комнаты The Return of the Yeti. Первая часть побочного квеста Advent of Cyber 2023.
От VanSpy пришел файл VanSpy.pcapng
, судя по расширению это Packet CAPture Next Generation, т.е. запись перехваченных пакетов сетевого трафика. Работать с данными файлами можно различными инструментами, например популярным сниффером и анализатором Wireshark или фреймворком pyshark. Воспользуемся tshark.
What’s the name of the WiFi network in the PCAP?
Отобразим несколько пакетов с фильтром wlan.ssid
:

What’s the password to access the WiFi network?
Если посмотреть структуру:

то можно обнаружить четырехстороннее рукопожатие EAPoL, посему сразу можно запустить брут-форс с помощью aircrack-ng (альтернативное решение с помощью hashcat). Для начала, сконвертируем .pcapng
в старый .pcap
:
и запустим подбор пароля по словарю:

Если у вас в системе нет словарей (из коробки они имеются, например, в linux дистрибутивах Parrot и Kali), то их можно скачать в репозитории SecLists.
Получив пароль, для дальнейшего удобства расшифруем трафик в новый файл
-e
– SSID-p
– пароль
На выходе будет создан файл VanSpy-dec.pcap
:
What suspicious tool is used by the attacker to extract a juicy file from the server?
Вспомним иерархию протоколов, а именно data
. Попробуем найти идентификаторы потоков общения:
-Tfields
– вывод информации по заданным полям.-e
– перечисление полей: протокол, IP-адреса откуда/куда, порт откуда/куда, идентификатор потока.-Y
– фильтр.
|

Получаем лишь один конкретный поток (1005
), попробуем отследить данный сеанс:

Обнаружен весь лог действия VanSpy, в том числе, что именно за инструментарий он использовал.
What is the case number assigned by the CyberPolice to the issues reported by McSkidy?
Вновь глянем на структуру, но на этот раз уже расшифрованного wifi трафика:

Можно заметить, что используется RDP. А ранее было замечено, что злоумышленник украл сертификат используемый как раз для RDP. Как видно из сессии, сертификат был закодирован с помощью base64 и передан несколькими пакетами:
> [Convert]::ToBase64String([IO.File]::ReadAllBytes("/users/administrator/LOCAL_MACHINE_Remote Desktop_0_INTERN-PC.pfx"))
Сохраним данные куски в единый файл и восстановим его в исходном виде. Получаем .pfx
контейнер (PKCS12) используемый для передачи склада ключей (включая секретный ключ) на отдельный компьютер. Соответственно с его помощью можно расшифровать RDP трафик.
В этом месте задачу можно решить альтернативным способом. Имея расшифрованный RDP трафик, можно восстановить всю картинку сессии и получить видео файл записи всех действий пользователя. Для этого существует утилита RDP Replay которая генерирует видеопоток прямо из
.pcap
файлов.
Вновь глянем на структуру, но теперь среди прочего укажем
-o tls.keys_list:"","","","./cert.pfx","mimikatz"
– контейнер с секретным ключом и пароль к нему. Первые три поля указывают IP-адрес, порт и протокол соответственно. В нашем случае их можно опустить. Таким образом весь RDP трафик будет расшифрован.-z io,phs,rdp
– оставим только RDP.
Сертификат защищен паролем, согласно документации при экспорте (
/export
) устанавливается парольmimikatz
.
Из важного стоит отметить наличие rdp_cliprdr
, это один из потоков RDP протокола в котором передается содержимое буфера обмена:
rdp_cliprdr frames:52 bytes:11475
tpkt frames:5 bytes:2190
Выведем все пакеты (-x
) имеющие отношение к передаче содержимого буфера обмена (фильтр -Y "rdp_cliprdr"
) и внимательно их изучим, число пакетов небольшое и вполне доступно для ручного разбора. Для наглядности дополнительно разукрасим вывод с помощью утилиты pygmentize:
|
В первом же пакете с данными обнаруживаем использование адреса для почты:
Чуть далее обнаруживаем и номер дела:
What is the content of the yetikey1.txt
file?
Продолжим изучение потока с данными для передачи буфера обмена, находим письмо:
Чуть далее манипуляции с yetikey1.txt
, его переименовывают в secret.txt
, ну и команду на копирование его содержимого в буфер обмена:
В завершении находим собственно сам ключ:
На этом всё, продолжение во второй части – Snowy ARMageddon.
Все части прохождений здесь.