Tartuga
Местный
- Регистрация
- 19.12.2019
- Сообщения
- 101
- Реакции
- 22
Shatter attacks - это атаки на основе программного обеспечения, которые используют базовую архитектурную ошибку в операционной системе. Такие атаки используют недостатки в базовом интерфейсе Windows API Win32 для создания переполнения буфера или получения повышенных привилегий. Атаки в основном основываются на локальном доступе и предыдущем размещении вредоносного кода в системе. Программа атаки должна быть установлена и запущена в целевой системе до начала атаки.
(Данная уязвимость была распространена в виндусовых системах начала 0-х (xp, 2000). Но кто знает не всплывет данная уязвимость еще где-то из-за ошибки программиста?! Где-то я видел информацию о том, что данная уязвимость присутствовала и в 7-ке)
Приложения в Windows полностью контролировались с помощью сообщений. Когда клавиша нажата, в текущее активное окно отправляется сообщение, в котором указывается, что нажата клавиша. Когда Windows решает, что приложение необходимо перерисовать свою клиентскую область, оно отправляет сообщение в приложение. Эти сообщения помещаются в очередь и обрабатываются в порядке приложения. Тогда в win32 отсутствовал механизм аутентификации источника сообщения; сообщение, отправленное из вредоносного приложения, не отличалось от сообщения, отправленного ядром Windows. И данная "особенность" успешно эксплуатировалась злоумышленниками.
Для произведения атаки необходимо найти некий элемент редактирования нашей атакуемой программы. Сообщение EM_GETLINE сообщало элементу управления редактирования, чтобы скопировать его содержимое в указанный в нашем сообщении адрес. Тогда приложение ожидало ввода 16 байт данных из поля редактирования. Но тк в буфере было зарезервивровано только 16 байт, то можно было ввести более выделенного количества, что давало переполнение буфера. После чего, когда отправляли WM_TIMER - параметр, который указывался как идентификатор таймера, то он попадал в стек вместе с остальными нашими прелестями. (все, атака прошла
(Данная уязвимость была распространена в виндусовых системах начала 0-х (xp, 2000). Но кто знает не всплывет данная уязвимость еще где-то из-за ошибки программиста?! Где-то я видел информацию о том, что данная уязвимость присутствовала и в 7-ке)
Приложения в Windows полностью контролировались с помощью сообщений. Когда клавиша нажата, в текущее активное окно отправляется сообщение, в котором указывается, что нажата клавиша. Когда Windows решает, что приложение необходимо перерисовать свою клиентскую область, оно отправляет сообщение в приложение. Эти сообщения помещаются в очередь и обрабатываются в порядке приложения. Тогда в win32 отсутствовал механизм аутентификации источника сообщения; сообщение, отправленное из вредоносного приложения, не отличалось от сообщения, отправленного ядром Windows. И данная "особенность" успешно эксплуатировалась злоумышленниками.
Для произведения атаки необходимо найти некий элемент редактирования нашей атакуемой программы. Сообщение EM_GETLINE сообщало элементу управления редактирования, чтобы скопировать его содержимое в указанный в нашем сообщении адрес. Тогда приложение ожидало ввода 16 байт данных из поля редактирования. Но тк в буфере было зарезервивровано только 16 байт, то можно было ввести более выделенного количества, что давало переполнение буфера. После чего, когда отправляли WM_TIMER - параметр, который указывался как идентификатор таймера, то он попадал в стек вместе с остальными нашими прелестями. (все, атака прошла