Форум информационной безопасности - Codeby.net

Статья Workload Identity в Kubernetes: SPIFFE/SPIRE, pod identity и отказ от long-lived credentials

  • 45
  • 0
Схема потока идентификации на матовой бумаге с диаграммой аттестации пода и краткосрочным токеном вместо статического ключа. Латунные грузики удерживают лист на светлом столе в мягком дневном свете.


☁️ SSRF в микросервисе дёрнул IMDS на 169.254.163.254, атакующий вытащил IAM-ключ из метаданных EC2, за 47 минут выгрузил клиентские данные из S3. Ключ создан 14 месяцев назад и ни разу не ротировался. Проблема не в SSRF — в статичном IAM-ключе, которому не было причин существовать.

SPIFFE/SPIRE: вместо секретов каждый workload получает X.509-сертификат с TTL 1 час через аттестацию окружения. IRSA на AWS, GKE Workload Identity, Entra Workload ID — нативные механизмы привязки ServiceAccount к IAM-роли без AKIA*-ключей в env-переменных. IMDSv2 с hop limit = 1 закрывает доступ к IMDS из подов без hostNetwork.

Detection в SIEM: baseline маппингов SA → IAM Role через kubectl + jq, burst запросов к STS (10+ за минуту от одного пода), Falco-правило на connect() к 169.254.163.254. Attack paths при workload identity: T1611 escape to host, T1098.006 новый ClusterRoleBinding, JWT-SVID replay за окно TTL.

💡 Short-lived credentials...

Статья Nginx reverse proxy: безопасность C2 и detection-чеклист для SOC

  • 50
  • 0
Монитор с зелёным свечением фосфора отображает конфигурационный блок Nginx с маршрутом прокси. Янтарный ореол экрана освещает силуэт кофейной чашки в кромешной тьме.


🔴 Шесть недель C2-канал Cobalt Strike через два Nginx-redirector'а — ноль алертов. Трафик маскировался под API-запросы к SaaS-порталу. На postmortem'е выяснилось: команда защиты не знала, какие артефакты оставляет Nginx в роли C2 redirector без расшифровки TLS.

Механика: location с proxy_pass направляет URI из Malleable C2 Profile на team server, всё остальное — 302 redirect на microsoft.com. try_files как двойное дно: существующий файл отдаётся клиенту, несуществующий URI проксируется на C2. Аналитик проверил домен руками, увидел redirect на легитимный ресурс — закрыл тикет.

Detection без расшифровки TLS: JA3-хеши C2-фреймворков в базах, σ интервалов < 5 сек при среднем > 30 сек — beaconing, один хост на «News»-домен — аномалия, crafted URI возвращает не 404 — try_files с fallback на C2. Мониторинг новых location-блоков в /etc/nginx/ через auditd.

💡 IP из алерта — расходный узел. За redirector'ом скрывается инфраструктура, которую вы ещё не видите.

Статья Session hijacking атаки JWT токены: от перехвата до detection в SIEM

  • 143
  • 0
Два ключа на тёмной стали: оригинал с гравировкой кода и янтарная копия из смолы со структурой токена внутри. Холодный бирюзовый свет монитора и тёплое янтарное свечение.


🔐 PAT, слитый в историю чата ChatGPT, оставался валидным месяцами и давал admin-доступ к production-репозиториям нескольких организаций. Два API-вызова — и весь периметр замаппирован. Без единой записи в аудит-логе.

JWT none algorithm: алг подменяется на none, подпись удаляется — legacy-библиотеки принимают. Key confusion RS256→HS256: публичный ключ RSA как HMAC-секрет. Hashcat -m 16500 на слабом секрете — 4 секунды до генерации произвольных токенов с role: admin. AITM-прокси (Evilginx) перехватывает session cookie после легитимного MFA — Conditional Access Policies не спасают.

Таблица behavioral detection: impossible travel HIGH, refresh token reuse CRITICAL, velocity anomaly HIGH, User-Agent switch MEDIUM. Псевдоправило корреляции для любого SIEM. Hardening-чеклист из девяти пунктов с готовой строкой Set-Cookie с HttpOnly, Secure, SameSite=Strict.

💡 Восемь техник ATT&CK — восемь точек где нужны правила. Большинство SOC покрывают две-три.

Статья Malware разработка на Rust: стелс-агент для red team, обход EDR и сравнение с C++

  • 229
  • 0
Монитор с зелёным текстом компилятора Rust и фрагментом дизассемблера Ghidra с нечитаемыми символами. Янтарное свечение CRT в кромешной тьме.


🦀 Функционально идентичный шеллкод-лоадер: 71.7 КБ на C и 151.5 КБ на Rust. Бинарь вырос вдвое — детект упал. Ghidra превращает Rust-код в нечитаемое месиво: monomorphization, ownership-модель, pattern matching ломают привычные паттерны статического анализа.

OPSEC-конфигурация Cargo.toml: opt-level = "z", LTO, strip = true, panic = "abort". Флаги nightly: location-detail=none убирает пути к файлам, fmt-debug=none исключает Debug-имена типов, build-std пересобирает std без строк. Шифрование строк в compile-time через str_crypter — URL C2 невидим для FLARE-FLOSS. C-style enum с transmute вместо serde — ни одного строкового литерала поля структуры в бинаре.

Что Rust реально меняет: сигнатурный match с известными семействами и время ручного triage аналитика. Что не меняет: VirtualProtect+CreateThread детектируется одинаково на любом языке. Против ETW-TI в Elastic 8.x+ переписывание на Rust ничего не даёт.

💡 Агент, падающий из-за use-after-free на третью неделю операции, обходится...

Статья Разработка расширений Burp Suite на Python и Java: автоматизация пентеста веб-приложений

  • 202
  • 0
Матричный принтер на антистатическом коврике печатает зелёный текст с кодом на перфорированной бумаге. Янтарный индикатор питания слабо освещает сцену в кромешной тьме.


🔧 API финтех-сервиса требовал HMAC-подпись в каждом запросе — тело, timestamp, сессионный секрет. Ни один BApp Store-плагин не поддерживал схему. Два часа на кастомное расширение с автопереподписью сэкономили неделю ручной возни с Postman.

Montoya API против legacy Extender API: PortSwigger прекратил поддержку IBurpExtender и IScannerCheck — все русскоязычные гайды на Хабре устарели. Единая точка входа MontoyaApi с 24 методами: http(), proxy(), scanner(), ai(). Immutable-объекты запросов через withUpdatedHeader() исключают race condition при параллельном Intruder.

Java 21 + Gradle стартовый проект из Burp → Extension.java → ./gradlew jar → загрузка JAR. HttpHandler перехватывает исходящие запросы, вычисляет HMAC через javax.crypto.Mac и добавляет заголовок X-Signature прозрачно для Repeater и Intruder. Python через Jython — Python 2.7 в 2025 году, только для одноразовых скриптов.

💡 Команда с кастомными сканерами под типовые мисконфигурации закрывает...
🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

Статистика форума

Темы
52 022
Сообщения
346 101
Пользователи
149 321
Новый пользователь
Forward141