
Замедление 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Зачем это нужно? Авторы объясняют это «заботой о пользователе», чтобы антивирус не мешал работе. В действительности, полное отключение защиты делает систему уязвимой для любой последующей атаки.
2. Подготовка к MitM: Скрытая установка Root CA
Самый критичный момент - файл startup/certificate_installer.py. Программа скрытно устанавливает сторонний сертификат в «Доверенные корневые центры».
Почему это опасно? Для обхода DPI сертификат не нужен. Он нужен только для расшифровки HTTPS-трафика. Установив свой Root CA, злоумышленник может беспрепятственно читать вашу переписку, воровать Cookie-сессии и пароли.

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

tgram/tg_log_delta.pyАнализ бинарных сборок (EXE)
Если код на GitHub вызывает вопросы, то скомпилированные EXE-файлы, распространяемые через Telegram-канал проекта, вызывают настоящий ужас у безопасников.
EXE != GitHub: Авторы признают, что код в репозитории «отстает от реального на 2 месяца». Это классический метод сокрытия вредоносного функционала (payload).

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

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

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

Реакция разработчиков
В ходе дискуссии на GitHub (Issue #247) и в Telegram-канале, разработчики не дали ни одного вменяемого технического ответа на вопрос о Root CA. Вместо этого они использовали тактику газлайтинга:
«Ты просто зумер с ChatGPT».
«Программа для домохозяек, им так удобнее».
«У нас приватный репозиторий, там лежат секреты».
Последняя фраза - это приговор. В Open Source проекте, претендующем на доверие, не может быть «секретов» в приватной части.

Что делать, если вы это установили?
Если вы запускали Zapret 2 GUI, я настоятельно рекомендую:
Удалить программу и все её компоненты.
Проверить сертификаты:
Win + R->certmgr.msc. Ищите подозрительные записи в «Доверенные корневые центры».Восстановить Hosts: Убедитесь, что файл
C:\Windows\System32\drivers\etc\hostsне содержит лишних IP и не открыт на запись для всех (Everyone:F).Сменить пароли в критически важных сервисах.
Заключение
Бесплатный сыр бывает только в мышеловке с красивым GUI. Берегите свою цифровую личность. Моей целью было и остается предупредить других пользователей и ответить на предвзятые обвинения. Посмотреть с чего все началось можно в этой Discussion
UPD: Итоги и пара слов о хейте
1. Про актуальность и перепись кода
Хайп постепенно уходит, и пришло время подвести черту под этим исследованием.
Моё исследование началось 17 марта, статья была полностью готова к 23 марта (за 3 дня до публикации из-за модерации). На тот момент всё описанное мной присутствовало в репозитории в явном виде.
Как и следовало ожидать, как только поднялась первая дискуссия на GitHub (21 марта), авторы начали паническую зачистку. Круто, но если в программе «не было ничего криминального», зачем за неделю переписывать её на 90%, удаляя именно те модули, на которые я указал? Я рад, что мой разбор заставил авторов сделать софт чище, хоть и таким радикальным методом.
2. Про цели и расследование
У меня не было цели похоронить проект. Я сам пользовался им и ценил удобство, пока не заглянул под капот. Но то, что там вскрылось, явно выходит за рамки софта для домохозяек. На текущий момент GitHub Trust & Safety уже начали своё расследование ситуации.
3. Про переходы на личности.
Я знаю, что в Telegram-канале проекта меня сейчас активно поливают грязью (И чем похуже) и обсуждают мой возраст. Друзья, когда у разработчика нет технических аргументов, он начинает разжигать ненависть и обсуждать личность автора. Это классический приём, который только подтверждает правоту моих выводов.
Итого
Честно говоря, после всей этой волны хейта и обсуждения моей личности, желание что-то писать для широкой публики пропало напрочь... зато появилось желание сжечь этот проект дотла (шутка, конечно...).
Мне просто по-человечески неприятно, что когда у разработчиков нет ни одного технического ответа по коду, они судорожно цепляются за мой стиль письма. Что вам скинуть в качестве доказательства, что я настоящий? Мои лабы, доклады или курсовые? Или вы всерьёз думаете, что 17-летний паренёк не в состоянии отреверсить кривой Python-скрипт без помощи LLM?
Про нейросеточность - это просто смешно. Если бы я использовал ИИ, он бы идеально расставил все пробелы и запятые, за которые вы так цепляетесь. Мои опечатки - это почерк живого человека, который писал на эмоциях, увидев, какая дичь творится под капотом программы, которой пользуются тысячи людей
Но факты в истории Git остаются навсегда (ну почти). 926 измененных файлов и панически вырезанный Root CA (515dd46) - это и есть реальный результат моей работы. Я рад, что благодаря этому разбору софт стал чище, хотя методы, которыми авторы пытаются отмыться, вызывают только жалость.
На этом всё. Ухожу делать уроки а вам желаю хорошего дня и прекрасного настроения. Берегите свои данные и не ищите алгоритмы там, где есть только голые факты