Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #40, МАРТ 2004 г.

Преврати свою систему в крепость

Докучаев Дмитрий aka Forb

Спецвыпуск Xakep, номер #040, стр. 040-048-2


Кстати, совсем не обязательно, что в сервисе должна содержаться ошибка, приводящая к фатальным последствиям. В этом можно убедиться, рассмотрев пример сети с общим доменом. Пусть в локальной сети существует файловый сервер на платформе Linux, на котором крутится процесс smbd (аналог ActiveDirectory в винде). Сервер на WinXP включен в домен. Казалось бы, все нормально, и никакого изъяна быть не может. А теперь представь, что файловый сервер был взломан. В наше время это нормальное явление, так как ломают в основном пингвинов. Теперь злоумышленник может добавить в домен новую учетную запись и прописать ее в административных алиасах. В итоге у него будут права админа, если он войдет под новым логином в WinXP. А все потому, что группа Domain Admins (куда хакер внес себя) имеет абсолютные права.

Вообще, портированному софту следует уделить предельное внимание, прежде чем обкатывать на WinXP. Еще один наглядный пример – Perl. Проект был перенесен в Windows без реализации каких-либо изменений. Что имеем? Выполнив любой дырявый cgi-скрипт, хакер может запросто получить заветный шелл (пусть даже не с правами администратора). Чтобы этого не произошло, необходимо патчить и настраивать Perl. То же самое можно сказать и о mysqld, который по умолчанию принимает подключения со всех хостов под root-логином. Последствия: если на сервере установлен какой-либо web-движок, то захватить его через базу становится довольно просто.

Ваши права?

Вспомни заветную мудрость линуксоидов: "Не сиди под рутом". Действительно, управлять системой под привилегированным аккаунтом нежелательно, так как в этом случае злоумышленнику будет легче проникнуть в систему. Почему? Дело в том, что когда администратор использует соответствующий логин для входа, возможен случай простого пароля, который можно подобрать брутфорсом. К тому же, как ты знаешь, в Windows существует стандартный набор шаров, которые имеют вид IPC$, ADMIN$, C$, D$ и прочее.

IPC$ - шара, которая используется для удаленной аутентификации, поэтому трогать ее не имеет смысла. Остальные из соображений безопасности можно удалить. Сделать это проще всего командой net share C$ /delete (по аналогии удаляются все остальные диски). Эту операцию следует проводить каждый раз при запуске сервера, поэтому рекомендую создать bat-файл, выполняющий грязную работу за тебя.

В результате, злоумышленник, даже зная пароль администратора, не сможет присоединить системный диск.

Не забывай периодически проверять список пользователей на сервере. Возможно, ты найдешь в нем странноватые имена, типа x4k0r или evil ;). Создать администратора консольной командой очень просто. Делается это следующим образом:

net user evil /add

net group Администраторы evil /add

В чем сила, брат?

Идеальных сервисов не бывает. Даже в самом стабильном продукте при желании можно найти смертельные для системы уязвимости. Поэтому лучшим решением для абсолютной безопасности является установка хорошего брандмауэра или, попросту, фаервола. WinXP снабжена стандартным межсетевым экраном, который, по словам разработчиков, будет работать быстрее любых фаерволов, написанных третьими лицами. Поверим им на слово ;). Для сервера я бы рекомендовал использовать более мощный экран, например Sygate.

Назад на стр. 040-048-1  Содержание  Вперед на стр. 040-048-3