Библиотека хакера | Hacking, Infosec, ИБ, информационная безопасность
12.5K subscribers
2.19K photos
131 videos
178 files
3.22K links
Все самое полезное по инфобезу в одном канале.

Список наших каналов: https://t.iss.one/proglibrary/9197

Для обратной связи: @proglibrary_feeedback_bot

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67ab0e2e75b36e054ef6d5bf
Download Telegram
📌 Разбор хакер-челленджа

Самый реалистичный исход — экстракция данных (SELECT). У сервис-аккаунта только SELECT, stacked-queries отключены, но через UNION, логический или time-blind SQL можно вытянуть таблицы, доступные пользователю.

⚠️ Вторичная угроза — second-order инъекция.
Параметр q логируется в audit.log. Если эти логи потом обрабатываются в другом контексте (например, парсером с привилегиями), payload может «проснуться» позже.

Менее вероятные сценарии:
— DoS ограничен statement_timeout=5s и rate-limit;
— модификация данных невозможна при read-only правах.

ℹ️ Что стоит проверить:

— права аккаунта (SELECT ли реально?);
— audit-логи на SQL-паттерны;
— slow-queries и аномалии latency;
— сигнатуры вроде UNION, INFORMATION_SCHEMA, pg_sleep.

ℹ️ Быстрые фиксы:

1. перейти на параметризованные запросы;

2. убрать логирование сырого q;

3. ограничить объём выдачи и частоту запросов;

4. ввести базовые правила WAF и проверки ввода.


Самое важное — не забывайте про second-order: SQLi, спрятанная в логах, — это бомба замедленного действия.

🐸 Библиотека хакера

#ctf_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🥰3👾1
🧩 Хакер-челлендж

Сценарий: Microservice-архитектура с JWT-аутентификацией. Сервис A генерирует токены (алгоритм RS256), сервис B их проверяет. В JWT payload:


{
"user_id": 1337,
"role": "user",
"iat": 1699552800,
"exp": 1699639200
}


Сервис B проверяет подпись, но разработчик добавил фичу:

Если в заголовке токена указан “alg”: “none”, проверка пропускается для «тестовых» запросов. Также в коде есть fallback на HS256 с секретом из переменной окружения.


Публичный ключ RS256 доступен по эндпоинту /jwks.json.

Какой вектор атаки наиболее эффективен для получения admin-доступа? Голосуйте эмодзи:

🔥 — Algorithm confusion: подменить RS256 на HS256, используя публичный ключ как symmetric secret

👾 — None algorithm bypass: создать токен с “alg”: “none”, изменить role на “admin”

❤️ — JWT secret bruteforce: перебрать HS256 секрет (если он слабый) через hashcat

🐸 Библиотека хакера

#ctf_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
👾18🔥51🥰1
📌 Разбор хакер-челленджа

Раннее мы выкладывали задачу 📎

Правильный ответ: 👾

Наиболее критичен None algorithm bypass, если тестовая логика доступна извне — это мгновенный обход. На втором месте — algorithm confusion, часто эксплуатируемая при неправильной поддержке нескольких алгоритмов.

🛡️ Что сделать немедленно:

• Отключить поддержку alg: "none" во всех окружениях.

• Убрать любые fallback-алгоритмы; явно принимать только ожидаемый алгоритм (например, только RS256).

• Валидировать kid/iss/aud и проверять, что ключи из JWKS приходят из доверенного источника; кэшировать JWKS.

• Не использовать публичный RSA-ключ в качестве HMAC-секрета и хранить приватные ключи в безопасном хранилище (KMS/HSM).

• Логировать и мониторить аномалии подписи и подозрительные alg/kid запросы.


Пример безопасной проверки (псевдокод, defensive):


# явно разрешённые алгоритмы и строгая проверка
jwt.decode(token, public_key, algorithms=['RS256'], audience='your-aud', issuer='your-iss’)


🐸 Библиотека хакера

#ctf_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰5👾3👏2
🤔 Хакер-челлендж

Сценарий: обычный пользователь ctfuser на Linux-VM (пароль ctfpass123`). На VM есть устаревшие пакеты и ошибочные конфигурации.

Цель — поднять привилегии до `root и прочитать /root/flag.txt.

Ключевые факты:

* В системе есть несколько SUID-бинарников.

* В `/etc/cron.d/` есть cron, который вызывает скрипт от root; сам скрипт хранится в директории, куда `ctfuser` может писать.

* Работает локальный daemon, слушающий только 127.0.0.1.

* Установлены старые пакеты — возможен известный локальный CVE.

* В домашней директории `ctfuser` есть `backup/old_script.sh` и `.bash_history` с намёками.


Подсказка: начните с enumeration — sudo -l, find / -perm -4000 -type f, просмотрите cron'ы и права на скрипты.

Какой вектор атаки наиболее эффективен для получения root/флага? Голосуйте эмодзи:

🔥 — SUID-эксплойт: найти SUID-бинарник, позволяющий исполнить shell/прочитать файлы root

👾 — Cron + writable script: подменить root-скрипт, который запускается по cron

❤️ — Sudo misconfig: NOPASSWD или небезопасные шаблоны в sudoers дают shell

🐸 Библиотека хакера

#ctf_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
👾20🔥32🥰1
🤔 Разбор хакер-челленджа

У нас Linux-VM с пользователем ctfuser и набором типичных для CTF уязвимостей: SUID-бинарники, кривые cron’ы, локальный сервис и старые пакеты. Цель — стать root и прочитать /root/flag.txt.

🔍 Что важно при первичном осмотре:

— в /etc/cron.d/ есть задание от root, но сам вызываемый скрипт лежит в директории, куда может писать ctfuser

— среди SUID-файлов нет очевидных «подарков» типа старых версий find/vim

— локальный daemon слушает только 127.0.0.1, но эксплойт требует уже повышенных прав

— в $HOME/backup есть старый old_script.sh, но он не исполняется автоматически

— .bash_history намекает, что админ вручную запускал этот cron-скрипт во время тестов

🎯 Самый надёжный и быстрый путь — подмена root-скрипта, который запускается по cron. Это гарантированное исполнение с UID=0 и полный контроль над содержимым. Достаточно вписать туда shell-спавн или перепись /root/flag.txt в доступное место.

🔤 Ответ: 👾 Cron + writable script

🐸 Библиотека хакера

#ctf_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰4👍31