Hacker Lab
3.65K subscribers
371 photos
39 videos
422 links
Hacker Lab — практика по кибербезу: CTF-задания, пентест-лаборатории и курсы.

▸ новые задания
▸ разборы решений
▸ ивенты, рейтинги, скидки

💬 Чат: @hackerlab_chat
🛠 Техподдержка: @CodebyFeedbackBot

🌐 hackerlab.pro
Download Telegram
🔍 Неделя 4 — Финал: Секретный кабинет

Последняя неделя серии «Сетевая разведка за 30 дней» — и сразу 500 очков.

Маршрут к цели известен. Нужен пароль. Всё, что изучали три недели — сейчас в одной цепочке:

nmap → gobuster → Burp Repeater → hydra

Разведка, directory enumeration, разбор auth-формы, брутфорс. Именно так выглядит реальный engagement.

⏱️ Старт: 23 июня, 10:00 МСК
🏁 Дедлайн: 28 июня, 23:59 МСК

Флаги до старта — в конкурсе не учитываются. До дедлайна обсуждаем подходы, не конкретные пути.

После 29 июня — финальный wrap-up серии, лучшие writeup'ы и что будет дальше.

👉 Неделя 4 — Финал: Секретный кабинет
4👍4🔥3
printf(buf) — одна строка кода, которая ломает всё

На недавнем CTF один pwn-таск решили всего 12 команд из 200. Бинарник принимал строку через fgets, отправлял её прямиком в printf — и всё. Ни переполнения буфера, ни use-after-free, ни heap-примитивов. Команды, привыкшие к классическому BOF, зависли: переполнять нечего. А ведь это и есть format string — одна из самых элегантных атак в binary exploitation.

🔍 Суть проблемы укладывается в одно сравнение:

printf("%s", buf) — безопасно. Ввод трактуется как текст.
printf(buf) — уязвимо. Ввод трактуется как инструкция форматирования.

Когда printf встречает спецификатор вроде %p или %x, она лезет на стек за следующим аргументом. Проблема в том, что макрос va_arg понятия не имеет, сколько аргументов реально передано. Он просто сдвигает указатель дальше по стеку — без проверки границ. Три спецификатора %x в строке — три значения со стека, даже если дополнительных аргументов ноль.

⚙️ Что это даёт атакующему? Целый арсенал примитивов:

%p / %x — чтение стека. Утечка адресов, обход ASLR, поиск канареек.
%s — чтение по произвольному указателю. Если на стеке лежит адрес, printf прочитает строку по этому адресу.
%n — запись в память. Записывает количество уже выведенных символов по адресу на стеке. Это arbitrary write — самый опасный примитив.

Первый шаг в любом CTF-таске с format string — найти смещение (offset) до своего буфера на стеке. Отправляешь уникальный маркер типа AAAA и серию %p, ищешь в выводе 0x41414141. Нашёл на седьмой позиции? Значит offset = 7, и теперь можно обращаться к нему напрямую через %7$p.

На x86-64 есть нюанс: первые шесть аргументов идут через регистры (rdi, rsi, rdx, rcx, r8, r9), а на стек попадают только остальные. Поэтому смещение при переходе с 32-bit на 64-bit нужно определять заново.

Дальше — дело техники. В pwntools есть класс FmtStr, который автоматизирует и поиск смещения, и генерацию payload для записи. Ты задаёшь адрес и значение — он сам рассчитывает нужное количество символов и расставляет %hhn для побайтовой записи. Без этого инструмента ручной расчёт превращается в ад с арифметикой.

🎯 Format string — тема, которая кажется простой на поверхности, но в реальных тасках требует понимания раскладки стека, calling conventions и защитных механизмов.

Полный разбор с компиляцией уязвимого бинарника, пошаговой отладкой в GDB и готовым эксплойтом — в статье на форуме.

https://hackerlab.pro/blog/format-string-uyazvimost-v-ctf-razbiraem-printf-ataku-i-chitaem-pamyat-protsessa-shag-za-s
❤‍🔥5🔥53
Три символа, которые ломают авторизацию: как JWT-атаки решают CTF-задачи

На одном из CTF я потратил 40 минут на веб-задачу — перебирал эндпоинты, пробовал SQLi, ковырял параметры. А решение уместилось в три символа: none в поле alg JWT-заголовка и пустая подпись. Флаг пришёл мгновенно.

JWT — это строка из трёх частей через точку: header.payload.signature. Header говорит серверу, каким алгоритмом проверять подпись. Payload хранит данные о пользователе в открытом виде — никакого шифрования, просто base64url. Signature гарантирует, что никто не подменил содержимое. В теории.

На практике разработчики допускают ошибки в валидации, и вот три атаки, которые чаще всего встречаются в CTF:

🔓 1. alg:none — самая простая и самая недооценённая. Меняем алгоритм в header на "alg":"none", правим payload (например, "role":"admin"), убираем подпись, оставив финальную точку. Если сервер не проверяет алгоритм строго, он примет токен без подписи вообще. В jwt_tool это одна команда: python3 jwt_tool.py TOKEN -X a.

🔑 2. Брутфорс слабого секрета. Алгоритм HS256 использует один симметричный ключ для подписи и проверки. Если разработчик поставил пароль вроде secret, password123 или qwerty — его можно подобрать за секунды. hashcat с режимом 16500 и словарём rockyou.txt перебирает миллионы вариантов в секунду на GPU. Нашёл ключ — подписываешь любой payload и заходишь как admin.

3. Algorithm confusion — уровень посложнее. Сервер ожидает RS256 (асимметричная пара ключей), но атакующий переключает заголовок на HS256 и подписывает токен публичным ключом сервера как HMAC-секретом. Публичный ключ часто доступен — через /jwks.json или в исходниках. Сервер берёт тот же ключ для проверки и... подпись совпадает.

Где искать токен в задаче? Четыре места:

• Cookie — самый частый вариант (названия: jwt, token, session)
• Заголовок Authorization: Bearer ...
• Тело JSON-ответа после логина
localStorage в DevTools для SPA-приложений

Практический алгоритм на CTF: нашёл токен → декодировал header и payload → посмотрел alg → попробовал none → не сработало — запустил брутфорс секрета → проверил algorithm confusion. Три шага, которые закрывают 80% JWT-задач на соревнованиях.

По классификации OWASP, эти уязвимости попадают сразу под три категории Top 10: Broken Access Control, Cryptographic Failures и Security Misconfiguration. Не только CTF — реальные CVE тоже.

Полный разбор с командами и примерами — в статье на HackerLab.

https://hackerlab.pro/blog/jwt-ataki-ctf-ot-struktury-tokena-do-zahvata-flaga-cherez-alg-none-i-slabyy-sekret
5👍53
Пустая страница Apache — и четыре минуты до флага

Представьте: вы подключаетесь к тренировочной машине на HackTheBox. Nmap показал единственный открытый порт 80, браузер — пустую страницу. Тупик. Одна команда gobuster dir со словарём common.txt — и через 35 секунд найден /robots.txt. Внутри — путь к админке. В исходном коде — забытые тестовые креды. Четыре минуты от запуска до флага. Без dirbusting эту машину можно было ковырять часами.

Перебор директорий — это первое, что делает пентестер после сетевого скана. Вы знаете, что порт открыт, но структура приложения — тёмный лес. Gobuster берёт словарь с типовыми именами путей, подставляет каждое в URL и анализирует HTTP-ответ. Просто, грубо, эффективно.

🔍 Что реально находят при dirbusting:

.env, config.php.bak, db_backup.sql — файлы с учётными данными, которые разработчик забыл убрать
• Директории .git/ и .svn/ — раскрывают исходный код проекта
• Панели phpMyAdmin без пароля, Tomcat Manager с дефолтными tomcat:tomcat
• Забытые веб-шеллы вроде cmd.php — прямой путь к RCE

По данным Verizon DBIR 2025, около 26% подтверждённых утечек приходится на атаки на веб-приложения. Немалая часть начинается именно с обнаружения эндпоинтов, которые никто не планировал показывать миру.

⚙️ Gobuster написан на Go, потребляет минимум памяти и работает быстро. В Kali Linux он предустановлен — просто набираете gobuster в терминале. Словари SecLists ставятся одной командой: sudo apt install seclists. После установки они лежат в /usr/share/seclists/.

Лайфхак из практики: если ставите через go install, сразу пропишите export PATH=$PATH:$HOME/go/bin в .bashrc. Иначе после перелогина команда «пропадёт», и вы потратите минут пять на выяснение причин.

Режим dir — основной. В CTF-контексте 90% работы — именно он. Минимальная команда требует всего два параметра: URL цели и путь к словарю. Остальные режимы (dns, vhost, fuzz, s3) решают другие задачи и в веб-задачах встречаются реже.

📌 Для тренировки поднимите OWASP Juice Shop в Docker — уязвимое приложение с десятками скрытых эндпоинтов. Идеальный полигон, чтобы прощупать Gobuster без риска что-то сломать.

Нельзя эксплуатировать то, чего не обнаружил. Dirbusting — не опциональный шаг, а фундамент любой веб-атаки. Полный разбор флагов, словарей, фильтрации ответов и практические примеры — в развёрнутом материале.

https://hackerlab.pro/blog/gobuster-perebor-direktoriy-i-poisk-skrytyh-faylov-v-veb-zadachah-ctf
👍54🔥4😁2
🚩 Новые задания на платформе HackerLab!

🌍 Категория ВебДомашний книжный магазин
——————————————

🗂 В архив добавлены задания + райтапы:

🔵Веб - Рабочий стол

Приятного хакинга!
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥77👍2
🚩 Новые задания на платформе HackerLab!

🌍 Категория ВебNorthstar Records

Приятного хакинга!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74🔥4
🚩 Новые задания на платформе HackerLab!

🧰 Категория PWNЗачем мне этот SO?
——————————————

🗂 В архив добавлены задания + райтапы:

🔵Веб - Визитка

Приятного хакинга!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84🔥4
🌗 Середина лета — скидка 20% на подписку

Впереди ещё половина лета: 46 дней, за которые можно закрыть несколько категорий и пройти пару лабораторий. Если давно собирались взяться всерьёз - сейчас удачная точка старта

Только до 31 июля: полный доступ к 600+ заданиям, про-лабораториям, курсам и райтапам со скидкой 20%

Промокод: MIDSUMMER2026

➡️ https://hackerlab.pro/subscription

💬 Чат платформы 🛠Техподдержка
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥125👍5
Hacker Lab pinned a photo
🚩 Новые задания на платформе HackerLab!

🌍 Категория ВебГосучреждения

Приятного хакинга!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍54
Please open Telegram to view this post
VIEW IN TELEGRAM
114👍6
🤖 ИИ в пентесте и VA: заменит или поможет?

Всем привет, Кодебаевцы!

Середина 2026-го, а из каждого угла всё то же: «вот-вот ИИ заменит нас всех». Верится с трудом — по крайней мере в обозримом будущем. А вот как толковый помощник в рутине (и не только) — почему бы и нет?

Открываем обсуждение и собираем реальный опыт комьюнити:

🔹 Как вы применяете ИИ в пентест-проектах — разведка, фаззинг, разбор выводов, генерация отчётов?
🔹 Где ИИ реально ускоряет управление уязвимостями (VA), а где только мешает?
🔹 Кейсы из других ИБ-сфер — SOC, threat intel, реверс, OSINT?

Без хайпа и маркетинга — только практика: что действительно экономит время, а что оказалось переоценённым.

💬 Делитесь опытом в теме — самое ценное всегда в комментариях практиков.
👉 Обсудить →
7👍2
🚩 Новые задания на платформе HackerLab!

🔑 Категория КриптографияГерои
——————————————

🗂 В архив добавлены задания + райтапы:

🟠Веб - Привидение

Приятного хакинга!
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍5🔥4👌11
🚩 Новые задания на платформе HackerLab!

🔎 Категория OSINTРесторан

Приятного хакинга!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72🔥2
🚩 Новые задания на платформе HackerLab!

🕵️ Категория ФорензикаСертификация
——————————————

🗂 В архив добавлены задания + райтапы:

🟠Веб - Расклад

Приятного хакинга!
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍4🔥3
🚩 Новые задания на платформе HackerLab!

🖼 Категория СтеганографияLLM

Приятного хакинга!
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍4🔥1🤔1👻1🫡1
🚀 Ищем новых авторов курсов по информационной безопасности

У нас большая и очень живая аудитория студентов и мы хотим расширять линейку курсов вместе с сильными практиками из индустрии.

Сейчас особенно интересуют авторы по направлению Безопасность ИИ / AI Security. А также рассматриваем все иные актуальные темы в области ИБ.

При этом не обязательно сразу делать большой курс.
Мы открыты к небольшим практическим продуктам на 2–3 дня обучения — интенсивам, воркшопам, мини-курсам. Если у вас есть тема, которую давно хотелось упаковать в обучение, — приходите обсудить.

Что мы предлагаем автору

💰 Денежное вознаграждение за создание курса
📣 Выход на аудиторию нашей школы и продвижение курса
🤝 Помощь с упаковкой, методологией и организацией обучения
🎯 Возможность сделать как большой курс, так и небольшой специализированный продукт

И ещё важный момент:

Если вы сами не хотите быть автором, но знаете сильного специалиста, которого стоит позвать, — порекомендуйте его нам. За успешную рекомендацию предусмотрено денежное вознаграждение.

А если вы сами практик и давно думаете: «Я мог бы этому научить» — напишите нам первыми. Нам как раз нужны такие люди.

📩 Пишите мне в личку: @maria_ezhi

Можно сразу коротко рассказать:
— чем занимаетесь;
— какую тему готовы преподавать;
— какой формат рассматриваете.

Будем рады новым авторам и действительно сильным практикам в нашей команде. 🔥
52👍2