Мы уже обсудили, как брандмауэр и IDS обнаруживают, регистрируют и предупреждают о подозрительных действиях в сети. Теперь вместо предоставления сведений, перехваченных на сетевом уровне, мы объясним, как анализировать системные действия на самой honeypot. Возможно, вы помните из предыдущей главы, что все действия системы регистрируются на удаленном сервере syslog. Это гарантирует, что после ее взлома все равно сохранится верная копия системных журналов. У большинства систем, в том числе у различных видов UNIX, Microsoft Windows NT и сетевого оборудования Cisco, есть возможности syslogd. Если сервер syslog тоже оказывается взломанным - помните, это honeypot, только более защищенная, - то IDS должна записать все системные журналы по мере того, как они пересылаются от одной системы в сети к другой. Следовательно, системные журналы хранятся в трех местах: в системах, где происходят действия, на сервере syslog и в записях IDS, которая перехватывает все пакеты, пересылаемые на сервер syslog. В системных журналах мы ищем следующую информацию:
• как вошли в систему «плохие парни». Зачастую эта информация хра
нится в системных регистрационных файлах. Определив сигнатуры
нападения в системных журналах, можно узнать, что необходимо ис
кать в атакованной системе;
• откуда исходили атака. Системные журналы зарегистрируют, откуда
пришли «плохие парни». Если больше ничего нет, эти журналы заре
гистрируют, из какой системы они первоначально вошли;
• что такое системные действия. Системные журналы запишут такие
действия как перезагрузку системы, что необходимо для проведения
некоторых атак; интерфейсы переходят в беспорядочный режим (со
стояние, в котором сетевой адаптер обнаруживает в сети все фреймы
вне зависимости от их конечного адреса), что случается при активи
зации sniffer; или остановку/запуск определенных сервисов.
Кроме того, что зарегистрировано, важно и то, что не зарегистрировано. Одна из первых задач взломщиков заключается в удалении системных журналов. Чтобы определить действия взломщика, можно сравнить журналы, хранящиеся на защищенном сервере, с регистрационными файлами взломанной honeypot, которые, возможно, были изменены. Таким образом вы узнаете, что сделал взломщик с регистрационными файлами honeypot.
Ниже приведен отрывок из системного журнала /var/log/messages системы honeypot-4, которая была взломана при нападении на rpc.statd. Honeypot зарегистрировала это нападение в системном журнале и переправила записи на удаленный сервер через syslogd. На следующий день после атаки мы видим в тех же регистрационных записях, что пользователь установил исходящее из системы соединение. Обратите внимание на две учетные записи пользователя. Как и в случае с учетными записями, созданными в предыдущем нападении, взломщик сначала получает доступ с учетной записью operator, а затем получает привилегии администратора с учетной записью cgi.
Dec 09 07:17:13 honeypot-4 rpc.statd[336]: gethostbyname error for -Xw"??~Xw"??"Yw~??"Yw"??~Zw"??-Zw"??~[w~??~[w~??bffff750 8049710 8052cl8687465676274736f6d616e797265206520726f7220726f66
bffff718
bffff719 bfff f71a
bffff71b"P"P"PT~P~PT"P'"PT"P~P"P"P"P"P"P"P'"P"P~P"P'"P~P"P'"P"P'4P"P~P"PT"P"P -p-p-p-p-p-p-p-p-p-p-p-p-p-.p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p
-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p-p
-p~p-p-p-p-p-p-p-p~p-p~p-p~p-p-p-p-p-p-p-p-p-P-p-p~p-p-p~p~p-p-p-p-
Dec 9 11:08:56 honeypot-4 in.telnetd[11883]: connect from 194.102.90.21
Dec 9 11:09:34 honeypot-4 PAM_pwdb[11884]: (login) session opened for user
operator by (uid=0)
Dec 9 11:09:34 honeypot-4 login: LOGIN ON 1 BY operator FROM
blackhat.example.com
Dec 9 11:09:53 honeypot-4 PAM_pwdb[11900]: (su) session opened for user cgi
by operator(uid=11)
Системные журналы можно использовать для подтверждения регистрационных записей брандмауэра и IDS. В данном случае мы подтверждаем, что против системы действительно было совершено нападение на rpc.statd. Кроме того, системные журналы указывают на то, что для получения доступа к honeypot были использованы две учетные записи - operator и cgi.
Взломщик не пытался скрыть свои действия, изменяя регистрационные файлы. Так что системные журналы на самой honeypot и системные журналы, записанные на удаленном сервере, были идентичны. Если бы взломщик изменил системные журналы (см. главу 11), мы бы заметили разницу между журналами с honeypot и записями, отправленными на удаленный сервер регистрации.
Чтобы собрать дополнительную информацию, в систему honeypot можно внести некоторые изменения. Например, в UNIX можно модифицировать системную оболочку так, чтобы она перехватывала комбинации клавиш и передавала эту информацию на удаленный сервер регистрации. Это необычайно полезно, если сеансы связи невозможно перехватить в сети, например когда взломщики для установления соединения с honey-pot пользуются закодированным каналом, таким как ssh. По собственному опыту можем сказать, что тенденция к использованию зашифрованных инструментов стремительно распространяется в среде взломщиков. Ранее уже отмечалось, что команда Honeynet Project разработала несколько способов перехвата информации о нажатых клавишах и передачи данных на удаленный сервер регистрации. (Исходные коды и соответствующие бинарные файлы размещены на сайте http://www.dmkpress.ru.) Эти клавиши были записаны при помощи измененной версии оболочки bash и переданы на сервер syslog. Преимущество такого способа заключается в том, что даже при закодированных действиях взломщика мы все равно узнаем о нажатых им клавишах. Ниже приведена информация, перехваченная у взломщика из Румынии. Она дает нам представление о мотивах нападения на honeypot. Мы видим, что взломщик пытается использовать систему в качестве источника для запуска IRC bot (robot), emech-2.8. Обратите внимание на то, как двоичный файл был переименован в ftpl4 - получил название, кажущееся невинным.
Dec 9 11:09 :42 honeypot-4 -sh: HISTORY: PID=11885 UID=11 su cgi
Dec 9 11:13 :27 honeypot-4 bash: HISTORY: PID=11901 UID=O Is
Dec 9 11:13 :57 honeypot-4 bash: HISTORY: PID=11901 UID=O cd emech-2
Dec 9 11:14 :01 honeypot-4 bash: HISTORY: PID=11901 UID=O Is
Dec 9 11:14 :20 honeypot-4 bash: HISTORY: PID=11901 UID=O ./ftp14
Dec 9 11:14 :26 honeypot-4 bash: HISTORY: PID=11901 UID=O cd root
Dec 9 11:14 :32 honeypot-4 bash: HISTORY: PID=11901 UID=O cd
Dec 9 11:14 :37 honeypot-4 bash: HISTORY: PID=11901 UID=O cd root
Dec 9 11:16 :16 honeypot-4 -sh-: HISTORY: PID=11916 UID=11 su cgi
Преимущество такого метода перехвата клавиш заключается в том, что мы получаем не только их, но также пользователя UID и PID. Мы обнаружили, что для ОС NT системные журналы оказались не такими ценными по сравнению с возможностями регистрации традиционных систем типа
UNIX.