ксплойт, эксплоит, сплоит (англ. exploit, эксплуатировать) — компьютерная программа, фрагмент программного кода или последовательность команд, использующие уязвимости в программном обеспечении и применяемые для проведения атаки на вычислительную систему. Целью атаки может быть как захват контроля над системой (повышение привилегий), так и нарушение её функционирования (DoS-атака).
В зависимости от метода получения доступа к уязвимому программному обеспечению, эксплойты подразделяются на удалённые (англ. remote) и локальные (англ. local). Удалённый эксплойт работает через сеть и использует уязвимость в защите без какого-либо предварительного доступа к уязвимой системе; Локальный эксплойт запускается непосредственно в уязвимой системе, требуя предварительного доступа к ней. Обычно используется для получения взломщиком прав суперпользователя.
Атака эксплойта может быть нацелена на различные компоненты вычислительной системы — серверные приложения, клиентские приложения или модули операционной системы. Для использования серверной уязвимости эксплойту достаточно сформировать и послать серверу запрос, содержащий вредоносный код. Использовать уязвимость клиента немного сложнее — требуется убедить пользователя в необходимости подключения к поддельному серверу (перехода по ссылке в случае если уязвимый клиент является браузером).
Эксплойты фактически предназначены для выполнения сторонних действий на уязвимой системе и могут быть разделены между собой следующим образом: Эксплойты для операционных систем Эксплойты для прикладного ПО (музыкальные проигрыватели, офисные пакеты и т. д.) Эксплойты для браузеров (Internet Explorer, Mozilla Firefox, Opera и другие) Эксплойты для интернет-продуктов (IPB, WordPress, VBulletin, phpBB) Эксплойты для интернет-сайтов (facebook.com, hi5.com, livejournal.com) Другие эксплойты
Эксплойт может распространяться в виде исходных текстов, исполняемых модулей, или словесного описания использования уязвимости. Он может быть написан на любом компилируемом или интерпретируемом языке программирования (наиболее частые: C/C++, Perl, PHP, HTML+JavaScript)[1].
Эксплойты могут быть классифицированы также по типу используемой ими уязвимости, такой как: переполнение буфера, внедрение SQL-кода, межсайтовый скриптинг, подделка межсайтовых запросов и т. д.
Информация, полученная в результате обнаружения уязвимости, может быть использована как для написания эксплойта, так и для устранения уязвимости. Поэтому в ней одинаково заинтересованы обе стороны — и взломщик, и производитель взламываемого программного обеспечения. Характер распространения этой информации определяет время, которое требуется разработчику до выпуска заплатки.
После закрытия уязвимости производителем шанс успешного применения эксплойта начинает стремительно уменьшаться. Поэтому особой популярностью среди хакеров пользуются так называемые 0day эксплойты, использующие недавно появившиеся уязвимости, которые еще не стали известны общественности
Связки эксплойтов представляют из себя пакет эксплойтов сразу под несколько программ (версий) и/или под разные уязвимости в них. В последних версиях связок производится выбор эксплойта именно под конкретную программу пользователя.
В большинстве случаев эксплойт-киты используются при атаках типа client-side, когда вредоносный код попадает к жертве через браузер, и в дальнейшем происходит его выполнение. Основной набор эксплойтов в связках нацелен именно на уязвимости в браузерах, Java, Flash, и PDF.
Так же существуют наборы локальных эксплойтов для поднятия привилегий в атакованной системе. Фактически подобные наборы тоже являются связками, но в хакерской среде таковыми не считаются и не называются.