Whatsapp ist ja bekannt für nicht gerade sicheren Umgang mit den Nachrichten. So reichte es noch im September 2012 aus, eine Telefonnummer und die Wlan MAC Adresse eines iPhones zu kennen, um im fremden Namen Nachrichten zu senden und empfangen. Unter Android gestaltete sich dies etwas schwierieger, da man hier die IMEI brauchte, bei der im Gegensatz zur MAC Adresse nicht die Chance besteht, sie über einen freien WLAN Hotspots abzugreifen.
Kurz nach bekanntwerden dieser Sicherheitslücke wurde eine API eines Drittanbieters zur freien Verfügung entwickelt, mit der es nach eigenen Angaben “zu Demonstrationszwecken” möglich war genau diese Schritte problemlos zu vollziehen. Kurz darauf sperrten die Entwickler ihre Github Seite allerdings wieder, nachdem Whatsapp ihnen mit rechtlichen Konsequenzen gedroht hatte. Nach der Behebung der Sicherheitslücke hat man sich aber anscheinend mit Whatsapp geeinigt, dass Projekt wieder online stellen zu dürfen. Jedenfalls wird auf der Projektseite auf folgendes hingewisen:
Development to be resumed, let's pretend that nothing was happened.
Nachdem auch ich vor kurzem einmal Whatsapi (so lautet der Name der inofiziellen API) ausprobieren wollte, um einen Chatbot in eine Gruppe einzubinden, musste ich feststellen, dass die Dokumentation etwas zurückgeblieben ist. Deshalb beschreibe ich hier einmal die Nutzung anhand des iPhones.
1. An den Benutzerschlüssel kommen
Die Authenfizierung erfolgt über die Telefonnummer, einen Token und den Useragent, der sich aus Whatsapp Version und verwendeter Plattform zusammensetzt. Noch bevor man Whatsapi überhaupt nutzen kann, muss man diesen wissen. Dafür hat der aktuell sehr aktive Entwickler shirioko das Projekt MissVenom veröffentlicht. Mit der kleinen Anwendung für Windows ist es möglich an die benötigten Daten zu gelangen. Zunächst muss man dafür Whatsapp von seinem Smartphone entfernen und neu installieren, sodass man ein “jungfräuliches” Whatsapp mit leerem Aktivierungsbildschirm hat.
Anschließend läd man MissVenom von der Projektwebseite auf GitHub herunter. Unter https://github.com/shirioko/MissVenom einfach die aktuelle Version der .exe herunterladen. Nach dem Start muss man zunächst eine Ausnahme in der Firewall zulassen. Außerdem sind Administratorrechte erforderlich. Ich hatte allerdings mit Version 1.2.4.0 beim Verfassen des Beitrags Probleme, sodass ich auf die von mir beim Testen verwendete Version 1.2.3.1 zurückgegriffen habe. Heruntergeladen werden kann sie hier. Zu beachten ist bei dieser Version allerdings, dass die nach dem Start angezeigte Checkbox oben links angehakt werden muss. Das Textfeld bleibt leer. Zum Schluss wird auf Start geklickt.
Nachdem MissVenom erfolgreich gestartet wurde, erhält man direkt eine Anleitung, wie fortgefahren werden muss.
- Das Smartphone muss mit dem Computer kommunizieren können. Am einfachsten lässt sich das umsetzen, indem der Computer und das Smartphone im gleichen Netzwerk sind.
- Auf dem Smartphone müssen die WLAN Einstellungen angepasst werden. (Auf dem iPhone under Wifi => <Euer Netzwerk> und anschließend auf den Tab statische IP Adresse). Als IP Adresse trägt man in der statischen Verwaltung eine im Netzwerk freie IP Adresse ein. Möglich ist auch die Verwendung der über DHCP zugewiesenen Adresse. Bis auf den DNS Server werden alle Einträge von den DHCP Informationen übertragen. Nur beim DNS Server wird die in MissVenom angezeigte IP Adresse eingetragen.
- Um Whatsapp vorzugaukeln, es würde sich mit dem echten Server verbinden und nicht mit dem Proxy, ist es erforderlich ein Zertifikat zu installieren. Dafür geht man mit dem Webbrowser auf https://cert.whatsapp.net.
- Anschließend öffnet sich eine Installationsaufforderung des Zertifikats. Nach dem Klick auf Installieren erhält man nocheinmal eine letzte Warnung. Danach muss man falls vorhanden noch sein Gerätepasswort eingeben und das Zertifikat wird installiert. Keine sorge, es kann nach den ganzen Schritten wieder entfernt werden.
- Jetzt muss Whatsapp wieder installiert und gestartet werden. Wichtig ist, dass MissVenom immer noch läuft und das Smartphone verbunden bleibt.
- In Whatsapp muss der Aktivierungsvorgang ganz normal durchlaufen werden. Anschließend wird in MissVenom euer Passwort angezeigt. Sollten inzwischen Nachrichten an euer Whatsapp Konto gesendet worden sein, so werden diese ebenfalls angezeigt. In diesem Fall müsst Ihr einfach nach oben scrollen.
- Dort steht dann etwas wie
FOUND PASSWORD!: <euer Passwort>
USERAGENT:WhatsApp/2.8.7 iPhone_OS/6.1.3 Device/iPhone_4
2. Whatsapi Benutzen
Whatsapi muss zunächst von GitHub heruntergeladen werden. Es gibt einige Forks. Die derzeit aktuellste Fork wird von shirioko betrieben und ist hier zu erreichen. Der Download ist unter dieser URL direkt möglich.
Anschließend muss das ZIP Archiv entpackt werden. Im Ordner /src/php liegen die benötigten Dateien. Diese sollten bevorzugt mit PHP-Cli ausgeführt werden, sind jedoch auch auf einem normalen Webserver mit PHP im Webbrowser lauffähig. In diesem Fall empfiehlt es sich, den Quelltext zu lesen, da dieser die gleichen Ausgaben wie CLI enthält.
Grundsätzlich benötigt man nur die Datei whatsprot.class.php. Nachfolgend habe ich einmal den Quellcode der Datei EXAMPLES.php angepasst, um eine Nachricht zu schicken und um zu erklären, wie sie verändert werden muss, um mit dem Token zu funktionieren.
Danach können wie unter dem letzten Punkt Nachrichten gesendet werden oder auch alle anderen Beispiele aus der EXAMPLES.php genutzt werden.