Martin Vigo, een Spaanse beveiligingsonderzoeker, heeft op Def Con in Las Vegas geautomatiseerde bruteforce-aanvallen op voicemails van Amerikaanse mobiele providers gedemonstreerd, waarmee hij bijvoorbeeld WhatsApp- en PayPal-accounts kon overnemen.
Vigo introduceerde zijn onderzoek door te stellen dat er sinds de jaren tachtig niet bijzonder veel is veranderd aan de beveiliging van voicemails. Zo zouden de vier grote Amerikaanse providers, Sprint, T-Mobile, Verizon en AT&T, nog steeds eenvoudige standaardpins voor hun voicemailsystemen gebruiken. Bijvoorbeeld de laatste vier cijfers van een telefoonnummer. Ook zou het vrij eenvoudig zijn om viercijferige pincodes te raden, doordat deze bijvoorbeeld vaak beginnen met 19 omdat de gebruiker een geboortejaar als pin instelt. Verder hebben de pincodes een lengte van maximaal tien cijfers, wat ze redelijk eenvoudig te bruteforcen maakt, aldus Vigo. Ten slotte is het mogelijk drie verschillende pincodes tegelijk in te voeren.
Om al deze bevindingen om te zetten in een aanval, maakte hij zijn eigen Python-script genaamd voicemailcracker. Zijn software maakt gebruik van de dienst Twilio om oproepen te doen, wat geen grote kosten met zich mee zou brengen. Zijn script is volledig geautomatiseerd en bevat payloads die zijn toegespitst op de vier providers. Daarnaast probeert de software op efficiënte wijze de pincode te bruteforcen, onder meer door veelgebruikte en standaardpincodes eerst in te voeren.
Een volgende stap is het zo snel mogelijk uitkomen bij de voicemail van het doelwit. Hij kwam erachter dat de providers allemaal nummers hebben waar iemand direct een voicemail voor elk gewenst nummer kan achterlaten. Via dat nummer is ook een login uit te voeren waarvoor de pin is vereist. Zo kan hij zijn aanval ongedetecteerd uitvoeren, claimt de onderzoeker. In een demo toonde hij dat zijn software er ongeveer 100 seconden over deed om 20 pincodes uit te proberen.
In een tweede demo laat hij zien hoe hij het script inzet om een WhatsApp-account over te nemen. Hij registreert het nummer van het doelwit op een eigen telefoon op een moment dat zijn doelwit offline is. Vervolgens wacht hij even tot de mogelijkheid verschijnt om de code, die eerst via een bericht wordt verstuurd, via een oproep te ontvangen. Door bijvoorbeeld op dat moment zelf het doelwit op te bellen, gaat de oproep met de code naar de voicemail en wordt het bericht opgenomen. Vervolgens logt zijn software automatisch op de voicemail van het doelwit in met de achterhaalde pincode en speelt het laatste bericht af, waarin de code zit om het account te activeren.
Sommige bedrijven vereisen dat de gebruiker een bepaalde code op zijn telefoon intoetst zodra hij ervoor kiest om via een oproep een actie te bevestigen, zoals het opnieuw instellen van een wachtwoord. In een volgende demo, deze keer met PayPal, liet Vigo zien dat ook deze bescherming te omzeilen is. Zo logde hij via zijn script in op de voicemail van het doelwit en paste hij de welkomstboodschap aan naar dtmf-tonen die de code representeren die hij van PayPal moest invoeren. Op deze manier lukte het hem om het wachtwoord van een bepaald account opnieuw in te stellen. Hij stelt dat zijn techniek ook gebruikt kan worden om bijvoorbeeld tweetrapsauthenticatie te omzeilen.
Hij kondigde aan een uitgeklede variant van zijn software op GitHub te zetten, maar dat is op het moment van schrijven nog niet gebeurd. Tweakers heeft nog niet kunnen onderzoeken of ook voicemails in de Benelux vatbaar zijn voor een dergelijke aanval. De onderzoeker raadt gebruikers aan om voicemail helemaal uit te schakelen. Voor onlinediensten zou volgens hem moeten gelden dat ze geen sms of spraak toestaan voor bevestiging of authenticatie; providers raadt hij aan om geen standaardpins toe te laten en geen diensten aan te bieden om direct te voicemail te bereiken.