Добавить в корзинуПозвонить
Найти в Дзене
show run

Как работает tcphijack из ciag-bgp-tools-1.00.tar.gz

tcphijack.c — это инструмент, позволяющий перехватить TCP-соединение и внедрить произвольные данные в поток TCP-обмена, этот инструмент был написан в качестве доказательства концепции (proof of concept) для оценки реакции маршрутизатора на bgp-сообщение извне об обновлении маршрутов, внедряемое в уже установленную tcp-сессию между пограничными маршрутизаторами. Для использования инструмента необходимо, чтобы машина, на которой запущен tcphijack, имела возможность «видеть» или скажем так, отслеживать ту самую tcp-сессию, в которую требуется что-то внедрить. Краткий пример — лучший способ проиллюстрировать процесс использования tcphijack: $ sudo ./tcphijack -d 500 -c <IP-адрес X> -s <IP-адрес Y> -p telnet -P payload.txt -d 500 — задержка в 500 мс перед отправкой нашего полезного содержимого (payload); отсчет начинается с момента, когда инструмент синхронизируется с потоком обмена и получает все данные, необходимые для его перехвата (номера последовательности и подтверждения, номера порто

tcphijack.c — это инструмент, позволяющий перехватить TCP-соединение и внедрить произвольные данные в поток TCP-обмена, этот инструмент был написан в качестве доказательства концепции (proof of concept) для оценки реакции маршрутизатора на bgp-сообщение извне об обновлении маршрутов, внедряемое в уже установленную tcp-сессию между пограничными маршрутизаторами.

Как работает tcphijack из ciag-bgp-tools-1.00.tar.gz
Как работает tcphijack из ciag-bgp-tools-1.00.tar.gz

Для использования инструмента необходимо, чтобы машина, на которой запущен tcphijack, имела возможность «видеть» или скажем так, отслеживать ту самую tcp-сессию, в которую требуется что-то внедрить.

Краткий пример — лучший способ проиллюстрировать процесс использования tcphijack:

  • Установите Telnet-соединение с машиной X, используя машину Y. Выполните вход в систему;
  • На машине A (нарушитель) запустите tcphijack следующим образом:
$ sudo ./tcphijack -d 500 -c <IP-адрес X> -s <IP-адрес Y> -p telnet -P payload.txt

Различные параметры (флаги) имеют следующее значение:

-d 500 — задержка в 500 мс перед отправкой нашего полезного содержимого (payload); отсчет начинается с момента, когда инструмент синхронизируется с потоком обмена и получает все данные, необходимые для его перехвата (номера последовательности и подтверждения, номера портов и т. д.).

-c — для указания IP-адреса (или имени хоста) клиента.

-s — для указания IP-адреса (или имени хоста) сервера.

-p — номер используемого порта. Допускается использование символьных имен портов (выполняется запрос к файлу /etc/services).

-P — для указания полезного содержимого (фактически, это путь к файлу, содержащему данные для внедрения).

Также существует опция -t, которую можно использовать для указания «файла-триггера». Наличие файла-триггера приводит к отсрочке внедрения данных до тех пор, пока не будет получен TCP-сегмент, полезное содержимое которого в точности совпадает с содержимым этого файла-триггера.

  • В активной Telnet-сессии нажмите клавишу «Пробел». В результате Telnet-клиент (машина Y) отправит символ ' ' (0x20) на сервер (машина X), который, в свою очередь, ответит эхом этого символа (отправит пробел обратно). В этот момент tcphijack уже располагает всеми необходимыми сведениями о текущем состоянии TCP-обмена, что позволяет ему перехватить TCP-сессию и внедрить в нее наше полезное содержимое.
  • И наконец, tcphijack отправляет наше полезное содержимое. Если файл полезной нагрузки (payload.txt) содержит команду, она будет выполнена так, словно ее ввел сам пользователь в ходе сеанса Telnet с машины Y.
  • Обратите внимание: после того как мы перехватываем TCP-сессию, возникает серьезный «шторм» подтверждений (ACK), поскольку сервер подтверждает получение TCP-сегмента, который реальный клиент на самом деле не отправлял; в результате и сервер, и клиент продолжают посылать друг другу подтверждения до тех пор, пока спустя несколько минут одна из сторон не «сдастся» и не сбросит (сделает reset) TCP-соединение.
  • Как всегда, вашим надежным помощником станет утилита tcpdump — она наглядно покажет вам, что именно происходит в сети.

Download link: https://www.cisco.com/public/support/ciag-bgp-tools-1.00.tar.gz