Иллюстрированный самоучитель по защите в Интернет

"Потайные ходы"

UNIX

В системе UNIX взломщики часто помещают программы, предназначенные для создания "потайного хода", в файлы rc.d. Следует проверить каждый из таких файлов и убедиться, что в них не содержится ни одной незнакомой программы или такой, которая была бы недавно добавлена. Для внедрения ловушек может быть использован также файл inetd.conf. В этом файле находятся параметры демона inetd, суперсервера Internet системы UNIX, который при необходимости динамически запускает различные процессы, такие как FTP, telnet, finger и т.д. В этом файле также можно обнаружить подозрительные демоны.

Другим методом определения изменений в системных файлах систем UNIX или NT является использование программы Tripwire (http://www.tripwire.com). Коммерческая версия этой популярной программы может работать на многих платформах, включая Windows NT 4.0 SP3 и выше, Red Hat Linux 6.1 и Solaris 2.6 и 7. Эта программа создает сигнатуру каждого автономно хранящегося файла. |£сли файл был изменен без ведома его владельца, то программа Tripwire сообщит, когда и как в него были внесены изменения.

Novell

Файлы startup.ncf и autexec.ncf системы NetWare позволяют определить, какие программы, параметры и загружаемые модули системы NetWare (NLM – NetWare Loadable Module) будут запущены при загрузке сервера. Взломщики могут отредактировать один или несколько файлов. NCF, которые вызываются из этих загрузочных файлов (например, файл Idremote.ncf) и, таким образом, создать "потайной ход", например запустить хакерскую программу rconsole. Поэтому периодически проверяйте каждый загрузочный файл, чтобы не упустить момент создания взломщиками "потайного хода".

Загрузочные файлы – очень удобное, но далеко не единственное средство создания "потайного хода". Для этого подходят также очереди запланированных заданий. В системе Windows NT эта возможность обеспечивается службой Schedule, доступ к которой можно получить с помощью команды AT. Запланировав регулярный запуск требуемой программы, взломщики могут быть уверены, что нужная им служба будет всегда запущена и готова к работе.

Запланированные задания

Например, в системе Windows NT простой "потайной ход" можно реализовать, установив утилиту netcat, которая будет ежедневно запускаться в назначенное время.

C:\> at\\192.168.202/44 12:ООА /every:!
""nc – d – L – р 8080 – е cmd.exe"
Added a new job with job ID = 2

С помощью этой команды каждый день в полдень будет инициироваться новая программа прослушивания порта 8080. Злоумышленник сможет без проблем подключиться к целевому компьютеру с помощью утилиты netcat и получить в свое распоряжение командную оболочку, периодически удаляя ранее запущенные экземпляры netcat. Кроме того, можно воспользоваться также командным файлом, чтобы сначала проверить, запущена ли утилита netcat, а затем при необходимости осуществить ее запуск.

В системе UNIX планирование выполнения процессов осуществляется с использованием программы crontab. Она часто применяется для автоматизации трудоемкого процесса поддержки системы, но может быть использована также и для создания "потайных ходов". В большинстве систем UNIX файл crontab можно редактировать с помощью команды crontab – e, при этом данный файл будет открыт в определенном редакторе (который обычно задается с помощью переменных окружения VISUAL или EDITOR).

Чаще всего "потайной ход" можно создать в системе, в которой программа crontab запускается с правами суперпользователя и используется для вызова командных файлов. Если для этих командных файлов взломщик задаст права доступа, позволяющие редактировать их посторонним пользователям, то он сможет легко вернуться в систему в качестве обычного пользователя и сразу же получить привилегии root. В файле crontab это можно осуществить с помощью следующих команд.

ср /bin/csh /tmp/evilsh
chmod 4777 /tmp/evilsh

Контрмеры: защита от запланированных заданий

Для того чтобы предотвратить эту атаку в системе NT, с использованием команды at проверьте список заданий на предмет наличия в нем несанкционированных заданий.

С:\> at
Status ID Day Time Command Line
---------------------------------
0 Each 1 12:00 AM net localgroup administrators joel /add

Затем с помощью следующей команды завершите подозрительные процессы с идентификатором 0.

C:\>at \\172.29.11.214 0 /delete

Альтернативный способ заключается в завершении работы службы с помощью команды net stop schedule, а затем запрещении ее запуска с помощью команды Control Panel › Services.

В системе UNIX представляющие опасность команды можно поискать в файлах crontab. Кроме того, проверьте права доступа, связанные с используемыми файлами и сценариями.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.