Coffee cube
276 subscribers
119 photos
17 videos
24 files
82 links
Этот канал посвещен моему пути в сфере Информационной безопасности.

Выкладываю статьи по моим исследованиям, райтапы на лабораторные работы и забавные истории. Присоединяйтесь^3

По всем вопросам можете писать мне в ЛС: @ju57_4_cu63
Download Telegram
Привет^3☕️

SSRF — кто ты такой?

Server-Side Request Forgery или подделка запроса на стороне сервера — это уязвимость веб-приложения, которая заставляет сервер отправлять запросы в несанкционированные места. В типичной атаке сервер вынуждают подключаться к сервисам, доступным только внутри инфраструктуры организации. В других случаях можно достучаться и до внешних систем. Итог — утечка чувствительных данных.

👊Чем это грозит?

С помощью данной уязвимости можно:
Прочитать локальные файлы
Получить доступ к внутренним системам
Обойти ограничения
Просканировать внутреннюю сеть

Куда мы без примера-то

В атаке SSRF сервер можно заставить выполнить HTTP-запрос на свой же loopback-интерфейс: 127.0.0.1 или localhost.

Предположим, сайт магазина позволяет просматривать товары. Для этого фронтенд дергает API, передавая URL на соответствующий endpoint бекенда через HTTP-запрос .


POST /product/stock
HTTP/1.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 118

stockApi=https://stock.weliketoshop.net:8080/product/stock/check%3FproductId%3D6%26storeId%3D1


Можно модифицировать этот запрос и направить его на другой URL:


POST /product/stock
HTTP/1.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 118

stockApi=https://localhost/admin


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

🍪Печеньки Практика

Потрогать руками этот тип уязвимости можно в следующих лабах:
✏️Basic SSRF against another back-end system
✏️Basic SSRF against the local server
✏️Blind SSRF with out-of-band detection
✏️SSRF with blacklist-based input filter
✏️SSRF with filter bypass via open redirection vulnerability


☕️ тг🤬чатик✍️посты

#web #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
77😱4👨‍💻21
Привет^3☕️

Сегодня поговорим о вечном)🤓

При реверсе одним из первых шагов является вызов утилиты strings или чего-то подобного. По строкам в бинарном файле можно составить общую картину поведения: найти ссылки на github, отладочные сообщения, пути до файлов и многое другое.

Что могло пойти не так?

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

Так что я считаю, что побаловаться с XOR должен каждый. Вы еще не раз встретите его в моих разборах. Вперед, поксорьтесь со всеми🥺:

Bytes and Big Integers
XOR-1. Starter
XOR-2. Properties

↖️ 📕тг🤬чатик✏️посты

#crypto #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
6❤‍🔥41👨‍💻1
Привет^3☕️

API можно не только писать, но еще и эксплуатировать в своих целях. Об этом и поговорим)

Чаво😼

Application Programming Interface - это интерфейс общения между клиентом и сервером. Современные приложения почти полностью завязаны на API:
• фронтенд подгружает данные через API;
• мобильные приложения общаются с сервером тоже через API;
• микросервисы внутри крупных систем связываются через... API;
• интеграции (платежи, карты, рассылки) строятся на внешних что? Правильно - API;

Именно поэтому безопасность API важна безопасность всего приложения.

С чего начинается атака?

Чтобы API тестировать - нужно найти хоть какие-то ендпонты)
какие есть эндпоинты;
какие параметры они принимают;
какие методы поддерживают (GET, POST, PATCH, OPTIONS и т.д.);
есть ли ограничения по частоте запросов и как работает авторизация.

В этом может помочь документация, которая бывает в открытом доступе. Даже если ее нет - эндпоинты можно найти с помощью фаззинга, например через ffuf, или же поискать в JavaScript файлах.

🧙Пример атаки

Многие фреймворки автоматически связывают параметры из запроса с полями в базе. Если разработчик не ограничил список полей, можно «подбросить» лишние:


PATCH /api/users/123
{
"username": "wiener",
"email": "[email protected]",
"isAdmin": true
}


Если сервер примет isAdmin и сохранит - вжух, и админка у нас в кармане.

😼Как защищаться

• Делать allowlist допустимых параметров и методов;
• Проверять типы входящих данных;
• Прятать документацию, если API не публичное;
• Унифицировать обработку ошибок, чтобы не сливать лишнюю информацию;
• Не забывать про старые версии API.

Вперед к приключениям тестированию💃

Попробовать поискать и проэксплуатировать ендпоинты API, а не писать их можно в следующих лабах:

Exploiting a mass assignment vulnerability
Exploiting an API endpoint using documentation
Exploiting server-side parameter pollution in a query string
Finding and exploiting an unused API endpoint


↖️ 📕тг🤬чатик✏️посты

#web #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
5❤‍🔥5👨‍💻1
Привет^3☕️

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

Рассмотрим пример коллизионной атаки на хэши, патчинг и динамический анализ. Настоятельно рекомендую сначала попробовать решить самостоятельно, а затем изучить другие решения 😮

📎Ссылка на лабу

↖️ 📕тг🤬чатик✏️посты

#reverse #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍6🔥2👨‍💻1
Нет времени объяснять. 😒 Какие темы для постов вам нравятся?
Anonymous Poll
54%
🌐 Веб
35%
👨‍💻 Крипта
37%
😵‍💫 Реверс
38%
😄 Мемы
13%
💬 Другое (напишу в комментариях)
1👍1🤔1
Привет^3☕️

Чтож... Поговорим про уязвимости в процессе аутентификации.

Что это такое?

Аутентификация — это проверка подлинности лица, которое хочет получить доступ к системе. Если говорить проще, то система задаёт нам вопрос: «А ты точно продюсер?» Если система совсем глупая, то можно ответить «Да» и ни о чём не переживать. Но чаще всего это нужно будет подтвердить.😍

Самый базовый способ — проверка пароля. Не буду напоминать, что хранить пароль в БД в открытом виде нельзя. Так же не стоит скидывать его мне в личку @ju57_4_cu63 вместе с логином.😎

А в чём подвох?🤔

Даже не зная пароля, на этом этапе можно получить полезную информацию. Картинка к посту, конечно, мемная, но со смыслом.

Информативно описывать ошибки - это хорошо, но есть нюанс... Если явно указывать, что именно неверно - логин или пароль, то логины можно перебрать по словарю. Если приходит ошибка «неверный пароль», значит, пользователь существует. А это уже пригодится для дальнейшей атаки.

И это всё?😏 Конечно нет. Для выявления существующих пользователей может помочь задержка по времени при проверке пароля, различия в ответах сервера для существующего и несуществующего пользователя, даже блокировка аккаунта при вводе некорректного пароля.

Чё ж делать, чё ж делать🔥

Вот небольшой список рекомендаций:

Не стоит сливать действующие пароли: если пароль известен - мало что поможет. Все попытки аутентификации по HTTP нужно перенаправлять на HTTPS;
При некорректной попытке входа не сообщайте пользователю, какое именно поле неверно. Лучше использовать универсальную ошибку;
Валидируйте пароли, запрещая слишком простые и слишком длинные.

Идите и пробуйте сами😉

Описанные методы можно потрогать в следующих лабах) Удачки😮

Username enumeration via different responses
Username enumeration via subtly different responses
Username enumeration via response timing
Username enumeration via account lock


↖️ 📕тг🤬чатик✏️посты

#web #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
6❤‍🔥7🔥2👍1👨‍💻1
Привет^3☕️

Наконец то это свершилось. 17-го сентября в 10:00 (мск) состоится мой стендап 😃мое выступление про бесфайловые атаки на Linux на конференции VolgaCTF. Запасайтесь попкорном🍿 - будет трансляция! Ссылку обязательно скину, как только она появится.

В своём докладе я расскажу про тренды в малваре, связаные с запуском файлов прямо в оперативной памяти👻. Приведу пару примеров, которые встречал в процессе работы, а также покажу PoC 👨‍💻 для этих техник.

Готовьтесь смеяться, кринжевать и узнавать что-то новое)🧚


↖️ 📕тг🤬чатик✏️посты

#анонс
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍166🏆2👨‍💻1
Привет^3☕️

Это служба безопасности Сбербанка. На вашем счёте замечена подозрительная активность. Назовите код из SMS... Ну пожалуйста... Вечер в хату...😐

Как вы могли догадаться, речь пойдёт про двухфакторную аутентификацию. Чтобы не ломать себе мозг и язык - просто 2FA.

Что такое 2FA и с чем его едят? 🤌

Это дополнительный уровень защиты: помимо пароля, система требует ещё что-то — код из SMS, push-уведомление, токен или приложение (Google Authenticator, Authy, Multifactor и т.д.).
Идея в том, что даже если пароль украдут, вход будет затруднён.

Я Конор, и я проверю, как это работает на самом деле😼

email-коды - это вообще не 2FA, а та же однофакторка, только с костылями;
у некоторых сервисов 2FA проверяется только при логине в веб, но не в мобильном приложении или через API;
"обязательная" 2FA может отключаться, если угадать резервные коды или сбросить пароль;
ну а иногда разница в том, есть она или нет, нулевая.

Как атакуют😇

Фишинг: создаётся фейковая страница, куда жертва вводит и пароль, и одноразовый код;
Вишинг: ребята из службы безопасности Сбербанка лично звонят вам за кодом;
Пробелы в логике: например, вход через "забыли пароль" обходит весь процесс 2FA.

Лабки🐈‍⬛️

Очевидно, что фишить никого я не предлагаю. Но попробовать обойти 2FA всё ещё можно вот в этих лабах:

•2FA simple bypass
•2FA broken logic


↖️ 📕тг🤬чатик✏️посты

#web #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
67🎃3😁2👨‍💻1
Привет^3 ☕️

Продолжаем постигать дзен криптографии🙏. AES — пффф, конечно нет. RSA — рано. Постквантовая криптография — банально🗿. Сегодня опять XOR. Да, мой ваш любимый XOR.

В лабах попытаемся подобрать ключик для наших флагов. Это вполне себе реально. И довольно часто может пригодиться в реверсе. Поэтому стоит попробовать:3 🙌

Favourite byte
You either know, XOR you don’t

↖️ 📕тг🤬чатик ✏️посты

#crypto #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
64🔥2👨‍💻21
Привет^3

Надеюсь, что попкор и прохладительные напитки у вас под рукой, так как через час вы будете созерцать мое выступелние. Трансляцию можно найти вот на этой странице. Я выступаю на треке B. Жду вас там в 10:00 по мск🥹
Please open Telegram to view this post
VIEW IN TELEGRAM
78👏6🔥2👨‍💻1
VolgaCTF_presentation.pdf
18.1 MB
Немного измененная презентация с доклада:3
5👍6🔥3👏3👨‍💻1🆒1
Совсем забыл. В презентации есть пасхалка) Она сомнительная, но веселая. Кто первый найдет и скинет ее мне в личку - может забрать вот этот рюкзак. Он прикольный, но у меня есть свой любимчик)

↖️ 📕тг🤬чатик ✏️посты

#оффтоп
Please open Telegram to view this post
VIEW IN TELEGRAM
25👍1😎1
Привет^3☕️

Некоторые уже сдались и просили им отдать ответ, чтобы они могли спать спокойно.🗿

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

И так, подсказка: все скрины делал я, в том числе скрины вредоносов. В декомпиляторах есть замечательная возможность их патчить. Поэтому ищите пасхалку в скринах декомпилированного кода:3

↖️ 📕тг🤬чатик ✏️посты

#оффтоп
Please open Telegram to view this post
VIEW IN TELEGRAM
3🙉1
Привет^3☕️

В предыдущих постах мы начали реверсивно инжинировать. Но вирусная аналитика - это не только реверс. Часто приходится разбираться в техниках, которые используют разработчики ВрПО(кто понял - тот понял)👾 для того, чтобы усложнить нам жизнь.🚽

Сегодня разберем одну из таких техник, а именно обнаружение отладчика.🐈‍⬛️

↖️ 📕тг🤬чатик ✏️посты

#reverse #malware
Please open Telegram to view this post
VIEW IN TELEGRAM
671🔥1😁1😭1👨‍💻1
Привет^3☕️

Зачем брутить пароль, если его можно просто сбросить?😎

Об этом и поговорим.

А в чем собственно дело?🙂

Вот вы сохранили хэшированный пароль. Добавили в него уникальную соль как по-питерски. Казалось бы - все секурненько. Но нет. Ведь защищать только проверку пароля недостаточно)

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

Следует проверять весь функционал сайта, который связан с аутентификацией.

Предлагаю вам оценить данный подход😮:

Password reset broken logic
Password reset poisoning via middleware

↖️ 📕тг🤬чатик✏️посты

#web #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍531
Привет^3☕️

В ROT мне ноги — сегодня снова криптография, и даже немножечко программирования.👨‍💻

Лабу не назовешь сложной, но она дает повод попробовать Python для автоматизации. Новички часто спрашивают: нужно ли им знать программирование, чтобы идти в ИБ? Ответ неоднозначный, но все же скорее нет, чем да. 🙂

Задач в ИБ много, и все разнообразные. Почти всегда они не связаны с программированием, но в тоже время умение автоматизировать какие-то задачи может здорово пригодиться: воспроизвести алгоритм при реверсе, написать какой-нибудь деобфускатор или написать имитацию C2 сервера, чтобы поймать запрос.

Поэтому не стоит зацикливаться только на программировании. Это когда-то было и моей ошибкой.😔 А если вы уже ебать лох, как и я что-то умеете — то эти знания можно здорово применить.

В разборе я буду использовать python модуль — pwntools. Его часто используют для pwn, поэтому имеет смысл с ним познакомиться. При желании лабу можно решить на любом языке, даже на brainfuck земля вам пузом. 🫡⌨️

Encoding Challenge

↖️ 📕тг🤬чатик✏️посты

#crypto #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
651❤‍🔥1
Привет^3☕️

Я уже писал про брутфорс в контексте взлома архива 📄. Поэтому рекомендую почитать пост и статью, там есть полезные ссылки на различные вордлисты.

Если не получается обойти стену, то можно ее проломить.💪 Брутфорс никто не отменял. Сложно ли это - нет. Долго ли это - да. Но таков путь.🤨

Сайты защищаются от подобных атак: блокируют IP, используют CAPTCHA. Ну а вдруг прокатит?)🤔

Предлагаю вам попробовать самим🍸:
Broken brute-force protection, IP block
Brute-forcing a stay-logged-in cookie
Offline password cracking
Password brute-force via password change


↖️ 📕тг🤬чатик✏️посты

#web #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
34👨‍💻1
Привет^3☕️

Продолжаем изучать реверс. Медленно, но верно. Помните я упомянул про XOR😇, назвав его граалем криптографии? Так вот - я не врал. Сегодня снова он)🤬

Реверс - практический навык, поэтому без практики не обойтись👉. Поэтому как всегда будут лабки:
Nostr 7
crackme1


↖️ 📕тг🤬чатик ✏️посты

#reverse #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
641👨‍💻1
Привет^3☕️

Сегодня в лабе будет достаточно интересный способ обхода аутентификации.😱 Заключается он в логической ошибке обработки паролей. А именно, парсер успешно парсит список паролей и любезно проверяет каждый из переданных. Это позволяет обойти защиту от брутфорса🏋️‍♂️.

Так что предлагаю вам попробовать решим самим. Я не шучу. Вот лаба. Идите. Решайте. Кыш😉:

Broken brute-force protection, multiple credentials per request


↖️ 📕тг🤬чатик✏️посты

#web #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
6❤‍🔥511🔥1👨‍💻1