Осторожно Халява! Как я слил свои пароли за 1 секунду, или Исповедь о «бесплатном шедевре» L2JBayev C3/C4

Привет, форумчане.

Пишу этот разбор, но строго по делу. Я умею предохраняться :) , на основном компе у меня закрытая виртуалка. Но этот «бесплатный шедевр» — L2jBayev Chronicle 4: Scions of Destiny (ver 4.+) — я закинул по-быстрому полистать на рабочий ноутбук. Там висел полностью авторизованный Яндекс.Браузер со всеми куками, криптой, кошельками и личными кабинетами.

Я нажал, посмотрел как запускается ( с типом списывался, что да как, даже подумать не мог! ). Я закрыл ноут и забыл.

Спустя время началась дичь. Пошли левые сессии, посыпались доступы к кошелькам, увели API-ключи. Я врубил паранойю: Kaspersky Premium, Dr.Web, кастомные сканеры процессов — ТИШИНА. Все чисто, ни одного злого процесса или бэкдора на диске. Я долго не понимал, где просчитался, пока во время реверса ядра не наткнулся на причину. Схема дешёвая, тихая и оттого эффективная.

Кстати, сейчас этот персонаж (AlexBayev) вовсю пилит мобильные проекты и прочее, так что его софт точно пойдёт «в массы». Да уже идет в массы, особенно под разными вариациями и на бразильском!

Ниже сухой технический разбор: как именно меня поимели, почему молчат антивирусы и почему я, хоть и разбирал ядро, не нашёл закладку сразу. Су.... !

**Как я нашёл закладку (кратко, для тех, кто захочет повторить)
Никакой магии — штатная утилита javap из любого JDK. Порядок был такой:

1. Развёрнул L2JBayev.jar в папку (это обычный zip).
2. Прогнал по всем классам поиск строк: http, URL, Socket, InetAddress, crypt, crypto, javax.crypto. В игровом сервере криптографии быть не должно — а она была.
3. Поиск com/sun/jna дал ровно ОДИН класс на весь jar из 1941: net.sf.l2jbayev.gameserver.LoginServerRegister. Библиотека jna-platform нужна только для одного — вызова Windows DPAPI. В сервере Lineage 2 ей места нет вообще. Это и был красный флаг.
4. Открыл конструктор GameServer через javap -p -c: первой же строкой, сразу после вызова родительского конструктора, стоит invokestatic LoginServerRegister.initialize(). До загрузки конфигов, до логгеров, до базы.
5. Дальше разобрал сам класс — и там вся цепочка, описанная ниже.

Весь аудит занял меньше часа. Никакого «хакерского» инструмента: javap, findstr по распакованным классам, блокнот.

---

🧬 Что это такое классификацией

Этот троян относится к категории инфостилеров (InfoStealer) — вредоносного ПО, предназначенного для скрытного сбора и кражи конфиденциальных данных из операционной системы и браузеров.

Уточнение честности ради: в этой версии сборки реализована та часть, что относится к паролям браузеров — чтение зашифрованных хранилищ, расшифровка и выгрузка. Куки-файлы, сессии и ключи двухфакторной аутентификации в этой сборке не выгружаются (ветка под Firefox вообще заготовлена, но пустая — то есть автор уже дорабатывал код под новые цели, и в следующей версии список может быть шире). Это не «безобиднее» — украденных паролей от почты, банка, кошельков и Steam достаточно, чтобы получить и сессии, и 2FA через резервные доступы.
( Если кто то захочет конкретики, могу заархивить взлом фтп на хостинг и загрузки скриптов туда, для развертывания казино на хостинге ) вот такие дела, но это так к сведениям, что умеет тип данный... И да работает как обычно через ебан... норвегию !
---

🔍 Как была устроена маскировка и почему я её пропустил

В jar-нике L2JBayev.jar лежит 1941 скомпилированный класс. Когда я бегло декомпилировал ядро, я искал стандартные маркеры троянов: Runtime.getRuntime().exec(), ProcessBuilder, коннекты к посторонним адресам, инжекты, подгрузку сторонних .dll. Этого там НЕТ. Автор не дурак — он не ломает систему, ему это не нужно. Единственные внешние адреса во всём jar — приёмник стилера и API OpenAI/DeepSeek для ботов (с чужими ключами в комплекте, тоже включены по умолчанию).

Закладка сидит в классе net.sf.l2jbayev.gameserver.LoginServerRegister. Она идеально мимикрирует под полезный софт:

• Легальное прикрытие: класс официально регистрируется в ядре как IAdminCommandHandler и объявляет 31 настоящую админ-команду (admin_lsr_setlevel, admin_lsr_ban_acc и т.д.). Он реально вызывается из telnet-консоли сервера (GameStatusThread). При беглом аудите ты видишь рабочий админ-модуль и идёшь дальше.

• Обфускация констант: все критические строки — названия браузеров (chrome, edge, opera, yandex, firefox), сегменты путей AppData, имена полей os_crypt и encrypted_key, URL приёмника — зашиты в Base64. Обычный strings или текстовый поиск по jar-нику ничего не выдаёт.

• Ложные конфиги: активатор модуля привязан к флагу EnableAdminCommandsInTelnetApp. В дефолтном конфиге devapp-settings.properties он стоит в True. В комментарии написано: «Включить управление Админ коммандами». Ни слова про сеть и ваши файлы.

---

🛠️ Технический разбор цепочки атаки

Если разложить класс через javap -c, вскрывается чистое вредоносное ПО.

1. Мгновенный перехват

Вызов LoginServerRegister.initialize() жёстко вшит в первую строчку конструктора GameServer. Код отрабатывает до инициализации логгеров, до коннекта к MySQL и до открытия портов. Именно поэтому фраза «у меня сервер упал при старте» не работает. Ему хватило миллисекунды, пока моргала консоль.

2. Обход антивирусов через штатные API Windows

Сборка тащит за собой библиотеки jna-4.5.2.jar и jna-platform-4.5.2.jar. Они нужны ровно для одного вызова в этом классе:

Crypt32Util.cryptUnprotectData(...)

Это официальная функция Windows DPAPI. Процесс java.exe запущен вами, от имени вашего пользователя. Он легально идёт в папку вашего профиля (AppData\Local\...), парсит файлы Local State браузеров Chrome, Edge, Opera и Яндекс.Браузера и вытаскивает ключ os_crypt.encrypted_key. Антивирус не блокирует этот вызов, потому что для ОС это выглядит так, будто вы сами открыли браузер и запросили свои пароли.

3. Чтение баз и заметание следов

Файлы Login Data заблокированы, если браузер открыт. Код обходит это изящно: делает копию файла с суффиксом _temp.db, вычитывает таблицу logins обычным SQL-запросом:

SELECT origin_url, username_value, password_value, date_created FROM logins

расшифровывает пароли по схеме AES-256-GCM (через BouncyCastle, который тоже тащится в комплекте), а затем удаляет временный файл _temp.db. На диске не остаётся изменённых файлов, ловить нечего.

4. Безобидный сетевой POST

Отправка идёт по HTTPS (POST, application/json). Массив данных содержит полный кред-стол: URL сайта, логин, расшифрованный пароль, дата сохранения.

Адрес зашит в base64 (aHR0cHM6Ly9lb2Q0bjRyZnJkdno3NjUubS5waXBlZHJlYW0ubmV0). После декода получаем:


Pipedream — легальный сервис одноразовых вебхуков: домен не покупается, инфраструктура не поднимается, адрес меняется за минуту. Исходящий TLS-трафик на облачный сервис для антивируса выглядит как обычный запрос метрики или проверка обновлений сборки. Код даже принудительно вызывает enableTls12(), чтобы пробить отправку на старых версиях Java 7, где TLS 1.2 по умолчанию выключен. Это доводка, а не случайность.

---

🏁 Заключение: проверяйте абсолютно всё

Эта падла заманила меня идеальной обёрткой. Вот эта тема на Gamerip: . Огромный красочный патчноут, куча фич по AI-движку ботов, кастомные ивенты. Тонны хвалебных отзывов на форуме, админы с репутацией пишут «Крутяк!» и «Воу, патчноуты класс». Мне её советовал человек с 20-летним стажем в Lineage/WoW. Сам автор вежливо общается в топике, набивает репутацию «Честного продавца».

Красивая история, куча плюсов и восторги толпы — это НЕ ГАРАНТИЯ БЕЗОПАСНОСТИ. Это витрина, за которой прячут ваши кошельки.

Если вы скачивали этот релиз и запускали его на живой машине — вы слили все свои пароли из браузеров Chrome, Edge, Opera и Яндекс.Браузера. Считайте их скомпрометированными и немедленно меняйте с другого (чистого) устройства, начиная с почты и финансовых сервисов. Включайте 2FA. Пересоздавайте API-ключи, которые хранились в браузере.

Возьмите за правило: закрытый код (.jar, .exe) без контрольных сумм и подписей — табу для рабочей машины. Тратьте 15 минут на прогон через javap -p -c, и если видите в игровом сервере импорты com.sun.jna.platform.win32.Crypt32Util, javax.crypto / GCMBlockCipher — или в Libs лежат jna + jna-platform, которые никем не вызываются, кроме одного подозрительного класса — сносите этот софт к чертям.

И главное: отсутствие трояна в классическом смысле — не признак безопасности. Современный инфостилер не ломает систему, не открывает портов, не оставляет файлов. Он один раз тихо делает одно действие от имени доверенного процесса — и исчезает. Антивирус не пикнет, потому что ловить нечего.
PS: Спасибо что дочитали! И это еще не одно ноу хау, у данного типа есть лаунчер, автозапуск со всеми красивыми функциями, тут на форуме были темы и он находится в недоверии и в бане! Не зря! Парни зря не задумался тогда, но учитывая, что большинство из вас очень злостные Хейтеры и обсералы чуго добра, хотя ладно!
Вообщем не доверяйте даже самым топовым разрабам сборок, бесплатное не всегда есть хорошо, и я попался чисто на том что хотел выдернуть из сборки нужные функции, а поверте она единсвенная других нет! Но не чего я создал свой собственный на 99% рабочий сервер ( сборку под Ц4 ) ну и другие модифицированные сборки от нашего l2Server. Mobius респект ему за его вклад! Так что вот как то так...

И да забыл! Он до сих пор делает и все это бесплатно и игры на телефон, не помню какие но я держался за тематику линяги. Так что вот так могут спиз... данные ваши :)
 

Shakaho

Баллов: 4
За подробный разбор

Bankir

Баллов: 11
За разбор
Ты бухой чтоль?)

В жопу. Вообще не отдупляю где я. Думал жена будит, а это я пиз..анулся с дивана на съемной хате. Про две вагины в соседней комнате вообще молчу, им же заплатить придется.
 
В жопу. Вообще не отдупляю где я. Думал жена будит, а это я пиз..анулся с дивана на съемной хате. Про две вагины в соседней комнате вообще молчу, им же заплатить придется.
Ержан, просыпайся!
 
Перед тем как написать, чекнул поиск — глухо, так что делюсь эксклюзивом. :) Про скрытые майнеры в пиратской винде все в курсе, сейчас это норма. Но то, что я нашёл в одной сборке L2 — это новый уровень подлости.
Суть в том, что большинство ребят сюда заходят просто скачать сборку и запуститься. Они не знают, как устроен клиент-сервер, как работают пакеты, и что .jar на конце — это просто сжатые архивы с библиотеками и скриптами, откуда сервер на лету дёргает команды. Для них запуск батника — базовая процедура.
А автор сборки зашил туда подарок. Самая первая строчка в StartGameServer.bat — это скрытый скрипт, который через CMD запускает троян-стиллер. Батник стартует от имени админа, поэтому без проблем шуршит по системе, собирает куки ваших браузеров и сливает их создателю через POST-запрос. За 15 лет в теме L2 вижу такое впервые! Будьте аккуратнее и проверяйте батники перед стартом. Это теперь новая фобия :)

 
А это все потому что форумы читать надо. Даже старые темы бородатых годов. Когда у маея аккаунт был новоиспеченным и я даже не мог поставить лайк я сидел читал темы. И знал репутацию пользователей, знал кого за что выпилили. Знал на каких заказах обычно чаще кидали. Типа выпиливали за вирус. Причем он вроде сам не мог объяснить внятно за каким хером он патчил клиент под 7 ку который на 10 уже стартовал или в шаре был патя под 10 ку. Уже не помню подробностей да и это не важно. Важно впечатление получить от человека причём правильное. Да и кто вам будет на голом энтузиазме пилить некрохроники, выпускать обновы и не заниматься продажами в честную и долгую. Уже попахивает лохотроном. Соболезную ТСу. Уверен будет теперь думать как следует прежде чем скачать какую то фигню
 
Назад
Сверху Снизу