Потайная дверь (backdoor) – это программа или множество связанных программ, которые хакер инсталлирует на компьютер-жертву для получения доступа в систему в будущем. Цель потайных дверей – удалить записи о первоначальном входе из системного log'а. Но "хорошая" потайная дверь позволит хакеру получить доступ к компьютеру, взломанному им, даже, если факт вторжения будет выявлен системным администратором. Сброс паролей, изменение доступа к диску или исправление дыр в безопасности в надежде, что это решит проблему, могут не помочь.
Простой пример потайной двери – это пароли по умолчанию для BIOS, маршрутизатора или коммутатора, установленные или легкомысленными производителями, или администраторами безопасности.
Хакер может просто добавить новую пользовательскую учетную запись с привилегиями администратора, что и будет одним сортом потайной двери, но намного менее хитрым и легко выявляемым.
Добавление нового сервиса – это наиболее общая технология маскировки потайных дверей на операционных системах Windows. Она требует применение таких инструментов, как Srvany.exe и Srvinstw.exe, которые поставляются с утилитой Resource Kit или с Netcat.exe [1]. Принцип этой операции в том, что инструмент srvany.exe инсталлирован в качестве сервиса и разрешает netcat.exe выполняться в виде сервиса. Позже он слушает определенный порт для любых соединений. После подключения он порождает удаленную оболочку на этом сервере (используя cmd.exe), и с этого момента хакер получает свободу власти.
Только до начала инсталляции потайной двери, хакер должен изучить сервер для нахождения активированных сервисов. Он может просто добавить новый сервис и дать ему неприметное имя, но ему лучше выбрать сервис, который нигде не используется и который или активируется вручную, или даже полностью выключен. Его достаточно удалить, используя утилиту Srvinstw.exe и заново инсталлировать новый сервис с тем же самым именем. Сделав так, хакер значительно снижает возможность того, что администратор обнаружит потайную дверь в ходе следующей проверки. Всегда, когда случается какое-нибудь событие, системный администратор фокусирует внимание на чем-нибудь странном в системе, оставляя все существующие сервисы непроверенными. С точки зрения хакера, обычно следует скрыть файлы глубоко в системных каталогах для защиты от обнаружения системным администратором. Со временем, хакер подумает о названии инструментов, помещаемых на серверный диск. Netcat.exe и Srvany.exe являются утилитами, которые требуется выполнять непрерывно, и они видны в диспетчере задач. Хакеры понимают, что утилиты потайной двери должны иметь имена, которые не должны привлекать внимание. Они используют такой же подход и когда выбирают подходящий порт для потайной двери. Например, порт 5555 не подходит для потайной двери, так как он немедленно привлечет внимание системного администратора.
Технология, описанная выше, является очень простой, но в тоже время и эффективной. Она позволяет хакеру снова войти в компьютер с наименьшей видимостью в серверных log'ах (мы не говорим о ситуациях использования специальных программ для мониторинга трафика и инсталлированных эффективных систем регистрации событий). Кроме того, сервис потайной двери позволяет хакеру использовать высокие привилегии – в большинстве случаев в качестве Системной учетной записи. Это может вызвать некоторые проблемы для незваного гостя, потому что, несмотря на высокие привилегии, Системная учетная запись не имеет силы за пределами компьютера. Под этой учетной записью отображение дисков или дополнительные пользовательские учетные записи недоступны. Вместо этого, могут быть изменены пароли и присвоены привилегии существующим пользователям. С потайной дверью, которая захвачена учетной записью системного администратора, таких ограничений не существует. Остается только проблема, связанная с изменением пользовательского пароля, потому что для обновления пароля требуется перезагрузка связанного сервиса. Администратор несомненно начнет проверять log ошибок, если он внимательно относится к мониторингу и регистрации событий. Пример, приведенный выше, описывает потайную дверь, которая является наиболее опасной с точки зрения уязвимости системы, потому что каждый может подключиться к ней и получить наибольшие привилегии без необходимой авторизации. Это может быть любой скрипт, использующий инструмент сканирования портов, направленный против компьютеров, выбранных случайным образов из Интернета.
Web сайты, предназначенные для хакеров, дают примеры множества инструментов, которые предназначены для инсталляции потайных дверей, отличающихся тем, что когда соединение установлено, взломщик должен войти с заранее заданным паролем. iCMD [2], Tini [3], RemoteNC [4] или WinShell [5] (Рис. 1) – примеры инструментов, схожих с Telnet.
Рис. 1 Программа WinShell может быть использована для инсталляции простых потайных дверей
Я однажды видел очень интересный скрипт, названный CGI-backdoor [6]. Я считаю, что это должно быть интересно, потому что атакующий может выполнить удаленные команды на сервере через WWW. Был специально создан полностью динамический .asp сайт, написанный на VBScript (также доступен на Perl, PHP, Java и C), который разрешает выполнять команды на сервере, используя командный процессор по умолчанию, cmd.exe. Хакер может использовать это для конфигурирования реверсного WWW скрипта на системе-жертве, а может быть разрешен по умолчанию с похожими привилегиями с IUSR_MACHINE учетной записи. Этот скрипт может быть использован вообще без входа, поэтому и не оставляет следов в системе. Его дополнительное преимущество в том, что он не слушает какой-либо порт, а транслирует между HTML, используемом на WWW страницах, и сервером, который выполняет интерактивные web-сайты.
Для создания потайных дверей хакеры могут использовать покупные инструменты, такие как Remote Administrator [7] или бесплатный TightVNC [8], которые, не считая полного контроля над компьютером, также позволяют управлять им и с удаленной консоли.