SPIKE и BURP для реального использования компьютерной безопасности (Часть 1)

Опубликовано: 12 Апреля, 2023

  • SPIKE и BURP для реального использования компьютерной безопасности (часть 4)

Прокси-серверы HTTP — широко используемый инструмент профессионалами в области компьютерной безопасности. Однако они в значительной степени неизвестны большому сегменту энтузиастов компьютерной безопасности. Эта серия статей продемонстрирует, как использовать прокси-сервер HTTP.

HTTP-прокси и вы

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

Безопасность веб-приложений — интересная область для специализации, и к тому же хорошая. Всегда будут веб-приложения, поскольку Интернет в значительной степени развивается вокруг веб-сайтов с множеством различных приложений. Эти приложения, конечно же, предназначены для использования и взаимодействия с потенциальным клиентом. Тот факт, что публичное лицо компании в Интернете было создано профессиональными программистами, не означает, что в ней нет ошибок. Как раз наоборот, как мы все знаем. Почти невозможно написать идеальный код независимо от используемого языка.

Это приводит к другому аспекту безопасности веб-приложений. Довольно часто большое количество веб-приложений разрабатываются собственными силами без обеспечения качества. Программист компании, скорее всего, просто будет рад завершить проект вовремя, и у него мало свободы действий при назначении времени для аудита кода. Есть несколько инструментов, которые будут проводить аудит кода, но многие из них подвержены большому количеству ложных срабатываний. Те, что хороши, почти всегда непомерно дороги.

Думаю, все мы, непрограммисты, можем оценить сложность написания хорошего кода. Это особенно верно, когда речь идет о программном обеспечении корпоративного класса и тысячах строк кода, составляющих такую программу. Хотя в этом есть и другая сторона. Хотя программист может отлично разбираться в жизненном цикле программирования, он не всегда может четко понимать протокол, для которого генерирует код. Здесь также пригодится твердое понимание протокола. Хотя, возможно, это не критично, это, безусловно, помогает узнать все тонкости рассматриваемого протокола.

Итак, программист закончил писать веб-приложение, которое ему или ей было поручено. Пришло время протестировать его и попытаться найти в нем какие-либо недостатки или сбои. Как лучше всего это сделать? На самом деле хороший вопрос. Это возвращает нас к цели этой серии статей. Тестирование нового веб-приложения лучше всего проводить с использованием прокси-сервера HTTP. Этот действительно превосходный инструмент позволит разработчику взаимодействовать с веб-приложением способами, которые невозможно воссоздать при обычном веб-сеансе. Разработчик может перехватить запрос на стороне клиента и изменить почти каждое поле внутри для стресс-тестирования веб-приложения.

Давай уже!

Надеюсь, ты еще не заснул на мне. Важно всегда давать некоторую справочную информацию по предмету, чтобы лучше понять его. Два HTTP-прокси, которые мы рассмотрим и будем использовать, — это SPIKE и пакет BURP. Первый был написан очень талантливым Дэйвом Айтелом из Immunitysec, а второй, пакет BURP, был написан, насколько мне известно, разными людьми. К сожалению, мне не удалось найти список участников проекта пакета BURP.

Теперь пришло время установить прокси-сервер SPIKE, и вы, надеюсь, уже загрузили его по гиперссылке в предыдущем абзаце. Вы заметите, что вам нужен интерпретатор Python для работы SPIKE. Пожалуйста, перейдите на CPAN и загрузите там бинарный файл Python. Вам нужно будет указать адрес электронной почты, но это все. Теперь, когда вы загрузили и установили Python, вам нужно также поместить SPIKE в корень диска c:. Оттуда откройте приглашение DOS и откройте каталог SPIKE. Вам нужно будет прочитать файл README.txt, чтобы правильно настроить веб-браузер.

Изображение 25747
фигура 1

Изображение 25748
фигура 2

Ваш последний шаг — просто ввести «runme.bat». Как только вы это сделаете, просто введите в адресной строке браузера «http://spike/», и вы увидите SPIKE. Теперь мы в деле! Поздравляем, вы установили и настроили прокси-сервер HTTP. Хотя что теперь с этим делать? Это достаточно легко ответить. Давайте повеселимся, поиграв с веб-сервером. В этом случае я просто установил веб-сервер Apache на другой образ VMware для целей тестирования. Это позволит нам играть со SPIKE в контролируемой лабораторной среде. Ничего не было сделано для защиты веб-сервера. Наконец, я установил на него урезанную версию своего собственного веб-сайта для некоторого контента.

Время повеселиться!

Всякий раз, когда вы выполняете какую-либо профессиональную работу, у вас всегда должна быть какая-либо форма анализатора пакетов, работающая в фоновом режиме. Это делается для того, чтобы вы могли проверить выходные данные инструментов, которые вы используете, в случае расхождений или странных результатов. В нашем случае это ничем не отличается. Я запущу tcpdump из MicroOLAP, который будет нормально работать с Windows XP SP2. Это бесплатно для домашнего использования. Установка этого инструмента уже несколько раз рассматривалась в других моих статьях, поэтому я не буду на этом останавливаться. Проще говоря, распакуйте файл и установите его в корень вашего диска C, то есть: c:.

Теперь, когда у нас запущен анализатор пакетов, мы просто скажем ему регистрировать только пакеты между компьютером, на котором работает SPIKE, и компьютером, на котором запущен наш веб-сервер Apache. Это уменьшит количество пакетов, которые в противном случае мог бы увидеть атакующий компьютер. Вы можете уточнить это, указав tcpdump регистрировать пакеты с портом 80 в нем. Пример этого tcpdump см. на приведенном ниже снимке экрана.

Изображение 25749
Рисунок 3

Вы можете видеть, что я собрал 945 пакетов за секунду или две, прежде чем я убил сеанс tcpdump. Это другая фоновая активность, которую я выполняю на своем компьютере. Это в значительной степени иллюстрирует, почему вам нужен относительно узкий фильтр коллекции при проведении лабораторных тестов или реальной работе. На данный момент мы видим, что есть много вещей, о которых нужно помнить, прежде чем двигаться вперед с использованием и/или изучением того, как использовать HTTP-прокси. Всегда стоит сделать небольшую домашнюю работу, прежде чем пытаться узнать что-то новое. В противном случае вы можете легко запутаться и, что еще хуже, расстроить себя до такой степени, что перестанете учиться пользоваться конкретным инструментом. На этом мы прервем статью, но ждите второй части, так как использование прокси-сервера HTTP будет быстрым и яростным. Скоро увидимся!

  • SPIKE и BURP для реального использования компьютерной безопасности (часть 4)