Бесплатный электронный учебник по защите информации компьютера в интернет |
|
служба Компьютерная
помощь |
Часто используемые методы удаленного взлома |
Антивирусная защита компьютера. Вызов мастера на дом в Кириши |
|
|||||
|
Часто используемые методы удаленного взлома Хотя мы не сможем описать все возможные методы удаленного взлома, однако, как нам кажется, у вас уже должно было выработаться общее представление об основных принципах подобных атак, на основании которого вы сможете самостоятельно разобраться в тех или иных конкретных методах. Перед завершением обсуждения методов удаленного взлома мы хотим рассмотреть несколько важных служб, часто подвергающимся таким атакам, а также указать, с помощью каких контрмер можно снизить риск использования этих служб для проникновения в систему в тех случаях, когда отключение службы не представляется возможным. |
||||
TFTP Протокол TFTP (Trivial File Transfer Protocol — простой
протокол передачи файлов) обычно используется для загрузки бездисковых
рабочих станций или сетевых устройств. таких как маршрутизаторы. TFTP
— это основанный на UDP протокол, который использует порт 69 и характеризуется
очень низким уровнем безопасности. Практически каждый случай, когда
взломщик встречает систему, на которой запущен сервер TFTP, заканчивается
попыткой получения через TFTP копии файла /etc/passwd. Если сервер
TFTP не настроен должным образом, это приводит к тому, что система
без малейшего сопротивления позволяет скопировать этот файл. Тем самым
в руки взломщика попадает файл с информацией о пользовательских именах,
после чего он может попробовать подобрать пароль. Кроме того, если
пароли не хранятся в файле /etc/shadow, то, помимо пользовательских
имен, взломщик получает также и зашифрованные пароли, в результате
чего им может быть предпринята попытка их взлома или подбора. Контрмеры: защита TFTP Убедитесь в том, что сервер TFTP ограничивает доступ
к определенным каталогам, таким как /tftpboot. Это воспрепятствует
взломщикам получить важную информацию о конфигурации системы. Кроме
того, рассмотрите возможность реализации механизма управления доступом
на уровне всей сети в целом и на уровне отдельных узлов, который запрещал
бы несанкционированный доступ к серверу TFTP. FTP В настоящее время протокол FTP (File Transfer Protocol),
позволяющий обмениваться файлами с удаленными системами, является
одним из наиболее популярных. Это одна из причин, по которым он часто
используется для несанкционированного доступа к удаленным системам
или скрытной записи файлов. Многие FTP-серверы разрешают анонимный
доступ, т.е. позволяют подключаться любому пользователю без какой-либо
аутентификации. Обычно при этом файловая система, доступная анонимному
пользователю, ограничивается определенными каталогами. Однако иногда
бывает так, что анонимный пользователь может получить доступ к любому
каталогу и файлу системы. Такая оплошность системного администратора
дает возможность взломщику найти важные конфигурационные файлы, прежде
всего /etc/passwd. Что еще хуже, многие FTP-серверы позволяют всем
пользователям записывать информацию в свои каталоги. Такая "гремучая
смесь" является "миной замедленного действия", подложенной
под систему защиты. Например, взломщик может поместить файл .rhosts
в личный каталог пользователя, чтобы впоследствии подключиться к системе
с помощью утилиты rlogin. Кроме того, многие FTP-серверы взломаны
охотниками за программным обеспечением, которые помешают нелегальные
программы в скрытых каталогах. Поэтому, если нагрузка на вашу сеть
возрастет за день в три раза, это может служить косвенным признаком
того, что вашу систему используют для копирования очередной пиратской
копии. [thunder]# wugod -t 192.168.1.10 -sO Еще один изъян в системе безопасности, обнаруженный в системе BSD еще в 1993 году, связан с демоном ftpd. Его описание можно найти по адресу http://www.cert.org/advisories/CA-2000-13.html. Хотя в данной книге этот вопрос подробно рассматриваться не будет, помните о том, что наличие подобного изъяна также может оказаться достаточно опасным. Контрмеры: защита FTP Хотя протокол FTP очень полезен, необходимо помнить,
что разрешение анонимного доступа к FTP-серверу может весьма пагубно
сказаться на "самочувствии" вашего сервера. Оцените необходимость
использования FTP-сервера и определите, нужно ли предоставлять возможность
анонимного доступа. В таких случаях для защиты сервера необходимо
предпринять специальные меры. Очень важно установить самые последние
версии модулей обновления, а также запретить или как минимум oipami-чить
количество каталогов, в которые разрешена запись всем пользователям.
А лучше вовсе откажитесь от таких каталогов. sendmail Данная тема столь обширна, что вполне заслуживает
отдельной книги. С чего же начать? Программа sendmail — это агент
рассылки электронной почты (МТА — mail transfer agent), используемый
во многих системах UNIX. Из всех программ UNIX sendmail, пожалуй,
является самой "вредной". Она обладает очень широким набором
функций, в связи с чем позволяет настраивать свои параметры самыми
разными способами и является очень сложной в использовании. Фактически
о первых попытках взлома sendmail стало известно еще в 1988 году и
с тех пор ее использовали для получения несанкционированного доступа
к нескольким тысячам систем. Одно время была даже популярной такая
шутка: "Какая ошибка в sendmail признана лучшей ошибкой недели?"
В течение последних лет sendmail была значительно улучшена в плане
безопасности, но она по-прежнему остается очень большой программой,
исходный код которой содержит более 80000 строк. Таким образом, вероятность
обнаружения новых изъянов в системе зашиты по-прежнему достаточно
велика. hello [tsunami]$ cat > .forward Получение сообщения приведет к созданию в рабочем каталоге пользователя файла evil_shell. При запуске этого файла будет запущена командная оболочка с привилегиями, соответствующими уровню привилегий использованной взломщиком учетной записи. Контрмеры: защита программы sendmail Лучшим методом защиты от попыток взлома sendmail
является отказ от ее использования во всех случаях, когда эта программа
не используется для получения почты по сети. Если использовать sendmail
все же необходимо, обязательно убедитесь в том, что в вашем распоряжении
имеется ее самая свежая версия, в которой установлены все модули обновления
системы защиты (http://www.sendmail.org). К другим мерам относится
удаление из соответствующего файла всех псевдонимов. Исследуйте каждый
псевдоним, который указывает на программу, а не на учетную запись
пользователя. Кроме того, убедитесь, что разрешения, заданные для
соответствующих файлов, запрещают внесение в них каких-либо изменений.
Службы удаленного вызова процедур (RPC) Удаленный вызов процедур (RPC — Remote Procedure
Call) — это механизм, который позволяет программе, работающей на одном
компьютере, выполнять программный код на удаленном компьютере. Одна
из первых реализаций службы RPC была разработана компанией Sun Microsystems
и использовалась в системе, базирующейся на протоколе XDR (внешнее
представление данных — eXtemal Data Representation). Целью этой системы
было обеспечение взаимодействия сетевой информационной службы (NIS
— Network Information System) и сетевой файловой системы (NFS — Network
File System), созданных компанией Sun. После разработки компанией
Sun Microsystems службы RPC многие другие производители операционных
систем семейства UNIX также стали включать поддержку RPC в свои продукты.
С точки зрения обеспечения взаимодействия распространение и стандартизация
RPC — это очень важно и полезно. Однако при разработке службы RPC
вопросам безопасности практически не уделялось никакого внимания.
Несмотря на то что и компания Sun, и другие разработчики приложили
все усилия, для того, чтобы устранить имеющиеся недостатки в уже используемом
программном обеспечении и выпустить соответствующие модули обновления,
нередко оказывается, что механизм RPC по-прежнему таит в себе немало
проблем, связанных с огромным количеством ошибок в системе защиты.
[rumble]* cmsd.sh quake
#!/bin/sh Контрмеры: защита служб RFC Лучшим методом защиты от удаленных атак является
отключение всех служб RPC, в использовании которых нет острой необходимости.
Если же какая-то служба RPC очень важна для работы сервера, подумайте
над установкой какого-либо устройства управления доступом, с помощью
которого связь с необходимыми портами RPC можно было бы разрешить
только строго определенным узлам. В некоторых случаях эта задача может
оказаться весьма непростой. Подумайте также над включением режима,
запрещающего выполнение стека, если такой режим поддерживается вашей
операционной системой. Наконец. попробуйте использовать Secure RPC,
если имеющаяся в вашем распоряжении версия UNIX поддерживает такие
средства. Secure RPC обеспечивает дополнительный уровень аутентификации,
основанной на шифровании по открытому ключу. Помните, что Secure RPC
— это не панацея, поскольку многие разработчики UNIX не поддерживают
этого протокола. Другими словами, при использовании протокола Secure
RPC повышается безопасность, но под угрозой может оказаться взаимодействие.
Наконец, убедитесь в том, что установлены все самые последние модули
обновления, разработанные поставщиком используемой вами системы. NFS В документах компании Sun Microsystems можно встретить
такое определение: "Сеть — это и есть компьютер". Действительно,
возможности компьютера, не подключенного к сети, гораздо уже, чем
его собрата, включенного в локальную или глобальную сеть. Возможно,
именно из-за этого сетевая файловая система (NFS — Network File System)
является одной из самых популярных файловых систем, предназначенных
для поддержки сетевой обработки данных. Система NFS обеспечивает пользователям
и приложениям прозрачный доступ к файлам и каталогам удаленных систем,
как если бы эти файлы и каталоги были локальными. NFS была разработана
компанией Sun Microsystems, и за годы, прошедшие после выхода версий
1 и 2, была значительно усовершенствована. В настоящее время система
NFS версии 3 используется в большинстве современных клонов UNIX. Именно
поэтому администратор любой системы, разрешающей удаленный доступ
к экспортируемой файловой системе, должен быть особенно бдительным.
Вероятность использования системы NFS для проникновения в сеть очень
высока, а нарушения такого рода являются одними из самых распространенных
нарушений безопасности UNIX. Это связано, во-первых, с -тем, что в
сервере NFS (mountd) уже выявлено очень много потенциальных ошибок,
приводящих к переполнению буфера. Кроме того, системой NFS используются
службы RPC, что позволяет взломщикам смонтировать удаленную файловую
систему. Большинство проблем, связанных с безопасностью NFS, имеет
то или иное отношение к объектам, называемым дескрипторами файлов
(file handle). Дескрипторы файлов — это уникальные маркеры, предназначенные
для идентификации файлов и каталогов удаленного сервера. Если взломщику
удастся выведать или подобрать дескриптор удаленного файла, он сможет
легко получить к нему доступ. [tsunami]# rpcinfo -p quake [tsunami]# showmount -е quake [tsunami /root]# mount quake:/ /mnt Другим, более удобным, инструментом исследования системы NFS является пакет nfsshell, разработанный Линдертом Ван Дорном (Leendert van Doom), которую можно найти по адресу ftp://ftp.cs.vu.nl/pub/leendert/nfsshell.tar.gz. В состав пакета nfsshell входит робастный клиент nfs. Этот клиент функционирует подобно клиенту FTP и позволяет легко манипулировать удаленной файловой системой. Многочисленные параметры nfs заслуживают того, чтобы привести их в данной книге. [tsunami n£s]# nfs nfs> host quake nfs> export nfs> mount /
nfs> cd /etc nfs> mount /usr Создадим на нашей системе следующий сценарий и сохраним его в файле in. f tpd. tt!/bin/sh nfs> cd /sbin [tsunami]# xhost +quake # id Контрмеры: защита системы NFS Если нет острой необходимости в использовании системы
NFS, то ее, а также и все связанные с ней службы (например, mountd,
statd и lockd) необходимо отключить. Реализуйте механизм управления
доступом, который позволил бы получать доступ к нужным файлам только
санкционированным пользователям. Обычно экспортом файловых систем
и включением соответствующих параметров управления доступом управляют
конфигурационные файлы /etc/exports, /etc/dfs/dfstab и т.д. Некоторые
параметры управления доступом позволяют задать имена компьютеров или
групп, которым разрешен доступ, установить доступ только для чтения
или запретить установку флага SUID. В каждой реализации системы NFS
имеются небольшие различия, поэтому более подробную информацию об
используемой версии поищите в документации или в справочной системе.
Кроме того, никогда не включайте локальный IP-адрес сервера (или localhost)
в список систем, которым разрешено монтировать файловую систему. Более
старые версии службы portmapper позволяют взломщикам подключаться
через proxy-серверы, работающие в интересах этих взломщиков. Если
системе было разрешено монтировать экспортируемую файловую систему,
взломщики могут отправить пакеты NFS службе portmapper взламываемой
системы, что, в свою очередь, приведет к пересылке запроса на localhost.
Такой запрос будет выглядеть так, словно он поступил с доверенного
узла, что позволит ему обойти соответствующие правила управления доступом.
Как всегда, в качестве последней по порядку (но не по значимости!)
меры, советуем установить все модули обновления, предлагаемые разработчиками
программного обеспечения. Проблемы защиты системы X Система X Window предоставляет богатый набор функций,
позволяющий многим программам одновременно использовать один и тот
же графический дисплей. Но с точки зрения безопасности самой большой
проблемой системы X Windows является реализованная в ней модель защиты,
которую коротко можно охарактеризовать так: "Все или ничего".
После того как клиент получил доступ к Х-серверу, ему выдается полная
индульгенция. Клиенты X могут перехватывать нажатия клавиш на пользовательской
консоли, закрывать окна, захватывать любые окна сервера и отображать
их содержимое где угодно, и даже переключать клавиатуру на свою, независимо
от того, какие клавиши нажимает пользователь. Многие проблемы основываются
на слабой парадигме управления доступом или полном равнодушии системного
администратора. Самой простой и популярной формой управления доступом
к X является аутентификация с использованием команды xhost. Данный
механизм обеспечивает управление доступом на основе IP-адреса и является
при этом наиболее слабой формой аутентификации. Для удобства работы
системный администратор может ввести команду xhost +, что позволит
получить доступ к Х-серверу без какой-либо аутентификации любому локальному
или удаленному пользователю (при использовании параметра + доступ
к серверу разрешен для всех узлов). Что еще хуже, многие Х-серверы,
работающие на платформе PC, по умолчанию настроены именно на использование
команды xhost +, подвергая тем самым огромной опасности ничего не
подозревающих пользователей. Как вы понимаете, этим, казалось бы незначительным,
недостатком могут воспользоваться злоумышленники. [tsunami]$ xscan quake [tsunami]$ tail -f KEYLOG.quake:0.0 Также просто определить, какие окна открыты на взломанной системе. Для этого взломщик сначала должен установить шестнадцатеричное значение идентификатора окна с помощью команды xlwins. [tsunami]! xlswins -display quake:0.0 Igrep -i netscape [tsunami]# xwatchwin quake -w 0x1000561 Указывая идентификаторы окон, можно просматривать их содержимое на своем компьютере, незаметно наблюдая за всеми действиями, которые выполняет пользователь. Даже если на взламываемом компьютере включен режим xhost -, взломщик может получить копию экрана консоли сеанса пользователя с помощью утилизы xwd. Для этого достаточно, чтобы у взломщика был локальный доступ к командной оболочке, а на взламываемом сервере использовалась лишь стандартная аутентификация xhost. [quake]$ xwd -root -display localhost:0.0 > dump.xwd Теперь, чтобы увидеть копию экрана, просто скопируйте файл на свой компьютер, воспользовавшись утилитой xwud. [tsunami]# xwud -in dump.xwd На этом перечень возможностей взломщика далеко не исчерпан. Он может, например, просто связать эмулятор клавиатуры KeySym с требуемым окном. После этого нажатия клавиш на клавиатуре злоумышленника будут отправляться программе xterm удаленной системы и обрабатываться так, как если бы они вводились на локальной клавиатуре этой системы.
Контрмеры: защита системы X Сделайте все возможное, чтобы избежать использования
команды xhost +. He ленитесь, помните о безопасности! Если вы не можете
пойти на столь радикальные меры, тогда хотя бы применяйте команду
xhost -, которая запрещает новые подключения, однако позволяет функционировать
уже имеющимся. Если вы должны разрешить удаленный доступ к вашему
Х-серверу, обязательно указывайте IP-адрес каждого сервера, которому
разрешен доступ. Никогда не забывайте о том, что любой пользователь
такого сервера может скрытно подключиться к вашему Х-серверу. Среди
других мер по обеспечению безопасности можно выделить применение более
серьезного механизма аутентификации, такого как MIT-MAGIC-COOKIE-1,
XDM-AUTHORIZATION-1 и MIT-KERBEROS-5. Эти механизмы обеспечивают довольно
высокий уровень защиты при подключении к Х-серверу. Если вы используете
программу xterm или аналогичный терминал, включите режим Secure Keyboard.
Это позволит запретить любому процессу перехватывать нажатия клавиш.
Кроме того, подумайте о том, чтобы блокировать доступ извне к портам
6000-6063 на уровне брандмауэра с целью запретить несанкционированным
пользователям подключаться к портам Х-сервера. И наконец, воспользуйтесь
защищенной оболочкой ssh и ее возможностями по повышению уровня защиты
сеансов X. Убедитесь, что в файле sshd_config или sshd2_config для
параметра ForwardXll установлено значение yes. Атаки на систему DNS DNS является одной из наиболее популярных служб,
используемых в Internet и большинстве корпоративных интрасетей. Как
и следовало ожидать, такое широкое распространение службы DNS оказалось
одной из причин многочисленных атак на эту систему. Взломщики постоянно
пытаются воспользоваться слабыми местами одной из наиболее стандартной
реализации службы DNS системы UNIX— пакета BIND (Berkeley Internet
Name Domain). Кроме того, DNS является одной из нескольких служб,
которые практически всегда оказываются необходимыми и функционируют
по всему периметру корпоративной сети, обеспечивая доступ к Internet.
Таким образом, любая ошибка службы DNS практически всегда приводит
к возможности удаленного проникновения (зачастую с привилегиями root).
В одном из отчетов по вопросам безопасности, который был опубликован
в 1999 году и взбудоражил общественное мнение, сообщалось, что более
50% всех соединенных с Internet серверов DNS уязвимы для атак взломщиков.
Так что подобная опасность абсолютна реальна. Соблюдайте осторожность!
[ tsunami]# dig Для проведения такой атаки взломщик должен контролировать сервер DNS, связанный с удаленным доменом. На этом сервере DNS взломщику необходимо также создать поддомен, связанный с его собственным доменом. В данном примере предполагается, что сетью взломщика является attackers.org, поддомен называется hash и сервер DNS запущен на узле с именем quake. В данном случае взломщику необходимо добавить в файл /var /named/attackers, org. zone узла quake следующую запись, а затем перезапустить программу named с помощью интерфейса ndc. subdomain IN NS hash.attaokers.org. Помните о том, что сервер DNS, контролируемый взломщиком, запущен на узле quake. После компиляции утилиты взлома, созданной группой ADM (http: //packet storm.securify.com/9911-exploits/adm-nxt.с), ее нужно запустить с отдельного узла (tsunami), имеющего корректную архитектуру. Поскольку программа named используется в многих версиях UNIX, то утилитой adm-nxt поддерживаются следующие архитектуры. [tsunami]# adm-nxt [tsunami]# adm-nxt 1 После запуска утилита adm-nxt свяжется с UDP-портом 53 узла tsunami и будет ожидать установки соединения с уязвимым сервером имен. На этом узле не нужно запускать реальный сервер DNS, в противном случае утилита adm-nxt не сможет связаться с портом 53. Не забывайте о том, что работа утилиты adm-nxt основывается на наличии целевого сервера имен, соединенного (или запрашивающего) с ложным сервером DNS, который на самом деле представляет собой утилиту взлома, прослушивающую UDP-порт 53. Как же взломщик может это реализовать? Очень просто. Для этого достаточно передать целевому серверу DNS запрос на получение некоторых данных с использованием команды nslookup. [quake]# nslookup серверу-жертве с адресом 10.1.1.100. И наконец, взломщик запросил у взламываемого сервера DNS адрес поддомена hash.attackers.org. Это, в свою очередь, приведет к тому, что сервер dns.victim.net сгенерирует запрос к ложному серверу DNS, который прослушивает USP-порт 53. Как только целевой сервер установит соединение с узлом tsunami, на узле dns.victim.net утилитой adm-nxt будет сгенерировано переполнение буфера, в результате чего взломщик получит неограниченный доступ с привилегиями root, как показано ниже. [tsunami]# t666 I Контрмеры: защита службы DNS Первое и самое главное — отключите и удалите пакет BIND на всех узлах, которые не используются в качестве сервера DNS. Во многих версиях системы UNIX (особенно Linux) программа named автоматически запускается при начальной загрузке компьютера, несмотря на то, что она никогда не используется. Во-вторых, удостоверьтесь в том, что используется текущая версия пакета BIND, в состав которой входят модули обновления подсистемы защиты (www.bind.org). В-третьих, запускайте программу named с правами непривилегированного пользователя. Другими словами, программа named должна запускаться с привилегиями root только для связывания с портом 53. После этого эти привилегии нужно понизить с использованием параметра -u (named -и dns -g dns). И наконец, программа named должна запускаться с использованием параметра -t из среды chrooted() (named -u dns -g dns -t /home/dns). Это поможет предотвратить попытки взломщика, связанные с обходом файловой системы и в том случае, если им был получен доступ. Даже если все перечисленные меры защиты решат поставленную задачу, не стоит успокаиваться на достигнутом. Безопасности сервера DNS необходимо постоянно уделять самое пристальное внимание. |
|||||
|
|
|||
|