Мастерская бравого хакера

Крис Касперски

Хакер, номер #091, стр. 091-116-1

Заточи эксплоит под себя!

В сети валяется множество демонстрационных (proof-of-concept) exploit'ов, создающих файл на «жертвенном» диске или выводящих сообщение об уязвимости на экран. Для атаки на удаленные системы они не пригодны, и даже если нам посчастливится встретить боевой exploit, открывающий shell, то вовсе не факт, что он заведется без предварительной доработки...

Начну с главного — с отречения. Ни к чему деструктивному не призываю и употребляю термин «хакер» со всем позитивом, на которое только способен. Атаковать чужие системы можно только с явного разрешения их владельцев, в противном случае это будет не хакерство, а чистая уголовщина со всеми отсюда вытекающими последствиями. В то же время протянуть шнурок к приятелю-хакеру и тестировать с ним exploit'ы, никакое законодательство не запрещает. На этом и закончим.

Где брать?

Поиск новых exploit'ов очень похож на охоту: всемирная сеть велика, а дичь гнездится там, где никогда бы не подумал ее искать. Самые свежие exploit'ы обычно выкладываются на немодерируемые хакерские форумы с высоким трафиком (среди которых выделяется lists.grok.org.uk/pipermail/full-disclosure/), откуда они с некоторой степенью оперативности попадают на www.securityforcus.com и другие «накопители дыр», превратившиеся в последнее время в сплошные помойки, источающие зловонный запах давно непроветриваемых отстойников.

Кстати говоря, securityfocus как-то очень странно устроен. В разделе «exploit» обычно присутствует текст такого рода: «В настоящее время мы не знаем об exploit'е для этой дыры. Если ты считаешь, что мы ошибаемся или имеешь более свежую информацию, то, пожалуйста, напиши нам на vuldb@securityfocus.com.» Не верь им! Ссылки на exploit'ы часто (но не всегда!) находятся в соседнем разделе — «reference». Если же их там нет — вводишь название дыры (брать только значимые слова, например «Microsoft Internet Explorer Unspecified OBJECT Tag Memory Corruption Variant Vulnerability», а лучше всего отыскивается по запросу «IE OBJECT tag»), добавляешь ключевое слово «exploit» и идешь курить гугл, обязательно обращая внимание на дату публикации, а то ведь так недолго и в позапрошлогоднюю дырку залететь, а потом долго недоумевать, почему exploit не фурычит.

Модерируемые форумы (типа bugtraq на seclists.org) содержат более концентрированную информацию, но для того, чтобы откопать рабочий exploit, приходится очень долго ковыряться. Зачем гнаться за свежачком? Все равно, даже с учетом Windows Update, множество машин не латаются годами! Намного проще отправиться в «лавку exploit'ов», где выложен разный антиквариат, среди которого хотелось бы отметить Metaexpolit Framework Project (www.metasploit.com) – своеобразный универсальный «движок», изначально написанный на Perl'e, а начиная с версии 3.0 переписанный на Ruby и работающий как из командной строки, так и через Web-интерфейс. К движку подключаются «топливные модули» — гибкие и высококонфигурабельные exploit'ы, способные нести на своем борту любую боевую нагрузку (payload). Собственно говоря, разделение кода на «движок», «exploit» и «payload» есть главное преимущество Metaexpolit Framework'а перед обычными exploit'ами, где все эти три агрегата смешаны в кучу. Поэтому, чтобы подключить свою собственную боевую начинку, приходится каждый раз разбираться, что, как и куда. Исходный код движка распространяется бесплатно и неплохо документирован. Там же, на сайте проекта, можно найти достаточно оперативно пополняемую базу exploit'ов и минимальный комплект боевой нагрузки (www.metasploit.com/sc/win32msf20payloads.tar.gz).

Содержание  Вперед на стр. 091-116-2
ttfb: 2.9048919677734 ms