DWARF - модульная программа удаленного управления

DWARF - модульная программа удаленного управления

Сегодня я как всегда встал, и начал читать новости периодически листая новые репозито-рии GitHub’a в рандомном порядке и наткнулся на RMS которая была загружена буквально 20 часов назад.

Автор: Roddy Santana, huracan.cc

Сегодня я как всегда встал, и начал читать новости периодически листая новые репозитории GitHub’a в рандомном порядке и наткнулся на RMS которая была загружена буквально 20 часов назад человеком который только зарегистрировался на GitHub’е вовсе, однако описание меня заинтересовало. Оно означает «DWARF - модульная программа удаленного управления системой (RMS) которая может обойти множество различных файрволлов и систем обнаружения вредоносного трафика за счет использования различных техник коммуникации между ботом и сервером».

Картинка #1, скриншот репозитория DWARF на GitHub

Информация о коммуникации между ботом и сервером, а так-же о

Мое любопытство побороло мою нужду собираться и я полез рассматривать репозиторий. Суммарно, в репозитории я увидел 3 директории (см. картинку #1)

Насколько мы можем понять, DWARF Delphi это сам RMS, но я бы лучше его назвал лоадером, ведь на самом деле в DWAF’е очень мало самого управления системой. Центр системы как написано в описании - это также модуль, который отвечает за коммуникацию между ботом и сервером. Основное что меня в этой коммуникации интересовало это каким образом была реализована такая вещь как обход IPS/IDS, ведь они видят сразу соединения, так что обойти их довольно сложно (даже если использовать SSL, hostname все равно остается виден и администратор может его увидеть как нестандартный). Автор же пошел по другому пути, коммуникация между «ботом и сервером» производится за счет SMTP сервера, за счет простого письма в котором передаются команды, а сам «бот» впоследствии обращается к SMTP серверу для того чтобы проверить не пришли ли команды ему на выполнение. Давайте же рассмотрим как можно обойти IDS/IPS за счет SMTP и писем используя Gmail.

Представим что мы компания в США которая имеет в своем штате 40 сотрудников, каждый из этих сотрудников может иметь частный email-ящик который находится под каким-либо доменным именем (который руководство или администратор в основном не знают). Наша задача - отправить команду N боту, к примеру которая подгрузит кейлоггер (о нем позже). Выглядеть это все будет вот так (см. картинку #2)

Картинка #2, система коммуникации между «ботом и сервером»

На картинке #2 показан наиболее стандартный вариант работы коммуникации DWARF, скорее всего администратор не будет обращать внимания на HTTPS запрос к gmail.com поскольку не придаст этому большого значения. Хотелось бы также уточнить, что подкачка модулей на DWARF совершена за счет HTTPS протокола к также доверенному ресурсу (можно настроить в исходном коде, для идеала полагаю надо использовать Google Disk, или какой-нибудь такой-же доверенный ресурс, чтобы администратор ничего не заподозрил)

Информация о модулях

Теперь же перейдем к модулям которые нам автор предоставляет, это обычный «Кейлоггер» (записывание нажатий клавиш) и «Кейлоггер-формграббер» (записывание нажатий клавиш в определенном окне). Не будем концентрироваться на первом, там и так все понятно, нам интересно что из себя предлагает «Кейлоггер-формграббер» и его реализация. Как я уже написал ранее, он записывает нажатия клавиш в определенном окне которые были указаны при отправке команды. Окна могут быть как «Steam» так и «QIWI», я имею в виду что этот модуль кейлоггера может собирать информацию вводимую не только на окнах, но так-же и на «окнах браузера», если подумать - реализация так-же довольна проста, однако умна, поскольку это не совсем тоже самое что форм-граббер, но за счет небольшой автоматизации можно будет так-же выцеплять пароли и логины (например для QIWI когда человек начнет писать «+» запустить записывание всех данных и таким образом собрать пароль, включая то что после + в основном человек дописывает номер телефона и вводит пароль), а если рассматривать вручную, то определить логин или пароль не составляет никаких проблем. Автор также пишет что DWARF поддерживает Google Chrome, Internet Explorer, TOR, Opera, поддержка других браузеров отсутствует. Далее человек который составлял «readme» сообщает что оба модуля (на которые делится Кейлоггер) обходят все про-активные защиты Kaspersky и ESET, а так-же полностью незаметен для антивирусов, после окончания работы модуля он выгружается и результат так-же отправляется через почту, а модуль удаляется с компьютера автоматически подчищая все что от него осталось и что может впоследствии послужить к выводу что данный модуль когда-то работал на этой системе.

Картинка #3, пример того как логи Кейлоггера передаются от бота.

Далее автор сообщает что DWARF поддерживает пользовательские модули, те которые уже включены в систему написаны на C++, и все модули которые уже включены в DWARF это отдельный файл с .dll расширением который работает отдельно от основы.

В конце описания можно заметить что RMS (если его так можно назвать) работает полностью из под пользовательского режима, умеет «скрытно запускаться» и не содержит ничего в реестре или msconfig’е, а еще предупреждает что у DWARF нету ни одной системы защиты от его закрытия, поскольку данный софт был сделан для тестирования собственной системы безопасности, наш следующий параграф будет с этим связан.

Защита от DWARF

Переходим же на то как можно защититься от DWARF и как модифицировать свою уже существующую антивирусную систему или систему обнаружения вторжений/атак. Очень простой и удобный вариант защиты - это подмена SSL сертификатов на всех компьютерах которые вам принадлежат для дешифрования HTTPS трафика на уровне IPS/IDS (Intrusion Prevention System, Intrusion Detection System), за счет этого мы сможем вручную просматривать HTTPS трафик, в особенности нам будет интересно какие файлы наши сотрудники скачивают на рабочие компьютеры, и тут мы сможем обнаружить что один из сотрудников скачал используя HTTPS с определенной ссылки .dll файл который не кажется стандартным, и впоследствии предотвратить шпионаж. Для автоматизации данных действий можно поставить правило, при котором если IPS/IDS обнаружит скачивание файла с расширением .dll или .exe - оно оповестит администратора об этом действии, вот собственно и все.

Спасибо за прочтение, это мой первый опыт в написании статьи такого размера и на такую тему, я буду очень благодарен критике и помощи.

Устали от того, что Интернет знает о вас все?

Присоединяйтесь к нам и станьте невидимыми!