2012-01-06 7 views
0

Я пытаюсь оценить инструмент под названием ohrwurm, который утверждает, что способен повреждать трафик RTP между двумя конечными точками SIP. Читая its source code Я не верю, что это работает, и мне хотелось бы узнать мнение других, прежде чем я попробую.Как ohrwurm использует libpcap и arpspoof для повреждения трафика RTP?

Это предпосылка проста:

  • Предположим, конечная точка А имеет IP-адрес 192.168.0.11, и конечная точка B имеет IP-адрес 192.168.0.22.
  • На третьей коробке C на одной и той же подсети, что А и В выполнить следующие команды в двух SSH сессий:
    • Arpspoof 192.168.0.11
    • Arpspoof 192.168.0.22
  • Выполнить ohrwurm.

Взглянув на ohrwurm's source code он делает следующее:

  • Set/Proc/SYS/сеть/ipv4/ip_forward к 1.
  • Использование Libpcap в беспорядочном режиме для перехвата всех IP-пакетов между эти две коробки выше.
  • Для тех пакетов, которые являются SIP, возьмите номера портов RTP.
  • Для тех пакетов, которые являются UDP и между двумя RTP-портами, захваченными ранее, fuzz содержимое RTP.

Вот что я не понимаю. Я согласен с тем, что arpspoof'ing приведет к тому, что весь трафик IP между A и B. пройдет через C. Более того, установив/proc/sys/net/ipv4/ip_forward на 1, мы получаем, чтобы ядро ​​правильно перенаправляло этот IP-трафик для нас.

Но я думал, что libpcap был доступен только для чтения? Как можно модифицировать пакеты, которые мы обнюхивали в беспорядочном режиме на месте? В ohrwurm.c line 401 вы заметите, что мы даже пытаемся отказаться от пакетов RTCP! Это возможно?

Я ничего не знаю о libpcap, и мне любопытно узнать больше! Пожалуйста, просветите меня. Благодарю.

ответ

0

Libpcap не может изменять пакеты. Он может использоваться только для их аудита. Вы можете думать об этом как о базе, чтобы получить пакеты от интерфейса к ядру.

Arpspoof требует, чтобы другие библиотеки, такие как «Libnet», выполняли спуфинг ARP. http://arpspoof.sourceforge.net/ (см. Раздел «Ссылки, связанные с arpspoof»)

Libnet представляет API, который обеспечивает доступ к нескольким протоколам. Его можно использовать для создания произвольных пакетов или изменения их на лету. http://libnet.sourceforge.net/

Хороший учебник можно найти в: http://networksecurity.org.ua/0596007949/networkst-chp-11-sect-4.html

+0

учебник ссылка мертва. Можете ли вы опубликовать еще один? – SkrewEverything