Создайте приложение с некоторым раскрытием памяти ядра - PullRequest
1 голос
/ 01 июля 2010

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

Проблема в том, что я не совсем понимаю, с чего начать ... Я обнаружил, что использование copy_to_user () без соответствующих проверок возвращаемого значения может привести к такого рода проблемам, но я не понять, как это может быть использовано. Если бы вы могли дать мне несколько советов, чтобы я мог прогрессировать, это было бы здорово.

Редактировать: То, что я хотел бы иметь, это своего рода эксплойт, подобный следующему: http://inj3ct0r.com/exploits/7837, где есть X байтов памяти ядра, которые, наконец, выгружаются.

Дело в том, что мне не нужен ни один сокет SCTP или что-либо еще, а «только» самый простой способ воссоздать этот дамп конфиденциальной информации.

Чтобы провести параллель с переполнением буфера, я хотел бы создать файл vuln.c, который будет использовать функцию gets (), а затем создать специальную строку, которая будет выполнять эту работу ... В этом случае раскрытия, я думаю, что это будет другой файл C.

Надеюсь, это имеет смысл ...

Best.

Ответы [ 2 ]

1 голос
/ 01 июля 2010

Реальность такова, что есть несколько способов действовать в зависимости от того, какой тип эксплойта вы пытаетесь выучить.

  1. Хотите внедрить код через переполнение буфера и изменение указателя возврата?
  2. Уже есть вызов copy_to_user, который вы хотите использовать, используя с одной ошибкой ?
  3. Вы хотите использовать возвратно-ориентированное программирование вместо внедрения кода
  4. Многие другие, некоторые из которых перечислены здесь
0 голосов
/ 01 июля 2010

Предполагая, что вам не нужны внутренние компоненты ядра, посмотрите на этот вопрос .

...