Троянский конь 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 как скрытое приложение (т.е. без активного окна и ссылки в списке приложений). Основная процедура перехвата сообщений затем ждет команд от удаленного клиента. Сокеты команды передаются в зашифрованном виде. В зависимости от команды троянец выполняет следующие действия: