Пентестер на мотоцикле
859 subscribers
101 photos
5 videos
2 files
44 links
Блог, посвященный профессиональному росту в области кибербезопасности и мотоциклам (P.S. мотоциклы в ближайшем будущем)

Вопросы/сотрудничество/реклама: @daffier

⚠️ All for educational purposes only!
Download Telegram
😈 Перечисление пользователей

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

Перечислением пользователей злоумышленник сможет убедиться, а точно ли существует такой пользователь. Сервер может выдавать ответ "Такого пользователя нет" или "Введен неверный пароль для данного аккаунта". Далее это может использоваться для brute-force атак (перебор логина и пароля).

Я заметил, что эта проблема часто встречается, в том числе и на проектах. На одном из проектов при переборе номеров телефона в ответе выдавало еще часть email пользователя. Давайте будем честными, в каком случае у злоумышленника будет больше желания атаковать пользователей: когда ему система прямо пишет, что такого юзера нет, либо когда всегда выдается нейтральный ответ по типу "Введен неверный логин или пароль"?

Тут стоит выбирать между удобством для пользователей и безопасностью — часто конфликтующие понятия.

Зачем лишний раз приманивать злоумышленников, когда проще избавиться от такого риска?

#кейс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🔥2
❗️ Новый способ угона Telegram-аккаунтов. Будьте крайне внимательны!

https://pikabu.ru/story/novyiy_vid_ugona_akkauntov_v_telegram_12115688
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔5🫡32
😂 Забавный мой диалог с поддержкой хостинга:

— Здравствуйте, не получается к другому серверу по telnet подключиться. Кажется, причина не в моем конкретно сервере (ufw 25 allow), а что-то на уровнях выше меня блочит.
— Добрый день. У нас блокируется 25 порт по умолчанию . Что хотите отправлять?
— Проводятся работы по тестированию на проникновение в рамках договора, необходимо выполнить проверки безопасности SMTP сервера.
— Более подробно опишите.
https://book.hacktricks.xyz/network-services-pentesting/pentesting-smtp Кажется, тут подробнее описано, чем я могу словами кратко
— У нас запрещено сканирование, спам, размещать вирусы: и то что указано тут https://<...> Если будет жалоба на вирусы или проникновение будет блокировка услуги.

Решил ничего не писать в ответ😁

Когда говоришь техподдержке, что у тебя проблемы с сервером, они отвечают: "Это не проблема, это вызов!" 💪
Please open Telegram to view this post
VIEW IN TELEGRAM
😁104🔥3
🗣 Всем привет!

Как я и говорил, на данном канале буду разбирать некоторые кейсы с реальных проектов. В основном стараюсь отобрать самые интересные и простые примеры для понимания.

Все посты с разбором кейсов будут отмечены хештегом #кейс в конце, так что теперь вы сможете легко их находить😁
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
😈 Вчера нашел уязвимость, которую легко пофиксить, но при этом может нанести достаточно вреда.

Она позволяет флудить письмами "Подтверждение адреса электронной почты" на любой электронный почтовый адрес.

В настройках профиля есть раздел "Информация о профиле", куда можно вписать любой email и сохранить. А снизу кликабельный текст: "Нажмите здесь, чтобы переслать повторно письмо подтверждения".

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

Риски:
➡️Нарушение доступности: если злоумышленник будет этим злоупотреблять, рейтинг у домена упадет, из-за чего все важные письма от компании будут улетать в "спам".
➡️Неограниченное потребление ресурсов: злоумышленник может вызвать отказ в обслуживании сервера. Также отправка письма может тратить деньги компании (если используется облачный провайдер) или даже привести к блокировке аккаунта.
➡️Репутационные риски: у пользователя может остаться негативная ассоциация с компанией, которая прислала ему 100+ сообщений на почту в течение одной минуты.

▎Рекомендации по устранению уязвимости:
Реализовать ограничение на количество отправок писем, а также капчу.

#кейс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍134🔥4
📕 При попытках перевести мануал OSCP постоянно натыкался на лимит размера файла. PDF документ весит почти 50 мб, а разрешается загружать файлы по 5-15 мб в топ переводчиках (DeepL, Google Translate, Yandex Translate, ...)

Нашел хорошее и удобное решение!

Расширение/сайт Immersive Translate спокойно дает загрузить файл на почти 900 страниц, перевод идет в момент скролла документа. Слева предоставляется оригинал, справа перевод на выбранный язык.

Все абзацы и заголовки в переведенном документе начинаются почти на одной линии с оригиналом. В случае с русским, он объемнее английского, поэтому абзацы могут не влезать в свои рамки: для этого есть возможность пролистывать сам абзац (пример на скриншоте в конце 3.6 пункта, на самом деле там не простой обрез, а присутствует возможность пролистать текст).

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

🔗 Ссылка на сайт
🔗 Ссылка на расширение

Начинаю постепенное погружение в OSCP :)

#OSCP #материал
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥6👏2
С новым годом, защитники кибер пространства!
Пусть в новом году наш вклад в ИБ будет все больше и больше цениться во всем мире, все это следует закрепить крепким здоровьем и счастьем заниматься своим делом!
С новым 2025🔥
🔥135🎉4
😈 Бу, испугался?

Недавно на проекте была найдена (жаль, что не мной) критическая уязвимость!

К сайту подключен сервис SMS Aero, который для регистрации отсылает код подтверждения на номер телефона.

Проблема была в том, что сервер в ответе на запрос раскрывал логин и приватный токен на домене проекта с регистрацией личного кабинета😳

В результате было получено следующее:
➡️Баланс личного кабинета SMS Aero;
➡️Возможность читать все отправленные смс (коды) – регать новые аккаунты;
➡️Раскрытие прочей информации и номеров телефонов;
➡️Отправлять любое смс на любой номер телефона (скриншот).

Рекомендации:
Заменить API токен, т.к. он мог быть уже угнан злоумышленником;
Исключить раскрытие API токена на стороне клиента;
На стороне SMS Aero настроить белый список доступа по IP.

Невнимательность привела к пропуску критической уязвимости. Казалось, что это публичный токен, поэтому не стал ничего пробовать загуглить. Благо Тимлид обратил на это внимание😁
Будет мне уроком.

Enumeration is a key...

#кейс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10😁4🔥21
😈 Подгон атакующему от разработчиков

Недавно на проекте столкнулся с необходимостью найти все конечные точки (endpoints) API у домена для исследования внешнего периметра.

Конечные точки — это URL-адреса, через которые приложения взаимодействуют друг с другом (клиент <-> база данных/веб-сервис).


Во время перебора директорий и конечных точек я наткнулся на файл openapi.json, в котором был расписан весь список конечных точек API, а также их полное описание со структурой запросов на сервер и возможными ответами от него. Структура этого JSON-файла оказалась совместимой со Swagger.

Swagger — это инструмент для создания, документирования и проверки API.


Подробное описание функционала API помогло мне быстрее понять назначение всех конечных точек и выявить их недостатки безопасности. Этим же самым мог воспользоваться реальный злоумышленник. Подробная документация API упрощает процесс разработки инфраструктуры, но её не стоило оставлять в доступе во внешней сети.

#кейс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👏2😁2👍1
👍 Не могу нарадоваться

Потратил более часа чтобы настроить работу Кали в VMware на двух мониторах😁

Сталкивался с ошибками и некоторыми трудностями в процессе, но результат того стоит!

Теперь не так часто придется прыгать по окнам.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥4👏2
👨‍💻 Пополнение на моем рабочем столе!

Поставил новый монитор слева, т.к. привык туда больше смотреть, а прошлый справа😁

На левом и основном мониторах будет Кали, правый моник оставлю для быстрого доступа к винде (обсидиану и яндекс музыке).

Вне рабочего времени, думаю, правый монитор будет всегда выключен, т.к. достаточно и двух, но ещё посмотрим.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍4😁2
🤨 Галя, отмена!

Совсем недавно я даже не задумывался о том, в каких случаях Brute force атака действительно является таковой. Я считал, что перебор паролей с использованием радужных таблиц (то есть больших текстовых файлов с подготовленными паролями) — это и есть Brute force атака. Оказалось, что это не так.

Выяснилось, что я путал Brute force с понятием Dictionary attack!

Дело в том, что перебор по списку (как в случае, когда мы подбираем пароль к логину из радужной таблицы) — это именно атака по словарю, то есть Dictionary attack.

Brute force же в случае, когда нет заранее подготовленного списка, и мы перебираем случайные символы в надежде найти нужную комбинацию.

Путание этих понятий может привести к ошибке на теоретическом экзамене CEH (сертификация "Certified Ethical Hacker").

Так что давайте их не путать😁
Please open Telegram to view this post
VIEW IN TELEGRAM
👍96
🤠 Безопасности Вашим данным!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥118
This media is not supported in your browser
VIEW IN TELEGRAM
🥵 Прогрев

Выкатил новую полезную нагрузку XSS уязвимости — XSS Freezer, которая моментально нагружает процессор до 100% и не даёт браузеру пошевелиться. Закрыть вкладку не получится, помогает только полное закрытие браузера через крестик или диспетчер задач.

XSS (Cross-Site Scripting) — это уязвимость, когда злоумышленник может внедрить вредоносный код на сайт, который выполнятся в браузере других пользователей.


Нагрузка на процессор достигается за счёт WebGL 2.0 (API для отображения 3D-графики в браузере) с экстремальными настройками, сложными шейдерами, массовым рендерингом частиц, интерактивностью и негативной оптимизацией кода (т.е. не в пользу, а во вред пользователю).

Скрипт будет работать, если на странице отсутствуют:
➡️SOP (Same-Origin Policy);
➡️CSP (Content Security Policy);
➡️Валидация ввода (на сервере в том числе);
➡️И другие технологии, предотвращающие XSS.

Для работы скрипта также необходима поддержка WebGL 2.0 браузером.

Данный скрипт есть в GitHub репозитории.

🖥 Ссылка на GitHub репозиторий

⚠️ Предупреждение: Использование вне тестовых стендов — нарушение закона. Автор не несёт ответственности за злоупотребление полезной нагрузки.

#github
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥142❤‍🔥2
🗞 Думаю, многие уже слышали о взломе нового ИИ от китайцев DeepSeek, в результате которого были слиты секретные ключи, логи чатов и прочие внутренние материалы из-за ClickHouse-базы без пароля и логина.

Мне удалось выкачать БД со слитыми вопросами для ИИ от пользователей! Предоставляю скрин слитой БД.
// шутка

Но DeepSeek реально скомпрометировали, в данный момент уязвимость устранена, а команда безопасности уже занялась расследованием инцидента.

Пост ради шутки и предупреждения, что нельзя оставлять СУБД без настроек авторизации или использовать данные по умолчанию (например, admin/admin). Звучит банально, но может привести к непоправимым последствиям.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁10👍74
This media is not supported in your browser
VIEW IN TELEGRAM
🗣 Всем привет!

В первый пост канала я добавил новые хэштеги в навигации.
Вчера вечером также внес #bugbounty, где буду описывать найденные уязвимости на Bug Bounty программах.

Bug Bounty — это платформа с системой вознаграждений, где компании платят за найденные уязвимости в их системах. Компания создаёт программу, в которой прописывает правила: какие системы можно тестировать, какие уязвимости искать и сколько за них заплатят. Исследователи (этичные хакеры) ищут дыры в безопасности, а компании их вознаграждают. Это выгодно всем: компании защищают свои данные и репутацию, а исследователи получают деньги за свои навыки и опыт.


Найти там что-то шансов меньше из-за конкуренции, чем на проектах на моей основной занятости, но изредка буду сюда что-то отправлять. Bug Bounty прекрасен тем, что в свободное время без ограничений по срокам можно тестировать системы на безопасность.

На данный момент есть пару сданных отчётов в Bug Bounty, поэтому будет контент в ближайшее время.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥9👍2🔥2
🤨 Скрытая подмена

На днях открыл для себя новый вид атаки — Tabnabbing attack. Гениальная атака методом социальной инженерии, открытая в 2010 году безопасником Aza Raskin из США.

Её суть заключается в том, что злоумышленник изменяет содержимое неактивной вкладки браузера, чтобы обмануть пользователя и заставить его ввести конфиденциальные данные (например, логин и пароль) на поддельной странице.

В чём отличие от обычного фишинга? А в том, что по началу пользователю предоставляется легитимный контент. Главная задумка — дождаться, пока пользователь уйдет с вкладки и забудет про данный сайт. Далее, когда он будет вновь проходиться по открытым вкладкам, наткнётся на тот же мошеннический сайт, но там уже будет, например, поддельная страница авторизации в Google.

А ещё есть Reverse Tabnabbing — атака, которая работает в обратную сторону. Вместо того чтобы обманывать пользователя поддельным сайтом (социальной инженерией), она использует уязвимости на сайте. Не путайте с обычной Tabnabbing атакой. Если интересно, сделаю пост именно про Reverse Tabnabbing в будущем.

А как часто у вас накапливаются вкладки браузера? :)

#хакинг
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯9🔥53👍2
🔊 Спикерим

Сегодня вечером я провел онлайн-семинар для студентов из моей университетской группы на тему безопасности API и тестированию на проникновение на практике в веб-приложении VAmPI в Kali — всё прямо на семинаре! Материал для презентации был взят из моей Habr статьи на эту же тему.

Спасибо всем тем, кто пришел, проявлял активность в чате и писал слова поддержки. Всё это правда очень важно для меня.

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

🔗 Ссылка на запись семинара

#выступление
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥134👏1
😈 ОТРываемся

Прошлым месяцем на программе Bug Bounty нашел способ регистрировать аккаунты на несуществующие номера телефонов путём обхода OTP — OWASP A01:2021 (Broken Access Control).

Произошло это из-за неправильной архитектуры веб-приложения. При регистрации нужно подтвердить свой номер телефона кодом из СМС (англ. OTP — One-Time Password). Таким образом система должна убедиться, что регистрирующийся пользователь и правда владеет введённым номером. Но при анализе ответов с сервера я обнаружил, что мне возвращается 200-ый код и accessToken (см. скриншот). Это означает, что данные об аккаунте заносятся в базу данных еще до подтверждения кода из СМС. Мне было достаточно перейти в личный кабинет по ссылке https://<...>/profile через 2-3 минуты, после чего у меня был полный доступ к аккаунту. Причем интересно, почему именно спустя какое-то время (если у вас есть идеи почему так, жду комментарии).

Разработчикам необходимо переработать логику создания аккаунта — сначала подтверждение OTP, а после уже вносить аккаунт в базу данных. Конкретно в данном проекте нет возможности отказаться от подтверждения кода, поэтому этот момент должен быть проработан, иначе можно создавать множество аккаунтов на несуществующие номера.

К сожалению, уязвимость в репорте оказалась дубликатом: ровно месяц назад эту же дыру нашел другой специалист.

#bugbounty #кейс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥5👏3
💻 Игра по-крупному

6 часов назад к холодному кошельку биржи Bybit был получен несанкционированный доступ, в результате чего хакерами было выведено 401346 ETH (~1 млрд долларов). Об этом заявил CEO биржи.

Это крупнейшая кража в истории криптовалюты.

С данного момента мультиподпись и аппаратные кошельки не гарантируют безопасность. Ожидаем новые методы защиты?

Берегите свои активы!

#новость
Please open Telegram to view this post
VIEW IN TELEGRAM
😱121👍1
😈 Букет уязвимостей

Недавно на программе Bug Bounty несколько уязвимостей вместе позволили добиться вектора атаки с высоким уровнем критичностиCVSS 8.8.

Общая краткая суть в перехвате сеанса — Session Hijacking (A2:2017-Broken Authentication).

Будем разбирать данный вектор поэтапно:
➡️1) Первым делом нужно украсть cookie и данные из браузерного хранилища (local/session storages) жертвы. Сделать это проблем не составит, жертве достаточно будет перейти по ссылке атакующего, поскольку на сайте отсутствует атрибут HttpOnly, который предотвращает кражу cookie и local/session storages с помощью JavaScript (см. скриншоты).
➡️2) После того, как мы получили cookie и local/session storages вставляем их в свой браузер. Это можно сделать быстро с помощью браузерных расширений по типу Cookie-Editor и LocalStorage Editor. Теперь перезагружаем страницу и мы оказываемся в аккаунте жертвы. Веб-приложение уязвимо к такой атаке, поскольку оно полагается исключительно на данные, хранящиеся в браузере, для автоматической аутентификации пользователя, без дополнительной проверки пароля или других факторов аутентификации. На этом можно было и остановиться, поскольку цель уязвимости Session Hijacking достигнута, но я пошел дальше.
➡️3) Находясь в сессии пользователя (в данном случае в своем втором аккаунте, созданном для этой цели), я имею к ней полный доступ. Что нам мешает попробовать сменить почту или номер телефона? И тут еще один сюрприз: при смене этих данных веб-приложение запрашивает код подтверждения только из нового email/номера телефона, который я ввел, а не старого. По логике должно сначала быть наоборот. Тем самым еще помимо нарушения конфиденциальности и целостности нарушилась и доступность. Легальный пользователь не сможет зайти в свой аккаунт, поскольку логин будет без проблем сменён.
➡️4) Помимо всего этого, в аккаунте также можно заполнить адрес проживания и банковскую карту (её заполнить не пробовал, но не думаю, что данные карты были бы полностью видны).

Краткий итог:
➡️Нарушена конфиденциальность — доступ к аккаунту путём кражи сессии.
➡️Может быть нарушена целостность — поскольку есть полный доступ к аккаунту, злоумышленник может изменять какие-либо данные на аккаунте.
➡️Может быть нарушена доступность — есть возможность без проблем менять номер телефона или логин к аккаунту, которые являются логином для входа в аккаунт. Система не запрашивает код подтверждения на предыдущие реквизиты, а предлагает ввести код из новых введённых.

Рекомендации по исправлению:
Внедрить HttpOnly атрибут в веб-приложении, предотвращающий кражу cookie и local/session storages через JavaScript.
Внедрить CSP (content security policy) для большей защиты от вредоносных JS-скриптов.
Хранить токен следует в sessionStorage вместо localStorage, так как данные в sessionStorage очищаются при закрытии вкладки браузера, что снижает риск их утечки. Поэтому их копирование на другой браузер не сработает.
Реализовать механизм проверки подлинности сессии на стороне сервера. Например, использовать привязку сессии к IP-адресу или устройству пользователя. Это усложнит использование украденных cookie на другом устройстве.
Добавить обязательную проверку старого email или номера телефона при их смене. Код подтверждения должен отправляться как на старый, так и на новый адрес/номер, чтобы предотвратить несанкционированную смену данных.

Выплачивать отказались с пометкой "out-of-scope".

#bugbounty #кейс
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍4👏21