Что же такое эксплоит? Постараемся внятно ответить на данный вопрос.
Эксплоит – это программа. Но не какая-то простая программа, а которая была написана для использования какой-либо широко (или не очень широко) известной уязвимости в какой-либо другой программе. Целями для программ-эксплоитов являются операционные системы, прикладные программы, интернет-приложения.
Написать эксплоит можно практически а любом доступном языке программирования: PHP, Delphi, C#, Perl. Сам файл программы эксплоита бывает либо уже готовой программой, которую нужно только запустить для ее выполнения, но бывает, что он поставляется в виде так называемых «сорцов» — исходных кодов, и перед эксплуатацией его нужно скомпилировать.
Рассмотрим теперь виды эксплоитов. Их подразделяют на локальные и удаленные. Локальные эксплоиты используются для повышения прав пользователя на компьютере, к которому уже имеется физический доступ. Удаленные позволяют сделать то же самое, только на удаленной машине.
Физически смысл у всех эксплоитов один – переполнить буфер и затем под шумок выполнить какой-либо произвольный код (так называемый Shell-код). От Shell-кода зависит, какое действие будет выполнено после атаки: откажется ли сервер отвечать на любые запросы, откроется ли некоторый нужный порт, повысятся ли привилегии у некоторого левого пользователя или выполнится другой код.
Самым распространенным видом эксплоитов являются те, которые позволяют атаковать какой-либо удаленный сервер или компьютер до тех пор, пока он полностью не откажется отвечать на запросы ли на нем попросту не навернется вся операционная система. Такой вид атак называется DOS-атаками.
Как пишутся эксплоиты.
Если вы нашли уязвимость в какой-либо программе или операционной системе и страстно желаете ее поэксплуатировать, другого пути у вас нет, кроме как написать эксплоит. Процесс его написания обычно делят на три этапа: 1) сбор информации о уязвимости и поиск переполняющей буфер функции; 2) написание Shell-кода или программы, которая открывает нам доступ к уязвимой программе; 3) собственно сборка эксплоита, то есть окончательного варианта, который бы использовал найденную уязвимость и выполнял бы на машине жертвы некий Shell-код.
Для первого этапа вам потребуются 2 программы: отладчик и дизассемблер (дебаггер). Для второго – ассемблер (да-да, старый добрый ассемблер, на котором написать можно вообще все что угодно). Для третьего же этапа рекомендуют использовать хороший компилятор С или любой другой компилятор.
Скачать эксплоит для различных уязвимостей можно к примеру на секьюритилабе. Или же искать эксплоит под конкретное ПО или ОС через поисковик.