A: Да, такие услуги оказываются. Например, компания Positive Technologies (www.ptsecurity.ru) предлагает взломать сервер всего за $1000. Сотрудники компании пытаются хакнуть заказчика, получить там шелл и стащить конфиденциальную информацию, которая бы являлась доказательством того, что взлом удался. Эта услуга была названа «penetration testing». Естественно, проверить свой сервер на дырки – удовольствие дорогое. Клиентами займутся сотрудники PT и SecurityLab. Они гарантируют абсолютную конфиденциальность и полноту тестирования. На рынке присутствуют и другие компании: Digital Security (www.dsec.ru), НПО «Информзащита» (www.infosec.ru). Впрочем, можно пойти другим путем – пригласить знакомого хакера, если таковой имеется.
Q: Я залил руткит на сервер, а новые бинарники перестали запускаться. Что мне теперь делать?
A: Искать бэкапы. Руткиты, выполненные в виде прекомпиленных бинарных файлов, ненадежны. То есть вполне возможно, что кит не переварится новыми глибсами. Бывает, что бинарник объявит об отсутствии какой-либо библиотеки, а иногда может вообще не запуститься. В этом случае ищи бэкап системы на другом носителе либо вручную переустанавливай испорченные файлы. А затем воспользуйся другим руткитом, на основе LKM, например.
Q: Что такое LKM-руткит?
A: Это очень полезная штука! LKM – Linux Kernel Module, руткит, построенный на нем, представляет собой набор ядерных модулей, которые после загрузки перехватывают системные вызовы, стирают себя из списка модулей и т.д. Преимущество налицо: руткит не заменяет никаких файлов, поэтому даже после переустановки бинарников хакерские модули будут работать. Только вот незадача: существует софт, который позволяет увидеть установленный в системе LKM-руткит.
Q: Наша сеть строится на хабах. Как можно фаерволом заблокировать нелегальную попытку смены IP-адреса?
A: В этом случае нужно оформлять статическую прописку ARP-таблицы. Но, раз уж ты заговорил о фаерволе, поделюсь правилом, которое привяжет нужный IP-адрес к MAC. Это достигается при помощи модуля mac.so. Рулес будет выглядеть следующим образом:
iptables –A INPUT –s 192.168.0.1 –m mac –mac-source 00:C0:DF:10:19:FB –j ACCEPT.
При желании ты можешь указать параметр -mac-desitination, чтобы разрешить соединение с узлом, имеющим определенный MAC.
Q: Хочу, чтобы мой *nix-сервер жил только на CD. Порекомендуй хороший живой дистрибутив.
A: Из «компактных» пингвинов я сталкивался только с SuSE и Knoppix. Второй порадовал меня больше: система полностью русифицирована, грузится сразу в Иксы, имеет возможность сохранять настройки на жестком диске, снабжена всеми необходимыми сервисами. Словом, то, что доктор прописал :).
Q: Я нашел бажный скрипт, но добился выполнения только команды в одно слово. Со вторым параметром запрос просто игнорируется. Что можешь посоветовать в этом случае?
A: В списке переменных окружения присутствует так называемая пустая строка $IFS. Ее и следует использовать в запросе. То есть, если бажный скрипт file.cgi имеет параметр file, принимающий лишь одно слово, реквест будет выглядеть следующим образом: http://host.com/cgi-bin/file.cgi?file=|uname$ifs-a
|.Q: Можно ли «выключить» установленный на сервере фаервол?
A: Еще как! Для этого хакеру нужны минимальные права, а также дырка в сервере :). Допустим, на машине крутится бажное ядро, а взломщик имеет доступ к Web-шеллу. Чтобы деактивировать фаервол, он заливает на сервер ptrace-эксплоит (либо какой-нибудь другой) со слегка измененным кодом. Вместо запуска /bin/sh будет стартоваться сценарий, который обращается к /etc/init.d/iptables с параметром stop. Как правило, запуск внешней команды не выносится в shell-код, так что исправить сишник сможет даже темный человек :). После компиляции и запуска сплоита фаервол должен выключиться.
Q: Я взломал сервер одной крутой компании. Уверен, что админы защитили машину на все 100%. На какие секурные процессы мне следует обратить особое внимание?
A: На машине могут стоять утилиты, тестирующие систему на безопасность. Обращай внимания на запущенные программы tripwire, portcentry, различные IDS, а также на программу chkrootkit, которая может и не светиться в процесс-листе.
Q: В моей системе стали спонтанно пропадать файлы. Вернее, файл существует, но /bin/ls его не показывает! С чем это связано?
A: На ум сразу приходит: тебя взломали. Тестируй сервер на наличие руткитов и выявляй злоумышленника. Хакер, видимо, прописал в конфиг руткита маску, под которую попал системный файл. В результате этого файл исчез из поля зрения ls. Впрочем, такая аномалия может возникнуть, если на винте имеются бэды. На всякий случай запусти fsck и удостоверься, что файловая система в норме.
Q: Когда я просматривал таблицы MySQL на взломанном сервере, то напоролся на какие-то учетные записи. Только вот пароли там зашифрованы, и я не могу их взломать.