Cybred
9.79K subscribers
402 photos
35 videos
100 files
611 links
Download Telegram
https://blog.hrncirik.net/cve-2023-46214-analysis

CVE-2023-46214 is a Remote Code Execution (RCE) vulnerability found in Splunk Enterprise. The description of the vulnerability essentially states that Splunk Enterprise versions below 9.0.7 and 9.1.2 are not safely sanitizing user supplied extensible stylesheet language transformations (XSLT).


Exploit https://github.com/nathan31337/Splunk-RCE-poc
https://eaton-works.com/2023/06/06/honda-ecommerce-hack/

Типичный код любого автомобильного бренда
resetPassword(e, t) {
return this.__post("api/user/resetpassword", {
username: e,
NewPassword: t
})
}


На этот раз статья о Honda, у которой даже есть своя Bug Bounty программа:
If a researcher believes that they have discovered a vulnerability with our systems, they are invited to contact our customer service office to document their observations at 1-800-999-1009.


Дозвонились из своей деревни, надиктовали репорт и отправили скриншоты по MMS?
I compromised Honda’s power equipment / marine / lawn & garden dealer eCommerce platform by exploiting a password reset API that let me easily reset the password of any account.

Full admin-level access achieved with access to: 21,393 customer orders across all dealers from August 2016 to March 2023 – this includes customer name, address, phone number, and items ordered.


В конце вам будет ожидать достойный ответ
I asked about the possibility of a vehicle or cash reward given the severity of the issue, but Honda does not currently have a bug bounty or mechanism to provide a reward. As a result, no reward was given for this report.


Поэтому не стоит удивляться, когда вы в очередной раз узнаете из новостей, что снова взломали и слили каких-то автомобилистов https://www.reuters.com/business/autos-transportation/toyota-suspends-all-domestic-factory-operations-after-suspected-cyber-attack-2022-02-28/
Chromium Money Tree Browser

It's very very hacked together, don't expect good UX or accurate data


Сколько Google платит за нахождение уязвимостей в браузере. Статистика с разбиением по файлам — вознаграждение делится между теми, где были внесены изменения. Например, если исправление ошибки стоимостью $1000 изменило 5 файлов, то каждый получит $200.

Вот немного из того, что было найдено в расширениях:
— [$15 000] heap-buffer-overflow in MoveWebContentsAtImpl (extension)
— [$7 000] Security: chrome.downloads.download could be abused to steal user's environment variables like secrets, tokens or keys on windows
— [$5 000] Security: Extensions with debugger permission can list URLs and send commands to incognito tabs and other profile tabs
— [$5 000] Security: Extension permission escalation
— [$5 000] Reading local files through an extension that only has the "downloads" permission

Данные приведены по состоянию на начало ноября 2023 года
Advent of Cyber 2023

Традиционно получаем премиум, как и в прошлые годы. Или что-нибудь лучше (за первые места Steam Deck и периферия).
https://github.com/Xacone/BestEdrOfTheMarket

The Best EDR Of The Market (BEOTM) наивный EDR (Endpoint Detection and Response) с открытым исходным кодом, созданный как испытательный стенд для понимания и обхода методов обнаружения, используемых во многих реальных EDR.

Работает в пользовательском пространстве и использует методы, которые основаны на динамическом анализе состояния целевого процесса (памяти, вызовов API и т. д.),

Используемые техники:
Multi-Levels API Hooking
SSN Hooking/Crushing
IAT Hooking
Shellcode Injection Detection
Reflective Module Loading Detection
Call Stack Monitoring

Находятся в разработке:
Heap Monitoring
ROP Mitigation
AMSI Patching Mitigation
ETW Patching Mitigation

Статьи из блога автора, рассказывающая о работе BEOTM более подробно — https://xacone.github.io/BestEdrOfTheMarket.html
https://labs.nettitude.com/blog/creating-an-opsec-safe-loader-for-red-team-operations/

Гайд по написанию собственного лоадера, который можно протестировать на стенде из предыдущего поста. Предполагает обход EDR с техникой, названной Tartarus' Gate (пришедшей на смену Halo’s Gate) с косвенными системными вызовами.

Готовый код в репозитории https://github.com/nettitude/Tartarus-TpAllocInject
https://www.youtube.com/watch?v=gjvu-l6vKFE

Обход аутентификации Windows Hello (с помощью отпечатков пальцев) на трех ноутбуках с лучшими (как утверждают исследователи) датчиками: Dell Inspiron 15, Lenovo ThinkPad T14 и Microsoft Surface Pro X/8.

Что забавно — худшим оказался Microsoft Surface, поскольку он не использует SDCP (Secure Device Connection Protocol), который разработала сама же компания Microsoft для валидации датчиков и шифрования данных.
Где искать логи и как их читать

Работая с логами, приходится обращаться ко множеству файлов от разных разработчиков. Все они отличаются собственным форматом, который меняется от файла к файлу. Большинство содержат очень много информации, и их бывает трудно разобрать без каких-либо справочных материалов.

Вот небольшая подборка шпаргалок, которые помогут вам разобраться в некоторых типах журналов, с которыми можно столкнуться в ходе расследования.

What2Log — платформа, на которой собраны все файлы с аудитными логами в Linux и Windows
RULER project — у антивирусов тоже есть свои логи: репозиторий, в котором собрана информация о каждой антивирусе - какие данные собирает и куда их пишет
Malware Archaeology — коллекция шпаргалок по ведению журналов для различных типов журналов Windows.
Linux Logs Explained — список всех файлов и путей различных журналов, создаваемых Linux
Windows Security Log Encyclopedia — объяснение всех идентификаторов событий в Windows
Windows Security Identifiers — идентификаторы безопасности и их связь с учетками и группами в Windows
What are Azure Active Directory reports? — понимание журналов аудита Azure AD
Sign-in log schema in Azure Monitor — описание формата журналов входа в Azure
Detailed properties in the audit log, Microsoft 365 Compliance — подробный разбор логов O365
https://vulncheck.com/blog/cve-2023-44604-activemq-in-memory

В ноябре Huntress Labs, Rapid7, и ArticWolf выпустили отчет, в котором рассказали об активной эксплуатации CVE-2023-46604 в ActiveMQ. Как выяснилось, рансомварщики из HelloKitty и TellYouThePass использовали сырой PoC, вызывающий cmd.exe с curl.exe или msiexec.exe.

Очевидно, долго оставаться незамеченным с таким эксплойтом невозможно, поэтому буквально через пару дней после начала компании, они и привлекли к себе внимание.

Атаки не должны быть шумными, поэтому Jacob Baines предлагает апгрейд обычного эксплойта для CVE-2023-46604, который позволит выполнить код в памяти процесса (без вызова других программ) и избежать обнаружения EDR.
https://github.com/MegaManSec/SSH-Snake

SSH-Snake это bash-скрипт для автоматического обхода сети с использованием ssh-ключей, обнаруженных на скомпрометированных системах, и создания полной карты всех взломанных хостов.

Принцип работы:
1. Найти на текущей машине все приватные ssh-ключи
2. Просканировать сеть и найти живые хосты, к которым можно подключиться
3. Попытаться подключиться к хостам с ключами, найденными в первом пункте
4. После подключения к новому устройству, повторить все шаги, начиная с первого.

Возможности:
переходит от одной системы к другой только с помощью bash и stdin, не создавая никаких файлов
как только попал на новую систему, автоматически пытается повыситься до рута, используя sudo
ищет закрытые ключи в часто используемых файлах и папках, обход гибко настраивается
запоминает, какие машины уже были просканированы, чтобы не подключаться к ним снова
генерирует на выходе готовый граф, и отдельно сохраняет все найденные приватные ключи
https://github.com/DERE-ad2001/Frida-Labs

Репозиторий с задачами для изучения Frida на примере Android приложений. Они не похожи на хардкорные таски из Capture The Flag (CTF), но помогут вам начать знакомство с Frida и ее API. Если вы новичок или middle, это идеальное хранилище для обучения. Задачи организованы таким образом, чтобы охватить все — от основ до промежуточного уровня.

Навигация:
Challenge 0x1
: Frida setup, Hooking a method
Challenge 0x2 : Calling a static method
Challenge 0x3 : Changing the value of a variable
Challenge 0x4 : Creating a class instance
Challenge 0x5 : Invoking methods on an existing instance
Challenge 0x6 : Invoking a method with an object argument
Challenge 0x7 : Hooking the constructor
Challenge 0x8 : Introduction to native hooking
Challenge 0x9 : Changing the return value of a native function
Challenge 0xA : Calling a native function
Challenge 0xB : Patching instructions using X86Writer and ARM64Writer
https://github.com/PhonePe/mantis

Mantis — это фреймворк для автоматизации рабочего процесса разведки и обнаружения уязвимостей.

На вход он принимает домен верхнего уровня, после чего переходит к сбору поддоменов, директорий и виртуальных хостов, который он завершает комплексным сканированием секретов, неправильных конфигураций и классических багов.

По сути, это оркестратор, который вместо вас запускает dirb, nmap, nuclei и другие утилиты с нужными ключами. В этом посте я рассказывал об ещё одном таком решении, reconFTW.

Небольшой отзыв с опытом его использования — 4300$ Bounty from Opensource automate recon tools, why not?
https://patchapalooza.com/

PatchaPalooza вебсайт, транслирующий подробный анализ ежемесячных обновлений безопасности Microsoft.

Он забирает информацию из API MSRC CVRF, сохраняет и анализирует данных об обновлениях, и составляет наглядную сводку с исправленными уязвимостями, которую можно сортировать по риску и актуальности.

Существует версия в виде скрипта https://github.com/xaitax/PatchaPalooza
https://github.com/oppsec/juumla

Juumla — это python-инструмент, созданный для определения версии Joomla, сканирования уязвимостей и чувствительных файлов.

Например, под Joomla! < 4.2.8 существует недавняя CVE-2023-23752, которая дисклоузит пользователей, учетку от базы данных, и другие секреты.
Метод закрепления через Git из The Art of Linux persistence.

Git — это распределенная система контроля версий, которая отслеживает изменения в файлах, и обычно используется для координации работы программистов, которые совместно пишут исходный код.

Но есть в Git две концепции, которые интересные не только среднестатистическому программисту, но и хакеру: хуки и конфигурационные файлы. Хуки существуют разные: pre-commit/post-commit/pre-merge/post-merge/ и живут они в директории проекта, в .git/hooks/.

Представляют собой исполняемые файлы на одном из скриптовых языков и могут содержать в себе любые команды, которые будут вызваны при выполнении одного из условий:
pre-commit исполняется при каждом выполнении команды git commit, перед тем как Git запросит ввод комментария к коммиту или создаст объект коммита.
prepare-commit-msg вызывается после pre-commit, чтобы составить комментарий к коммиту в текстовом редакторе
commit-msg очень похож на prepare-commit-msg, но вызывается после того, как пользователь введет сообщение коммита
post-commit вызывается сразу после commit-msg
post-checkout очень похож на post-commit, но вызывается каждый раз при успешном переключении с помощью git checkout

Нам необходимо создать любой из этих файлов, например, pre-commit, написать в нем полезную нагрузку, — это будет реверс-шелл с https://www.revshells.com/. А дальше дождаться, когда программист начнет работать на виртуалке с бэкдором, и получить сессию.
https://ntlm.pw/

База данных предварительно вычисленных NTLM-хэшей "ntlm to password" на 8 миллиардов записей.

Искать лучше через API, стоимость поиска зависит от способа:
через форму на главной: 10 поинтов/хэш
через API: 5 поинтов/хэш
через балковое (для частых запросов) API: 4 поинта/хэш

Квота на использование пополняется на 5000 поинтов каждые 15 минут.

Пример использования:
Invoke-WebRequest https://ntlm.pw/[32-character hash] | Select-Object -Expand Content
https://github.com/efchatz/pandora

Pandora — Red Team-инструмент для извлечения учетных данных из менеджеров паролей.

Поддерживает 14 программ с 18 различными реализациями (например, можно дампить учетные данные как из десктопного приложения, так и из браузерного расширения одного и того же продукта), включая 1Password, LastPass, Bitwarden и другие.
Разработчики любят писать микросервисы для "перекладывания JSON". Стандарт устоявшийся и, как правило, не сулит проблем. Но так ли это на самом деле?

Возьмем небольшое приложение с двумя микросервисами:
Cart — реализует бизнес-логику корзины
Payment — используется для обработки платежей

Cart написан на Python с Flask и принимает ID товаров с их количеством. Попробуем отправить в него запрос с двумя одинаковыми ключами:
"cart": [
{
"id": 0,
"qty": 5
},
{
"id": 1,
"qty": -1,
"qty": 1
}
]

Сервис провалидирует JSON в соответствии со схемой jsonschema.validate(instance=data, schema=schema). Убедится, что id: 0 <= x <= 10 and qty: >= 1. На этом этапе не будет ошибки (не смотря на то, что один из отправленных qty не подходит под условие), поскольку Flask использует стандартный JSON-парсер из Python, а тот сериализует данные, отдавая приоритет последнего ключа (qty = 1).

Дальше провалидированный JSON отправляется в микросервис Payment.

А микросервис Payment написан уже на Go и использует другой парсер buger/jsonparser. Он уже не валидирует JSON (ведь валидация была на предыдущем шаге), но использует приоритет первого ключа (qty = -1). Считает итоговую сумму total = total + productDB[id]["price"].(int64) * qty и генерирует чек.

Мы смотрим в чек, который вернулся в ответе, и видим ошибку. Нам будет отправлено шесть товаров стоимостью 700 долларов, но с нас взяли только 300 долларов, из-за расчетов со вторым ключом.

Такие ошибки возникают из-за того, что существует много стандартов JSON:
1. json.org
2. IETF RFC 4627
3. ECMAScript 262
4. ECMA 404
5. IETF RFC 7158
6. IETF RFC 7159
7. JSON5
8. HJSON

И в каждом из них свои правила парсинга JSON: о том, как обрабатывать дублирующие ключи, что делать с большими числами с плавающей точкой, что считать валидным, а что нет. И на каждом из этих этапов могут возникнуть коллизии, позволяющие обходить средства защиты или вызывающие баги в бизнес логике.

Полезные ссылки:
https://seriot.ch/json/parsing.htmlбольшая таблица-сравнение: как разные парсеры обрабатывают разные значения.
https://bishopfox.com/blog/json-interoperability-vulnerabilities я рассказал только об одном баге, но их гораздо больше: здесь можно почитать обо всех остальных.
https://github.com/a1phaboy/JsonDetect расширение для Burp для определения того, какой парсер используется.
https://github.com/Hackmanit/TInjA

TInjA (the Template INJection Analyzer) — CLI-утилита для проверки веб-приложений на наличие уязвимостей инъекции шаблонов.

Она поддерживает 44 наиболее актуальных шаблонизатора (по состоянию на 2023 год) для восьми различных языков программирования и поддерживает поиск как SSTI, так и CSTI.
https://docs.google.com/spreadsheets/d/1dwSMIAPIam0PuRBkCiDI88pU3yzrqqHkDtBngUHNCw8

Таблица, отдельные скриншоты которой гуляют по разным чатам. Рекомендуемые коробки для подготовки к сдаче экзаменов от OffSec: PEN-200 (OSCP), PEN-300 (OSEP) и WEB-300 (OSWE).

И актуальная (последнее видео вышло 11 дней назад) серия видео с развертыванием и решением похожей локальной лаборатории: OSCP Practice Lab: Active Directory Attack Path #1, #2, #3.