После появления в свободном использовании всем известного пакета BackOrifice, появилось огромное количество публикаций, посвящённых этому пакету. Но надо признать, что, во-первых - идея подобного software не нова и давно известна под термином BackDoor, а во-вторых - существует более "древний" и, как показывает практика, не менее "популярный" пакет под названием NetBus. Именно ему и посвящено данное исследование. Необходимо заметить, что оно не претендует на полноту и оставляет огромное поле для деятельности. Здесь я попробую описать некоторые возможности пакета NetBus (версии 1.60), а также некоторые "трюки" связанные с ним.
Сначала рассмотрим оригинальный пакет.
Его автор - некий Carl-Fredrik Neikter, и, по его
утверждению, пакет создан для безобидного
подшучивания
над друзьями.
В пакет входят 3 файла:
Начнем с Patch.exe. Эта программа при
запуске копирует себя в Windows-директорию,
затем добавляет в registry-ключ HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Run
"значение" Patch, содержащее путь
к копии Сервера в Windows-директории.
Необходимо заметить, что имя "значения"
зависит от имени исполняемого файла Сервера.
После запуска в Windows-директории можно
обнаружить файл KeyHook.dll, который создан Сервером
для соответствующих целей и содержимое
которого хранится в ресурсах Сервера.
Далее Сервер открывает socket в режиме
ожидания на порту 12345 и ждет подключения
Клиента. После подключения Клиента, Сервер
предоставляет некоторый набор функций,
описанный в NetBus.rtf,
из которых важнейшими, на мой взгляд,
являются "Перекачка файлов в оба конца"
и "Запуск программы на компьютере
Сервера". Обратите внимание на порт 12346,
используемый для служебных целей.
Необходимо, также, заметить
что Сервер создает registry-ключ с
именем, соответствующим имени исполняемого
файла в HKEY_CURRENT_USER для последующего
использования - например для хранения
пароля, что является своего рода ошибкой -
при входе другого пользователя сервер
окажется незащищенным.
Рассмотрим NetBus.exe. Эта программа-клиент
обеспечивает достаточно удобный интерфейс
к удаленному Серверу. Достаточно полное
описание её функциональности находится в NetBus.rtf
(обратите внимание на возможность
сканирования).
Если вы дочитали до этого места, то рекомендуется прочитать оригинальную документацию NetBus.rtf (или прилагаемый HTML-вариант). "Поиграйте" с пакетом на локальном компьютере - например попробуйте поставить пароль на сервер.
А теперь к "трюкам"... Самое главное и полезное в этом исследовании - это возможность обойти пароль на удаленном Сервере. Рассмотрим эту возможность:
"Password;1;"
и жмём <Enter>
"ServerPwd;
NewPassword"
и жмём <Enter>
Одним из "слабых" мест NetBus
является использование фиксированных
портов. Это легко обходится изменением в
соответствующем месте исполняемого файла Сервера
и Клиента. Точно также можно изменить
команду "Password"
в Сервере
и Клиенте, что может быть признано более
надежной защитой, чем просто установка
пароля.
Допустим вы изменили порты и некоторые команды. Но при следующем запуске оригинального NetBus сервера, ваш, измененный, Сервер будет замещен оригинальным. Это происходит потому, что Сервер использует Memory-Mapped файл для определения предыдущего instance. Имя этого файла определяется конкатенацией 2-х строк: NETBUS и _SHARE. Если изменить одну из них или обе, то ваш Сервер не будет замещен оригиналом и продолжит работу параллельно, хотя могут возникнуть проблемы с перехватом нажатия клавиш.
Для вас могут оказаться полезными пакеты, приложенные к данному исследованию.
NetBPort
- позволяет запускать NetBus клиент для Сервера,
использующего любые порты (исходные
тексты прилагаются; механизмы,
использованые в NetBPort, описаны более
подробно здесь). | |
NetRus - клон, использующий порты 11111/11112 и измененные команду "Password" и имя Memory-Mapped файла, что позволяет NetRus работать совместно с оригинальным NetBus. |
P.S. Эти материалы публикуются ТОЛЬКО в целях обучения. Автор не несет никакой ответственности за любой ущерб, нанесенный в результате использования информации и/или инструментов, представленных здесь.
P.P.S. Коллеги! Давайте уважать друг друга и не мучить "братьев наших меньших"...
Good Luck...