Опубликован: 20.02.2007 | Уровень: специалист | Доступ: платный
Лекция 18:

Компоновка и использование набора инструментов для расследования хакерских атак, то есть для "живого ответа" в системе Windows

< Лекция 17 || Лекция 18: 12345 || Лекция 19 >

Regdmp

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

  • несколько последних адресов, по которым машина связывалась с клиентом telnet;
  • несколько последних использовавшихся документов каждой программы;
  • исполняемые файлы, запускающиеся в момент загрузки машины (обычно программы типа "троянских коней" изменяют системный реестр).

Системный реестр хранится в закрытом (являющемся предметом собственности) формате на жестком диске, и его трудно отыскать, когда система не выполняется, или пока не будут применены коммерческие инструментальные средства, предназначенные для судебного расследования. Однако вы можете использовать инструмент Regdmp, чтобы сделать дамп содержимого системного реестра в удобочитаемой форме. Инструмент Regdmp поставляется с комплектом ресурсов Windows NT и 2000.

Реализация

Следующая команда выполнит дамп полного содержимого реестра локальной системы:

D:\> regdmp

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

\Registry
    Machine [17 1 8]
        HARDWARE [17 1 8]
            DESCRIPTION [17 1 8]
                System [17 1 8]
                    Component Information = REG_BINARY 0x00000010 0x00000000
                    0x00000000 0x00000000 0x00000000
                    Identifier = AT/AT COMPATIBLE
                    Configuration Data = REG_FULL_RESOURCE_DESCRIPTOR
                    0x00000054 0xffffffff 0xffffffff 0x00000000
                    0x00000002 0x00000005 0x0000000c 0x00000000
                    0x00000000 0x03f50080 0x003f0000 0x0002001f
                    0x00000005 0x00000018 0x00000000 \
                        0x00000000 0x000c0000 0x00008000 0x000e0000
                        0x00010000 0x000f0000 0x00010000

;                       Partial List number 0
;                           INTERFACE_TYPE Undefined
;                           BUS_NUMBER -1
;                               Descriptor number   0
;                               Share Disposition   CmResourceShareUndetermined
;                               TYPE            DEVICE SPECIFIC
18.4.

Как видно, содержание представлено в открытом (plain) тексте, так что информацию в нем можно искать с помощью любого инструмента подходящего типа.

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

SFind

Взломщики могут скрывать свои инструментальные средства на NTFS через механизм, известный как потоковая передача файлов (file streaming). Когда инструментальные средства скрыты таким способом, то файлы, в которых они спрятаны, не изменяются в размерах. Поэтому, если судебное дублирование данных машины-жертвы не выполнено, то инструмент SFind нужно выполнять на этой машине после того, как будут выполнены команды каталога, которые выдают информацию о файлах с тремя типами временных меток. SFind находит все <потоковые> файлы и сообщает о них на пульт. Инструмент SFind бесплатно распространяется компанией Foundstone, и может быть загружен с сайта http://www.foundstone.com.

Внимание. Инструмент SFind может приводить к непредсказуемым результатам при работе в системе Windows 2000. Исполняемый файл может не прекращать работу и не обнаруживать <потоковые> файлы.
Реализация

В результате следующей команды будут найдены <потоковые> файлы на диске C::

D:\> sfind c:\

Если какой-либо <потоковый> файл обнаружится, то будут выведены сообщения. Как правило, мы не посылаем эти сообщения на компьютер, ведущий судебное расследование. Однако если потоковые файлы найдены, то на компьютер, ведущий расследование, мы передаем сами файлы для их дальнейшего анализа.

Md5sum

После того как информация была передана на компьютер, ведущий судебное расследование, неплохо получить контрольные суммы MD5-результатов. Утилита Md5sum поставляется вместе с пакетом Cygwin, и может быть загружена с сайта http://www.cygwin.com. Детальное обсуждения пакета Cygwin см. в лекции "Cygwin" .

Реализация

Следующая команда вычислит контрольную сумму MD5-файлов вывода и сохранит их в файле с именем md5sums.txt на компьютере адресата (компьютер, ведущий расследование):

C:\incident1\> md5sum -b * > md5sums.txt
Примечание. Файл md5sums.txt не будет иметь правильную контрольную сумму MD5, которую он объявляет внутри себя, и никогда не будет совпадать с ней. Это происходит потому, что файл записывается в тот момент, когда Md5sum вычисляет контрольную сумму.

Пример из жизни. Сценарий взлома системы Windows

Давайте рассмотрим пример Web-сервера Windows 2000, который был оставлен незащищенным в интернете. Это типичный Web-сервер с некоторым статическим содержанием, оставленный системным администратором без должного обслуживания до тех пор, пока сообщение, содержащее шантаж, не обнаружилось в электронной почте web-мастера. И, как в большинстве случаев всех сегодняшних атак, было сделано предположение, что данная атака произошла через TCP-порт 80 (HTTP), потому что порт 80 был единственным входящим портом, не заблокированным брандмауэром.

Конечно, главный менеджер не верит, что ваша компания была атакована хакерами, и хочет, чтобы вы помогли проверить, что связано с письмом, содержащим шантаж, прежде, чем надлежащие ресурсы будут задействованы в полномасштабном расследовании. (Имейте в виду, что в полномасштабном расследовании вам надо было бы выполнить судебное дублирование процессов, как описано в последующих лекциях.) Короче говоря, вы должны будете выполнить внутреннее расследование, прежде чем контактировать с юридическими органами охраны правопорядка. Поскольку ваша компания решила, что она войдет в контакт с юридическими органами, если атака будет найдена, вы должны быть уверены, что собираете данные в такой манере, которая имеет вес в глазах юридических органов.

Обладая здравым смыслом, вы приступите к делу, вооружившись своим набором инструментов "живого ответа", который находится на заранее приготовленном компакт диске. Большинство программ из вашего набора инструментов "живого ответа" являются инструментами, которые управляются из командной строки. Следовательно, поскольку вы хотите провести расследование на должном юридическом уровне (ведь оно может в дальнейшем получить более серьезное развитие!), вы сохраняете вывод этих команд где-нибудь на другой машине, а не на той, которая была взломана. Сохраняя данные на внешних носителях или на другой машине, вы сводите к минимуму изменения, произведенные на жестком диске машины-жертвы. Таким способом вы сможете потенциально извлечь больше данных в процессе судебного дублирования. Чтобы сохранить эту информацию на другой машине, используйте инструменты Netcat/Cryptcat для передачи информации по сети. Для выполнения этой задачи на компьютере-адресате сначала наберите следующее:

C:\> nc -l -p <Порт компьютера-адресата> > <команда>.txt

Вы знаете, что существуют две возможности для соединения вашего компьютера-адресата с исходной машиной: через "живую" сеть или через перекрестный кабель. Если вы выбираете "живую" сеть, то вы понимаете, что взломщик может попытаться напасть на ваш компьютер-адресат. Следует принять надлежащие меры для обеспечения безопасности компьютера, выполняющего судебное расследование, прежде чем присоединить его к живой сети.

На исходной машине после запуска надежной командной оболочки вы набираете следующее:

D:\> <команда>/nc <IP-адрес компьютера-адресата> 
   <Порт компьютера-адресата>

После того как информация передана, кажется, что обе стороны подключения "зависли". Когда вы будете уверены, что на исходной машине процесс завершен (заголовок окна надежной оболочки cmd.exe возвращается к "CMD"), нажмите CTRL-C.

В результате вывод команды <команда> будет передан по сети, а результаты сохранены в текущем каталоге на судебном компьютере в файле <команда>.txt.

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

@@echo off
echo **********************
echo ***** Start Date *****
echo **********************
echo./date
echo **********************
echo ***** Start Time *****
echo **********************
echo./time
echo ***********************
echo ***** netstat -an *****
echo ***********************
netstat -an
echo ******************
echo ***** arp -a *****
echo ******************
arp -a
echo *****************
echo ***** fport *****
echo *****************
fport
echo ******************
echo ***** pslist *****
echo ******************
pslist
echo **********************
echo ***** nbtstat -c *****
echo **********************
nbtstat -c
echo ********************
echo ***** loggedon *****
echo ********************
loggedon
echo ******************
echo ***** ntlast *****
echo ******************
ntlast
echo *******************************
echo ***** Last Accessed Times *****
echo *******************************
dir /t:a /o:d /s c:\
echo *******************************
echo ***** Last Modified Times *****
echo *******************************
dir /t:w /o:d /s c:\
echo **************************
echo ***** Creation Times *****
echo **************************
dir /t:c /o:d /s c:\
echo ******************************
echo ***** Security Event Log *****
echo ******************************
dumpel -l security
echo *********************************
echo ***** Application Event Log *****
echo *********************************
dumpel -l application
echo ****************************
echo ***** System Event Log *****
echo ****************************
dumpel -l system
echo ********************
echo ***** ipconfig *****
echo ********************
ipconfig /all
echo ********************
echo ***** End Time *****
echo ********************
echo./time
echo ********************
echo ***** End Date *****
echo ********************
echo./date
18.5.

Исходная машина (жертва) в этом сценарии имеет IP-адрес 192.168.1.103, а машина-адресат (судебная) - 192.168.1.10. Чтобы использовать этот сценарий, вы набираете следующую команду на исходной машине.

D:\> response.bat/D:\nc 192.168.1.10 2222

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

C:\> nc -l -p 2222 > response.txt

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

Fport. fport был первым использованным инструментом, который показал, что программа C:\inetpub\scripts\nc.exe прослушивала TCP-порт 62875. Отсюда вы получили путь, порт и идентификатор процесса PID (1464) черного хода (backdoor), который установил взломщик.

Netstat. Инструмент Netstat обеспечил вас информацией о сетевом подключении и возможным IP-адресом взломщика - 192.168.1.103. Вы видели, что взломщик находился в системе в то время, когда вы выполняли свое ответное расследование.

dir. Использование команды dir показало, что файлы 1.exe, upload.asp, upload.inc, kill.exe и nc.exe были загружены в систему в каталог C:\inetpub\scripts. Читая список файлов, имеющих недавние временные метки создания, вы видите, что эти файлы были созданы 21 марта 2002 г., приблизительно в 13:20. Временные метки создания файлов говорят вам о том, когда, предположительно, система была успешно атакована. Это подходящее время и дата для их сверки с вашими журналами регистрации IDS и брандмауэра. Временные метки последних обращений к файлам сообщают вам, когда в последний раз эти файлы были выполнены, или, возможно, когда в последний раз взломщик был в системе.

Теперь вы составляете заключение о своем расследовании. Поскольку с помощью "живого ответа" вы нашли подходящую информацию, вы предполагаете, что взломщик имеет точку опоры в вашей сети. Поэтому, вы докладываете своему главному менеджеру, что факты свидетельствуют о том, что взломщик получил несанкционированный доступ к Web-серверу Windows 2000 и к сети вашей компании. Пришло время обратиться к властям!

< Лекция 17 || Лекция 18: 12345 || Лекция 19 >
Сергей Хлюкин
Сергей Хлюкин
Россия, Москва, Московский Государственный Открытый Университет, 2007
Игорь Касаткин
Игорь Касаткин
Россия, Москва