Основная страница GitHub
Основная страница GitHub

Замедление YouTube, Discord и других популярных сервисов в РФ спровоцировало настоящий бум инструментов для обхода DPI. Флагманский проект zapret от @bol-van - мощное решение, но его консольный интерфейс пугает рядового пользователя. На этой почве выросли десятки GUI-оболочек «для домохозяек».

Однако за красивым интерфейсом и обещанием «обхода в один клик» может скрываться нечто большее, чем просто прокси-клиент. В этой статье я разберу форк «Zapret 2 GUI» (автор censorliber), который набрал сотни звезд на GitHub, но при детальном анализе оказался полноценным инструментом для шпионажа и компрометации системы.

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

Предыстория и дисклеймер

Мне 17 лет, я увлекаюсь реверс-инжинирингом и ИБ. К данному исследованию меня подтолкнуло подозрительное поведение утилиты в системе моего близкого человека. Проведя аудит исходного кода на GitHub и динамический анализ бинарных сборок, я обнаружил признаки поведения, характерного для Trojan-Downloader и Spyware.

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


Технический анализ кода (GitHub)

1. Деструктивные действия: Убийство защиты системы

В файле altmenu/defender_manager.py реализован функционал, который выходит далеко за рамки настройки прокси. Программа планомерно отключает Windows Defender через реестр.

altmenu/defender_manager.py
altmenu/defender_manager.py

Зачем это нужно? Авторы объясняют это «заботой о пользователе», чтобы антивирус не мешал работе. В действительности, полное отключение защиты делает систему уязвимой для любой последующей атаки.

2. Подготовка к MitM: Скрытая установка Root CA

Самый критичный момент - файл startup/certificate_installer.py. Программа скрытно устанавливает сторонний сертификат в «Доверенные корневые центры».

Почему это опасно? Для обхода DPI сертификат не нужен. Он нужен только для расшифровки HTTPS-трафика. Установив свой Root CA, злоумышленник может беспрепятственно читать вашу переписку, воровать Cookie-сессии и пароли.

startup/certificate_installer.py
startup/certificate_installer.py

3. Шпионаж и эксфильтрация данных

Скрипты tgram/tg_log_delta.py и tg_log_full.py каждые 30 минут собирают имя вашего ПК, версию ОС и уникальный UUID, отправляя данные в приватный Telegram-чат администратора через зашифрованные токены ботов.

tgram/tg_log_delta.py
tgram/tg_log_delta.py

Анализ бинарных сборок (EXE)

Если код на GitHub вызывает вопросы, то скомпилированные EXE-файлы, распространяемые через Telegram-канал проекта, вызывают настоящий ужас у безопасников.

  • EXE != GitHub: Авторы признают, что код в репозитории «отстает от реального на 2 месяца». Это классический метод сокрытия вредоносного функционала (payload).

Признание разработчиков в Telegram-канале
Признание разработчиков в Telegram-канале
  • Вердикт песочниц: Отчеты ANY.RUN и Tria.ge однозначны: Malicious (Loader / Spyware). Зафиксированы попытки внедрения кода в память.

Вердикт песочницы ANY.RUN
Вердикт песочницы ANY.RUN

Этическая сторона и лицензия

Проект позиционируется как форк, однако автор грубо нарушил условия лицензии MIT, удалив имя оригинального разработчика ядра (@bol-van) и заменив его на свой ник

Лицензия в репозитории
Лицензия в репозитории

Более того, поверх бесплатного и открытого ядра winws.exe была наслоена система платных «премиум-подписок». Продавать подписки на софт, который попутно ворует ваши данные верх цинизма.

Продажа "Premium"
Продажа "Premium"

Реакция разработчиков

В ходе дискуссии на GitHub (Issue #247) и в Telegram-канале, разработчики не дали ни одного вменяемого технического ответа на вопрос о Root CA. Вместо этого они использовали тактику газлайтинга:

  • «Ты просто зумер с ChatGPT».

  • «Программа для домохозяек, им так удобнее».

  • «У нас приватный репозиторий, там лежат секреты».

Последняя фраза - это приговор. В Open Source проекте, претендующем на доверие, не может быть «секретов» в приватной части.

Приватный репозиторий
Приватный репозиторий

Что делать, если вы это установили?

Если вы запускали Zapret 2 GUI, я настоятельно рекомендую:

  1. Удалить программу и все её компоненты.

  2. Проверить сертификаты: Win + R -> certmgr.msc. Ищите подозрительные записи в «Доверенные корневые центры».

  3. Восстановить Hosts: Убедитесь, что файл C:\Windows\System32\drivers\etc\hosts не содержит лишних IP и не открыт на запись для всех (Everyone:F).

  4. Сменить пароли в критически важных сервисах.

Заключение

Бесплатный сыр бывает только в мышеловке с красивым GUI. Берегите свою цифровую личность. Моей целью было и остается предупредить других пользователей и ответить на предвзятые обвинения. Посмотреть с чего все началось можно в этой Discussion

UPD: Итоги и пара слов о хейте

1. Про актуальность и перепись кода

Хайп постепенно уходит, и пришло время подвести черту под этим исследованием.
Моё исследование началось 17 марта, статья была полностью готова к 23 марта (за 3 дня до публикации из-за модерации). На тот момент всё описанное мной присутствовало в репозитории в явном виде.
Как и следовало ожидать, как только поднялась первая дискуссия на GitHub (21 марта), авторы начали паническую зачистку. Круто, но если в программе «не было ничего криминального», зачем за неделю переписывать её на 90%, удаляя именно те модули, на которые я указал? Я рад, что мой разбор заставил авторов сделать софт чище, хоть и таким радикальным методом.

2. Про цели и расследование

У меня не было цели похоронить проект. Я сам пользовался им и ценил удобство, пока не заглянул под капот. Но то, что там вскрылось, явно выходит за рамки софта для домохозяек. На текущий момент GitHub Trust & Safety уже начали своё расследование ситуации.

3. Про переходы на личности.

Я знаю, что в Telegram-канале проекта меня сейчас активно поливают грязью (И чем похуже) и обсуждают мой возраст. Друзья, когда у разработчика нет технических аргументов, он начинает разжигать ненависть и обсуждать личность автора. Это классический приём, который только подтверждает правоту моих выводов.

Итого

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

Мне просто по-человечески неприятно, что когда у разработчиков нет ни одного технического ответа по коду, они судорожно цепляются за мой стиль письма. Что вам скинуть в качестве доказательства, что я настоящий? Мои лабы, доклады или курсовые? Или вы всерьёз думаете, что 17-летний паренёк не в состоянии отреверсить кривой Python-скрипт без помощи LLM?

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

Но факты в истории Git остаются навсегда (ну почти). 926 измененных файлов и панически вырезанный Root CA (515dd46) - это и есть реальный результат моей работы. Я рад, что благодаря этому разбору софт стал чище, хотя методы, которыми авторы пытаются отмыться, вызывают только жалость.

На этом всё. Ухожу делать уроки а вам желаю хорошего дня и прекрасного настроения. Берегите свои данные и не ищите алгоритмы там, где есть только голые факты