Hack-FAQ

SideX (hack-faq@real.xakep.ru)

Xakep, номер #061, стр. 061-050-3


Q: Мой DHCP-сервер выдает мне IP 192.168.1.X. Почему мои клиенты иногда получают 192.168.0.X?

A: Чтобы ответить на этот вопрос, позволь мне более детально обрисовать полученную картину. Мы имеем NT-домен, где выдачей IP-адресов занимается NT4-машина. Здесь же находится вторая Win2003-тачка, установленная админом другого сегмента сети. На ней висит работающий DHCP-сервер, раздающий адреса в пространстве 192.168.0.0/24. Каким-то образом машины из NT4-пространства периодически обращаются к 2003 машине за искомым адресом, получая неправильный IP. Отсюда вывод: разделяй и властвуй! Это пример того, как важно грамотно сегментировать сетку.

Q: В чем суть нашумевшего бага DCOM RPC?

A: Суть состоит в том, что это устаревший сентябрьский баг (эмбрион был обнаружен аж в июле!). Однако долгий печальный опыт и наличие тысячи бажных, непропатченных лопухов и поныне не дают права молчать! В первую очередь запомним термины: Windows Distributed Component Object Model (DCOM) Remote Procedure Call (RPC) интерфейс. RPC – протокол, позволяющий запускать нужный код удаленно на определенных машинах. Сам DCOM интерфейс можно отыскать на задействованных RPC портах. При успешном эксплоитинге, атакующий может творить с компом все что угодно, как и обычный локальный пользователь. Т.е. устанавливать нужный софт, стирать и пополнять имеющуюся в системе инфу, создавать и удалять юзеров. Помимо переполнения буфера с последующим исполнением нужного кода, можно и просто вывести комп из строя. Но не все так печально - MS предельно быстро наколбасил патчи, так что end-user’у осталось лишь жмакнуть на свой любимый Windows Update. К тому же часть непатченных юзеров оказались вне опасности: при наличии фаервола, пусть даже стандартного виндозного, входящие соединения на RPC-порты (135, 139, 445, 593) были чаще всего заблокированы. А вообще уже выпущено множество эксплоитов по этой теме, как для атак с Win-машин, так и с *nix’ов. Отыскать все необходимое можно в Google’e по ключевым словам «DCOM RPC exploit». Грамотные обзоры решения проблемы есть у самого MS (www.microsoft.com/technet/treeview/default.asp?url=/technet/security/bulletin/MS03-039.asp и www.microsoft.com/technet/treeview/?url=/technet/security/bulletin/MS03-026.asp).

Q: Я пишу свой первый эксплоит. Какие будут пожелания?

A: Стандартное пожелание для всех писарей первых эксплоитов – осторожнее с зоной распространения написанной тулзы. Не забывай, что всегда есть горячие головы, которые, добыв софтину, начинают злостный беспредел. Так что при поиске дополнительных материалов в Сети пользуйся философией «как писать безопасный софт», «как не допустить багов». Например, на www.linuxfocus.org/English/January2001/article182.shtml лежит целый цикл статей по безопасному коду «Как не насажать дырок в безопасности при разработке софта», который можно легко переделать в «Как заюзать имеющийся баг в проге». Мое же личное пожелание эксплоитеру – пиши изначально дырявый софт! Звучит парадоксально, но имея под рукой бажную софтину, куда проще будет понять способ написания эксплоита. Задача вдвойне упрощается, если софтина написана тобой же, и ты хорошо знаешь основные блоки кода. Полученный опыт поможет тебе не допускать стандартных ошибок в своем будущем коде. Некоторые знающие люди также рекомендуют дизассемблировать коммерческий софт - для приобретения опыта «как же все это работает». Занятие, безусловно, муторное, но чреватое новым опытом :).

Назад на стр. 061-050-2  Содержание  Вперед на стр. 061-050-4