Кибербезопасность | Пентестинг & AppSec
Открыть в Telegram
Пентест и AppSec на практике: AD, инфра, Web. Теория → мини-задача → разбор вечером. 📁 Все наши каналы: t.me/addlist/c8AszfqFNisxNTQ6 🤝 Реклама: @faroeman
Больше7 208
Подписчики
+1124 часа
+257 дней
+14230 дней
Архив постов
Ну не могу я нормальные комменты в коммитах писать 😂
У кого еще такая проблема? 😁
Разбираем прошлую задачку🤔
Большинство ответило правильно😃
Внутри локальной сети устройства находят друг друга не по IP, а по MAC-адресам. IP нужен, чтобы дойти до нужной сети через интернет. А внутри своей сети кадр едет от карты к карте по MAC.
Но твой комп знает только IP шлюза. Чтобы отправить кадр, ему нужен MAC шлюза. Эту связку «IP → MAC» делает ARP:
— Хост: «У кого IP 192.168.1.1? Скажи свой MAC» — Шлюз: «Это я, мой MAC — aa:bb:cc...»Ответ записывается в ARP-кэш, и дальше кадры летят на этот MAC. ⚠️ Дыра в том, что ARP никого не проверяет. Кто ответил — тому и верят. Можно без спроса сказать жертве «шлюз теперь по моему MAC» — и она поверит. Атака: Атакующий врёт обеим сторонам: — жертве: «шлюз — это мой MAC» — шлюзу: «жертва — это мой MAC» Теперь весь трафик жертвы идёт через атакующего. Он его читает и передаёт дальше, оставаясь незаметным. Это и есть MITM. 🎯 Почему именно L2: IP-адреса не меняются, сессии не рвутся, приложение ничего не замечает. Меняется только одно — на чью сетевую карту попадает кадр. Чистая механика канального уровня. Почему только в локалке: ARP-запросы широковещательные, а через роутер они не проходят. Значит, атаковать можно только из своего сегмента — надо быть в той же сети (тот же коммутатор или Wi-Fi). 🛡 Защита (тоже на L2): статические ARP-записи, Dynamic ARP Inspection, port security. Плюс TLS — перехват не остановит, но данные сделает нечитаемыми. 📌 Главное: атака всегда привязана к уровню. Знаешь уровень — знаешь и её границы (только локалка), и почему верхние уровни её не видят, и где ставить защиту.
#network #теория #adМногие QA мечтают повысить свои скиллы и уйти в автоматизацию или безопасность ...
Пентест - одно из направлений, которое отлично подходит тестировщикам.
Я просмотрел около 100 вакансий и собрал список того, что нужно знать пентестеру, кто хочет тестировать уязвимости .
Вот видео на 8 минут
С вас лайк - подписка - коммент.
С меня больше видео.
Хорошо вечера.
https://youtu.be/3okGsfq3ni4?si=MT5iquLnMF9hKCIc
🛡 Вся наша движуха по ИБ в одном месте
Теория, практика, разборы, новости и вакансии — всё для старта и роста в пентесте. Выбирай, что тебе ближе 👇
🎯 Пентест и разборы → @pentesting_channel
🧠 Квизы «Проверь себя» → @cybersecurity_quizz
😂 Мемы про ИБ → @cybersec_memes
📰 Новости и атаки → @cybersecs_news
💼 Вакансии в ИБ → @cybervacancies_channel
💬 Чат → @pentesting_channel_chat
📁 Добавь все каналы в отдельную папку — одним нажатием, чтобы не потерялись в ленте:
[Забрать папку]
Задачка на выходные 😃
Ты в локальной сети и хочешь перехватить её трафик — вклиниться между ней и шлюзом (MITM).
На каком уровне OSI ты будешь атаковать?
🌐 Модель OSI и стек TCP/IP — карта, по которой работает пентестер
Когда ты отправляешь запрос, данные проходят через несколько уровней — от кабеля до приложения. Понимать эти уровни важно не ради теории: на каждом из них своя атака.
Есть две модели.
OSI — теоретическая, 7 уровней, по ней удобно учиться. TCP/IP — реальная, 4 уровня, по ней работает интернет.Ниже — OSI, а рядом где на нём «ломается»: 7. Прикладной (HTTP, DNS, FTP, SMB) Здесь живут веб-уязвимости: SQLi, XSS, IDOR. Большая часть твоей работы — тут. 6. Представления (шифрование, кодирование) TLS, Base64. Тут — перехват до/после шифрования, downgrade-атаки. 5. Сеансовый (сессии) Session hijacking, кража токенов, фиксация сессии. 4. Транспортный (TCP, UDP, порты) Сканирование портов (nmap), SYN-флуд. Отсюда начинается разведка. 3. Сетевой (IP, ICMP, маршрутизация) IP-спуфинг, разведка через ping/traceroute. 2. Канальный (MAC, ARP, коммутаторы) ARP-спуфинг, MITM в локальной сети, перехват трафика. 1. Физический (кабель, Wi-Fi, сигнал) Физический доступ, снифинг, Rogue AP. 📌 Как это ложится на TCP/IP (4 уровня): Приложение (7–5) → Транспорт (4) → Интернет (3) → Доступ к сети (2–1). 🎯 Зачем это пентестеру Модель — не схема для экзамена, а чек-лист поверхностей атаки. Видишь цель — мысленно проходишь по уровням: где сниффить, где спуфить, где инъекции. Ни один вектор не упустишь.
#network #теория🌐 Что такое TCP/IP?
Объясняем простыми словами
Когда мы отправляем сообщение, открываем сайт или смотрим видео — данные не летят целиком одним большим файлом. Они разбиваются на маленькие части и отправляются через сеть.
За это отвечает набор протоколов TCP/IP.
📌 IP (Internet Protocol) — это как адрес на конверте.
Он отвечает за:
куда отправить данные;
какой у устройства IP-адрес;
через какие сети пройти.
Например:
💻 Компьютер → 192.168.1.10
🌍 Сервер сайта → 8.8.8.8
IP помогает найти путь от отправителя к получателю.
📌 TCP (Transmission Control Protocol) — это как проверка доставки.
Он отвечает за:
— разбивку данных на части;
— проверку, что всё дошло;
— повторную отправку потерянных частей;
— сборку данных обратно в правильном порядке.
Представь, что ты отправляешь книгу по почте:
IP говорит: «Вот адрес получателя».
TCP проверяет: «Все страницы книги дошли? Ничего не потерялось?»
📦 Пример работы:
Ты открываешь сайт:
1️⃣ Браузер получает IP-адрес сервера.
2️⃣ TCP устанавливает соединение с сервером.
3️⃣ Данные сайта отправляются маленькими пакетами.
4️⃣ TCP проверяет доставку.
5️⃣ Браузер собирает страницу.
⚡️ А если нужна скорость, а не идеальная доставка, используются другие протоколы — например UDP.
#network
Repost from Кибербезопасность | Проверь себя
🛡 Друзья, пробуем новый формат!
Только вопросы — по сетям, веб-безопасности, OSINT и защите инфраструктуры. Прорешай викторины и узнай, на что ты способен!
Новые вопросы — каждый день. Заходи, отвечай и тренируйся вместе с нами!
Path Traversal - уязвимость из-за которой джуны не проходят собес в AppSec.
Спрашивают почти всегда. Отвечают почти всегда плохо.
Суть за 20 секунд:
У вас есть API: GET /api/files?filename=report.pdf
Бэкенд делает: open("./files/" + filename)
Что отправит атакующий? filename=../../etc/passwd
И если нет защиты - он читает системные файлы. На Linux это /etc/passwd, на Windows - ..\..\windows\win.ini.
В лабе на localhost это выглядит так:
Поднимаешь простой Node/Express сервер с отдачей файлов
Отправляешь ../../../etc/passwd и получаешь 200 OK вместо 403
В одном (пока одном) из аудитов эта дыра была в проде у одного стартапа из Эстонии. Не потому что девелоперы глупые. А потому что они думают что фреймворк сам защитит.
Как закрыть правильно - и что ждут на собесе:
-Никогда не конкатенируй путь. Используй path.resolve() + проверку что итоговый путь внутри разрешенной директории.
-Белый список файлов / UUID вместо имени файла от юзера.
-WAF - это костыль, а не защита.
Если ты хочешь в AppSec - ты должен уметь:
Найти это за 15-30 минут хотя бы
И за 2 минуты объяснить как закрыть проблему
Этому не учат на курсах по веб-разработке. Этому учат на практике.
Кому интересно обучение - пишите в тг @faroeman
#appsec #cybersecurity #pathTraversal #career #owasp
XSS через REST API - как ломается 90% современных React приложений.
Все думают: "У нас же REST API, а не старый PHP. Какой XSS?"
А вот какой.
У вас есть API:
POST /api/v1/comments -> { "text": "привет" }
GET /api/v1/comments -> отдает список
Фронт берет ответ и делает:
element.innerHTML = comment.text
Готово. У вас Stored XSS через API.
В лабе на localhost я показываю так:
Отправляю в API обычный JSON с текстом <img src=x onerror=alert(1)>
API честно сохраняет - он же не должен рендерить HTML, он просто база.
А вот React-клиент рендерит это как HTML. И скрипт срабатывает у всех.
Почему REST API так уязвим:
API не фильтрует, потому что "это задача фронта".
Фронт не фильтрует, потому что "это задача API".
В итоге не фильтрует никто.
Как закрыть правильно (защита в 2 слоя):
Backend (must):
Валидация и санитизация на входе в API. DOMPurify на бэке.
Отдавай Content-Type: application/json, никаких text/html
Frontend (must):
Никогда innerHTML / dangerouslySetInnerHTML. Только textContent.
Если надо HTML - рендер через DOMPurify + CSP: script-src 'self'
Запомните: REST API не уязвим к XSS. Уязвим ваш фронт, который слепо доверяет данным из вашего же API.
Вы проверяли что будет если в ваше /api/comments отправить HTML-тег? На localhost хотя бы ?
По обучению cybersecurity / security testing / test automation - пишите в личку телеграм @faroeman
#appsec #xss #restapi #react #cybersecurity
🧩 Что такое ARP и зачем он нужен в сети?
Чтобы отправить данные устройству в локальной сети, компьютеру нужен его MAC-адрес. Но обычно мы знаем IP-адрес. Здесь помогает ARP (Address Resolution Protocol) — протокол, который находит соответствие между IPv4-адресом и MAC-адресом.
Как это работает:
Компьютер проверяет ARP-кэш — возможно, нужный адрес уже известен.
Если записи нет, он рассылает в локальную сеть запрос: «Кому принадлежит этот IP?»
Устройство с таким адресом отвечает своим MAC-адресом.
Компьютер сохраняет соответствие в кэше и отправляет данные.
⚠️ У ARP есть слабое место: протокол не проверяет подлинность ответов. Поэтому в локальной сети возможна ARP-подмена — когда устройство получает ложное соответствие IP и MAC. Это может позволить перехватывать или перенаправлять трафик.
📌 ARP работает с IPv4. В IPv6 для похожих задач используется Neighbor Discovery Protocol (NDP).
#network
Деньги! Вы все любите темы про деньги.
Сделал для вас видео - сколько получают инженеры по безопасности в разных уголках мира.
И насколько сложно / легко зайти в то или иное направление в Cybersecurity.
С вас подписка, лайк, коммент и поделитесь пожалуйста видео.
С меня больше контента.
По обучению телеграм @faroeman
https://youtu.be/JvxmJ47Gfik
Взломали архив. Который не используется с 2018 года.
В Литве вчера сообщили о кибератаке на систему МВД - EPEKIS. В ней хранятся архивные данные иностранцев, которые подавали на литовское гражданство.
Система уже 7 лет как архив. Казалось бы - кому она нужна?
Именно поэтому ее и взломали.
3 детали, которые должны напугать каждого фаундера и CISO:
1. Архив НЕ РАВНО безопасно. 90% компаний думают "у нас старая система, там ничего важного". А там - персональные данные. И за них штраф по GDPR такой же, как за взлом активной системы.
2. Их спасла двойная аутентификация. Министр МВД Литвы Мартинас Кателинас прямо сказал: после прошлого взлома Центра реестров они внедрили 2FA и мониторинг. Только поэтому взлом заметили и заблокировали ДО скачивания данных. Без 2FA - история была бы другой.
3. Это уже вторая атака за 4 месяца. В мае из реестров Литвы утекло 600.000 записей. Пострадала даже семья премьер-министра. Президент Науседа заявил - за этим стоят враждебные государства. Министр вчера не исключил - атака была с помощью AI.
И вот моя непопулярная мысль:
Мы до сих пор думаем, что кибербез - это про "защитить активный сайт".
А на деле взламывают то, про что вы забыли. Старый бэкап, архивный сервер, тестовую базу 2018 года.
И штраф за нее прилетит в 2026-м как за новую систему.
Когда вы в последний раз проверяли, что у вас лежит в архивах?
Ну-ка фаундеры, рассказывайте))
По обучению security testing / appsec - @faroeman
🌐 Что такое MAC-адрес?
Продолжаем нашу сетевую базу. В прошлых постах разобрали IP и IPv4/IPv6, теперь спускаемся на уровень ниже — к MAC-адресу.
📌 MAC-адрес (Media Access Control) — это уникальный идентификатор сетевого интерфейса устройства, используемый для обмена данными в локальной сети.Например:
00:1A:2B:3C:4D:5EMAC-адрес обычно записывается в виде шести пар шестнадцатеричных символов. 🧠 Простая аналогия Если IP-адрес можно представить как адрес устройства в сети:
192.168.1.25то MAC-адрес — это идентификатор конкретного сетевого интерфейса:
00:1A:2B:3C:4D:5EТо есть:
💻 Устройство
↓
IP → 192.168.1.25
MAC → 00:1A:2B:3C:4D:5E
🔎 Где используется MAC?
MAC-адрес особенно важен при работе внутри локальной сети.
Когда компьютеру нужно отправить данные другому устройству в той же сети, передача происходит на канальном уровне с использованием MAC-адресов.
Например:
Компьютер A
IP: 192.168.1.10
MAC: AA:AA:AA:AA:AA:AA
↓
Компьютер B
IP: 192.168.1.25
MAC: BB:BB:BB:BB:BB:BB
🕵️ Почему MAC интересен пентестеру?
При разведке локальной сети MAC может дать дополнительную информацию о найденном устройстве.
Например, можно увидеть:
192.168.1.25 00:1A:2B:3C:4D:5EПо MAC иногда можно определить производителя сетевого оборудования по первым частям адреса (OUI). Это может помочь понять, что перед нами, например, компьютер, сетевое оборудование или устройство определённого производителя. #network
🔥Разбираем задачку с прошлого поста.
Очень круто, что в опросе приняло участие почти 200 человек! 👏
Но есть один момент, который меня немного удивил 😄
Правильный ответ выбрали только 64% участников.
Давайте разберёмся 👇
📌 Задача была простая:
192.168.1.50
❓ Что это за адрес?
✅ Правильный ответ — приватный IPv4-адрес.
Потому что выше адрес входит в приватный диапазон
192.168.0.0/16
То есть такие адреса предназначены для использования внутри локальных сетей.
💻 Компьютер
192.168.1.50
🖥 Сервер
192.168.1.100
🖨 Принтер
192.168.1.200
Все эти устройства могут находиться в одной локальной сети.
А для нас, как для пентестеров, это уже возможность перейти к следующему этапу — исследованию хостов, открытых портов, работающих сервисов и операционных систем.Кто хочет развивать мой телеграм канал?
У меня есть ТГ канал, который достался мне бесплатно.
В нем 800 подписчиков.
У меня нету времени им заниматься.
Но развивать можно, тематика - склад полезных материалов по кибербезопасности.
У кого есть время и желание -дайте знать.
Так как канал мне ничего пока не приносит, могу предложить какую-то чисто символическую сумму.
Если есть желание, дайте знать.
+ скидки на все мои курсы вам.
Сам канал
https://t.me/code_vault
Написать мне можно тут @faroeman
🧪 МИНИ-ВИКТОРИНА | Публичный или приватный IP?
Во время разведки ты получил адрес: 192.168.1.50 ❓ Какой это IP?
Рассказал как найти 3 опасные дыры за 10 минут и как повысить себе зарплату
С вас лайк на ютубе и подписка, с меня больше видео.
Если вы тестировщик или начинающий специалист по ИБ, обязательно проверьте эти моменты.
Если вы только учитесь, проверьте на лабораториях.
По обучению телеграм @faroeman
https://youtu.be/_2VgkBVI-qM?is=S6aQCaDXWvMf5xH9
🌐 IPv4 и IPv6 — версии IP-протокола
Я надеюсь никому не нужно напоминать, что такое IP-адрес. Но если что кликайте по ссылке выше😃
Теперь разберём, какие бывают версии IP и почему появился новый стандарт.
Сегодня существуют две основные версии:
IPv4 ↓ IPv6📌 Что такое IPv4?
IPv4 (Internet Protocol version 4) — это четвёртая версия IP-протокола, которая долгое время была основой всего ИнтернетаIPv4-адрес выглядит так:
192.168.1.25
Он состоит из 4 чисел, разделённых точками.
Каждое число может быть от: 0 до 255
Например:
10.0.0.5 172.16.1.100 192.168.1.25🧠 Главная проблема IPv4 — ограниченное количество адресов. IPv4 использует:
32 бита
Это даёт примерно: 4,3 миллиарда IP-адресов
Когда Интернет начал активно развиваться, этого стало недостаточно.
Количество устройств росло:
📱 смартфоны
💻 компьютеры
🖥 серверы
📺 телевизоры
🌐 IoT-устройства
И возникла необходимость в новом стандарте.
🌍 Что такое IPv6?
IPv6 (Internet Protocol version 6) — новая версия IP-протокола, созданная для решения проблемы нехватки адресов.IPv6 использует:
128 бит
Поэтому количество возможных адресов огромно.
IPv6-адрес выглядит так: 2001:0db8:85a3:0000:0000:8a2e:0370:7334
В отличие от IPv4, здесь используются:
— цифры;
— буквы от A до F;
— разделение через двоеточие.
Но во многих системах IPv6 может быть включён по умолчанию.
Это может привести к неожиданным ситуациям при настройке:
— сетевых политик;
— firewall;
— контроля доступа.
📌 Главное
IPv4 и IPv6 — это две версии одного протокола. Разница в том что количество адресов IPv4 намного меньше.
Для специалиста по безопасности важно понимать оба варианта, потому что современная инфраструктура может использовать оба протокола одновременно.
#networkНу-ка, старички ... ?id=123&id=456 - какой ID вернет ваш API?
Вектор о котором молчат на курсах по Postman.
Что делает 99% QA:
GET /api/invoices?id=123 - проверяют свою накладную. Работает.
Что делаю я:
GET /api/invoices?id=123&id=124
И знаете что? 30% API в 2025 возвращают накладную 124. Чужую.
Почему? Разные фреймворки по-разному парсят дублирующие параметры. Express берет последний, Java - первый, а nginx склеивает через запятую.
Разраб тестил с одним id, WAF пропустил потому что id=123 - ваш, а бэкенд взял id=124.
Как чекать: возьмите любой эндпоинт с ?id= и продублируйте параметр с чужим ID.
Это BOLA, которую не ловят сканеры, потому что она спрятана за HPP (Http Paremeter Pollution). Бэкенд взял последний параметр, а не первый.
Разбираю такие вектора на менторстве. Пиши в ЛС @faroeman.
#bugbounty #apitesting
