Небесное око. Тестируем возможности Quasar RAT
Содержание статьи
- Установка и настройка
- Конфигурируем сервер
- Билдим клиент
- Тестируем «Квазар»
- Удаленное администрирование
- Мониторинг и работа с удаленным хостом
- Заключение
У каждого из нас в школе был любимый предмет. Кто‑то тащился от физики, кто‑то от биологии, кого‑то больше всего радовала физкультура — из‑за возможности подглядывать на перемене в женскую раздевалку. Сейчас для любителей куда‑нибудь подглядывать настало раздолье благодаря софту, с помощью которого можно получить доступ к самой разной информации. Одна такая софтина под названием Quasar RAT недавно попалась в мои цепкие лапы.
Что такое RAT. Эта конкретная тулза написана под винду, но главное — она фриварная и опенсорсная, что определенно добавляет ей преимуществ по сравнению с другим аналогичным софтом. Скачать Quasar RAT можно со странички проекта на гитхабе.
Программа написана на С# и позиционируется разработчиками как «легкое и удобное средство для удаленного администрирования, технической поддержки и наблюдения за сотрудниками». Quasar RAT имеет традиционную для Remote Assistance Tool клиент‑серверную архитектуру и, несмотря на компактность, обладает довольно‑таки богатым арсеналом возможностей, среди которых:
- подключение к удаленному рабочему столу;
- удаленный шелл и запуск исполняемых файлов по команде;
- удаленное редактирование реестра;
- запуск файлового менеджера, диспетчера задач и менеджера загрузки;
- удаленное выполнение команд на выключение и перезагрузку;
- кейлоггинг (с поддержкой Unicode);
- перехват паролей в браузерах, FTP-клиентах и других программах;
- запуск Reverse Proxy (SOCKS5).
Несмотря на присутствие Quasar RAT в свободном доступе и определенную популярность в узких кругах ценителей прекрасного (судя по количеству форков и активности комьюнити), документирована софтина, я бы сказал, скромно. С другой стороны, она довольно проста в использовании, и разобраться с ней под силу даже неискушенному юзеру. Так уж вышло, что мне внезапно понадобилась утилита для удаленного управления одним из компов в моей локалке. По совету коллег в качестве инструмента я выбрал именно Quasar RAT. И коли уж мне пришлось разбираться с этой программой, было бы грешно не поделиться с тобой впечатлениями от ее использования. Погнали!
УСТАНОВКА И НАСТРОЙКА
Программа поставляется в виде архива, внутри которого располагаются все необходимые для ее работы файлы. Перед распаковкой содержимого следует отключить антивирусы, иначе они радостно удалят экзешник и .bat-файл из комплекта поставки Quasar. Также для начала работы нужно установить .NET Framework 4.5.2 или более позднюю версию, если она еще не установлена в твоей системе.
Чтобы не путаться, сразу определимся, что в терминологии Quasar сервером называется машина, куда передаются данные с пользовательских компьютеров, а клиентом — ПК, за которым ты следишь. Клиент идентифицируется по тегу, который ты укажешь в настройках. Он может быть произвольным. После установки на удаленной машине клиент работает автономно, пытаясь соединиться с сервером через заданные промежутки времени либо по IP-адресу (поддерживается IPv4 и IPv6), либо по DNS-имени. Общий алгоритм действий таков: нужно запустить сервер, указать необходимые настройки, сбилдить приложение‑клиент и залить его на удаленную машину. Все просто.
Конфигурируем сервер
После запуска программы Quasar.exe
нам предложат создать сертификат, с помощью которого будет устанавливаться защищенное соединение между сервером и клиентом. Если Quasar уже использовался на твоем компьютере, можно импортировать существующий сертификат, в противном случае программа создаст файл quasar.p12
, который лучше сразу же припрятать в укромное место. Если придется переустановить «Квазар», без него будет невозможно соединиться с другими машинами, на которых запущен RAT, что грозит потерей всех клиентов.
Жми кнопку Create, а затем — Save. Теперь смело запускай Quasar.exe
и жми надпись Settings в верхней части окна. По умолчанию Quasar использует для связи TCP-порт 4782, но ты можешь выбрать вместо него любой другой свободный порт, указав его в поле Port to listen on. Потом этот порт тебе нужно будет открыть в файрволе, настроив соответствующее правило.
Все остальные параметры окна настройки сервера имеют следующие значения:
- Enable IPv6 Support — включить поддержку протокола IPv6, если он используется в твоей сети;
- Listen for new connections on startup — автоматически начать прослушивание новых входящих соединений от клиентов при запуске сервера;
- Show popup notification on new connection — отображать всплывающее сообщение при новом соединении;
- Try to automatically forward the port (UPnP) — пытаться автоматически пробрасывать порт для поддержки UPnP;
- Show tooltip on client with system information — показывать на удаленных клиентских машинах всплывающую подсказку с системной информацией (для обеспечения скрытности эту функцию лучше не использовать).
Отдельно следует сказать о функции Enable No-IP.com DNS updater. Если твое сетевое подключение использует динамический IP, у подключающихся из интернета клиентов неизбежно возникнут проблемы с установкой соединения. Решить их можно с помощью DDNS-сервиса No-IP, позволяющего создать хостнейм (hostname) в формате DNS и привязать его к твоей машине. В моем случае клиент располагался в моей же локальной сети, и я настроил на сервере статический IP-адрес, отключив в настройках соединения автоматическое получение IP через DHCP. Если твои клиенты располагаются в интернете и внешнего статического адреса у тебя нет, зарегистрируйся на noip.com
и введи данные своей учетки в окне настроек сервера.
Билдим клиент
Чтобы создать клиентское приложение, щелкни мышью по надписи Builder в верхней части окна программы. Окошко билдера содержит пять вкладок, по которым мы сейчас быстренько пробежимся.
На вкладке Basic Setting нужно указать Client Tag — это своего рода ID, по которому будет идентифицироваться клиентская машина. Лучше дать ей какое‑то осмысленное название, чтобы ты не запутался в подключениях, если клиентов будет несколько. В поле Mutex отображается мьютекс, который предотвращает запуск нескольких экземпляров программы на клиентском компьютере. Его можно оставить как есть. Для пущей скрытности рекомендуется установить флажок Enable unattended mode. Он позволит управлять клиентской машиной, не привлекая внимания пользователя — в этом случае ему не будут демонстрироваться никакие окна, сообщающие об установке соединения с сервером, а в трее не отобразится значок Quasar.
На вкладке Connection Settings нужно указать IP-адрес или видимое в сети имя машины, где развернут сервер, порт для подключения и интервал в миллисекундах, через который клиентская машина станет пытаться установить или возобновить соединение. Все эти данные будут зашиты в клиентскую программу, и изменить их потом окажется невозможно, так что будь внимателен.
Вкладка Installation Settings управляет параметрами установки и запуска клиента. Клиентское приложение Quasar может быть установлено в три папки: AppData\Roaming
текущего пользователя, Program Files
или System
— при этом последние два потребуют наличия от пользовательской учетки привилегий локального администратора. Выбери соответствующий вариант, установив флажок Install client.
Теперь нужно выбрать имя папки для установки приложения (Install subdirectory) и имя самой программы (Install name). Присвоить этой поддиректории и файлу клиента после установки атрибут «скрытый» позволяют флажки Set file attributes to hidden и Set subdir attributes to hidden. Чтобы не изобретать способы автоматического запуска программы на клиентской машине, установи флажок Run Client when the computer starts и введи отображаемое имя клиента в поле Startup Name — именно оно будет отображаться в параметрах автозапуска и в списке процессов на удаленном ПК.
Вкладка Assembly Settings позволяет настроить такие параметры сборки программы‑клиента, как название приложения и ее производителя, копирайт, номер версии, а также добавить кастомизированный значок. Все это, как ты понимаешь, отображается в свойствах инсталлятора, если кто‑то любопытный пожелает туда заглянуть. То есть клиент можно замаскировать под любой другой исполняемый файл — хоть кодек, хоть обновление винды, хоть банальный Adobe Flash Player.
Если ты хочешь, чтобы клиент выполнял ко всему прочему функции кейлоггера, перейди на вкладку Monitoring settings, установи флажок Enable keyboard logging, введи название папки, в которую будет сохраняться журнал кейлоггера, и сделай ее скрытой, поставив галку Set directory attributes to hidden.
Теперь можно нажать кнопку Build и ввести имя для файла клиента. Осталось только установить его на удаленной машине: у меня исполняемый файл клиента получился очень компактным — всего 502 Кбайт.
ТЕСТИРУЕМ «КВАЗАР»
Для начала я попытался установить клиент на тестовой машине с включенным антивирусом Касперского. Разумеется, фокус не прошел: тот благополучно прибил тулзу прямо на флешке, не позволив скопировать ее на комп или запустить. К сожалению, добавление программы в исключения также не помогло: «Каспер» блокировал запуск клиента даже при отключенной активной защите, после чего удалял его, радостно рапортуя, что обнаружил коварный и опасный троян (причем ловит он его, судя по всему, эвристикой).
Можно, конечно, накрыть исполняемый файл каким‑нибудь протектором, но мне было лень возиться, поэтому единственным доступным вариантом для меня стало полное удаление антивируса на клиентской машине, что, в общем‑то, несложно при наличии к ней непосредственного доступа. Примечательно: при запуске установочного файла клиента не происходит вообще ничего: на экране не появляется никаких окон или предупреждений, но при этом клиент успешно копируется в указанную при его сборке папку.
После перезагрузки удаленной машины запускаем на сервере Quasar.exe
, нажимаем в верхней части окна надпись Settings и жмем на кнопку Start Listening. На экране появится окно с предложением добавить выбранный в настройках порт в правила брандмауэра. Соглашаемся — и в списке удаленных хостов мы видим нашу целевую машину. Удаленный компьютер может исчезнуть из списка, если пользователь выключил его или отключился от сети, и автоматически появляется снова при включении или возобновлении соединения.
Все операции на удаленной машине выполняются по щелчку правой кнопкой мыши на ее идентификаторе в окне Quasar Server.
Удаленное администрирование
Все основные функции удаленного администрирования сосредоточены в контекстном меню Administration. Здесь можно отыскать следующие возможности взаимодействия с клиентской машиной:
- System Information — вывод подробной информации об аппаратной и программной конфигурации удаленного компьютера;
- File Manager — удобный оконный файловый менеджер, похожий на проводник Windows: он позволяет перемещаться по дискам удаленного компьютера, скачивать и загружать файлы, запускать их, если они исполняемые, переименовывать, удалять и добавлять в автозагрузку;
- Startup manager — утилита управления автозагрузкой: показывает текущие объекты в автозагрузке и отвечающие за них ветви реестра. Чтобы добавить новый объект, щелкни в окне менеджера правой кнопкой мыши и выбери Add Entry;
- Task Manager — открывает окно со списком запущенных на удаленной машине задач. Позволяет убить любой из запущенных процессов или запустить новый;
- Remote Shell — удаленное выполнение команд в оболочке
cmd.exe
; - TCP Connections — демонстрирует список открытых на удаленном хосте TCP-соединений. С помощью контекстного меню можно обновить соединение или закрыть его;
- Reverse Proxy — поднимает на клиентской машине обратный прокси;
- Registry Editor — открывает окно удаленного редактора реестра;
- Remote execute — запуск на клиентском ПК локального файла или файла из интернета, URL которого ты укажешь в открывшемся окне;
- Actions — команда на выключение, перезагрузку или гибернацию удаленной машины.
Мониторинг и работа с удаленным хостом
Одна из самых интересных возможностей Quasar RAT — просмотр удаленного рабочего стола. Эта функция доступна в меню Monitoring → Remote Desktop или User Support → Remote Desktop. В верхней части окна удаленного десктопа расположен регулятор, с помощью которого можно задать качество картинки (чем оно выше, тем больше будет трафик), и две кнопки, позволяющие включить либо отключить передачу управляющих сигналов твоей мыши и клавиатуры на клиентскую машину. Нажми кнопку Start, чтобы подключиться к удаленному рабочему столу, и Stop, если хочешь прервать сессию.
Функция Monitoring → Password Recovery позволяет вытащить все сохраненные в браузере пользователя пароли. Информация представляется в виде таблички с адресом сайта и сохраненным паролем, ты можешь скопировать его в отдельный файл, в буфер обмена или стереть на удаленном компе.
В разделе Monitoring → Keylogger хранятся журналы кейлоггера Quasar RAT. Логи тулза сохраняет в виде файлов HTML, каждый из них содержит информацию о приложении, в котором выполнялся ввод, и запись о нажатых клавишах. Список доступных логов обновляется нажатием на кнопку Get Logs в левом верхнем углу окна.
Контекстное меню User Support, помимо еще одной кнопки вызова удаленного рабочего стола, содержит пункты Show Messagebox, с помощью которого можно показать юзеру диалоговое окно с произвольным текстом, и Send to Website — введенный тобой URL откроется на удаленной машине в браузере, настроенном по умолчанию. А если ты установишь флажок Visit hidden, пользователь ничего не увидит, но сайт откроется в скрытом окне, и его посещение останется в History.
Наконец, контекстное меню Client management открывает перед удаленным администратором следующие возможности:
- Elevate Client Permissions — Quasar попытается повысить системные привилегии приложения‑клиента на удаленной машине (при этом у него сработает UAC с просьбой подтвердить запуск скрипта в командной строке, поэтому будь осторожен);
- Update — команда на обновление клиента: выбери файл клиента на локальной машине или укажи URL его расположения в интернете, выбери клиент в списке и нажми Execute Remotely;
- Reconnect — возобновить соединение с удаленной машиной;
- Disconnect — разорвать соединение;
- Reinstall — удалить клиент с пользовательского компьютера.
ЗАКЛЮЧЕНИЕ
«Квазар» — весьма мощный и мультифункциональный инструмент для удаленного управления, отслеживания действий пользователя, а также для сбора интересующей администратора информации на удаленной машине. Исполняемый файл клиента занимает всего пару сотен килобайт, поэтому может быть доставлен в целевую систему множеством различных способов. Как показала практика, работает приложение достаточно быстро и стабильно.
Клиентская часть живет в пользовательской винде тихо и незаметно, практически не потребляя ресурсов. Единственный серьезный недостаток этого инструмента — клиент палится антивирусами (по крайней мере антивирусом «Лаборатории Касперского»), что потребует либо отключить защиту, либо шаманить с упаковщиками и протекторами. Да и их использование не гарантирует «невидимости» утилиты для эвристических анализаторов, отслеживающих подозрительные приложения по их поведению. А поведение Quasar RAT, надо сказать, очень подозрительное!
Иными словами, «Квазар» — довольно неплохая альтернатива другим утилитам удаленного администрирования вроде TeamViewer, особенно если использовать ее нужно, не вызывая лишних вопросов у юзера. А вот то, как именно используется эта тулза, останется на совести пользователя. Главное — не забывай об ответственности, которую наше законодательство предусматривает за распространение нехороших программ и шалости с несанкционированным доступом к чужим компьютерам.