• XSS.stack #1 – первый литературный журнал от юзеров форума

malware CryptoKiller | откажись от брутфорс

disc0verer

CD-диск
Пользователь
Регистрация
03.02.2023
Сообщения
10
Реакции
28
Автор: disc0verer
Источник: xss.pro

Доброго времени суток, многоуважаемые пользователи форума. Посвящаю вам свою первую публикацию, принимая участие в конкурсе.
Данный софт представляет собой модуль кейлогера, который я использую в своём более объёмном решении, поэтому серверная часть написана в формально-демонстративном виде, для того чтобы рядовой пользователь мог просто запустить программу и протестировать её на практике. Анти -вм, -дебаг, -анализ, шифрование строк и прочее я оставляю на размышление, так как это слишком индивидуальные параметры и каждый имплементирует то, что ему нужно.

Проблема.
Представим ситуацию, когда вы успешно заразили жертву малварём и даже нашли какое-то расширение типа метамаск. Что дальше, как достать пароль и получить доступ? Тут два основных пути - брутфорс или кейлогер.
Брутфорс:
- авторский, хороший софт обойдётся вам в копейку
- ресурсозатратно
- вероятность того, что получится подобрать пароль используя словарь или пойманный autofill - крайне мала
Кейлогер:
- просто куча мусора, за исключением десктопных кошельков

Решение.
Кейлогер, который сможет ловить ввод пользователя для конкретного расширения или кошелька и в конечном итоге выдавать лог вида 'extension_name:password'.

CryptoKiller - кейлогер следующего поколения, в данный момент заточенный под крипто расширения и кошельки. Смысл его существования в том, что он решает огромную проблему подбора паролей к пойманному wallet.dat или extension.ldb. Более того, он вполне может поставить жирную точку на существовании брутфорса, если вы готовы к тому чтобы ваш пейлоад находился в системе жертвы продолжительное время.

Из-за того, что расширения функционируют полностью внутри песочницы браузера и взаимодействуют с внешним миром через External API, они не создают каких-либо видимых окон, которые можно индексировать. К примеру, результатом вызова функции GetForegroundWindow() будет активная вкладка браузера, но не окно расширения.
Примерно так, без заголовка, выгядит окно любого расширения через Spy++
spy_blur.png
CryptoKiller использует драйвер procmon.sys для мониторинга процессов и событий на kernel-уровне, аналогично Process Monitor.
procmon_blur.png


Для коммуникации с драйвером используется публичная C++ библиотека openprocmon SDK. В Release версии проекта она немного урезана в пользу размера и управления памятью, убраны логи.
В качестве триггера для запуска кейлогерра используется событие, когда расширение пытается подгрузить файлы для своей корректной работы. В большинстве случаев можно словить момент не только запуска, но и успешного входа пользователя. Если же у расширения не существует триггера на вход, то подразумевается, что пользователь должен войти в кошелёк на протяжении какого-то времени. Это применимо к Coin98 Wallet, Coinbase Wallet и другим с параметром logReadable = FALSE (см. сорц код).
На выходе мы имеем пароль от кошелька без лишнего мусора:
logs.png

Возможности применения низкоуровневого мониторинга событий - безграничны. Поэтому с нетерпением жду здоровой критики или новых идей для применения. Надеюсь, что этот софт и сама идея значительно облегчат вам жизнь)
P.S. Если кто-то найдёт применение софта в своём коммерческом продукте, не забывайте про кошелёк для донатов;)
- требуются права администратора
- логи отправляются сразу на сервер
Пароль от архива: xss.pro
 
Сначала думал опубликовать фул версию ратника, который использует этот модуль, но потом решил что для конкурса это слишком жирно😁
Не DCRAT случаем?)
 
Проблема.
Представим ситуацию, когда вы успешно заразили жертву малварём и даже нашли какое-то расширение типа метамаск. Что дальше, как достать пароль и получить доступ? Тут два основных пути - брутфорс или кейлогер.
Брутфорс:
- авторский, хороший софт обойдётся вам в копейку
- ресурсозатратно
- вероятность того, что получится подобрать пароль используя словарь или пойманный autofill - крайне мала
Кейлогер:
- просто куча мусора, за исключением десктопных кошельков
Есть решение получше, веб-фейки. Можно загрузить холдеру рантайм webview2 и отображать фейковую форму поверх кошелька либо расширения, как это делается тут. Если говорить конкретно о сборе расширений, можно заинжектить в них произвольный JS код, ведь они лежат в открытом виде в папке браузера, нет?
 
Есть решение получше, веб-фейки. Можно загрузить холдеру рантайм webview2 и отображать фейковую форму поверх кошелька либо расширения, как это делается тут. Если говорить конкретно о сборе расширений, можно заинжектить в них произвольный JS код, ведь они лежат в открытом виде в папке браузера, нет?
Так тоже можно, но мне кажется этот способ менее эффективный. Дополнительные окна типа "Введите свою сид фразу" никогда не сработают с юзером, который хотя бы малость понимает в кошельках и крипте, так ещё и заставят его лишний раз чекнуть пк на малварь. Была на форуме ещё тема, вроде как с дрейнером, использовалось прозрачное окно которое ложилось поверх окна метамаск для одобрения транзакции на списание, вот это прикольно. А что касается сбора самих расширений, это можно сделать как душе угодно, потому что это просто файлы .ldb в папке браузера.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
When it uses procmon.sys then it will anyway not work since windows does automatically handle this driver as not safe and there is no possibilitie to allow it when running process monitor the first time
 
Пожалуйста, обратите внимание, что пользователь заблокирован


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх