Pentesting VoIP
Last updated
Last updated
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Um zu lernen, wie VoIP funktioniert, überprüfen Sie:
Basic VoIP Protocols1xx—Vorläufige Antworten
2xx—Erfolgreiche Antworten
3xx—Umleitungsantworten
4xx—Client-Fehlerantworten
5xx—Serverfehlerantworten
6xx—Globale Fehlerantworten
Einer der ersten Schritte, die ein Red Team unternehmen könnte, ist die Suche nach verfügbaren Telefonnummern, um mit dem Unternehmen über OSINT-Tools, Google-Suchen oder das Scraping von Webseiten Kontakt aufzunehmen.
Sobald Sie die Telefonnummern haben, könnten Sie Online-Dienste nutzen, um den Anbieter zu identifizieren:
Wenn Sie wissen, ob der Anbieter VoIP-Dienste anbietet, könnten Sie feststellen, ob das Unternehmen VoIP verwendet... Darüber hinaus ist es möglich, dass das Unternehmen keine VoIP-Dienste in Anspruch genommen hat, sondern PSTN-Karten verwendet, um seine eigene VoIP-PBX mit dem traditionellen Telefonnetz zu verbinden.
Dinge wie automatisierte Musikantworten deuten normalerweise darauf hin, dass VoIP verwendet wird.
Jede andere OSINT-Erhebung, die hilft, die verwendete VoIP-Software zu identifizieren, wird für ein Red Team hilfreich sein.
nmap
ist in der Lage, UDP-Dienste zu scannen, aber aufgrund der Anzahl der gescannten UDP-Dienste ist es sehr langsam und möglicherweise nicht sehr genau bei dieser Art von Diensten.
svmap
von SIPVicious (sudo apt install sipvicious
): Wird SIP-Dienste im angegebenen Netzwerk lokalisieren.
svmap
ist einfach zu blockieren, da es den User-Agent friendly-scanner
verwendet, aber Sie könnten den Code von /usr/share/sipvicious/sipvicious
modifizieren und ihn ändern.
SIPPTS scan
von sippts: SIPPTS scan ist ein sehr schneller Scanner für SIP-Dienste über UDP, TCP oder TLS. Es verwendet Multithreading und kann große Netzwerkbereiche scannen. Es ermöglicht, einen Portbereich einfach anzugeben, sowohl TCP als auch UDP zu scannen, eine andere Methode zu verwenden (standardmäßig wird OPTIONS verwendet) und einen anderen User-Agent anzugeben (und mehr).
metasploit:
Die PBX könnte auch andere Netzwerkdienste wie folgt bereitstellen:
69/UDP (TFTP): Firmware-Updates
80 (HTTP) / 443 (HTTPS): Um das Gerät über das Web zu verwalten
389 (LDAP): Alternative zur Speicherung der Benutzerinformationen
3306 (MySQL): MySQL-Datenbank
5038 (Manager): Ermöglicht die Nutzung von Asterisk von anderen Plattformen
5222 (XMPP): Nachrichten über Jabber
5432 (PostgreSQL): PostgreSQL-Datenbank
Und andere...
Es ist möglich, welche Methoden verfügbar sind zur Nutzung in der PBX mit SIPPTS enumerate
von sippts zu finden.
Es ist sehr wichtig, die Header zu analysieren, die ein Server uns zurücksendet, abhängig von der Art der Nachricht und der Header, die wir senden. Mit SIPPTS send
von sippts können wir personalisierte Nachrichten senden, alle Header manipulieren und die Antwort analysieren.
Es ist auch möglich, Daten zu erhalten, wenn der Server Websockets verwendet. Mit SIPPTS wssend
von sippts können wir personalisierte WS-Nachrichten senden.
Erweiterungen in einem PBX (Private Branch Exchange) System beziehen sich auf die einzigartigen internen Identifikatoren, die einzelnen Telefonleitungen, Geräten oder Benutzern innerhalb einer Organisation oder eines Unternehmens zugewiesen sind. Erweiterungen ermöglichen es, Anrufe innerhalb der Organisation effizient zu leiten, ohne dass für jeden Benutzer oder jedes Gerät individuelle externe Telefonnummern erforderlich sind.
svwar
von SIPVicious (sudo apt install sipvicious
): svwar
ist ein kostenloser SIP PBX Erweiterungslinien-Scanner. Im Konzept funktioniert es ähnlich wie traditionelle Wardialer, indem es eine Reihe von Erweiterungen oder eine gegebene Liste von Erweiterungen errät.
SIPPTS exten
von sippts: SIPPTS exten identifiziert Erweiterungen auf einem SIP-Server. Sipexten kann große Netzwerk- und Portbereiche überprüfen.
metasploit: Sie können auch Erweiterungen/Benutzernamen mit metasploit auflisten:
enumiax
(apt install enumiax
): enumIAX ist ein Inter Asterisk Exchange-Protokoll Benutzername-Brute-Force-Enumerator. enumIAX kann in zwei verschiedenen Modi arbeiten: sequentielles Benutzernamen-Raten oder Wörterbuchangriff.
Nachdem das PBX und einige Erweiterungen/Benutzernamen entdeckt wurden, könnte ein Red Team versuchen, sich über die REGISTER
-Methode bei einer Erweiterung zu authentifizieren, indem es ein Wörterbuch mit gängigen Passwörtern verwendet, um die Authentifizierung zu brute-forcen.
Beachten Sie, dass ein Benutzername derselbe wie die Erweiterung sein kann, aber diese Praxis je nach PBX-System, dessen Konfiguration und den Vorlieben der Organisation variieren kann...
Wenn der Benutzername nicht derselbe wie die Erweiterung ist, müssen Sie den Benutzernamen herausfinden, um ihn zu brute-forcen.
svcrack
von SIPVicious (sudo apt install sipvicious
): SVCrack ermöglicht es Ihnen, das Passwort für einen bestimmten Benutzernamen/eine bestimmte Erweiterung auf einem PBX zu knacken.
SIPPTS rcrack
von sippts: SIPPTS rcrack ist ein Remote-Passwort-Cracker für SIP-Dienste. Rcrack kann Passwörter für mehrere Benutzer in verschiedenen IPs und Portbereichen testen.
Metasploit:
Wenn Sie VoIP-Geräte in einem Open Wifi-Netzwerk finden, könnten Sie alle Informationen sniffen. Darüber hinaus, wenn Sie sich in einem geschlosseneren Netzwerk (verbunden über Ethernet oder geschütztes Wifi) befinden, könnten Sie MitM-Angriffe wie ARPspoofing zwischen der PBX und dem Gateway durchführen, um die Informationen zu sniffen.
Unter den Netzwerkinformationen könnten Sie Web-Anmeldeinformationen finden, um die Geräte zu verwalten, Benutzer-Durchwahlen, Benutzernamen, IP-Adressen, sogar gehashte Passwörter und RTP-Pakete, die Sie reproduzieren könnten, um das Gespräch zu hören, und mehr.
Um diese Informationen zu erhalten, könnten Sie Tools wie Wireshark, tcpdump... verwenden, aber ein speziell entwickeltes Tool zum Sniffen von VoIP-Gesprächen ist ucsniff.
Beachten Sie, dass wenn TLS in der SIP-Kommunikation verwendet wird, Sie die SIP-Kommunikation nicht im Klartext sehen können. Das gleiche wird passieren, wenn SRTP und ZRTP verwendet werden, RTP-Pakete werden nicht im Klartext sein.
Überprüfen Sie dieses Beispiel, um eine SIP REGISTER-Kommunikation besser zu verstehen, um zu lernen, wie Anmeldeinformationen gesendet werden.
sipdump
& sipcrack
, Teil von sipcrack (apt-get install sipcrack
): Diese Tools können **aus einer pcap die Digest-Authentifizierungen innerhalb des SIP-Protokolls extrahieren und bruteforcen.
SIPPTS dump
von sippts: SIPPTS dump kann Digest-Authentifizierungen aus einer pcap-Datei extrahieren.
SIPPTS dcrack
von sippts: SIPPTS dcrack ist ein Tool zum Knacken der mit SIPPTS dump erhaltenen Digest-Authentifizierungen.
SIPPTS tshark
von sippts: SIPPTS tshark extrahiert Daten des SIP-Protokolls aus einer PCAP-Datei.
Nicht nur SIP-Anmeldeinformationen können im Netzwerkverkehr gefunden werden, es ist auch möglich, DTMF-Codes zu finden, die beispielsweise verwendet werden, um auf die Voicemail zuzugreifen. Es ist möglich, diese Codes in INFO SIP-Nachrichten, in Audio oder innerhalb von RTP-Paketen zu senden. Wenn die Codes in RTP-Paketen enthalten sind, könnten Sie diesen Teil des Gesprächs ausschneiden und das Tool multimo verwenden, um sie zu extrahieren:
In Asterisk ist es möglich, eine Verbindung von einer bestimmten IP-Adresse oder von irgendeiner IP-Adresse zuzulassen:
Wenn eine IP-Adresse angegeben ist, muss der Host keine REGISTER-Anfragen von Zeit zu Zeit senden (im REGISTER-Paket wird die Lebensdauer gesendet, normalerweise 30 Minuten, was bedeutet, dass das Telefon in einem anderen Szenario alle 30 Minuten REGISTRIEREN muss). Es müssen jedoch offene Ports vorhanden sein, die Verbindungen vom VoIP-Server zu Anrufen zulassen.
Um Benutzer zu definieren, können sie wie folgt definiert werden: