Security Lab

День рождения BackOrifice

День рождения BackOrifice

Троянский конь BO (Back Orifice) по своей сути является достаточно мощной утилитой удаленного администрирования компьютеров в сети. "Back Orifice является системой удаленного администрирования, позволяющей пользователю контролировать компьютеры при помощи обычной консоли или графической оболочки.

Троянский конь 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). Они могут быть переданы на "сервер" и инсталлированы там как часть троянца и в дальнейшем могут выполнять практически любые действия на пораженном компьютере.

Ищем баги вместе! Но не те, что в продакшене...

Разбираем кейсы, делимся опытом, учимся на чужих ошибках

Зафиксируйте уязвимость своих знаний — подпишитесь!