Вы многое упускаете в своих пентестах!

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

Missed vulnerabilities

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

Читать далее «Вы многое упускаете в своих пентестах!»

Выигрываем в гоночки необычными способами

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

Racing

Читать далее «Выигрываем в гоночки необычными способами»

Чтение памяти чужого процесса через комбинирование памяти в Windows 10

Windows page combining

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

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

Итак, приступим. В Windows 8.1 и в Windows 10 в какой-то момент времени появилась такая фича, как комбинирование памяти (memory combining или page combining, хорошо описана в книге Windows Internals, 7 издание, 1 часть). Суть её достаточно проста: операционная система раз в 15 минут ищет в физической памяти страницы с одинаковым содержимым и объединяет их в одну с целью экономии оперативной памяти. Те процессы, которые владели одинаковыми страницами, получают ссылки на новую общую страницу с атрибутом "только для чтения" и "копирования при записи" (read-only и copy-on-write). Если какой-то из процессов изменяет свою страницу, система при возникновении соответствующего copy-on-write исключения её копирует и снова размещает в физической памяти, а процесс снова получает индивидуальную копию этой страницы.

Читать далее «Чтение памяти чужого процесса через комбинирование памяти в Windows 10»

Пишем макросы для Microsoft Word с GUI like a PRO [Часть 2, финал]

Final word macro form view

Да, это макрос для MS Word!

Продолжаем тему макросов в Microsoft Word. Будем доделывать пользовательский интерфейс для нашего макроса замены двух и более последовательных переводов строки на единственный. Зачем вообще может понадобиться какой-то интерфейс для макроса? Ну, например, мы хотим удалить лишние переводы строки на всех страницах документа, кроме каких-то конкретных. Интерфейс позволил бы указать номера страниц документа, которые нужно при обработке пропустить (либо наоборот, обработать только указанные страницы). Вот этот функционал и будем реализовывать.

Читать далее «Пишем макросы для Microsoft Word с GUI like a PRO [Часть 2, финал]»

Пишем макросы для Microsoft Word like a PRO [Часть 1]

Angry word helper

Возможно, у вас есть ощущение, что тема макросов в Ворде достаточно маргинальная. Кто ими может пользоваться-то вообще? Ну, малварь делают иногда... Да и пишутся они на давно забытом VBA (Visual Basic for Applications, он же несколько урезанный Visual Basic 6 в интерпретируемом виде), фу!

Но на самом деле у многих ведь возникает потребность то какой-нибудь отчётик в ворде написать, то курсовую оформить, то резюме перед отправкой в компанию вашей мечты подправить... А у некоторых работа напрямую связана с Word. Часто различные системы документации предлагают экспорт в форматы doc или docx, которые нужны вашим заказчикам. И бывает, что документы после экспорта выглядят фигово, приходится их исправлять.

Работа в ворде нередко подразумевает выполнение каких-то однообразных повторяющихся действий, которые иногда (но далеко не всегда!) решаются грамотной настройкой стилей и их применением, а также использованием шаблонов. Как же автоматизировать всё остальное? Тут-то нам на помощь приходят те самые макросы.

Читать далее «Пишем макросы для Microsoft Word like a PRO [Часть 1]»

Follow-Up: Яндекс.Маркет исправляется, хотя и не полностью

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

  1. Первый вариант ссылки на мобильную версию Яндекс.Маркета, который раньше вёл на главную страницу профиля магазина-жертвы, теперь редиректит на десктопную версию сайта, если вы просматриваете страницу с десктопного браузера. Раньше этого не происходило.
  2. Второй вариант ссылки, который вёл на страницу с непроверенными отзывами, теперь вообще выдаёт страницу с ошибкой 404, и неважно, с какого браузера смотреть, с мобильного или с десктопного. Раньше там открывалась страница с менее доверенными, по мнению Маркета, отзывами, причём на этой странице не отображалось доменное имя магазина, которому принадлежат отзывы.

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

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

Раскручиваем Интернет-магазин с помощью социальной инженерии и багов Яндекс.Маркет

Yandex Market

Представьте, что вы решили создать Интернет-магазин. Он может быть честным, либо же вы наоборот планируете продавать какой-то левак вроде кроссовок абибас или поддельных смартфонов под видом оригинальных. Магазин, конечно, неплохо бы раскрутить и создать о нём положительное общественное мнение, только вот как это сделать быстро? Если вы планируете продавать что-то поддельное, эта задача в разы усложняется. Было бы прекрасно иметь личную страницу магазина в Яндекс.Маркете, но как ее создать-то для такого магазина? Опять же, даже если удастся там магазин зарегистрировать, нужно накопить положительные отзывы. Только после сбора внушительного количества хороших отзывов можно смело на главной странице своего магазина давать ссылку на профиль магазина в Маркете, чтобы пользователи читали эти отзывы о вашем сервисе, видели хорошие рейтинги и проникались к вам доверием. Это точно повысит шанс покупки именно у вас. Но это всё очень долго и непродуктивно, особенно, если планируется что-то по-быстрому сбагрить, а сайт потом удалить.

К счастью, Яндекс.Маркет готов вам помочь в раскрутке вашего левого магазинчика. Не придется даже ничего регистрировать, проходить проверки и собирать отзывы! Далее будет дана пошаговая инструкция, как достичь успеха, под которым я понимаю готовую ссылку на страницу вашего магазина с положительными отзывами, которую вы сможете смело показывать пользователям, чтобы они убеждались в ваших добрых намерениях перед покупкой.

Для покупателей, которые не желают попасть на подобные уловки, тоже советую обратить внимание на эту статью. Как и с любыми приёмами социальной инженерии, решение есть, нужно просто быть более внимательным при изучении страниц магазинов в Яндекс.Маркете.

Читать далее «Раскручиваем Интернет-магазин с помощью социальной инженерии и багов Яндекс.Маркет»

Follow-up: чистим заполненный NTFS-раздел диска

В предыдущей статье Заполняем NTFS-раздел диска навсегда и без прав администратора я описал способ заполнения всего свободного места на NTFS-разделе без прав администратора и без создания каких-либо больших подозрительных файлов. Однако, слово "навсегда" в заголовке звучало слишком громко, поэтому я продолжил поиски вариантов исправления ситуации с забитым файлом $Secure. В итоге я обнаружил, что сделать это можно достаточно просто: нужно воспользоваться стандартной утилитой Windows CHKDSK! Никогда бы не подумал, что у нее есть такая возможность. Cудя по всему, она была добавлена году примерно в 2009 в обновлении KB919241.

Читать далее «Follow-up: чистим заполненный NTFS-раздел диска»

Заполняем NTFS-раздел диска навсегда и без прав администратора

NTFS logo

NTFS - это продвинутая файловая система, которая используется как основная во всех современных операционных системах Windows. Эта файловая система поддерживает логирование, имеет возможность восстановления данных, расширенные функции безопасности, файловые потоки и многие другие фичи. Но, увы, иногда с богатым функционалом приходят и проблемы, которых не было в ранних файловых системах вроде FAT32.

Читать далее «Заполняем NTFS-раздел диска навсегда и без прав администратора»

Знакомимся с микроконтроллерами на ядрах ARM Cortex-M

Давно я не проявлял никакой активности в блоге, но Kaimi что-то разошёлся со статьями по пентесту в последнее время, и это вдохновило меня тоже что-нибудь написать.

arm

Обсуждать мы сегодня будем 32-разрядные контроллеры с архитектурой ARM Cortex-M и, в частности, контроллеры от STMicroelectronics (aka ST). Эта статья будет описывать, как начать разработку под указанные контроллеры, доступные среды разработки, используемые библиотеки. Если вам интересна тема Arduino, но 8-битные AVR уже не вставляют, и хочется чего-то большего, то эта статья точно для вас.

Читать далее «Знакомимся с микроконтроллерами на ядрах ARM Cortex-M»