RedTeam brazzers
Про внутряки и редтим. Пригласить друга (и красивую подружку): @RedTeambro Вступление в чат канала через кнопку «Подать заявку» в комментариях канала. Некоммерческий проект. Не одобряем блек. Выступаем против всего плохого и за все хорошее🙂
显示更多📈 Telegram 频道 RedTeam brazzers 的分析概览
频道 RedTeam brazzers 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 12 755 名订阅者,在 技术与应用 类别中位列第 9 981,并在 俄罗斯 地区排名第 51 967 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 12 755 名订阅者。
根据 11 六月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -121,过去 24 小时变化为 -2,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 31.89%。内容发布后 24 小时内通常能获得 N/A% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 0 次浏览,首日通常累积 0 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 0。
- 主题关注点: 内容集中在 хеш, привилегия, реестр, cve-2024, rpc 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“Про внутряки и редтим.
Пригласить друга (и красивую подружку): @RedTeambro
Вступление в чат канала через кнопку «Подать заявку» в комментариях канала.
Некоммерческий проект. Не одобряем блек. Выступаем против всего плохого и за все хорошее🙂”
凭借高频更新(最新数据采集于 12 六月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
\svcctl поверх установленного SMB-соединения с последующей попыткой открытия менеджера управления службами с SC_MANAGER_ALL_ACCESS, что, само собой, разрешено только высокопривилегированной УЗ, ведь это право дает полный доступ до управления службами на конечном устройстве.
Для подключения используются функции из протокола MS-SCMR, а именно OpenScManager(). Отмечу, что подключение к svcctl может оказаться роковым в вопросах уклонения от обнаружения (ведь его используют и psexec.py и smbexec.py), поэтому алгоритм следует поменять.
Мы поверх SMB соединения можем подключиться к любому другому пайпу, который имеет какой-нибудь контроль доступа. Можно попробовать и более экзотичные варианты по типу попытки дропа файла на C$. Но мой выбор остановился на протоколе MS-EVEN6. Причем именно его шестой версии потому, что обычный MS-EVEN, который я использовал тут подключается поверх пайпа \pipe\eventlog, а некоторые детектят таким образом коерс через Coercer. Поэтому я переделал функцию под MS-EVEN6, который поддерживает подключение через обычный TCP-коннект. Можно увидеть мой код тут
А как бы меняли логику Вы?
@RedTeambroPwn3d!) поверх разных протоколов. Начнем с протокола LDAP. Логика взаимодействия с протоколами находится внутри папки ./nxc/protocols:
- smb.py/ldap.py/ftp.py/... - обвязки под протоколы;
- Папки smb/ldap/ftp/... - дополнительный функционал протокола (не путать с модулями). Например, исполнение команд поверх SMB через -X whoami --exec-method atexec, в ./nxc/protocols/smb/atexec.py будет лежать логика atexec.py, либо --bloodhound поверх протокола LDAP.
Каждый протокол NXC сделан достаточно шаблонно, он должен реализовывать следующие функции:
- create_conn_obj() - осуществляет подключение к целевому протоколу нужного компьютера;
- enum_host_info() - позволяет получить информацию поверх этого протокола об устройстве, например, имя хоста и домена;
- print_host_info() - отображает данные из enum_host_info();
- check_if_admin() - решает, выводить или нет надпись Pwn3d!;
- *_login() - реализация аутентификации поверх различных протоколов.
Посмотрим подробнее, что делает NXC для определения привилегированной УЗ поверх LDAP. Для этого проваливаемся в ./nxc/protocols/ldap.py. С целью наглядности, а также чтобы подсветить потенциальные детекты LDAP-запросов, которые отправляет «стоковый» NXC, добавил логирование в функцию search().
1. Сначала отправляется следующий запрос
(userAccountControl:1.2.840.113556.1.4.803:=8192), base_dn=DC=example,DC=local, attributes=['objectSid']
этот запрос позволяет обнаружить контроллеры домена (UF_TRUST_ACCOUNT), чтобы по их SID получить SID домена. Пример ответа:
[{'objectSid': 'S-1-5-21-1234567890-1234567890-1234567890-1001'}]
2. Затем по найденному ObjectSid идет получение названий привилегированных групп по типу Domain Admins, Enterprise Admins:
Запрос: (|(objectSid=S-1-5-21-1234567890-1234567890-1234567890-512)(objectSid=S-1-5-21-1234567890-1234567890-1234567890-519)(objectSid=S-1-5-21-1234567890-1234567890-1234567890-544)(objectSid=S-1-5-32-549)(objectSid=S-1-5-32-551)), base_dn=DC=example,DC=local, attributes=['distinguishedName']
Ответ: [{'distinguishedName': 'CN=Server Operators,CN=Builtin,DC=example,DC=local'}, {'distinguishedName': 'CN=Backup Operators,CN=Builtin,DC=example,DC=local'}, {'distinguishedName': 'CN=Domain Admins,CN=Users,DC=example,DC=local'}, {'distinguishedName': 'CN=Enterprise Admins,CN=Users,DC=example,DC=local'}]
3. Наконец, NXC получает членов этих групп и проверяет, нет ли нашей УЗ в них. Если есть, значит, у нас Pwn3d! (в данном случае УЗ попадает в поле sAMAccountName):
Запрос: (&(objectCategory=user)(sAMAccountName=administrator)(|(memberOf:1.2.840.113556.1.4.1941:=CN=Server Operators,CN=Builtin,DC=example,DC=local)(memberOf:1.2.840.113556.1.4.1941:=CN=Backup Operators,CN=Builtin,DC=example,DC=local)(memberOf:1.2.840.113556.1.4.1941:=CN=Domain Admins,CN=Users,DC=example,DC=local)(memberOf:1.2.840.113556.1.4.1941:=CN=Enterprise Admins,CN=Users,DC=example,DC=local)(primaryGroupID=512)(primaryGroupID=519)(primaryGroupID=544)(primaryGroupID=549)(primaryGroupID=551))), base_dn=DC=example,DC=local, attributes=[]
Ответ: [{'objectClass': ['top', 'person', 'organizationalPerson', 'user'], 'cn': 'Administrator', ......
Полный текст ответа: https://gist.github.com/MzHmO/c9f5206112f09801b4478c725f1df2a4
Наконец, если на отправленный третий запрос поступал ответ, значит, пользователь привилегированный.
Отсюда у нас вылезает три потенциально интересных IOC'а в LDAP-запросах, которые можно отслеживать и детектировать.
Отмечу, что алгоритм не самый идеальный и его можно упростить, запрашивая сразу memberOf текущего пользователя, после чего извлекать objectSid полученных групп и по RID проверять их на привилегированность - будет два запроса LDAP. Пойдем еще дальше и исключим из этой цепочки objectSid, забив в NXC строки "Domain Admins"/"Администраторы домена" и проверять их, в таком случае будет всего один LDAP-запрос вместо трех.tdata с компьютеров в домене. Nxc предоставляет пример модуля тут. Нам достаточно заполнить основную информацию:
- name - имя модуля;
- description - описание модуля;
- supported_protocols - протокол, поверх которого работает модуль. В зависимости от этого будет различаться connection object, поверх которого идет взаимодействие с целевой службой;
- category - категория модуля. может быть для перечисления, извлечения учетных данных, повышения привилегий.
Сами модули должны быть помещены в директорию modules внутри папки .nxc.
Затем нужно реализовать несколько основных функций:
- on_login() - функция вызывается при успешной аутентификации на хосте. То есть, креды валидные. Однако, этот метод вызывается также если креды НЕ указаны, либо они пустые (Null Creds);
- on_admin_login() - функция вызывается, если у переданных учетных данных есть права админа на целевой службе. Регулируется переменной `self.admin_privs`. Значение переменной выставляется по уникальной для каждого протокола логике. Например, в случае SMB NXC пытается получить доступ SC_MANAGER_ALL_ACCESS внутри функции check_if_admin;
- options() - в этой функции делаем парсинг опций, которые были переданы в модуль. Передача в модуль в таком формате:
-M abcd -o TARGET=admin ACTION=delete
В CME также была поддержка функций on_request()/on_response()/on_shutdown(), но в NXC удалена поддержка этих функций. Посмотреть примеры реализации можно в CME.
Для кражи сессии телеграм достаточно подключаться к шарам и осуществлять поиск папки tdata. Отмечу, что уже был POC на кражу tdata, но давайте избежим примитивов исполнения powershell-командлетов и сделаем все поверх SMB-соединения.
Логика моего модуля достаточно проста:
1. По умолчанию идет поиск папки tdata внутри папки C:\Users, можно путь переопределить через SEARCH_DIR переменную. Отмечу, что в коде идет получение всех шар, изначальная логика была в полном облутывании хостовой системы в попытке найти tdata на всех доступных дисковых шарах, но этот вариант крайне медленный и не очень оптимальный по ресурсам.
2. При обнаружении папки tdata идет копирование ее на локальное устройство в папку .nxc/.loot/telegram/<ip>.tg
3. Затем мы можем взять tdata, скачать Telegram Portable и вставить tdata в корневую директорию Telegram Portable. И получить доступ к чужой сессии, запустив TG Portable!
Отмечу, что если пользователь использует блокировку TG по пин-коду (НЕ облачный пароль, а именно пин от приложения), то Telegram попросит нас ввести этот пин-код при входе в аккаунт
Код скрипта я прикрепил здесь.
А после получения доступа в TG вы можете поискать, например, ovpn-конфиги :)
@RedTeambro
现已上线!2025 年 Telegram 研究 — 年度关键洞察 

