CTF и практические задания

Хакерский CTF построен на правилах классического Capture the Flag

Статья Bcrypt взлом паролей: как утекают хэши с Dragonica и почему это проще, чем кажется

  • 377
  • 0
Две видеокарты RTX 3090 на тёмном антистатическом коврике, подсвеченные бирюзовым светом монитора. На задней панели карты лазерная гравировка с хешем bcrypt и пометкой CRACKED.


💣 CTF-дамп Dragonica: 40 000 bcrypt-хэшей, cost factor 10, две RTX 3090 — и 1500 паролей за 14 часов. Этого хватает для credential stuffing на Steam и Discord.

Типичный стек частного сервера — PHP 5.x, MySQL, phpMyAdmin без ограничений доступа. Fingerprinting через nmap -sV вскрывает открытый 3306 и /phpmyadmin/ за минуты. UNION-based SQLi в форме логина (T1190) — и таблица accounts с хэшами на экране. Дальше офлайн: Hashcat, rockyou плюс геймерский wordlist с мутациями.

Bcrypt держится на EksBlowfish и встроенной 128-битной соли — rainbow tables бесполезны, каждый хэш крекается индивидуально. Но cost factor 10 — дефолт Go и PHP — даёт лишь 1024 итерации.

💡 4% от базы звучит ничтожно — но именно эти 1500 пар логин-пароль работают на сторонних сервисах.

Hackerlab Неделя 2: Виртуальный сервер - service enumeration через SSH и FTP

  • 911
  • 6
Терминал с выводом nmap: открытые порты SSH (22) и FTP (21) с версиями сервисов на виртуальном сервере


🔍 Открытые порты — это только начало. Реальный recon — выжать из каждого сервиса максимум до начала эксплуатации. Версия сервиса даёт known CVE. Баннер выдаёт конфигурацию. Anonymous FTP — готовые файлы. Неправильно настроенный SSH — вектор атаки.

Неделя 2 серии «Сетевая разведка за 30 дней». Цель — VDS, где админ настроил SSH и FTP «как-нибудь, потом исправлю». Разбираемся, как читать сервисы, а не просто видеть порты.

Инструменты недели: nmap -sV со скриптами ftp-anon и ssh-auth-methods, ручной anonymous FTP, ssh-audit для анализа слабых алгоритмов, nc для сырого banner-grab, searchsploit для поиска CVE по баннеру.

Старт: 8 июня 20:00 МСК. Дедлайн: 14 июня 23:59 МСК. Антиспойлер: до дедлайна обсуждаем подходы, не команды. После — writeup'ы открыты.

💡 SSH version banner отдаёт OS distribution — feature это или information disclosure? Разбираем в комментариях.

Анонс Обсуждай задачи и переписывайся прямо в HackerLab: встроили форум и личные сообщения

  • 437
  • 0
Тёмный стол хакера ночью: ноутбук со светящимся экраном чата и значком непрочитанных сообщений, рядом монитор с лентой форума, бирюзово-графитовая палитра, тёплая подсветка от экранов.


🔧 HackerLab запустил форум-виджет с прямой интеграцией Codeby: обсуждение задач, подсказки и личная переписка теперь живут прямо на странице таска — без переключения вкладок.

Что внутри: живое обсуждение рядом с заданием, цитирование в один клик, загрузка скриншотов и файлов прямо в тред, реакции, онлайн-статусы, закреплённые сообщения. Свежие ответы подтягиваются автоматически.

Личные сообщения встроены в виджет: бейдж непрочитанных, поиск собеседника по имени, редактирование отправленного. Авторизация через Codeby ID. На мобильном всё адаптировано: список и переписка, долгое нажатие открывает действия с сообщением.

💡 CTF — это не только решить в одиночку. Вовремя спросить или подсказать растит быстрее. Попробуйте виджет и расскажите, что удобно и чего не хватает.

Writeup Web | Протокол "Затмение" | HackerLab

  • 434
  • 0
hackerlabProtocolFadeOut.webp


🌐 Авторизационная форма с гостевым входом — и абсолютно пустой интерфейс. Флаг спрятан в fl4g.txt, но путь к нему закрыт. Исходники прилагались к заданию — и в nginx.conf на 13-й строке пропущен завершающий слэш.

Path Traversal через misconfiguration Nginx: отсутствие "/" в конце location-директивы позволяет вырваться за пределы разрешённого каталога. Уязвимость из OWASP — классика неправильной конфигурации обратного прокси, которая регулярно встречается в production-средах.

Эксплуатация в два шага: изучить nginx.conf из прикреплённых исходников, восстановить корректный путь к fl4g.txt с учётом обхода директории. Запрос к сформированному пути — флаг получен без дополнительных инструментов.

💡 Лишний символ "/" в nginx.conf меняет семантику location: без него префиксный матч превращается в точечный и открывает path traversal на всё дерево файлов.

Writeup Web | Документальный архив | HackerLab

  • 445
  • 0
HackerLabDocumentStore.webp


🌐 Архив документов возвращает JSON — пропущен document с _id=3, запрос возвращает 200 без содержимого. Broken Access Control + NoSQL Injection: оператор $or обходит ролевую проверку и показывает скрытый документ. Флага нет — он в скрытом поле.

Разведка через Burp: поля _id, title, summary в ответе указывают на MongoDB. $or с несуществующим _id как «безопасная» ветка условия раскрывает документ без прав. Поле flag найдено через $exists: true. Извлечение содержимого — посимвольный blind NoSQL injection через $regex с якорем "^CODEBY{".

Автоматизация в Burp Intruder: позиция после накопленного префикса, словарь из латинских букв и спецсимволов, сортировка по длине ответа — самый длинный ответ выдаёт правильный символ. Флаг собирается итерациями как конструктор.

💡 $or с заведомо ложной второй веткой — классический способ обхода фильтрации в NoSQL без угадывания структуры ACL.

Writeup Web | Тетрис | HackerLab (WriteUp)

  • 430
  • 0
hackerlabtetris.webp


🌐 Flask-приложение с формой восстановления пароля и генератором токенов из трёх символов (b, c, d) длиной 6 знаков — всего 729 комбинаций. Токен удаляется сразу после первого обращения к /reset/<uuid>, что превращает брутфорс в гонку за сессионной cookie.

Анализ исходников раскрыл архитектуру: страницы /reset_password и /reset/<uuid>, SQLite с таблицей users, функция _generate_token() с жёстко заданным алфавитом. Стандартный перебор с проверкой 200 не работает — редирект происходит раньше. Решение: allow_redirects=False и перехват 302-ответа с последующим извлечением session cookie через x.cookies.get_dict().

Python-скрипт на itertools.product генерирует все 729 вариантов, последовательно проверяет /reset/<token>, при коде 302 сохраняет cookie и прерывает цикл. Cookie вставляются в браузер, переход на /admin — флаг получен.

💡 Honeypot в виде рабочего тетриса унёс 30 минут. Исходники раскрыли всё за 5.

Writeup Pentest Machine | Письмо | HackerLab (WriteUp)

  • 448
  • 0
MailHackerlab.webp


🔥 Письмо, которое отдаёт root: захватываем машину через Tar.

Сервис, который просто «читает архивы», кажется безобидным? А зря — одна symlink-ссылка внутри tar-архива превращает невинную распаковку в чтение /etc/passwd и кражу приватного SSH-ключа.

В этом разборе: разведка nmap, эксплуатация symlink-уязвимости (CWE-61), вход по угнанному ключу и финальная эскалация до root через sudo tar.

💡 Пошаговый разбор машины с HackerLab для пентестеров, которые хотят набить руку на реальных техниках.

Writeup Web | Просто найди его | HackerLab (WriteUp)

  • 477
  • 0
justfindhimhackerlab.webp


🌐 Кнопка выводит «совет» — POST-запрос с JSON уходит на GraphQL-эндпоинт. Первая мысль: SQL-инъекция, данные из БД. Реальность: интроспекция схемы через __schema раскрыла поле getFlag с параметром isAdmin — и флаг получен двумя запросами.

GraphQL — язык запросов для API со строгой типизацией. Ключевая особенность для пентестера: интроспекция включена по умолчанию и отдаёт полную схему API — все типы, поля, аргументы. Запрос {"query": "{__schema{queryType{name}}}"} показал структуру. Дальше — поле getFlag(isAdmin: Boolean), значение true, флаг в ответе.

Вектор: GraphQL Introspection → Schema Disclosure → прямой вызов привилегированного поля без авторизации. Классическая ошибка: логика доступа вынесена в клиентский параметр isAdmin вместо серверной проверки прав.

💡 Burp Repeater + pretty-print JSON — и GraphQL-схема читается как документация к собственному API.

Hackerlab Неделя 1: Кто там? - port scan и banner grabbing на nmap

  • 1 395
  • 15
Сканирование портов с помощью nmap в задаче по сетевой разведке на HackerLab


🔍 Recon начинается со стука. Неделя 1 — nmap в четырёх режимах.

Прежде чем эксплуатировать что-либо, нужно знать: какие порты открыты, что за сервисы, какие версии. На эксплойт уходит 30 минут, на recon с нуля — 2 часа, и большинство новичков пропускают первый шаг.

Задача «Кто там?» на HackerLab — разбираемся с SYN scan, полным сканом 65535 портов, детектом версий через NSE-скрипты и OS fingerprinting. Запоминаем не команды, а что делает каждый флаг.

Дедлайн — воскресенье, 7 июня. После него — открытые writeup'ы и рекап с разбором ошибок.

💡 Первая неделя марафона «Сетевая разведка за 30 дней» — мерч от Codeby для топ-3 solver'ов.

Hackerlab Неделя 4: Секретный кабинет - recon → exploitation chain

  • 108
  • 0
1782162635469.webp


🔍 Финальная неделя серии «Сетевая разведка за 30 дней». Recon — не отдельная фаза, а непрерывный процесс: на каждом шаге эксплуатации возвращаемся глубже. Один target, четыре инструмента, одна цепочка.

Задача: «Секретный кабинет» (500 очков). Маршрут известен, нужен пароль. Классический сценарий: enumeration → discovery → brute force auth → access.

Цепочка недели: nmap -sV -p- находит все сервисы и версии → gobuster dir с расширениями .php/.html обнаруживает нестандартные пути к auth-форме → Burp Repeater разбирает параметры POST-запроса авторизации и поведение при верном/неверном вводе → hydra бьёт по форме с данными из Burp. Если hydra не находит пароль на шаге 4 — шаги 1-3 повторяются с другим вектором.

Старт: 23 июня 10:00 МСК. Дедлайн: 28 июня 23:59. Антиспойлер: подходы без конкретных путей до дедлайна.

💡 Три недели серии складываются в одну задачу — recon → enum → discovery → auth bruteforce.
🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🧭 Навигатор · ИБ 2026
Не знаешь, какой трек твой?
5 направлений ИБ, реальные зарплаты и точка входа для каждого — в одном треде.
JuniorSenior+
100K → 600K+ ₽ /мес
Открыть навигатор →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

Пользователи онлайн

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

Темы
52 433
Сообщения
346 700
Пользователи
160 936
Новый пользователь
TmpyS