3

В настоящее время я читаю несколько книг по безопасности (моя страсть) относительно безопасного программирования, однако либо дистрибутив, который они предоставляют на диске, является неисправным или вообще не существует. Книги: Взлом Искусство эксплуатации 2nEd, взлома Gray Hat 2nEd Проблема в том, что, когда я пытаюсь следовать примерам, очевидно, что новые дистрибутивы имеют защиту стека и другие функции безопасности, реализованные для предотвращения этих ситуаций, и я попытался вручную настроить окружающая среда, обеспечиваемая взломом искусства эксплуатации, но я потерпел неудачу. Также я пробовал DVL (Dam Vulnerable Linux), но его слишком раздутый, я просто хочу минимальную среду, которую я могу иметь в небольшом разделе, и выбрать из загрузчика или иметь в небольшом виртуальном боксе.Настройка среды для обучения переполнению буфера

Итак, мой вопрос заключается в следующем: как мне настроить среду (distro old kernel), в которой я могу следовать большинству этих примеров. Возможно, если кто-то скажет мне версию DVL ядра и GCC, я мог бы получить большинство из них настраивает себя.

+0

Я думаю DVL раздутый по назначению - это дает вам больше материала, чтобы эксплуатировать. – LiraNuna

ответ

2

Вы должны пересобрать ядро ​​без стека и кучи защиты, включая неисполнительную стека. Затем вам нужно скомпилировать флагов gcc, чтобы отключить защиту, один из которых будет «-fno-stack-protector». Кроме того, поскольку вы скоро столкнетесь с этим, вы, вероятно, захотите статически компилировать свою программу, потому что это будет немного легче понять, когда вы отлаживаете свою полезную нагрузку 0x41414141.

Также в зависимости от вашего определения «наворотов» было бы проще просто загрузить более старый дистрибутив linux, redhat 5 или старый slackware и установить и использовать его с помощью инструментальной привязки по умолчанию.

+0

Эти детали я был после. ура – theraven

1

Если вы до сих пор DVL доступны, вы можете использовать команды:

$ uname -r 
$ gcc --version 

, чтобы выяснить для себя.

Edit: согласно distrowatch.com ядро ​​Linux является 2.6.20 и GCC является 3.4.6