• XSS.stack #1 – первый литературный журнал от юзеров форума

CVE-2025-2783

xvonfers

RAID-массив
Пользователь
Регистрация
08.06.2024
Сообщения
53
Реакции
58
«Лаборатории Касперского» распознали волну заражений ранее неизвестным сложным вредоносным ПО. Заражение происходило сразу после того, как жертва открывала ссылку из фишингового письма в браузере Google Chrome.
Вредоносные письма содержали приглашения от лица организаторов научно-экспертного форума «Примаковские чтения» и были нацелены на средства массовой информации, образовательные учреждения и правительственные организации в России.
Данная логическая бага затрагивает винду и происходит из-за получения/отправки значений контрольных дескрипторов через IPCZ и данные значения могут быть неверно истолкованы функциями ОС Windows, что в конечном итоге при удачной эксплуатации приводит к Google Chrome sbx escape.
"...Do not decode sentinel values used by Windows (INVALID_HANDLE_VALUE &GetCurrentThread()).."

Зафикшена бага тут:
https://chromium-review.googlesource.com/c/chromium/src/+/6380193
https://chromereleases.googleblog.com/2025/03/stable-channel-update-for-desktop_25.html

https://learn.microsoft.com/en-us/windows/win32/winprog64/interprocess-communication
https://issues.chromium.org/issues/400775901742942950666.png1742942906290.png
1742942664991.png
 
Как выяснилось(спасибо @cplearns2h4ck), данная вулна похожа на CVE-2022-35795(Win LPE).
Слайд отсюда "Exploiting Errors in Windows Error Reporting in 2022"(@edwardzpeng):

На данный момент, как я вижу процесс: Комроментация рендер-процесса(посредством другой вулны, ведущей к RCE) -> ... -> крафтим Mojo-сообщение с псевдо-хэндлом со значением между -12 и -1 (GetCurrentProcess() или GetCurrentThread()) -> отправляем через IPC привилегированному процессу -> целевые дубликаты обрабатываются через DuplicateHandle() -> резолвится в собственный дескриптор привилегированного процесса -> меняем память привилегированного процесса -> sbx escape / EoP
1742997395939.png
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
xvonfers массовая эксплуатация таких цепочек имеет место быть сейчас или это в основном таргетированные атаки?
 
Под десктопы все еще таргетированные, хотя чейн и дешевле много выходит по сравнению с мобилками, однако все-равно не малая сумма и трудозатраты, да и сжигать техники/нули... Для десктопов можно сказать "ограниченно массовая", то бишь таргетированный круг больше, но и не огромный в то же время...Это из того что вижу, в том числе из общения с небольшим кругом, непосредтсвенно вовлеченных, как в исследование/разработку/внедрение/продажу, так и со стороны обнаружения/исправления. Много воды налил😅
xvonfers массовая эксплуатация таких цепочек имеет место быть сейчас или это в основном таргетированные атаки?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Если говорить про десктопы, то Windows > MacOS > Linux. В большей степени браузерными эксплойтами пробивают винду и мак и очень редко линукс. По крайне мере я ооочень давно не видел подобных новостей про linux (лет 10 наверно). И я бы сказал, что массовая эксплуатация такие вот цепочек эксплойтов зависит именно от "опыта" атакующих. А вот как их уже задействовать эти цепочки это уже другой вопрос. Кто-то проводит точечные кибератаки, кто-то может использовать их для массовых атак. Буквально вспомнить северокорейцев они так же использовали уязвимости в Chrome и Windows, устанавливали майнеры, а для для обеспечения постоянного доступа к системе еще и руткит ставили, чтобы майнер не слетел.


Имхо, мне кажется что подобные цепочки уже далеко не редкость, и они уже давно приобрели массовых характер, это уже давно не таргетированные (частные) атаки, по крайне мере именно в случае с windows. В какой раз вижу новости о том, что используют рце в хроме , а далее выходят из песочницы используя уязвимость в винде, просто повышая привилегии процесса до медиума.

Примерная схема подобных цепочек для windows

1. хром rce эксплойт начинает выполнять шелл-код №1
2. шелл-код №1 выполняет sbx эксплойт
3. sbx эксплойт выполняет шелл-код №2
4. после получения привилегий (sbx эксплойт) выполняется PowerShell загрузчик
5. PowerShell загрузчик - загружает и выполняет вредоносный код (download & exec)


FAQ

1. Что представляет из себя шелл-код браузера? Какого он типа?
Шелл-код браузера представляет из себя загрузчик. Reflective DLL Injection shellcode.

2. Как выглядит sbx эксплойт? какого он формата?
sbx эксплойт скомпилирован как dll файл. В цепочке он выглядит как обычный набор байтов (шелл-код)...

3. Что представляет из себя шелл-код у sbx-эксплойта?
Обычно у sbx-эксплойта шелл-код это обычный токен стиллинг, но не много измененный.

4. По суте sbx эксплойт это шелл-код браузера?
Да. SBX эксплойт скомпилирован как dll, а затем сконвертирован в байт-код, который затем выполняется через Reflective DLL Injection.

5. Как выглядит PowerShell загрузчик ? он тоже сконвертирован в байт-код?
Нет. PowerShell загрузчик выглядит как обычные PS команды, которые вшиты в sbx-эксплойт. после получения привилегий -> WinExec(powershell)
 
Пожалуйста, обратите внимание, что пользователь заблокирован
да и сжигать техники/нули...
Я подумал, что можно, например, начать с таргетированной атаки как основной задачи, а если в ней нуль спалился, то попробовать еще успеть использовать окно возможностей для массовой атаки через "stored xss" какую-нибудь в популярном сервисе. Или WAFы байпаснуть для такой задачи уже нереально? Это так фантазии, хз было ли такое вообще в последние годы.
 
хз было ли такое вообще в последние годы.
Не замечал такого в последние годы, да и в целом про такое не слышал в операциях с блэкджеком и шлюхами...
Stored XSS чаще используется как самостоятельный вектор массовых атак, а не как продолжение цепочки с зиродеями(что вполне логично). Здесь ключевой момент - опять же риски и трудозатраты(касательно байпасса вафа и еще одного нолика только для популярного сервиса - вполне реально, хоть и будут накладываться обстоятельства с ограниченным окном возможностей повышенным риском компроментации), хоть и не так редки случаи перехода из таргетированной атаки в более широкие(условно массовые).
 
Данную вулну зафиксили и в лисе десктопной:
Following the recent Chrome sandbox escape (CVE-2025-2783), various Firefoxdevelopers identified a similar pattern in our IPC code. A compromised childprocess could cause the parent process to return an unintentionallypowerful handle, leading to a sandbox escape.

Компроментация дочернего процесс -> создание псевдо-дескриптора (до это писал, к примеру "-1/GetCurrentProcess") -> отправление через IPC родительскому процессу -> родительский процесс дублирует дескриптор -> дескриптор указывает на собственные ресурсы родительского процесса -> манипуляции родительскими ресурсами -> sbx escape

C++:
HANDLE attacker_handle = Uint32ToHandle(0xFFFFFFFF);
::DuplicateHandle(child_process, attacker_handle, parent_process, ...);
1743152714206.png
1743152724679.png
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
Ага. Было бы интересно еще в качестве пейлода браузерный сплойт заюзать.
 
The attack that caught the attention of experts occurred in mid-March 2025. The initial attack vector was a phishing email containing a malicious link. When the victim clicked the link, it triggered a one-click exploit (CVE-2025-2783), leading to the installation of the Trinper backdoor employed by TaxOff. The phishing email was disguised as an invitation to the Primakov Readings forum and the link led to a fake website hosting the exploit. The text of the email can be found in the Kaspersky report.
 
Доступ к issue 405143032 открыли, правда пока poc и сплойт под эмбарго

1751134645501.png


(JS) console.debug триггер -> DLL в рендерере перехватывает V8Console::Debug и создаёт RelayMessage с WrappedPlatformHandle, содержащим псевдо-дескриптор -> сообщение (message_id 0x69) уходит через ipcz в браузер -> браузер при десериализации выполняет DuplicateHandle, превращая псевдо-дескриптор в действительный HANDLE своего потока -> ответ AcceptRelayedMessage возвращается, хук в рендерере выдёргивает привилегированный HANDLE -> GetThreadContext/SetThreadContext + Resume/SuspendThread формируют thread-context ROP -> шеллкод выполняется в процессе браузера -> профит

1751134719931.png

1751134769120.png

1751134836908.png

1751134905178.png

1751134965816.png
 

Вложения

  • 1751134608829.png
    1751134608829.png
    61.1 КБ · Просмотры: 22
Последнее редактирование:


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх