Как использовать уязвимости windows

Обновлено: 05.07.2024

В Windows 10 и Windows 11 есть уязвимость, открывающая хакерам возможность повышать свои права на компьютере вплоть до администраторских. У Microsoft пока нет устраняющего ее патча, но есть инструкция по временному решению проблемы. Если ей последовать, то пользователь лишится всех ранее созданных точек восстановления системы.

Небезопасная Windows 11

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

Как пишет портал Bleeping Computer, «дыру» обнаружил специалист в сфере информационной безопасности Йонас Ликкегаард (Jonas Lykkegaard). С его слов, она присутствует не только в новейшей Windows 11, но и в популярной во всем мире Windows 10. «Дыру» Ликкегаард назвал HiveNightmare и SeriousSAM (по аналогии с известным 3D-шутером). Ей присвоен идентификатор CVE-2021-36934.

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

Как работает уязвимость

Все файлы базы данных, доступ к которым могут получить хакеры, хранятся в каталоге Windows\system32\config. Это пять системных файлов под названием DEFAULT, SAM, SECURITY, SOFTWARE и SYSTEM. Например, в файле SAM (Security Account Manager), представляющем собой диспетчер учетных записей безопасности, хранятся хешированные пароли всех пользователей ПК.


Йонас Ликкегаард заметил, что даже пользователи с обычным уровнем прав имеют доступ к этим файлам. Это позволяет хакерам извлекать из них нужные данные, а также повышать свои права на компьютере жертвы.


Для доступа к файлам нужны их теневые копии

Попытка получить доступ непосредственно этим файлам приведет лишь к появлению на экране окна с отказом выполнении этой операции. Windows постоянно использует эти файлы во время работы. Однако она же создает их скрытие (теневые) копии, которые и используются хакерами для получения нужной им информации. Доступ к таким копиям ОС никак не ограничивает.

Microsoft ничего не сделала за три года

По данным Bleeping Computer, уязвимость CVE-2021-36934 совсем скоро отметит свое трехлетие. Она появилась в составе Windows 10 еще осенью 2018 г. с выходом версии 1809.

С тех пор Microsoft исправно переносила ее во все более свежие версии своей настольной ОС. Позже «дыра» перешла «по наследству» и новой Windows 11, пришедшей на смену Windows 10 (ее поддержка будет прекращена в октябре 2025 г.).

Пока неизвестно, когда именно Microsoft узнала о наличии в ее ОС этой уязвимости. «Мы расследуем ситуацию и при необходимости примем соответствующие меры для защиты пользователей», – заявил изданию представитель Microsoft.

На момент публикации материала патч, устраняющий ее, не был доступен пользователям.

Microsoft предлагает пока лишь временное решение по защите от хакеров, желающих проэксплуатировать CVE-2021-36934. Корпорация рекомендует пользователям вручную ограничить доступ к каталогу Windows\system32\config, чтобы никто не мог получить доступ к столь важным файлам.

Для выполнения этого действия нужно запустить командную строку или Windows PowerShell и выполнить команду «icacls %windir%\system32\config\*.* /inheritance:e» (без кавычек).

Также пользователям необходимо самостоятельно удалить все теневые копии файлов, хранящиеся на компьютере. Microsoft рекомендует удалить еще и все точки восстановления системы. Они используются для «оживления» ОС после сбоя.


Как удалить теневые копии и точки восстановления в Windows 10

Сделать это можно через вкладку «Дополнительно» в меню «Очистка диска». Добраться до него можно путем клика правой кнопки мыши по системному разделу и выбора пункта «Свойства».

Linux недалеко ушел

21 июля 2021 г. CNews рассказывал о двух уязвимостях в Linux, тоже открывающих хакерам широчайших простор для действий. Одна «дыра» нашлась в ядре Linux – она пряталась в нем на протяжении семи лет. Вторая брешь на протяжении шести лет находится в составе системного менеджера systemd.

Эти уязвимости вызывают крах системы и позволяют запускать любой код. Под угрозой оказались пользователи множества популярных дистрибутивов Linux, в особенности Debian, Fedora, Ubuntu и Red Hat.

В данном цикле статей мы рассмотрим написание эксплоитов уровня ядра в ОС Windows.

image

Автор: Mohamed Shahat

Эта серия статей появилась по двум причинам. Во-первых, мне нравится работать с проектом HackSysExtremeVulnerableDriver. Во-вторых, я получил массу пожеланий, чтобы осветить эту тему.

Весь код, используемый при написании этой серии, находится в моем репозитории.

В данном цикле статей мы рассмотрим написание эксплоитов уровня ядра в ОС Windows. Важно отметить, что мы будем иметь дело с известными уязвимостями, и в реверс-инжиниринге нет необходимости (по крайней мере, для драйвера).

Предполагается, что после ознакомления со всеми статьями вы будете знать все наиболее распространенные классы брешей и методы эксплуатации, а также сможете портировать эксплоиты с архитектуры x86 на архитектуру x64 (если возможно) и ознакомитесь с новыми методами защиты в Windows 10.

Схема отладки ядра

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

Дополнительный материал для изучения:

Эксплуатация уязвимостей ядра

Этот процесс проходит намного веселее, чем эксплуатация на уровне пользователя J.

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

Темы статей этого цикла

  • Часть 1: Настройка рабочей среды
    • Конфигурирование трех виртуальных машин и системы, которая будет выступать в роли отладчика.
    • Конфигурирование отладчика WinDBG.
    • Изучение наиболее распространенных полезных нагрузок. В последующих частях будут рассматриваться конкретные уязвимости и, при необходимости, указываться ссылки на эту статью.
    • Рассмотрение уязвимостей.

    Жизненный цикл разработки эксплоита уровня ядра

    • Нахождение уязвимости. Эта тема не будет рассматриваться в данном цикле, поскольку мы уже точно знаем, где находятся бреши.
    • Перехват потока выполнения. Некоторые уязвимости предусматривают выполнение кода, для некоторых есть дополнительные требования.
    • Расширение привилегий. Главная цель – получить шелл с системными привилегиями.
    • Восстановление потока выполнения. Неучтенные исключения на уровне ядра приводят к краху системы. Если вы не собираетесь писать эксплоит для DoS-атаки, следует учитывать этот факт.

    Типы целевых систем

    Мы будем работать с уязвимостями в следующих системах (конкретная версия не принципиальна):

    • Win7 x86 VM
    • Win7 x64 VM
    • Win10 x64 VM

    Начнем с архитектуры x86, и далее будем портировать эксплоит для системы Win7 x64. Некоторые эксплоиты не будут запускать на машинах с Win10 из-за присутствия новых защит. В этом случае мы либо будем изменять логику работы эксплоита, либо будем использовать полностью другой подход.

    Используемое программное обеспечение:

    • Гипервизор (масса вариантов).
    • Windows 7 x86 VM
    • Windows 7 x64 VM
    • Windows 10 x64 VM

    Настройка систем для отладки

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

    На каждой машине, которая будет отлаживаться, нужно сделать следующее:

    • Внутри директории VirtualKD запустите файл target\vminstall.exe. Добавится новая загрузочная запись и будут доступны функции отладки и автоматическое подключение к серверу VirtualKD, установленному в системе, которая выступает в роли отладчика.

    В случае с Windows 10 VM необходимо включить режим test signing, который позволяет загружать неподписанные драйвера в ядро.

    После выполнения команды bcdedit /set testsinging on и перезагрузки на рабочем столе появится надпись «Test Mode».

    • Запустите OSR Driver Loader. Зарегистрируйте и запустите службу. Возможно, потребуется перезагрузка.
    • Установите дополнения на гостевой виртуальной машине (необязательное условие).
    • Добавьте учетную запись с низкими привилегиями, которая понадобится во время эксплуатации.

    C:\Windows\system32>net user low low /add
    The command completed successfully.

    Настройка отладчика

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

    Хост VirtualKD будет выполнять коммуникацию автоматически через именованный канал, вместо установки соединения вручную. Если вы отлаживаете через сеть в Win10 VM, потребуется протестировать соединение вручную.

        • Установите Windows SDK. Вы можете выбрать только «Debugging Tools for Windows».
        • Проверьте, что установлен отладчик WinDBG. По умолчанию используется папка C:\Program Files (x86)\Windows Kits\10\Debuggers.

        Добавьте этот путь в качестве системного и установите путь к отладчику в VirtualKD

        Перезапустите гостевые виртуальные машины. Система с VirtualKD, используемая в качестве отладчика, должна быть запущена. После перезагрузки вы сможете начать сессию в WinDBG.

        Настройка WinDBG


        Если все настроено корректно, WinDBG поставит выполнение на паузу и отобразит некоторую информацию, касающуюся целевой системы.

        Рисунок 1: Остановка выполнения кода ядра

        Символы содержат отладочную информацию для множества бинарных файлов в ОС Window. Загрузить символы можно при помощи следующей команды:

        Включаем режим подробного информирования процесса отладки.

        ed nt!Kd_Default_Mask 0xf

        Должен загрузиться модуль HEVD:

        kd> lm m HEVD
        Browse full module list
        start end module name
        fffff80b`92b50000 fffff80b`92b59000 HEVD (deferred)

        Сохраняем настройки профиля и любые изменения рабочей среды:

        File -> Save Workspace to File

        Введите команду g или нажмите клавишу F5 для продолжения выполнения (перечень других команд, которые вам могут пригодиться, хорошо описан в этом документе).

        Краткое описание модуля HEVD

        Процедура DriverEntry является стартовой для каждого драйвера:

        NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath) UINT32 i = 0;
        PDEVICE_OBJECT DeviceObject = NULL;
        NTSTATUS Status = STATUS_UNSUCCESSFUL;
        UNICODE_STRING DeviceName, DosDeviceName = ;

        RtlInitUnicodeString(&DeviceName, L"\\Device\\HackSysExtremeVulnerableDriver");
        RtlInitUnicodeString(&DosDeviceName, L"\\DosDevices\\HackSysExtremeVulnerableDriver");

        // Create the device
        Status = IoCreateDevice(DriverObject,
        0,
        &DeviceName,
        FILE_DEVICE_UNKNOWN,
        FILE_DEVICE_SECURE_OPEN,
        FALSE,
        &DeviceObject);

        • Эта процедура содержит вызов функции IoCreateDevice, содержащей имя драйвера, которое мы будем использовать во время коммуникации.
        • В объект DriverObject будут добавлены нужные структуры и указатели на функции.
        • Для нас важен указатель функции, связанный с процедурой DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL], отвечающей за обработку IOCTL (I/O Control; управление вводом/выводом);
        • В HEVD эта функция называется IrpDeviceIoCtlHandler, которая представляет собой большое условное выражение со множеством ответвлений для каждого IOCTL. Каждая уязвимость имеет уникальный IOCTL.

        Пример: HACKSYS_EVD_IOCTL_STACK_OVERFLOW представляет собой IOCTL, используемый для активации бреши, связанной с переполнением стека.

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


        Уязвимости в ОС и программном обеспечении всегда являлись одними из самым мощных векторов тестирования на проникновение. Какими интересными свежими уязвимостями можно пополнить свой арсенал? В статье попробуем разобраться, как работают 3 уязвимости в ОС Windows и MS Office, которые были опубликованы в последние полгода.

        Список уязвимостей

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

        Шаг первый — определим набор программного обеспечения, который нам был бы интересен. Так как пентест обычно проводится для корпоративных сетей, где особой популярностью пользуется ОС Windows, то логично будет в список включать уязвимости для нее и её компонентов. Итак, в списке следующий софт:

        Windows Server 2016, 2019

        Пакет приложений MS Office

        Быстрый поиск через любую поисковую машину находит несколько тысяч уязвимостей, которые были выпущены в public для перечисленных продуктов. Определим небольшой список:

        CVE-2021-1727

        Уязвимость в ОС Windows, согласно находится в Windows Installer сервисе. Успешная эксплуатация может позволить повысить свои привилегии до уровня пользователя System. Иными словами, это полная компрометация ОС. Описание, в чем конкретно заключается уязвимость, не доступно. Среди уязвимых систем — Windows 7, 8, 10 до 2004 билда включительно.

        Попробуем найти информацию среди уже готовых эксплойтов. Первая же ссылка нас приводит к вот этому репозиторию. Эксплойт написан на языке программирования C++. В этот раз нам повезло: PoC снабжен исходным кодом, в котором есть даже интересные комментарии. С использованием исходного кода опишем верхнеуровнего алгоритм эксплойта:

        main функция почти весь код содержит в цикле, условием которого является успешное чтение ключа реестра SYSTEM\\CurrentControlSet\\Services\\Fax\\ImagePath . Причем поиск осуществляется следующего значения — %systemroot%\\Temp\\asmae.exe

        На строке 76 и 77 внутри цикла устанавливается приоритет процесса и потока эксплойта.

        Это может указывать на то, что эксплойт использует проблему типа Race Condition.

        Подтверждение пункту 2 можно привести так же использование вот такого цикла для загрузки процессора:

        Основная эксплуатация происходит параллельно следующей команде:

        Таким образом, перед нами эксплойт, который приводит к Race Condition и, используя эту уязвимость, перезатирает исполняемый файл для сервиса внутри Windows. В данном случае используется сервис "Fax".

        В репозитории уже есть 2 файла, которые используются для запуска полезной нагрузки: asmae.msi и asmae.exe .

        CVE-2021-1732

        Уязвимость в Windows Win32k подсистеме. Win32k — самая популярная подсистема для повышения привилегий. Данная уязвимость не стала исключением. Основные проблемы, которые преследуют эту подсистему — рассинхронизация создания и уничтожения объектов, с которыми работают алгоритмы. Практически всегда это элементы пользовательского интерфейса, которые создаются со случайными значениями параметров инициализации.

        Публичный эксплойт для этой уязвимости можно также найти в репозитории здесь.

        Сам эксплойт использует достаточно простой алгоритм, однако, благодаря введенным в ОС подсистемам защиты, выполнение этого алгоритма может быть достаточно нетривиальной задачей.

        Итак, чтобы повысить привилегии для пользователя, эксплойт выполняет следующие этапы:

        Создание и инициализация фэйковых объектов подсистемы Win32k

        Использование уязвимости или стандартного механизма ОС для получения маппинга оперативной памяти ядра ОС

        Поиск primary Token в памяти запущенного процесса

        Модификация привилегий напрямую или с использованием донорского процесса, как правило это процесс System.exe

        Эксплойт с самого начала использует механизм поиска базовых адресов в оперативной памяти. Для этого используется функция HmValidateHandle . На основании данных от этой функции собирается примитив для чтения памяти:

        В качестве примитива на запись используется функция SetWindowLongPtrA . Далее перезатирается токен для выполнения команд с повышенными привелегиями.

        CVE-2021-40444

        Уязвимость в модуле mshtml, который используется для работы с разметкой в ОС Windows. Наиболее популярной уязвимость стала в совокупности с использованием MS Office пакета приложений. Это, наверное, одна из самых простых узявимостей, которые появлялись за последнее время. Уязвимость достаточно быстро получила большое количество фреймворков для воспроизведения и использования. Например, вот этот репозиторий.

        Суть уязвимости заключается в том, что mshtml используется для того, чтобы скачивать из сети шаблоны для работы с Office документами. Причем производятся подобные загрузки автоматически, без какой-либо валидации.

        В стандартном сценарии загрузка шаблонов позволяет работать с xml/html файлами, которые могут перемежаться cab архивами. Это обстоятельство и используется для эксплуатации. То есть чтобы стриггерить узявимость, эксплойты из репозитория просто создают подложный файл шаблона и cab файл, который будет выполнять запуск команд на системе с привелегиями пользователя, который открыл документ.

        Триггер можно найти здесь.

        Выводы

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

        Защищаемся от взлома: устраняем уязвимости в Windows и браузерах

        Сегодня практически каждую неделю распространяется новая программа-вымогатель: Chimera, TeslaCrypt, Shade или Ranscam. Антивирусы едва поспевают за ними, поэтому разработчики стали объединяться, чтобы подготовить необходимый ключ для жертв атаки.


        Подобные вирусы опираются не на новые методы нападения, а на традиционные уязвимости, например, прорехи в Windows, браузерах или стандартных программах, таких как Flash Player и MS Office, которые установлены практически на любом компьютере. Даже спустя десятилетие ежемесячного выхода патчей компании Microsoft, Adobe и подобные не смогли приструнить свои продукты с точки зрения технической безопасности. На следующих страницах мы расскажем, какие программы, прошивки и мобильные системы сейчас находятся в наихудшем положении и что можно с этим поделать.

        Защищаемся от взлома: устраняем уязвимости в Windows и браузерах

        Так, Microsoft заявляет, что с каждой новой версией Windows становится чуть более надежной. На практике концерн интегрировал в Windows 10 столько же функций обеспечения безопасности, как и в любую другую версию. Если же посмотреть на количество и тяжесть обнаруженных за последние годы уязвимостей, необходимо признать, что принятые меры мало чем помогли, а если совсем честно, не помогли совсем. В первый же год существования Windows 10 компания Microsoft доложила о том, что в новой операционной системе было выявлено больше прорех, чем в версиях 7 и 8 за тот же период времени. На данный момент система CVE (Common Vulnerabilities and Exposures — типовые уязвимости и ошибки конфигурации) перечисляет больше уязвимостей для Windows 10, чем для ее предшественниц. В целом в нынешнем году можно ожидать небывалых показателей количества уязвимостей.

        Windows 10 не исправила ситуацию

        Изучение деталей дает понять, что из последних 50 уязвимостей Windows 36 затрагивают все версии, начиная с «семерки». Пока Windows 10 не сбросит с себя бремя таких нерешенных проблем, систему нельзя будет назвать принципиально более надежной. Следует помнить, что инструменты обеспечения безопасности, которые Microsoft приготовила бонусом, одновременно станут и объектом атак. В качестве последней жертвы можно назвать набор средств EMET. Он, собственно, предназначен для усиления защиты установленного ПО против нападений хакеров путем «использования технологии снижения рисков». Впервые защиту EMET обошли в распространившемся по всему миру наборе эксплойтов Angler. Сейчас уже не нужно быть специалистом, а достаточно просто использовать наборы вредоносного ПО, чтобы обезвредить EMET. После этого путь программам-вымогателям открыт.

        Кошелек или данные! Такие вымогатели, как Ranscam, шифруют информацию на ПК и выдают ее лишь после выкупа. Для этого они используют уязвимости в Windows и ее приложениях

        Кошелек или данные! Такие вымогатели, как Ranscam, шифруют информацию на ПК и выдают ее лишь после выкупа. Для этого они используют уязвимости в Windows и ее приложениях.

        Работа в Интернете только через безопасную сеть

        Защищаемся от взлома: устраняем уязвимости в Windows и браузерах

        Набор Angler пользуется большой популярностью, поскольку только за последний год в него вошло несколько эксплойтов нулевого дня. Их гарантией успеха является эксплуатация неустраненных уязвимостей. В начале июня подобный эксплойт был продан с аукциона на одном из хакерских форумов почти за $80 000, такая цена обусловлена работой на любых версиях Windows. За последнее время было выявлено не так много «вредителей» нулевого дня — в 2015 году их было 18, а до июня 2016 года обнаружено только пять. Хороший пакет безопасности, например, Kaspersky Internet Security, или же такая утилита, как Malwarebytes Anti-Malware, хотя бы дают в руки пользователей Windows средство для защиты.

        Вдобавок вы можете воспользоваться бесплатной утилитой Anti-Exploit, также разработанной компанией Malwarebytes. Эта программа помогает держать оборону до тех пор, пока разработчики не залатают «дыры» в пострадавшем ПО. Такая защита делает ставку на контроль за браузером и доказывает правильность выбранной тактики: наряду с Windows и Office, именно браузеры и плагины к ним страдают от уязвимостей нулевого дня. В нынешнем году атакам подвергались, прежде всего, Adobe Flash Player и Internet Explorer (IE). Что касается этих двух продуктов, то их проблема в определенной степени проистекает из устаревшей модели развития. Пользователи Windows, которые планируют отказаться от них из соображений безопасности, столкнутся, однако, с некоторыми трудностями.

        Защищаемся от взлома: устраняем уязвимости в Windows и браузерах

        В качестве альтернативы IE компания Microsoft исключительно в «десятку» внедрила новый браузер Edge, который с точки зрения безопасности выгодно отличился. До сих пор для него не было обнаружено ни одного эксплойта нулевого дня, и пока известно лишь только об одной уязвимости, которая, впрочем, не была использована до последующего дня патчей. По сравнению с IE, средняя степень тяжести уязвимостей Edge гораздо ниже. Но, тем не менее, позиция нового браузера в системе оценки Common Vulnerability Scoring System (CVSS) ниже Chrome и примерно на том же уровне, что и Safari и Firefox. CVSS оценивает опасность каждой «прорехи» по шкале от 0 до 10 баллов, где 10 означает максимальный уровень угрозы.

        Зачастую возникновение в браузерах «дыр» со степенью тяжести от 9 до 10 связано с багами при выполнении скриптов. Вытекающие отсюда ошибки памяти позволяют запустить вредоносный код. Компания Firefox в версии 48 частично перешла с языка программирования C++ на Rust с целью снижения риска возникновения некоторых из подобных ошибок. Чтобы быть уверенными в своей безопасности, настройте доступ к Интернету через виртуальную машину с помощью программы VirtualBox. Благодаря этому защитный слой накроет всю систему целиком. Браузер Tor также ориентирован на безопасность — его можно использовать даже без анонимайзера.

        Бесплатное ПО: бесплатное и коварное

        Защищаемся от взлома: устраняем уязвимости в Windows и браузерах

        В отличие от разработчиков приложений, программисты бесплатного ПО для Windows сталкиваются с проблемой: помимо славы и благодарности за работу, они получают лишь пару пожертвований. Создатели приложений могут предлагать основные функции бесплатно, а затем выкачивать деньги с помощью платного контента. Вследствие этого в мире Windows стало принято получать средства опосредованно: программисты «впихивают» пользователям дополнительное ПО и зарабатывают несколько десятков рублей за его установку. Порой такие продукты настолько опасны, что антивирусы помечают их в качестве вредоносных. К таковым относится, к примеру панель инструментов Ask, которая встраивается в браузер и шпионит за вашим поведением в Сети.

        Охотно в установщики встраивают и фреймворк OpenCandy. Он одаривает вас скрытым ПО. Примером может послужить YouTube Downloader от компании DVDVideosoft. Во время его установки следует быть внимательным и самостоятельно отказаться от дополнительных программ, иначе они автоматически попадут на ваш компьютер вместе с этой бесплатной утилитой. Если не обратить на них внимание, следующий выход в Сеть вас удивит: поиск теперь осуществляется машиной Yahoo, а стартовая страница окажется модифицированной абсолютно легитимной антишпионской программой ByteFence, которая навяжет пользователю дополнительные закладки.

        Жизнь без Flash

        Пользователям Windows вдобавок приходится как-то обходить утилиту QuickTime. Вследствие открытых уязвимостей корпорация Apple прекратила разработку данного продукта, однако он до сих пор доступен для скачивания. В 2018 году Firefox также остановит поддержку стандарта Java. В отличие от Flash, выявленные уязвимости в других стандартных программах, таких как Office и Adobe Reader, хотя бы обратимы.

        Pentest_deep_23.3-5020-c58bfc.jpg

        Третий модуль курса «Пентест. Практика тестирования на проникновение» посвящён структуре ОС Windows и тому, какие существуют механизмы ограничения доступа в этой популярной операционной системе. Но не менее важно знать, какие именно уязвимости используются злоумышленниками, чтобы обойти существующие механизмы ограничения доступа. О них и поговорим.

        На момент написания материала из наиболее распространённых уязвимостей Windows можно выделить четыре:

        1-20219-e64b0c.jpg

        Давайте вкратце рассмотрим каждую из них.

        Stack Corruption

        Stack Corruption — это повреждение стека или массива данных, которые сохраняются на стеке.

        2-20219-1ce07b.jpg

        Как известно, все программы, которые запускаются на любых языках программирования, попадают в оперативную память. Хранятся они там в виде своеобразных «табличек», и эти таблички разделены на части: в одной части лежат команды, в другой части лежат данные и т. п. Так вот, там, где находятся данные, возможны ситуации, связанные со Stack Corruption.

        Стек — именно та ячейка, которая хранит информацию, необходимую для приложения, чтобы оно выполнялось и знало, как именно исполнять алгоритмы (там находятся специальные адреса и данные). Переполнение какой-нибудь переменной, находящейся на стеке, может привести к тому, что специальные адреса, используемые приложением для его корректной работы, могут быть перезаписаны. Перезапись этих адресов является способом перехвата управления и прямым доказательством того, что этот перехват произошёл.

        Heap overflow

        Речь идёт о переполнении, которое происходит на куче. «На куче» — это если программист написал приложение, которое очень много делает при обработке файлов, соответственно, вместо стека переполнение происходит на куче. Здесь как раз и происходит выполнение команд, то есть отсюда уже забирается информация, которая в дальнейшем будет открывать порт, дампить какие-нибудь значения или переконфигурировать операционную систему.

        3-20219-f82690.jpg

        Heap overflow — сложно диагностируемая ошибка, так как реализация кучи может быть собственной у каждого ПО.

        Type Confusion and Use-After-Free

        Эти уязвимости можно назвать вспомогательными. Что касается Type Confusion, то это уязвимость, которая позволяет вывести приложение из строя или выполнить дополнительные действия. Она чаще всего используется злоумышленниками для повреждения памяти.

        Use-After-Free (UAF) — уязвимость, при которой процесс может войти в неопределённое состояние. Сам этот класс уязвимости не приводит к проблемам, но при определённых условиях может быть произведено выполнение команд. Например, эти уязвимости могут позволить подменить значения в памяти, что, в свою очередь, может привести к выполнению вредоносного кода либо к остановке и выходу из строя самого приложения.

        Читайте также: