Exploit Development, Разработка эксплойтов, Эксплойты

#3 Разработка эксплойтов – Начало.

Пожалуй, начнем еще одну вводную лекцию. Я понимаю, что создание эксплойтов, глядя на коды операции сборки в отладчике, может быть очень пугающей или сложной задачей, и это может быть за пределами Вашей зоны комфорта.

Итак, мы собираемся охватить некоторые очень простые концепции, такие как, к примеру, шеллкоды. В основном шеллкод, по крайней мере, в области двоичного представления, содержит в себе операции на языке ассемблера. Это может отталкивать Вас в дальнейшем обучении, но не стоит беспокоиться, так как все не так сложно, как кажется на первый взгляд.

Шеллкод представляет собой двоичный исполняемый код.

Bind-шелл на целевом хосте эксплуатирует приложение для прослушивания, после запуска эксплойта. У жертвы будет новый порт прослушивания, и Вы можете просто подключать «NetCat» для этих целей.

И, наоборот, есть reverse-shell, который делает обратное подключение с машины жертвы, на нашу целевую машину. Все, что от нас требуется, это вовремя прослушивать порт, который мы прописали в эксплойте. Все довольно просто. Таким образом мы можем обойти файрволл, и без препятствий провести соединение. Для ловли входящего подключения с машины жертвы, нам пригодится команда: «nc –nlvp <прослушивающийся порт>».

Еще хотелось бы добавить немного про Meterpreter, который входит в состав фреймворка Metasploit. Meterpreter можно называть трояном (Remote Access Trojan). Он позволяет получить удаленный доступ к машине жертвы.

Но этим не стоит ограничиваться, так как может понадобиться второй эксплойт для повышения Ваших привилегий в системе.

Рассмотрим фаззинг. Фаззинг заключается в отправке или передаче нежелательной строки уязвимому приложению с целью его сбоя и, возможно, обнаружения возможности эксплуатации. Процесс фаззинга поддерживается наличием коммерчески доступных «фаззеров» с открытым исходным кодом. У Вас могут быть фаззеры сетевых или файловых форматов, которые будут видоизменяться.

Дебаггеры также полезны при разработке эксплойтов. Мы подключим отладчик к указанному процессу, который будет работать до момента поломки программы. Мы будем использовать три дебаггера.

  1. Immunity Debugger

2. GDB-PEDA (GNU Debugger)

3. EDB (Evan’s Debugger)

Итак, технические особенности. Нам нужна среда виртуализации на Вашем ноутбуке или ПК. Также требуется Windows 7, Vista или XP, и, в качестве целевого хоста, Kali Linux.

#1 Введение в разработку эксплойтов. Вводная часть.

#2 Введение в разработку эксплойтов. Дополнительные модули.