Опубликован: 20.02.2007 | Доступ: свободный | Студентов: 3483 / 787 | Оценка: 4.42 / 4.03 | Длительность: 40:03:00
Лекция 19:

Создание и использование комплекта инструментов "живого ответа" для Unix

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

ARP

Таблица ARP (Address Resolution Protocol - Протокол определения адресов) устанавливает соответствие между физическим машинным MAC-адресом Ethernet-карты и соответствующим IP-адресом в подсети. Поскольку большинство сетей не обеспечивают безопасность локальной подсети, связывая определенный MAC-адрес с IP-адресом, используя коммутаторы, то любой может изменить свою ARP -таблицу или IP-адрес и вызвать смуту. Это происходит, например, когда один из служащих маскируется под другого служащего во внутренней сети. Используя команду ARP, вы можете видеть, какой MAC-адрес соответствовал определенному IP-адресу в течение последних нескольких минут, и это поможет вам выследить жулика.

Программа ARP обычно расположена в каталоге /sbin или /usr/sbin, в зависимости от версии Unix, которую вы используете.

Реализация

Команда используется для просмотра ARP -таблицы машины-жертвы. Очень похожа на команду, которая используется при живом ответе в Windows:

victim# ./arp -an

С системы-жертвы возвращается следующая таблица ARP:

? (192.168.1.1) at 00:BD:81:43:07:03 [ether] on eth0

Результаты показывают, что машина с IP-адресом 192.168.1.1 имеет MAC-адрес 00:BD:81:43:07:03. Эта дополнительная часть информации помогает нам при отслеживании адреса 192.168.1.1 из нашей сети, когда мы не регулируем IP-адреса сами. Мы можем проверять каждую машину, пока не найдем MAC-адрес 00:BD:81:43:07:03.

Внимание. Пользователь с достаточными привилегиями может изменять свой собственный MAC- и IP-адрес во многих операционных системах, работая в системах Windows или Unix.

ls

Использование команды ls в Unix подобно использованию команды dir при выполнении живого ответа в Windows. Мы можем использовать ее, чтобы собрать те файлы системы, к которым недавно обращались или которые недавно изменялись. Неплохо выполнить эту команду, чтобы ни одна временная метка в системе не была потеряна на случай, если в процессе живого ответа будет сделана ошибка. Команда ls обычно находится в каталоге /bin.

Совет. По тем же причинам, которые мы приводили в предыдущей лекции, в начале вашего расследования выполните команду ls для получения меток времени и даты.
Реализация

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

victim# ls-alR --time=atime/

Соответствующие файлы, возвращенные в результате этой команды, показаны в следующем фрагменте. Сначала, мы видим файлы из каталога /etc.

-rw-r--r--  1 root  root    7470    Mar 21  06:32   mime.types  
-rw-r--r--  1 root  root    1048    Mar 7   2000    minicom.users   
-rw-r--r--  1 root  kjohnson    196 Mar 22  00:17   motd    
-rw-r--r--  1 root  root    90  Mar 22  00:23   mtab    
-rw-r--r--  1 root  root    1925    Feb 9   2000    mtools.conf

Затем мы видим файлы в подкаталоге home каталога /kjohnson:

/home/kjohnson:
total 240
drwx------  2 root  kjohnson    4096    Mar 22  00:30   .   
drwxr-xr-x  7 root  root    4096    Mar 22  00:30   ..  
-rw-------  1 root  kjohnson    216 Mar 22  00:18   .bash_history   
-rw-r--r--  1 root  kjohnson    24  Mar 22  00:18   .bash_logout    
-rw-r--r--  1 root  kjohnson    230 Mar 21  23:40   .bash_profile   
-rw-r--r--  1 root  kjohnson    124 Mar 21  23:40   .bashrc 
-rw-r--r--  1 root  kjohnson    3394    Mar 21  23:39   .screenrc   
-rwxr-xr-x  1 root  kjohnson    210096  Mar 22  00:13   1

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

victim# ls-alR - time=mtime/

Если команда не сработала, это может означать, что модифицированные файлы уже были отображены по умолчанию (так обстоит дело в системе Linux).

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

victim# ls-alR/

В результате этой команды были отображены следующие файлы. Сначала видим подозрительные файлы в каталоге /etc.

-rw-r--r--  1 root  root    7470    Mar 21  06:32   mime.types  
-rw-r--r--  1 root  root    1048    Mar 7   2000    minicom.users   
-rw-r--r--  1 root  kjohnson    196 Mar 22  00:17   motd    
-rw-r--r--  1 root  root    90  Mar 22  00:23   mtab    
-rw-r--r--  1 root  root    1925    Feb 9   2000    mtools.conf

Затем смотрим файлы из подкаталога home каталога /kjohnson.

/home/kjohnson:
total 240
drwx------  2 root  kjohnson    4096    Mar 22  00:18   .   
drwxr-xr-x  7 root  root    4096    Mar 21  23:39   ..  
-rw-------  1 root  kjohnson    216 Mar 22  00:18   .bash_history   
-rw-r--r--  1 root  kjohnson    24  Mar 21  23:39   .bash_logout    
-rw-r--r--  1 root  kjohnson    230 Mar 21  23:39   .bash_profile   
-rw-r--r--  1 root  kjohnson    124 Mar 21  23:39   .bashrc 
-rw-r--r--  1 root  kjohnson    3394    Mar 21  23:39   .screenrc   
-rwxr-xr-x  1 root  kjohnson    210096  Mar 21  23:43   1

Чтобы собрать данные о том, когда изменялась какая-либо информация в пределах inode (структура данных, содержащая разрешения файла; место на диске, где может быть найдена остальная часть файла, а также метки даты и времени), выполняется следующая команда:

victim# ls -alR --time=ctime /

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

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

Примечание. ctime часто путают с "Creation Time" (Время создания). Не забывайте правильного значения этой команды при расследовании в системе Unix.

w

Для системы Unix существует команда w, подобная команде loggedon, которую мы использовали с системой Windows. Эта команда отображает всех пользователей, в настоящее время вошедших в систему, и их исходящие IP-адреса. Эта команда полезна при расследовании неправомочного использования учетных записей в системе Unix.

Команда w расположена в каталоге /usr/bin.

Реализация

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

victim# w

Вывод команды w на нашей машине-жертве выглядит следующим образом:

12:24am     up  1:38, 1 user, load average: 0.02, 0.02, 0.00
USER        TTY     FROM    LOGIN@  IDLE    JCPU    PCPU    WHAT    
Root        tty1    -       10:44pm 0.00s   0.71s   0.03s   w

Поскольку мы вошли в систему в качестве привилегированного (root) пользователя с консоли (обозначено символом " - " в столбце FROM ), мы не видим никакой подозрительной деятельности.

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

last и lastb

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

Команды last и lastb обычно расположены в каталоге /usr/bin.

Примечание. Большинство версий Unix не предоставляет средство lastb по умолчанию. В частности, в системе Linux для того, чтобы работала команда lastb, нужно предварительно создать файл /var/log/btm командой touch.
Реализация

В сценарии своего расследования вам нужно сделать дамп всех попыток входа в систему. Это должно выполняться следующей командой (при использовании команды lastb, замените last на lastb):

victim# last

Команда выведет следующие результаты с нашей машины-жертвы:

mpepe   pts/0   192.168.1.1 Thu Mar 21  23:37   -   00:24   (00:46)
root    tty1        Thu Mar 21  22:44       still logged in 
reboot  system boot 2.2.14-5.0  Fri Mar 22  03:42           (-3:-6)
root    tty1        Fri Mar 22  03:39   -   down    (00:00)
reboot  system boot 2.2.14-5.0  Fri Mar 22  03:09           (00:30)
reboot  system boot 2.2.14-5.0  Thu Mar 21  09:04   (18:36) 

wtmp begins Thu Mar 21 09:04:17 2002

Как видим, регистрация входа в систему пользователя kjohnson отсутствует. Мы можем сделать еще несколько заключений: или файлы регистрации были испорчены взломщиком, или он взломал учетную запись mpepe и переключил пользователя, используя команду su, на учетную запись kjohnson.

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