Троянский конь BO (Back Orifice) по своей сути является достаточно мощной утилитой удаленного администрирования компьютеров в сети. "Back Orifice является системой удаленного администрирования, позволяющей пользователю контролировать компьютеры при помощи обычной консоли или графической оболочки. В локальной сети или через Internet, BO предоставляет пользователю больше возможностей на удаленном Windows-компьютере, чем имеет сам пользователь этого компьютера" - сказано в рекламном объявлении на одной из хакерских Web-страниц.
Единственная особенность этой программы заставляет классифицировать ее как вредную троянскую программу: отсутствие предупреждения об инсталляции и запуске. При запуске троянец устанавливает себя в системе и затем следит за ней, при этом пользователю не выдается никаких сообщений о действиях троянца в системе. Более того, ссылка на троянца отсутствует в списке активных приложений. В результате "пользователь" этой троянской программы может и не знать о ее присутствии в системе, в то время как его компьютер открыт для удаленного управления.
Троянец распространяется как пакет из нескольких программ и документации. Все программы написаны на C++ и компилированы Microsoft Visual C++. Все программы имеют формат Portable Executable и могут выполняться только в среде Win32.
Основной программой в пакете является BOSERVE.EXE (затем этот файл может быть обнаружен под различными именами) - это основная "серверная" компонента троянца, которая ждет вызовов от удаленных "клиентов".
Вторым файлом является BOCONFIG.EXE, конфигурирующая "сервер" и позволяющая "прикрепить" BOSERVE.EXE к каким-либо другим файлам (как это делают вирусы). При запуске таких приложений вирус "выкусывает" их из зараженного файла и запускает на выполнение без каких-либо побочных эффектов.
В пакете также присутствуют две "клиентские" утилиты (консоль и графический интерфейс), они позволяют "клиенту" управлять удаленным "сервером". Еще две программы являются утилитами компрессии/декомпрессии файлов - они используются для копирования файлов с/на удаленный "сервер".
При запуске троянец инициализирует сокеты Windows, создает файл WINDLL.DLL в системном каталоге Windows, определяет адреса нескольких Windiows API, ищет свою копию в памяти и выгружает ее из памяти, если таковая обнаружена (т.е. обновляет свою версию). Затем троянец копирует себя в системный каталог Windows и регистрирует в реестре как авто-запускаемый процесс:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices
Затем троянец перехватывает один из сокетов Windows (по умолчанию - сокет 31337) и остается в памяти Windows как скрытое приложение (т.е. без активного окна и ссылки в списке приложений). Основная процедура перехвата сообщений затем ждет команд от удаленного клиента. Сокеты команды передаются в зашифрованном виде. В зависимости от команды троянец выполняет следующие действия:
высылает имена компьютера, пользователя и информацию о системе: тип процессора, размер памяти, версия системы, установленные устройства и т.п.;
разрешаеть удаленный доступ к дискам (share);
ищет файл на дисках;
посылает/принимает файл, уничтожает, копирует, переименовает, исполняет любой файл;
создает/уничтожает каталог;
упаковает/распаковает файл;
отключает текущего пользователя от сети;
завешивает компьютер;
высылает список активных процессов;
выгружает указанный процесс;
подключается к сетевым ресурсам;
получает и отправляет кешированные пароли (которые использовались пользователем в течение текущего сеанса), ищет пароль для ScreenSaver (расшифровывает и отправляет);
выводит MessageBox;
читает/модифицирует системный реестр;
открывает/перенаправляет другие сокеты TCP/IP;
поддерживает протокол HTTP и эмулирует Web-сервер (т.е. троянцем можно управлять при помощи броузера);
проигрывает звуковые файлы;
перехватывает, запоминает и затем высылает строки, вводимые с клавиатуры в момент подсоединения компьютера к сети;
и т.д.
Троянец также позволяет расширить список своих функций при помощи подключаемых ресурсов (plug-in). Они могут быть переданы на "сервер" и инсталлированы там как часть троянца и в дальнейшем могут выполнять практически любые действия на пораженном компьютере.