root@rivens.life

Basic concepts of cybersecurity and programming.
All content is published for introductory purposes. The author urges you to love each other.
Git: https://github.com/rive-n
Stackoverflow: https://stackoverflow.com/users/14683725/r1v3n

Конец года - это отличная возможность разобрать весь завал из вкладок, оставленных на "почитать на потом". Делюсь всем тем, что удалось нарыть: ⏺ Методы исполнения в Python окружениях (методы выхода из sandbox'ов). Очень полезно на всяких CTF и бывает помогает для решения тачек на Hack The Box. Из прям крутого, что можно записать в заметки: ⏺Есть возможность исполнения с помощью eval(), но нет возможности вызвать compile(). ⏺Python bytecode. Вот тут я упоминал, что можно использовать штуку под названием dis.dis(), но без подробностей. По ссылке подробности, такие, как: написание собственного дизассмеблера, информация о том, как хранятся опкоды и что такое опаргументы, что такое Stack/Heap, как и где хранятся объекты и что происходит внутри CPython. ⏺ Крадем пароль от супер-пользователя на u*nix like системах. Если вкратце, то весь трюк заключается в том, что атакующий может подменить исполняемый файл (type sudo) на bash script, который будет вести себя схожим образом, используя утилиту read, скрывая вводимые данные с помощью флага -s и сохраняя пароль в локальный файл или отсылая его на сервер, подконтрольный атакующему. Немного видоизмененный скрипт доступен по следующей ссылке. ⏺ Отличный гайд по написанию несложных утилит под esp32. ⏺Алгоритмы и структуры данных с примерами на языке программирования Python. ⏺ Абстрактные синтаксические деревья, разбираемся на примере Python. ⏺ Yet another SSTI в pugjs. ⏺Envoy heap vulnerability - уязвимость возникла в следствии неправильной обработки данных во время процесса HTTP/2 -> HTTP/1 forwarding.

Не удалось загрузить видео

Открыть в Telegram
157
root@rivens.life pinned a file

Не удалось загрузить видео

Открыть в Telegram
Если вам вдруг тоже было интересно, как именно работает под капотом технология контейнеризации, то советую ознакомиться с этим постом. Не так давно я решил упороться по некоторым штукам, поставляемых ядром линукс. К примеру - unshare, cgroups, apparmor, capabilities and etc. Почти все это используется для реализации изолированных окружений, которые, в целом, могут быть названы контейнером. Сами контейнеры, если мы говорим о таком вендоре, как Docker, работают на основе технологий, описанных выше, а также используют некоторый сисколлы, на типе: fork, prctl, clone и другие. Неплохой разбор относительно того, что происходит после запуска контейнеров, может быть найден в видео от LiveOverflow (тык). Понятное дело, что это лишь вершина айсберга. Для того, чтоб сложилась полная картина мира, мне пришлось потратить достаточно большое количество времени на своего рода ресерч. В конце-концов, я нашел выжимку по namespaces, ознакомиться можно тут. Но если этого вдруг будет мало, то вот весь перечень материалов, которые были использованы мной для полного ознакомления с тем, как работают неймспейсы, что и куда мапится и так далее: 1. Цикл статей по namespaces. 2. Более глубокое погружение в недра линукса - ознакомление с необходимыми сисколами. 3. seccomp в контексте контейнеров. 4. Контрольные группы - cgroups v1 - руководство для чайников. 5. cgroupsv1 vs cgroup v2. 6. Создаем свою контрольную группу. 7. Linux kernel Namespaces and cgroups - resource management. 8. Создаем свои изолированные среды с использованием unshare. 9. PID Namespace - изоляция дерева процессов. 10. Примеры кода на языке программирования Си, позволяющего исполнять что-либо в контексте namespaces. 11. Unshare - man (самое полезная дока за всю мою жизнь). К посту будет прекреплена моя преза по созданию изолированных окружений с использованием unshare. Там еще есть совсем немного про контрольные группы. Приятного ознакомления :)

Не удалось загрузить видео

Открыть в Telegram
396
История о недавнем случайном похеке. Я недавно съехал в съемную квартиру, тут стоял старенький роутер [ДАННЫЕ УДАЛЕНЫ]. Роутер очень любил рвать соединения, отчего появилось желание его сменить. Но, как известно, чтоб сменить роутер надо знать некоторые настройки, которые провайдер обычно высылает в письме или предоставляет в договоре. Доступа к договору, понятное дело, тоже не было.. Ну и как то ночью я решил посмотреть, что именно за технологии использует роутер [ДАННЫЕ УДАЛЕНЫ]. Так получилось, что мне удалось обойти некоторые правила безопасности продукта [ДАННЫЕ УДАЛЕНЫ] и получить всю необходимую информацию для настройки нового роутера, т.е: 1. ip 2. mask 3. gateway 4. dns_primary Возможно, эти данные можно получить и как-то иначе, но я не задавался этим вопросом. Бага позволяет получить куда больше инфы прямиком из админки. Постараюсь немного позже сделать разбор :)

Не удалось загрузить видео

Открыть в Telegram
241
🪲 27 проектов от VK ждут вас на платформе BI.ZONE Bug Bounty! Встречайте программу bug bounty от VK — компании, которая не нуждается в представлении. В скоуп входят «ВКонтакте», «Одноклассники», «Почта Mail.ru» и другие — 27 проектов с разной инфраструктурой и подходами к безопасности на любой вкус. За найденную уязвимость вы получите вознаграждение от 3 тыс. до 1,8 млн рублей в зависимости от уровня критичности угрозы. Программа уже доступна на нашей платформе. Чекайте скоуп и ловите баги!

Не удалось загрузить видео

Открыть в Telegram
305
👨‍💻 Уязвимые фрагменты кода Если хотите попрактиковаться в анализе защищенности кода, то обратите внимание на репозиторий от YesWeHack, которые каждую пятницу публикуют у себя в твиттер фрагменты кода с различными уязвимостями. Фрагменты кода удобны для начинающих, но подходят для всех уровней. Репозиторий также содержит скрипт для установки и тестирования этих фрагментов кода локально. Ссылка на GitHub #code #web

Не удалось загрузить видео

Открыть в Telegram
330
Я просто оставлю это здесь: https://hackerone.com/reports/1685822

Не удалось загрузить видео

Открыть в Telegram
133
Очередная порция новостей. На этот раз за октябрь 2022! 1. GBK Encoding - CRLF Injection to Reflected XSS. GBK Encoding - расширение для набора символов под идентификатором GB 2312, созданное для упрощения Китайского. Следующий набор символов представляет из себя ничто иное, как всем известную комбинацию: \r\n - 嘍嘊. Этим и воспользовался исследователь, за что получил 6000$ от Microsoft. Прочитать подробнее можно тут. 2. CSTI to Stored XSS in Microsoft Azure SFXv1 - Исследователь обнаружил несколько недоработок, в следствии которых ему удалось проэксплуатировать CSTI, получить Stored-XSS для того, чтоб в дальнейшем была возможность управлять кластером или определенными его участками (нодами) от имени администратора. 3. Text4Shell - уязвимость, затрагивающая компонент Apache Commons Text. Уязвимость возникла из-за недостаточной обработки данных, что впоследствии приводило к возможности исполнения произвольного кода на сервере, но только в определенных обстоятельствах. Для эксплуатации необходимо, чтоб на сервере был следующий сетап: 3.1 Создавался объект типа StringSubstitutor; 3.2 Вызывалась одна функция из перечня: [replace, replaceIn]; 3.3 Был установлен движок обработки скриптов, к примеру - Nashorn для JDK <= 15 и JEXL для версий свыше 15; 3.4 Пользовательские данные без обработки попадали в одну из функций из пункта 3.2. 4. Forti*Auth bypass - Байпас авторизации в таких продуктах, как: FortiOS, FortiProxy, FortiSwitchManager. Уязвимость возникла из-за неправильной обработки заголовков. Благодаря чему, атакующий мог манипулировать заголовком Forfard и заголовком User-Agent, что в совокупности дало возможность обойти авторизацию и получить неправомерный доступ к системам. 5. GitLab Remote code execution (make gitlab great again) - Уязвимость, базирующая на возможности перезаписи объектов, в следствии чего атакующий может получить удаленное исполнение кода через сериализованный RESP объект, расположенный в кэше Redis. 6. Microsoft Office 365 Message Encryption (OME) utilitises Electronic Codebook (ECB) mode of operation - уязвимость, возникшая из-за Electronic Codebook (ECB) mode of operation. #news

Не удалось загрузить видео

Открыть в Telegram
113
Недавно столкнулся с проблемой, когда есть доступ к хипдампу джавы через Spring boot actuator, но дамп весит очень много и не может быть распаршен самыми распространенными инструментами. Решил написать о том, чем можно попробовать открыть и проанализировать подобные файлы и что делать, когда ничего не получается. Прочитать можно тут.

Не удалось загрузить видео

Открыть в Telegram
127
Что интересного произошло за сентябрь 2022: 1. Было зарегистрировано 2 новые CVE, которые в совокупности дают чейн, позволяющий произвести удаленное исполнение кода на Zimbra server. CVE-2022-27925 - ZIP Slip, для эксплуатации нужна учетка админа + CVE-2022-37042 - Байпас авторизации. Можно было не указать токен авторизации в запросе и получить доступ к некоторым возможностям администратора. 2. GifShell - новый вектор атак на Microsoft Teams, состоящий из чейна недоработок. По дефолту, сотрудники компании не могут отсылать незнакомцам вложения. Но если записать трафик и попробовать повторно отправить записанный пакет, изменив уникальный идентификатор чата, то окажется - что вложения отсылать можно. Плюс ко всему, можно изменять все поля в JSON'e, в котором, как оказалось, хранятся 2 важных ключа: title - название файла, которое будет отображаться в чате, baseUrl - url, откуда будет получен файл. baseUrl также может являться диплинком, что позволяет атакующему с легкостью украсть Ntlm hash через запуск некоторых приложений. Также, есть возможность получения удаленного исполнения кода посредствам загрузки стейджера. Подробнее можно ознакомиться тут и тут. 3. Gitlab Import RCE - удаленное исполнение кода в процессе импорта проекта в гитлабе. CVE-2022-2185 - суть заключается в том, что атакующий может заставить гитлаб в процессе формирования пайплайна сходить на поддельный сервер, спарсить значения из поддельного graphql и проэксплуатировать command_injection. 4. GitLab - Path traversal to RCE - CVE-2022-0831 - после авторизации можно было обратиться на ручку, которая была уязвима к path traversal из-за неправильной фильтрации по regex. Логика была такова: взять из строки все, кроме слешей. По итогу это обходилось обычным urlencode. Как получается RCE? Эта ручка поддерживает метод PUT и загрузку файлов. Таким образом, можно в любое место загрузить свой файл. К примеру - id_rsa.pub. 5. JuicyPotato is back! Скачать POC можно тут. Ознакомиться с ресерчем тут. 6. BitBucket RCE. 7. IKE RCE - CVE-2022-34721. #news

Не удалось загрузить видео

Открыть в Telegram
190
GraphQL - это не так больно, как кажется. Вся грязь, которую можно натворить с использованием GraphQL базируется на паре приемов. В последнее время очень часто сталкивался с GraphQL на проектах и достаточно успешно находил в сервисах кучу баг. GraphQL is a query language for APIs and a runtime for fulfilling those queries with existing data. A GraphQL service is created by defining types and fields on those types, then providing functions for each field on each type; Весь пентест GraphQL строится вокруг Интроспекции. Интроспекция - это ничто иное, как описание всего, до чего мы можем дотянуться. Аналогия - information_schema. Благодаря интроспекции можно получить: 1. query - ничто иное, как GET в протоколе HTTP/HTTPS. Получаем данные, но изменять их не можем. 2. mutation - POST/PUT/DELETE etc. Все, что может изменять данные тем или иным образом. Бывает так, что запрос интроспекции отключен некоторыми правилами приложения для обеспечения большей безопасности. В этом случае можно получить интроспекцию с помощью активного сканирования. Для этого есть инструмент под названием clairvoyance. Не буду описывать процесс установки, там все достаточно тривиально. После получения Интроспекции переходим в burp и устанавливаем 2 расширения: 1. Raider - супер удобное расширение, которое позволяет в удобном виде видоизменять GraphQL запросы. Форматирование и экранирование производится благодаря этому расширению. 2. Inql - основной инструмент для построения запросов. Аналогия - wsdler. На основе интроспекции получаем набор мутаций и запросов. Что может быть найдено в процессе тестирования? Все зависит от стека и от реализации. Зачастую - Broken access control, stored cross-site scripting, sql injections. *Под звездочкой*: Недавно наткнулся на интересную реализацию GraphQL. Представьте, что у вас есть не 1 большой связный граф, как это обычно бывает, а несколько. При работе с GraphQL необходимо обращать внимание на ошибки и на заголовки запроса. К примеру, есть интересный заголовок: Execution-Context, который, как ни странно, отвечает за контекст (за граф) в котором будет выполнен запрос. Проще говоря - это своего рода ролевая модель, только вместо ролей - графы. Что делать в случае, когда наткнулись на Execution-Context? После получения валидного запроса к GraphQL отправляем все это дело в burp intruder и фаззим значение данного заголовка. Далее - фильтрация по Content-Length. Update: обязательно добавить в словарик: /voyager - рендеринг интроспекции. Можно украсть Интроспекцию и отрендерить самому тут. /graphql - ручка, на которой обычно располагается graphql.

Не удалось загрузить видео

Открыть в Telegram
360
Был разработчиком задания Baby Cached View. У многих от него очень сильно горело, так как многие пытались сбрутать хеши и зайти под полученными учетными данными. Делать нужно было совсем не так, вот райтап: https://riven.pw/posts/ctf/ctfdev/posts/new_post/ UPD: Немного изменил пост, добавил красивых картиночек (:

Не удалось загрузить видео

Открыть в Telegram
263
​Так вот, о чем видос: Существует так называемая самореферентная формула, открытая Джеффом Таппером и в последствии названная Формулой Таппера, которая позволяет изобразить себя при отображении на плоскости. Формулу можно использовать для воспроизведения произвольных изображений, при этом она не будет содержать никаких ссылок на себя. Как именно это работает - можно прочитать по ссылке, закрепленной в 1ой кнопке. Ну и сам анонс - я решил переехать с ресурса telegra.ph, так как он жутко не удобный и не позволяет мне делать то, что необходимо, для нормальной редакции постов. Поэтому, встречайте: https://riven.pw!

Не удалось загрузить видео

Открыть в Telegram
103
Я тут хотел кое-что заанонсить, но очень противный человек под ником @mlsdmitry вкинул идею: "Сделай какой-нибудь челлендж, после прохождения которого ты получаешь ссылку...Но не base64..." Кто я такой, чтоб не согласиться на подобную авантюру? И, удивительно, это не WEB! В общем, задачка скорее фана ради, нежели ради пота. Для решения можно посмотреть видосик.

Не удалось загрузить видео

Открыть в Telegram
145
Принимал участие в разработке заданий на еще 1 соревнования от ребят из BSS, пост со всей информацией: https://t.me/bank_security_challenge/3 Задания обещают быть интересными, советую принять участие :)

Не удалось загрузить видео

Открыть в Telegram
117
Принимал участие в разработке задания Proxyhell. Всего задание было решено 3 командами. Райтап, опубликованный @sh1y0, можно прочитать тут. Если вкратце - было дано несколько конфигурационных файлов, так как сеть приложения состояла из нескольких прокси серверов: 1. Varnish; 2. Apache в качестве реверс прокси; 3. Nginx; 4. Nginx ldap; На 3 ноде (Nginx) была проверка на то, что задан заголовок X-Real-Ip, который, якобы, должен свидетельствовать о том, что запрос сделан не из локальной сети. Если данный заголовок задан - Nginx отдаст 403 код. Для того чтоб решить данное задание необходимо было ознакомиться с ошибкой в механизме Hop by hop. После успешной эксплуатации необходимо было найти уязвимость в Nginx ldap, о которой было крайне много шуму несколько месяцев назад. Суть заключалась в том, что сервер позволяет указать, куда именно будет делаться запрос с попыткой авторизации. При попытке авторизации Nginx передаст имя пользователя и пароль в открытом виде. Райтап классный, спасибо всем, кто принимал участие в CTFZone/OFFZone 2022!

Не удалось загрузить видео

Открыть в Telegram
120
[OUTDATED] Уже через 4 минуты начинается CTF.Zone 2022! В этом году я также принимал участие в разработке и тестировании тасков. Задачки обещают быть очень интересными :).

Не удалось загрузить видео

Открыть в Telegram
127
🎰 Доступна полная программа OFFZONE 2022 2 трека, 3 тематические зоны — 58 докладов и 3 воркшопа с отборным техническим контентом ждут вас уже на следующей неделе! Смотрите программу на сайте

Не удалось загрузить видео

Открыть в Telegram
85
​Байпас авторизации в продуктах #VMware: https://twitter.com/VietPetrus/status/1554485970514608128 Пок обещают опубликовать позже, но пока есть только скрин и митигейшн

Не удалось загрузить видео

Открыть в Telegram
275
Не получается обойти пиннинг с использованием какого-то скрипта или с использованием objection? Не беда. Какой-то энтузиаст собрал воедино несколько проверенных скриптов для обхода пиннинга: https://github.com/httptoolkit/frida-android-unpinning

Не удалось загрузить видео

Открыть в Telegram
324