Шифрование
Алгоритм шифрования, используемый для защиты строк:
-
На вход функции дешифровки подаются три параметра:
-
XOR-константа для данного слова
-
константа для инициализации KSA (Key Scheduling Algorithm)
-
длина строки
-
-
Для генерации ключа используются два последовательных KSA. Первый ключ генерируется по длине нужной строки из константы и ключа размером 32 байта, который генерируется алгоритмом MurMurHash2 по 4 байта. Второй получает результат работы первого и еще один сгенерированный через MurMurHash2 ключ.
-
Для каждого символа ключа, полученного из второго KSA, выполняется операция XOR с константным значением.
Реализация алгоритма MurMurHash2
Функционал
Функционал стилера реализован в методах, представленных ниже:
В процессе работы каждого метода похищенные данные записываются во временный файл со случайными именем и расширением:
Полученные временные файлы помещаются в архив внутри памяти процесса и затем удаляются.
Discord
Для похищения сессии Discord стилер ищет папку “\discord\Local Storage\leveldb\” и копирует содержимое каждого файла во временный файл.
В архиве файлы записываются в папку с названием приложения и сохраняют изначальное имя файла “Application\File.name”.
Для примера была создана папка “\discord\Local Storage\leveldb\” с файлом “T.token”.
Скриншот рабочего пространства
Для получения длины и ширины экрана используется win API GetSystemMetrics(). GetDC(0) используется, чтобы получить handle всего экрана, и с помощью CreateCompatibleBitmap() создается bitmap-объект, который сохраняется в файл “Desktop.png”.
Сбор файлов
Стилер получает путь USERPROFILE = “C:\Users\USERNAME” и собирает все файлы с расширениями из списка:
-
.txt
-
.rdp
-
.docx
-
.doc
-
.cpp
-
.h
-
.hpp
-
.lua (скрипты для GTA SAMP)
Steam
Для стилера интересны файлы с расширением “.ssfn” в папке “Software\Valve\Steam\ssfn” и все файлы из папки “Steam/config/”.
Для обхода защиты Steam Guard и доступа к аккаунту необходимо, чтобы пароль был сохранен в Steam-клиенте (галочка «Запомнить пароль»). Также нужны файлы с компьютера жертвы, которые собирает стилер:
-
файл с расширением .ssfn
-
config.vdf
-
loginusers.vdf
-
SteamAppData.vdf
Telegram
Стилер проверяет наличие Telegram среди процессов и получает расположение исполняемого файла «Telegram.exe». Далее программа проверяет, есть ли passcode в папке “key_datas”, и, если он установлен — стилер начинает похищать данные других приложений. Если же Telegram не защищен passcode’ом, то стилер похищает из папки “\tdata\” файл, начинающийся с “D877F783D5D3EF8C” (в конце может быть любой символ), и файл, находящийся в “\tdata\ D877F783D5D3EF8C” и начинающийся с “map” (в конце может быть любой символ). Этих двух файлов будет достаточно для похищения сессии Telegram.
GTA SAMP
Данный стилер изначально ориентирован на игроков в GTA SAMP и похищение их аккаунтов. Об этом говорят файлы, собираемые с компьютера жертвы (скрипты, которые могут относиться к игре) и файлы, собираемые из “\Documents\GTA San Andreas User Files\SAMP\”. Для стилера интересны следующие файлы:
-
USERDATA.DAT — хранит информацию о серверах, записывается в “SAMP\servers.fav”
-
chatlog.txt — записывается в «SAMP\chatlog.txt»
Браузеры
Учетные данные пользователей браузера Mozilla Firefox стилер похищает из файла “logins.json”, который ищет в “\Mozilla\Firefox\Profiles”. Из браузеров Google Chrome и Chromium собираются:
-
данные о местоположении
-
учетные данные от аккаунтов на ресурсах
-
данные для автозаполнения форм
-
данные карт
-
cookies
-
аккаунты Facebook
Данные криптокошельков
Для всех криптокошельков алгоритм одинаковый:
-
Расшифровывается путь, связанный с кошельком:
-
Atomic — “\Atomic\Local Storage\leveldb\”
-
Electrum — “\Electrum\wallets”
-
Ethereum — “\Ethereum\keystore”
-
Zcash — “\Zcash\”
-
Exodus — “\Exodus\exodus.wallet\”
-
Содержимое всех файлов переносится во временные файлы и помещается в архиве в папку с именем кошелька:
Бот нашел тестовый файл в папке.
И переместил его в архив.
Отчет
После сбора всех пользовательских данных создается файл «readme.txt», содержащий информацию о похищенных данных.
Для всех приложений в отчете отмечается, получилось ли похитить данные.
Но для криптокошельков всегда отмечается “-”. Это может свидетельствовать о том, что похищенные данные кошельков не отправляются клиенту, а остаются у владельца сервера.
Все собранные файлы помещаются в архив и отправляются на CnC.
Стиллер паролей для браузеров на Windows | Разбор плюсов и минусов
Давайте разберемся, почему такие плюсы и минусы имеет наш стиллер паролей для браузеров.
Думаю первые пару пунктов в разборе не нуждаются, а вот простота в доработке, давайте посмотрим почему.
Ниже будет код программы, там видно, что стиллер крадет пароли из 3 браузеров, Opera, Mozilla, Chrome. Если вы захотите сделать его более объемным и добавить все браузеры, то вам нужно просто найти их директории и прописать пути.
Далее мгновенный запуск. Создаём файл autorun.inf и добавляем наш anyname.bat туда. Как только вы вставите флешку в ПК, произойдёт кража и её можно сразу вытаскивать. Это займет у секунду времени, однако тут сразу и минус. Autorun.inf не запускается на Windows 8+, так что придётся запускать батник вручную. Точнее сказать, автоматический запуск стал невозможен с последнего обновления безопасности Windows 7.
Постоянное созданиеудаление autorun.inf – если вы вставите флешку в ПК, а потом пойдёте домой и у вас Windows 8.1 или ниже, то пароли обновятся из-за авторана. Чтобы этого избежать его нужно постоянно удалять, однако в нашем скрипте уже всё есть. Он будет удален автоматически после запуска.
Заключение
Хотя Hunter Stealer не отличается ни обширным функционалом, ни серьезным противодействием анализу, вредоносное ПО, похищающее пользовательские данные, способно нанести серьезный ущерб. Опасность такого ВПО — в скорости выполнения задач и простом доступе к ценной информации.
Если у владельца Telegram-канала не включен код-пароль приложения, то злоумышленникам не составит труда восстановить сессию и сменить владельца канала. Так что вывод прост: не открывать подозрительные сообщения, архивы и ссылки и не пользоваться ОС, где стилеры чувствуют себя как дома.
Что делать, если заражение уже произошло?
Пока компьютер инфицирован, устанавливать код-пароль нет смысла, так как вредоносная программа может обладать возможностями клавиатурного шпиона. К работе на этом ПК можно возвращаться только после нейтрализации вредоносного кода.
Для администратора необходимо оперативно завершить активный сеанс на инфицированном компьютере и с помощью другого устройства (например, смартфона) сменить облачный пароль в настройках конфиденциальности, установить код-пароль на всех других доверенных устройствах.