stihl не предоставил(а) никакой дополнительной информации.
Вступления не будет, как и предисловий, все коротко и по делу
В конце статьи приложу архив со всем что есть: бинарники, .i64 бд от иды, питон скрипты для автоматизации в иде
Стилак написан на с++, о чем говорит множество дебаг а также assert строк (ощущение что оптимизация была поставлена на 0, и включена дебаг сборка)
В качестве json библиотеки используется nlohmann


В билде огромное количество бейс64 строк, в том числе имен апи функций (импорт по хешам не используется, как и кастом гетпроц, гетмодуль)
Расшифровываются они при помощи base64 -> rc4
rc4 ключ статично вбит в билде, от билда к билду отличается


Пример ответа от сервера
Для общения с сервером используется тот же алгоритм(base64 + rc4), но с другим ключем, тоже статично вбит, но везде одинаковый


кусок псевдокода приведенного в нормальный вид
system_info.txt полностью формируется на стороне клиента, о чем говорят дешифрованные строки


В начале работы программы есть нетривиальная проверка на снг


Для антидубля (защиты от запуска 2 инстанций стилака одновременно) создается эвент
какоето-числоимя-пкимя-пользователя

Проверка лицензии осуществляется тоже на клиенте:

дата разбита на 4 части, каждый из которых накрыт по отдельности алгоритмом описанным выше
затем дата обьединяется и сравнивается с локальной на пк жертвы




Посмотреть вложение 106527
В функционале стиллера есть подгруз через павершелл


не понятная строчка(имя билда?), 2 ключа шифрования (запросы и строки), и 3 куска от даты окончания лицензии
первичный запрос к серверу выглядит так(после дешифрования):

создание скриншота выполняется через gdiplus

Для сборки данных с хрома, в котором используется APPB - используется инжект шеллкода + CREATE_SUSPENDED
Создается пайп для принятия данных, в который шеллкод из под хрома пишет ключ для дешифрования
Посмотреть вложение 106535

Далее распишу про этот пе файл

Апи говорит само за себя



код дампнутого пе
инициализует апи (без кастом getproc getmodule)
Читает APPB ключ из Local State хрома
дешифрует через сервис, пишет в пайп
Как обещал - прикладываю архив, пас xss.is
Для просмотра ссылки Войдиили Зарегистрируйся
В конце статьи приложу архив со всем что есть: бинарники, .i64 бд от иды, питон скрипты для автоматизации в иде
Стилак написан на с++, о чем говорит множество дебаг а также assert строк (ощущение что оптимизация была поставлена на 0, и включена дебаг сборка)
В качестве json библиотеки используется nlohmann


В билде огромное количество бейс64 строк, в том числе имен апи функций (импорт по хешам не используется, как и кастом гетпроц, гетмодуль)
Расшифровываются они при помощи base64 -> rc4
rc4 ключ статично вбит в билде, от билда к билду отличается


Пример ответа от сервера
Для общения с сервером используется тот же алгоритм(base64 + rc4), но с другим ключем, тоже статично вбит, но везде одинаковый


кусок псевдокода приведенного в нормальный вид
system_info.txt полностью формируется на стороне клиента, о чем говорят дешифрованные строки


В начале работы программы есть нетривиальная проверка на снг


Для антидубля (защиты от запуска 2 инстанций стилака одновременно) создается эвент
какоето-числоимя-пкимя-пользователя

Проверка лицензии осуществляется тоже на клиенте:

дата разбита на 4 части, каждый из которых накрыт по отдельности алгоритмом описанным выше
затем дата обьединяется и сравнивается с локальной на пк жертвы




Посмотреть вложение 106527
В функционале стиллера есть подгруз через павершелл


не понятная строчка(имя билда?), 2 ключа шифрования (запросы и строки), и 3 куска от даты окончания лицензии
первичный запрос к серверу выглядит так(после дешифрования):

создание скриншота выполняется через gdiplus

Для сборки данных с хрома, в котором используется APPB - используется инжект шеллкода + CREATE_SUSPENDED
Создается пайп для принятия данных, в который шеллкод из под хрома пишет ключ для дешифрования
Посмотреть вложение 106535

Далее распишу про этот пе файл

Апи говорит само за себя



код дампнутого пе
инициализует апи (без кастом getproc getmodule)
Читает APPB ключ из Local State хрома
дешифрует через сервис, пишет в пайп
Как обещал - прикладываю архив, пас xss.is
Для просмотра ссылки Войди
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.