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

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

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

Pslist

Распечатка таблицы процессов - это еще одна часть временно хранящейся информации, которую мы хотим зафиксировать. Мы можем сделать это с помощью инструмента Pslist. Распечатка таблицы процессов покажет нам любую деятельность мошенника, например, программы-лазейки (backdoor), анализаторы сетевых потоков (sniffer) и взломщики паролей (password cracker), которые атакующий, возможно, запустил после взлома.

Утилита Pslist обладает многочисленными функциями, которые полезны для системного администратора или разработчика программ, но нужные нам функциональные возможности этого инструмента ограничены простой распечаткой процессов, выполняющихся в системе. Поэтому здесь мы обсуждаем только этот аспект. Утилиту Pslist можно найти на сайте http://www.sysinternals.com, где она бесплатно доступна для загрузки. Пожалуйста, посмотрите в лекции "Средства ревизии Windows" более детальное обсуждение комплекта PsTools, который содержит Pslist.

Реализация

Утилита Pslist проста в использовании, и вызывается следующей командой:

D:\> pslist

Следующий вывод получен в результате выполнения этой команды на машине-жертве.

PsList v1.12 - Process Information Lister
Copyright (C) 1999-2000 Mark Russinovich
Systems Internals - http://www.sysinternals.com
Process information for VICTIM2K:
Name        Pid  Pri  Thd  Hnd   Mem     User Time   Kernel Time   Elapsed Time
Idle          0    0    1    0    16   0:00:00.000   1:51:37.250   1:58:26.698
System        8    8   41  162   136   0:00:00.000   0:00:38.795   1:58:26.698
Smss        156   11    6   36   144   0:00:00.050   0:00:01.361   1:58:26.698
Csrss       184   13   12  453  1352   0:00:05.818   0:00:39.516   1:58:15.633
winlogon     20   13   15  365  2056   0:00:00.831   0:00:05.898   1:58:13.870
services    236    9   32  555  3420   0:00:01.371   0:00:10.004   1:58:10.956
Lsass       248   13   19  304  2252   0:00:00.650   0:00:03.755   1:58:10.816
svchost     440    8    6  230  1328   0:00:00.410   0:00:01.151   1:58:04.156
SPOOLSV     464    8   13  120  1348   0:00:00.330   0:00:01.291   1:58:02.574
Msdtc       492    8   20  152   636   0:00:00.130   0:00:01.351   1:58:01.933
tcpsvcs     600    8   18  276  1144   0:00:00.370   0:00:02.423   1:57:59.039
svchost     616    8   20  427  1236   0:00:01.301   0:00:03.695   1:57:58.838
llssrv      640    9    9   97   720   0:00:00.090   0:00:00.510   1:57:58.308
sfmprint    668    8    2   46   600   0:00:00.080   0:00:00.350   1:57:55.554
regsvc      776    8    2   30   456   0:00:00.010   0:00:00.210   1:57:50.526
mstask      808    8    6   89   700   0:00:00.070   0:00:00.410   1:57:48.053
snmp        868    8    6  247   704   0:00:00.260   0:00:01.832   1:57:46.120
termsrv     924   10   12  118   504   0:00:00.080   0:00:00.560   1:57:43.947
wins        972    8   18  260  1096   0:00:00.170   0:00:01.141   1:57:40.502
dfssvc      996    8    2   36   252   0:00:00.050   0:00:00.120   1:57:39.911
dns        1036    8   12  147   552   0:00:00.060   0:00:00.650   1:57:39.140
inetinfo   1076    8   34  697  7584   0:00:02.733   0:00:14.080   1:57:37.898
sfmsvc     1128    8    7   69   164   0:00:00.060   0:00:00.240   1:57:32.831
explorer   1188    8   11  298  2372   0:00:04.296   0:00:33.968   1:56:15.169
VMTBox     1552    8    2   26   520   0:00:05.417   0:00:00.590   1:56:08.299
mdm        1560    8    3   75  1248   0:00:00.090   0:00:00.460   1:55:50.123
dllhost     948    8   25  307  5500   0:00:02.453   0:00:02.293   1:55:24.947
dllhost    1612    8   10  127  1440   0:00:00.791   0:00:02.082   1:55:23.876
cmd        1712    8    1   24  1132   0:00:04.246   0:01:17.892   1:35:34.786
NC         1464    8    3  158  1364   0:00:00.030   0:00:00.300   0:13:14.352
сmd         352    8    1  136   940   0:00:00.020   0:00:00.110   0:07:01.235
PSLIST     1788    8    2   98  1264   0:00:00.020   0:00:00.210   0:00:00.330
18.3.

Из этой распечатки мы видим, что NC выполнялся как процесс с номером 1464. Поскольку ранее в выводе утилиты fport мы видели путь, то этот процесс вызывает подозрение. Системный администратор, обычно, не размещает Netcat в каталоге, который доступен с Web-сервера (C:\inetpub\scripts). Поэтому такой процесс служит основанием для проведения дальнейшего расследования. Возможно также, что мы захотим уничтожить все подозрительные процессы за один раз. В данном случае, процесс NC оказался единственным подозрительным в выводе утилиты Pslist.

KILL

Если мы хотим уничтожить процесс с номером 1464, потому что обнаружили взломщика, связанного с этим процессом (из вывода Netstat ), то это легко сделать с помощью команды kill. Команда kill поставляется в пакете с комплектом ресурсов (Resource Kit) операционных систем Windows NT или 2000, распространяемых компанией Microsoft.

Реализация

Команда kill выполняется следующим образом:

D:\> kill <pid>

Мы не рекомендуем уничтожать подозрительный процесс на этой стадии, поскольку вы, возможно, захотите выполнить сетевую слежку с помощью инструментальных средств типа tcpdump, WinDump или Ethereal. (Подробное обсуждение этих сетевых средств мониторинга см. в лекции "Анализаторы сетевых потоков" .) Однако иногда обстоятельства требуют, чтобы система была "починена" немедленно. Поэтому вам выбирать, надо ли выполнять эту команду и уничтожать подозрительный процесс.

DIR

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

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

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

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

D:\> dir /a /t:a /o:d /s c:\

С ключом /a будут перечислены все файлы, даже скрытые. Ключ /t указывает команде dir, какие временные метки вы хотите видеть. В этом случае параметр a обозначает время последнего обращения. Ключ /o:d сообщает команде, что вы хотите, чтобы вывод сортировался по времени. По ключу /s выполняется рекурсивная распечатка списка файлов, включая подкаталоги (то есть "прочесывается" файловая система). Команда, показанная выше, фиксирует только временные метки с диска C:. Если на вашей машине имеется несколько дисков, вы захотите выполнить несколько таких команд, соответственно изменяя имя диска.

Ниже приведен фрагмент таких временных меток машины-жертвы, соответствующих последним обращениям к файлам:

Directory of c:\Inetpub\scripts

03/21/2002  01:20p      471 upload.asp
03/21/2002  01:20p      5,683   upload.inc
03/21/2002  01:21p      35,600  KILL.EXE
03/21/2002  01:22p      61,440  1.exe
03/21/2002  01:23p  DIR         ..
03/21/2002  01:23p  DIR         .
03/21/2002  01:24p      120,320 NC.EXE
                      5 File(s) 223,514     bytes

Точно так же метки даты и времени, соответствующие последним изменениям файлов, могут быть найдены с помощью следующей команды:

D:\> dir /a /t:w /o:d /s c:\

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

Directory of c:\Inetpub\scripts

03/21/2002  01:20p      471 upload.asp
03/21/2002  01:20p      5,683   upload.inc
03/21/2002  01:21p      120,320 NC.EXE
03/21/2002  01:21p      35,600  KILL.EXE
03/21/2002  01:22p  DIR      ..
03/21/2002  01:22p  DIR      .
03/21/2002  01:22p      61,440  1.exe
                    5 File(s)       223,514     bytes

И, наконец, метки даты и времени, соответствующие созданию файлов, могут быть получены с помощью следующей команды:

D:\> dir /a /t:c/o:d /s c:\

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

Directory of c:\Inetpub\scripts

03/21/2002  10:19a  DIR ..
03/21/2002  10:19a  DIR .
03/21/2002  01:20p      471 upload.asp
03/21/2002  01:20p      5,683   upload.inc
03/21/2002  01:21p      120,320 NC.EXE
03/21/2002  01:21p      35,600  KILL.EXE
03/21/2002  01:22p      61,440  1.exe
                    5 File(s)       223,514     bytes

Обратите внимание на новые программы из каталога C:\inetpub\scripts\, которые, по-видимому, ранее там отсутствовали. Эти файлы могут быть переданы на компьютер, использующийся для судебного расследования, а затем их можно анализировать с помощью специальных инструментов, чтобы определить их функциональные возможности.

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