Fsecurity | HH
2.06K subscribers
1.83K photos
111 videos
68 files
6.76K links
👾 Канал про КБ и пентест
Наш Discord: https://discord.gg/Eg8aDS7Hn7
✉️ По сотрудничеству: @OxHaskar
🍩 Поддержать: https://www.donationalerts.com/r/xackapb
Download Telegram
Вы подменили User-Agent, и сервер всё равно знает, что это curl. Он понял это до того, как получил заголовки

🔗Ссылка:
https://habr.com/ru/articles/1075838/
Всем хак! 👾

Обновил Obsidian Pentest
Если репозиторий был полезен, поставьте ⭐ в GitHub

[Прошлый пост]
1🔥2
Forwarded from purple shift
Cypher-инъекция для атаки на базу данных Neo4j возникает по тем же причинам, что и SQL‑инъекция: приложение вставляет пользовательский ввод прямо в запрос к базе. В результате злоумышленник может изменить не только значение для поиска, но и логику самого запроса.

На одном из проектов по анализу защищённости нам встретилось веб-приложение, которое использовало базу Neo4j. В ней в том числе хранились данные пользователей, используемые при аутентификации. Мы обнаружили, что приложение формирует Cypher‑запросы путем прямой конкатенации пользовательского ввода - это и создавало риск инъекции.

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

Суть проблемы:

Уязвимый код может выглядеть так:

query = f'MATCH (u:Users) WHERE u.login = "{user_input}" RETURN u'


Здесь введенный логин становится частью текста запроса и может изменить его содержание. Правильный вариант: оставить Cypher неизменным, а значение передать драйверу отдельно:

query = "MATCH (u:Users) WHERE u.login = $user_input RETURN u"

with driver.session() as session:
result = session.run(query, user_input=user_input)


В данном случае $user_input - это параметр запроса: драйвер передаёт его значение отдельно от текста запроса. Neo4j сначала компилирует запрос, а затем подставляет значение параметра, поэтому содержимое user_input интерпретируется как данные, а не как часть синтаксиса Cypher.

На практике:

На проекте сработала следующая цепочка, которую мы повторили на стенде. Сначала мы заставили Neo4j включить свойства объекта в текст ошибки. Запрос из Burp выглядел так:

GET /api/user?login="+OR+1%3D1+RETURN+toString(CASE+WHEN+1%3D1+THEN+properties(u)+ELSE+0+END)+// HTTP/1.1
Host: localhost:5001


Значение login после декодирования:

" OR 1=1 RETURN toString(CASE WHEN 1=1 THEN properties(u) ELSE 0 END) // 


Кавычка закрывает исходную строку, OR делает условие истинным, а // комментирует хвост запроса.

Neo4j попытался преобразовать свойства объекта в строку и вернул ошибку типизации. Приложение показало ошибку целиком, поэтому в ответ попали свойства пользователя, включая password в виде ByteArray[...].

Neo.ClientError.Statement.TypeError:
Map{login -> "admin", password -> ByteArray[...]}


После этого проверили метки графа, локальный файл и внутренний сервис, внедряя вредоносные фрагменты Cypher в параметр login через функцию Inspector в модуле Burp Repeater:

" OR 1=1 WITH u LIMIT 1 CALL db.labels() YIELD label RETURN label //

" OR 1=1 WITH u LIMIT 1 LOAD CSV FROM "file:///etc/passwd" AS line RETURN line //

" OR 1=1 WITH u LIMIT 1 LOAD CSV FROM "http://gitlab-internal" AS line RETURN line //


Первый запрос вернул метку Users. Через LOAD CSV удалось прочитать строку из /etc/passwd и получить страницу внутреннего GitLab:

label = "Users"
root:x:0:0:root:/root:/bin/bash
<title>GitLab</title>


Чтение файлов и HTTP-запросы через LOAD CSV зависят от версии Neo4j, настроек, прав процесса и сетевых ограничений. На другой конфигурации эти запросы могут не сработать.

Результат:

Эксплуатация инъекции позволила получить не только доступ к данным графа. Сначала подробная ошибка Neo4j раскрыла свойства пользователя, включая поле password. На стенде удалось получить метку Users, прочитать строки из файла внутри контейнера Neo4j и обратиться к тестовому внутреннему HTTP-сервису. Таким образом, уязвимость в формировании Cypher‑запросов открыла возможность для нескольких векторов воздействия: извлечения данных узлов и связей, чтения локальных файлов сервера и обращения к доступным из Neo4j внутренним сервисам.

Для защиты от такой атаки рекомендуем:

— использовать параметризованные запросы,
— не возвращать клиенту информацию о содержании ошибки,
— выдать приложению минимальные права,
— ограничить LOAD CSV и исходящий трафик.
2❤2🔥1
Drama RAT — вредоносное приложение, после установки которого действительно становится печально

Недавно на исследование в департамент комплексного реагирования на киберугрозы Positive Technologies (PT ESC IR) поступил ряд образцов банковского трояна для Android с функциями удаленного управления — Drama RAT. Это вредоносное семейство распространяется с помощью фишинговых сообщений в мессенджерах и маскируется под VPN-сервисы, банковские приложения и другие взломанные утилиты со встроенной платной функциональностью. Ранее о нем писали в УБК МВД.

🔗Ссылка:
https://habr.com/ru/companies/pt/articles/1077814/
❤2
Всем хак 👾
Пост от меня.

Наконец-то попробовал мод BBS FS. Также перешёл на лаунчер XMCL и хорошенько перебрал свою сборку модов, выкинув оттуда весь ненужный мусор.

Вдобавок ко всему ещё и шейдеры топовые подобрал! 🌌

Ещё изучил гайды по Fusion в DaVinci Resolve. Оказывается, не такая уж это и сложная штука, но какой же мощный функционал она в себе скрывает!

Что это значит для вас?
— А значит это то, что ролики будут выходить ещё круче и качественнее! 🔥

⬆️ [Прошлый пост]
🍩 [Поддержать]
13❤2🔥2❤‍🔥1
Forwarded from Backconnect
5 Top Five - 11.pdf
14.9 MB
Дорогие друзья!

Презентуем вашему вниманию одиннадцатый выпуск журнала с крутецкими новостями инфобеза!

За каждую реакцию/коммент/репост - обняли, покружили, поставили обратно <3

____

🕺 backconnect
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥3
От веба до захвата домена: чему пентестер может научиться на большой инфраструктуре

🔗Ссылка:
https://www.securitylab.ru/analytics/576944.php
6❤2🔥1👏1
SCCM под угрозой: устраняем ошибки конфигурации

🔗Ссылка:
https://habr.com/ru/companies/bizone/articles/1078144/
❤‍🔥1
Адаптивный червь подбирает индивидуальные уязвимости для каждого ПК

🔗Ссылка:
https://habr.com/ru/companies/globalsign/articles/1079126/
7🔥2
🦅 RavenEye

RavenEye — это универсальный инструмент разведки, который объединяет несколько этапов разведки в единый рабочий процесс.

Вместо ручного запуска множества инструментов и перемещения результатов между ними, RavenEye автоматизирует процесс и организует результаты для вас.

Меньше времени на управление разведкой. Больше времени на анализ цели.

🔗Ссылка:
https://github.com/RavenXxe/RavenEye.git
8❤1