Обход рандомизации адресного пространства (ASLR) cvv2shop, unitvpscom

Большинство современных операционных систем содержат несколько механизмов защиты памяти вроде DEP или ASLR. Данная статья сосредоточена на механизме ASLR, его реализации, ограничениях и, наконец, различных методах обхода данного вида защиты.
Большинство современных операционных систем содержат несколько механизмов защиты памяти вроде DEP или ASLR. Данная статья сосредоточена на механизме ASLR, его реализации, ограничениях и, наконец, различных методах обхода данного вида защиты.
При эксплуатации переполнения буфера в самой стандартной его форме вы, как правило, перезаписываете значение EIP адресом возврата по которому находится инструкция JMP, перепрыгивающая на ваш шелл-код. ASLR в данном случае делает случайным базовый адрес библиотек ядра системы, что не позволяет вам надежно добраться до желаемой инструкции JMP. Приложение, таким образом, просто аварийно завершится, не выполнив ваш код.
Чтобы ASLR был эффективен, все запущенные процессы и библиотеки должны быть скомпилированы с поддержкой ASLR – так они смогут загружаться по новому адресу после каждой перезагрузки.
Хотя приведенные выше снимки экрана показывают одни и те же инструкции из библиотеки USER32.DLL, их адреса в памяти немного различаются (760F и 75DA). Дело в том, что USER32.DLL – библиотека ядра, в которой включен ASLR.
Наверное вы помните, как несколько лет назад появился печально известный ANI-эксплоит, к которому были уязвимы все версии Windows вплоть до Vista включительно. Поскольку до Windows Vista не было ASLR, процесс эксплуатации уязвимости на предшествующих версиях системы был довольно прост: требовалось лишь перейти по указателю, хранящемуся в EBX (JMP PTR EBX), а затем сделать пару коротких прыжков через ANI-заголовок, пока вы не приземлитесь на начале шелл-кода.
В случае Windows Vista и наличия ASLR вы не можете просто посмотреть на системную библиотеку SHELL32.DLL, чтобы добраться до выбранного регистра, так как базовый адрес также будет меняться после каждой перезагрузки. Поскольку аварийное завершение происходило в библиотеке USER32.DLL, в эксплоите для Windows Vista было сделано нечто действительно особенное, и для совершения необходимого прыжка в начало ANI-файла использовалась частичная перезапись EIP.
Наблюдая в отладчике за Internet Explorer в момент его аварийного завершения с помощью демонстрационного эксплоита ms07-017, мы видим, что EIP полностью перезаписан значением 43434343.
Сократив передаваемые в буфер данные на два байта, мы можем добиться частичной перезаписи EIP и обойти ASLR. Нам придется изменить заголовок ANI-файла, иначе мы можем не получить рабочий адрес возврата, поскольку тогда пришлось бы использовать метод грубой силы (что не слишком увлекательно).
Если перезаписать лишь два нижних байта регистра EIP адресом из USER32.DLL и оставить другую половину нетронутой, то верхние два байта не изменят своего первоначального значения (именно они рандомизируются ASLR). Теперь нам нужно лишь найти опкод, который позволит успешно обойти ASLR и выполнить наш код.
Ни один из регистров не указывает на наш буфер напрямую, однако первые 4 байта EBX указывают на адрес, предшествующий началу нашего ANI-заголовка. Поэтому нам нужно найти инструкцию JMP PTR [EBX] в текущей библиотеке USER32.DLL.
Найдя такую инструкцию, мы заменяем использовавшееся ранее для частичной перезаписи EIP тестовое значение 4343 на два байта ее адреса.
Как видно из показанного выше, мы выставили точку останова на нашем адресе возврата, поскольку при запуске данной инструкции JMP PTR мы окажемся в самом начале ANI-файла. Мы не можем просто заменить ANI-заголовок своим шелл-кодом, так как Windows в этом случае не распознала бы этот файл как ANI-файл, что не дало бы аварийного завершения. К счастью, раз мы приземлились в самом начале, на нашем пути нет байтов, могущих испортить стек до того, как мы достигнем пары байтов, позволяющих сделать короткий прыжок: мы уже нашли несколько байтов в ANI-заголовке, которые можно заменить, не лишаясь аварийного завершения.
Мы можем заменить 5 и 6 байты ANI-заголовка коротким прыжком на 22 байта, где мы можем использовать другую пару байтов, чтобы прыгнуть на 123 байта и на нашу полезную нагрузку.
Другой неплохо работающий метод, который похож на предыдущий метод частичной перезаписи, состоит в использовании жестко закодированного адреса из существующей библиотеки (процесса), не поддерживающей ASLR.
Например, предположим, что вы нашли баг в музыкальном медиаплеере и находитесь под ОС с поддержкой ASLR вроде Windows Vista, а данный плеер подгружает во время выполнения несколько библиотек – скажем, MP3.DLL и т. д.
В данном примере мы собираемся портировать эксплоит для ’Free MP3 CD Ripper 1.1’ на Windows Vista. Исходный эксплоит можно найти здесь: http://www.exploit-db.com/exploits/17727/. Так как адрес возврата этого эксплоита указывает на dll-библиотеку ядра, загружающуюся по адресу ’76B43ADC’, это будет точным адресом для инструкции JMP ESP конкретно для ‘Windows XP SP3 English’. Это означает, что данный эксплоит вряд ли приведет к запуску кода на машине под управлением ‘Windows XP SP2 English’ или под еще какой-нибудь системой.
Если найти инструкцию JMP ESP, не используя системную библиотеку, у нас появится шанс не только сделать эксплоит универсальным, но и обойти ASLR.
Во время поиска загруженных библиотек программы ’Free MP3 CD Ripper 1.1’ я заметил, что ни программа, ни загружаемые ей библиотеки не поддерживают ASLR, а значит при открытии будут загружаться по одному и тому же адресу в памяти. Затем я смог исследовать загруженные библиотеки на предмет надежной инструкции JMP ESP instruction, однако таковой не нашел.
Значит, чтобы добраться до шелл-кода и получить полный контроль над процессом, нужно было заглянуть в поисках JMP ESP внутрь самой программы. Однако, данный метод сработает, только если процесс или библиотека, которая содержит искомую инструкцию, не поддерживает ASLR. Вам также нужно знать о недопустимых символах (в их число как правило входит нулевой байт), которые могут прервать наш буфер, либо иметь еще какие-нибудь последствия. В этом случае, однако, нам повезло, поскольку наш буфер не никак пострадал, и, пока на машине отсутствует DEP, эксплоит будет прекрасно работать в различных операционных системах.
В сетевых приложениях, которые обычно заканчивают сообщение нулевым байтом, нулевой байт считается недопустимым символом. В приложениях такого типа вы можете попробовать другой прием: попытаться обнаружить недопустимые символы, поскольку всегда есть вероятность, что недопустимый символ превратится в нулевой байт или что-нибудь подобное, что в данной ситуации может помочь обойти ASLR. Как только вы обойдете ASLR, вы в большинстве случаев вероятно найдете место для вашей полезной нагрузки и получите контроль над целевым приложением.
Последний из рассматриваемых методов – метод грубой силы, который состоит в многократной передаче эксплоита целевому приложению до тех пор, пока вы не получите подходящий адрес. Это не слишком подходит для атаки на стороне клиента или если целевой сервис не перезапускается автоматически после аварийного завершения.
Этот метод ненадежный и очень медленный, поскольку для успешного запуска кода требует перебрать большое число различных базовых адресов, а данный процесс занимает длительное время. Так как, вероятно, каждый раз придется посылать полный код эксплоита, атаку будет очень просто обнаружить, особенно если в сети присутствуют такие защитные устройства, как IDS (системы обнаружения вторжения) или даже IPS (системы предотвращения вторжений).
Несмотря на то, что этот метод ужасающе ненадежен и требует большого количества времени, существуют открытые эксплоиты, которые используют его, чтобы справиться с ASLR: например, эксплоит, использующий уязвимость переполнения буфера при вызове функции trans2open в Samba, включенный во фреймворк Метасплоит: http://www.exploit-db.com/exploits/16861/.
Хотя ASLR впервые появился в Windows Vista, очень многие производители ПО (в том числе ПО с открытым кодом) не торопились реализовать этот механизм защиты памяти. Например, в июне 2010 года Mozilla (производитель браузера Firefox) не реализовала полной поддержки ASLR в своем браузере, а Google – в своем (Chrome). Учитывая методологию ПО с открытым кодом, вы могли подумать, что новые механизмы защиты памяти вроде ASLR станут активно использоваться вскоре после появления, однако большинство производителей опровергают подобное суждение.
Microsoft включила поддержку ASLR во все программные пакеты, выпущенные ей с 2007 года, что сделало неэксплуатирумыми уязвимости в некотором ПО. Тем не менее, если переполнение буфера нельзя эксплуатировать для запуска кода, оно все еще может вызвать отказ в обслуживании (DoS), который сделает недоступным приложение/сервис. Если таким приложением окажется открытый наружу веб-сервер, это может иметь неблагоприятные финансовые последствия.
Хотя я рассматривал лишь ASLR в Windows Vista, подобные методы окажутся применимы и для других версий Windows (поддерживающих ASLR), вроде Windows Server 2008 и выше, а также для основанных на Linux дистрибутивов и, возможно, для таких систем, как Mac OS и Solaris.
В статье мы расскажем о наиболее интересных стартапах в области кибербезопасности, на которые следует обратить внимание.
Хотите узнать, что происходит нового в сфере кибербезопасности, – обращайте внимание на стартапы, относящиеся к данной области. Стартапы начинаются с инновационной идеи и не ограничиваются стандартными решениями и основным подходом. Зачастую стартапы справляются с проблемами, которые больше никто не может решить.
Обратной стороной стартапов, конечно же, нехватка ресурсов и зрелости. Выбор продукта или платформы стартапа – это риск, требующий особых отношений между заказчиком и поставщиком . Однако, в случае успеха компания может получить конкурентное преимущество или снизить нагрузку на ресурсы безопасности.
Ниже приведены наиболее интересные стартапы (компании, основанные или вышедшие из «скрытого режима» за последние два года).
Компания Abnormal Security, основанная в 2019 году, предлагает облачную платформу безопасности электронной почты, которая использует анализ поведенческих данных для выявления и предотвращения атак на электронную почту. Платформа на базе искусственного интеллекта анализирует поведение пользовательских данных, организационную структуру, отношения и бизнес-процессы, чтобы выявить аномальную активность, которая может указывать на кибератаку. Платформа защиты электронной почты Abnormal может предотвратить компрометацию корпоративной электронной почты, атаки на цепочку поставок , мошенничество со счетами, фишинг учетных данных и компрометацию учетной записи электронной почты. Компания также предоставляет инструменты для автоматизации реагирования на инциденты, а платформа дает облачный API для интеграции с корпоративными платформами, такими как Microsoft Office 365, G Suite и Slack.
Копания Apiiro вышла из «скрытого режима» в 2020 году. Ее платформа devsecops переводит жизненный цикл безопасной разработки «от ручного и периодического подхода «разработчики в последнюю очередь» к автоматическому подходу, основанному на оценке риска, «разработчики в первую очередь», написал в блоге соучредитель и генеральный директор Идан Плотник . Платформа Apiiro работает, соединяя все локальные и облачные системы управления версиями и билетами через API. Платформа также предоставляет настраиваемые предопределенные правила управления кодом. Со временем платформа создает инвентарь, «изучая» все продукты, проекты и репозитории. Эти данные позволяют лучше идентифицировать рискованные изменения кода.
Axis Security Application Access Cloud – облачное решение для доступа к приложениям , построенное на принципе нулевого доверия. Он не полагается на наличие агентов, установленных на пользовательских устройствах. Поэтому организации могут подключать пользователей – локальных и удаленных – на любом устройстве к частным приложениям, не затрагивая сеть или сами приложения. Axis вышла из «скрытого режима» в 2020 году.
BreachQuest, вышедшая из «скрытого режима» 25 августа 2021 года, предлагает платформу реагирования на инциденты под названием Priori. Платформа обеспечивает большую наглядность за счет постоянного отслеживания вредоносной активности. Компания утверждает, что Priori может предоставить мгновенную информацию об атаке и о том, какие конечные точки скомпрометированы после обнаружения угрозы.
Cloudrise предоставляет услуги управляемой защиты данных и автоматизации безопасности в формате SaaS. Несмотря на свое название, Cloudrise защищает как облачные, так и локальные данные. Компания утверждает, что может интегрировать защиту данных в проекты цифровой трансформации. Cloudrise автоматизирует рабочие процессы с помощью решений для защиты данных и конфиденциальности. Компания Cloudrise была запущена в октябре 2019 года.
Cylentium утверждает, что ее технология кибер-невидимости может «скрыть» корпоративную или домашнюю сеть и любое подключенное к ней устройство от обнаружения злоумышленниками. Компания называет эту концепцию «нулевой идентичностью». Компания продает свою продукцию предприятиям, потребителям и государственному сектору. Cylentium была запущена в 2020 году.
Компания Deduce , основанная в 2019 году, предлагает два продукта для так называемого «интеллектуального анализа личности». Служба оповещений клиентов отправляет клиентам уведомления о потенциальной компрометации учетной записи, а оценка риска идентификации использует агрегированные данные для оценки риска компрометации учетной записи. Компания использует когнитивные алгоритмы для анализа конфиденциальных данных с более чем 150 000 сайтов и приложений для выявления возможного мошенничества. Deduce заявляет, что использование ее продуктов снижает ущерб от захвата аккаунта более чем на 90%.
Автоматизированная платформа безопасности и соответствия Drata ориентирована на готовность к аудиту по таким стандартам, как SOC 2 или ISO 27001. Drata отслеживает и собирает данные о мерах безопасности, чтобы предоставить доказательства их наличия и работы. Платформа также помогает оптимизировать рабочие процессы. Drata была основана в 2020 году.
FYEO – это платформа для мониторинга угроз и управления доступом для потребителей, предприятий и малого и среднего бизнеса. Компания утверждает, что ее решения для управления учетными данными снимают бремя управления цифровой идентификацией. FYEO Domain Intelligence («FYEO DI») предоставляет услуги мониторинга домена, учетных данных и угроз. FYEO Identity будет предоставлять услуги управления паролями и идентификацией, начиная с четвертого квартала 2021 года. FYEO вышла из «скрытого режима» в 2021 году.
Kronos – платформа прогнозирующей аналитики уязвимостей (PVA) от компании Hive Pro , основанная на четырех основных принципах: предотвращение, обнаружение, реагирование и прогнозирование. Hive Pro автоматизирует и координирует устранение уязвимостей с помощью единого представления. Продукт компании Artemis представляет собой платформу и услугу для тестирования на проникновение на основе данных. Компания Hive Pro была основана в 2019 году.
Израильская компания Infinipoint была основана в 2019 году. Свой основной облачный продукт она называет «идентификация устройства как услуга» или DIaaS , который представляет собой решение для идентификации и определения положения устройства. Продукт интегрируется с аутентификацией SSO и действует как единая точка принуждения для всех корпоративных сервисов. DIaaS использует анализ рисков для обеспечения соблюдения политик, предоставляет статус безопасности устройства как утверждается, устраняет уязвимости «одним щелчком».
Компания Kameleon , занимающаяся производством полупроводников, не имеет собственных фабрик и занимает особое место среди поставщиков средств кибербезопасности. Компания разработала «Блок обработки проактивной безопасности» (ProSPU). Он предназначен для защиты систем при загрузке и для использования в центрах обработки данных, управляемых компьютерах, серверах и системах облачных вычислений. Компания Kameleon была основана в 2019 году.
Облачная платформа безопасности данных Open Raven предназначена для обеспечения большей прозрачности облачных ресурсов. Платформа отображает все облачные хранилища данных, включая теневые облачные учетные записи, и идентифицирует данные, которые они хранят. Затем Open Raven в режиме реального времени отслеживает утечки данных и нарушения политик и предупреждает команды о необходимости исправлений. Open Raven также может отслеживать файлы журналов на предмет конфиденциальной информации, которую следует удалить. Компания вышла из «скрытого режима» в 2020 году.
Компания Satori, основанная в 2019 году, называет свой сервис доступа к данным “DataSecOps”. Целью сервиса является отделение элементов управления безопасностью и конфиденциальностью от архитектуры. Сервис отслеживает, классифицирует и контролирует доступ к конфиденциальным данным. Имеется возможность настроить политики на основе таких критериев, как группы, пользователи, типы данных или схема, чтобы предотвратить несанкционированный доступ, замаскировать конфиденциальные данные или запустить рабочий процесс. Сервис предлагает предварительно настроенные политики для общих правил, таких как GDPR , CCPA и HIPAA .
Компания Scope Security недавно вышла из «скрытого режима», будучи основана в 2019 году. Ее продукт Scope OmniSight нацелен на отрасль здравоохранения и обнаруживает атаки на ИТ-инфраструктуру, клинические системы и системы электронных медицинских записей . Компонент анализа угроз может собирать индикаторы угроз из множества внутренних и сторонних источников, представляя данные через единый портал.
Основным продуктом Strata является платформа Maverics Identity Orchestration Platform . Это распределенная мультиоблачная платформа управления идентификацией. Заявленная цель Strata – обеспечить согласованность в распределенных облачных средах для идентификации пользователей для приложений, развернутых в нескольких облаках и локально. Функции включают в себя решение безопасного гибридного доступа для расширения доступа с нулевым доверием к локальным приложениям для облачных пользователей, уровень абстракции идентификации для лучшего управления идентификацией в мультиоблачной среде и каталог коннекторов для интеграции систем идентификации из популярных облачных систем и систем управления идентификацией. Strata была основана в 2019 году.
SynSaber , запущенная 22 июля 2021 года, предлагает решение для мониторинга промышленных активов и сети. Компания обещает обеспечить «постоянное понимание и осведомленность о состоянии, уязвимостях и угрозах во всех точках промышленной экосистемы, включая IIoT, облако и локальную среду». SynSaber была основана бывшими лидерами Dragos и Crowdstrike.
Traceable называет свой основной продукт на основе искусственного интеллекта чем-то средним между брандмауэром веб-приложений и самозащитой приложений во время выполнения. Компания утверждает, что предлагает точное обнаружение и блокирование угроз путем мониторинга активности приложений и непрерывного обучения, чтобы отличать обычную активность от вредоносной. Продукт интегрируется со шлюзами API. Traceable была основана в июле 2020 года.
Компания Wiz, основанная командой облачной безопасности Microsoft, предлагает решение для обеспечения безопасности в нескольких облаках, рассчитанное на масштабную работу. Компания утверждает, что ее продукт может анализировать все уровни облачного стека для выявления векторов атак с высоким риском и обеспечивать понимание, позволяющее лучше расставлять приоритеты. Wiz использует безагентный подход и может сканировать все виртуальные машины и контейнеры. Wiz вышла из «скрытого режима» в 2020 году.
Работает на CMS “1С-Битрикс: Управление сайтом”
cvv2shop unitvpscom

wpadmin
Статьи