[Перевод] Обработка сетевых данных на лету

Перевод статьи подготовлен в преддверии старта курса «Пентест. Практика тестирования на проникновение».


Аннотация


Разнообразные виды оценки безопасности, начиная от регулярного тестирования на проникновение и операций Red Team до взлома IoT/ICS-устройств и SCADA, подразумевают под собой работу с бинарными сетевыми протоколами, то есть, по сути, перехват и модификацию сетевых данных между клиентом и целью. Сниффинг сетевого траффика не является сложной задачей, поскольку у нас есть такие инструменты, как Wireshark, Tcpdump или Scapy, однако модификация представляется задачей более трудоемкой, поскольку нам нужно будет иметь своеобразный интерфейс для чтения данных сети, их фильтрации, изменения на лету и отправки обратно на целевой хост почти в режиме реального времени. Кроме того, было бы идеально, если бы такой инструмент мог автоматически работать с несколькими параллельными соединениями и имел возможность кастомизации с помощью скриптов.

Однажды я открыл для себя инструмент, который называется maproxy, документация быстро дала мне понять, что maproxy – как раз то, что мне нужно. Это довольно простой, универсальный и легко настраиваемый TCP-прокси. Я протестировал этот инструмент на нескольких достаточно сложных приложениях, включая ICS – устройства (которые генерируют много пакетов), чтобы узнать, может ли он работать с множеством параллельных соединений, и инструмент хорошо себя показал.

Эта статья познакомит вас с обработкой сетевых данных на лету с помощью maproxy. Читать дальше →