Hacking Team

Hacking Team

Inleiding

Hacking Team is een Italiaans bedrijf dat afluistersoftware maakt. Het bedrijf is echter ergens zomer 2015 gehackt waarbij 400GB aan data op straat is komen te liggen. Hiermee kwamen ook de handleidingen beschikbaar van deze afluistersoftware.

Ik was wel benieuwd wat deze software nu voor mogelijkheden heeft en vooral hoe men er voor kan zorgen dat computers en mobiele apparatuur ongemerkt voorzien worden van deze software. Ik heb daarom de handleidingen eens doorgenomen en er onderstaand artikel over geschreven.

Software van Hacking Team

De software die Hacking Team heeft ontwikkeld is een totaal oplossing om van computers en mobiele apparatuur data te onderscheppen en naar een centrale server te sturen voor analyse. Deze software wordt het remote control system genoemd en bestaat uit een agent die op het af te luisteren apparaat moet worden geïnstalleerd en een centrale back-end omgeving waarop de collectie van informatie plaats vindt. De informatie wordt in een database opgeslagen zodat er analyse en rapportage op plaats kan vinden. Daarmee kunnen bijvoorbeeld eenvoudig verbanden gelegd worden als persoon x en y hebben beiden telefoonnummer 123 in de contactlijst van hun telefoon.

Agent concept

Een agent is een stukje software dat lokaal wordt geïnstalleerd op het te observeren apparaat. Dit is een bekend concept in de IT wereld. Denk onder andere aan agents voor back-up, Anti- Virus etc. Wat betreft de agent van Hacking Team, hier heeft men heel veel aandacht besteed om te zorgen dat deze niet opvalt op het te observeren apparaat. Zo heeft men bijvoorbeeld een stukje software ontwikkeld die voordat de agent wordt geïnstalleerd kan analyseren of het doel apparaat mogelijk de software zou kunnen ontdekken. Onderstaand een aantal voorbeelden wat de agent voor mogelijkheden heeft als deze geïnstalleerd is:

  • het opnemen van gesprekken en sms berichten
  • downloaden en uploaden van bestanden
  • screenshots maken en key logging opslaan
  • de camera en microfoon gebruiken
  • extra software uitvoeren
  • de GPS positie doorgeven

Daarnaast zijn er diverse technieken bedacht om ongemerkt de data van het te observeren apparaat richting de centrale server te synchroniseren. Dit vindt over het algemeen plaats als het apparaat verbonden is met Wifi, over een mobiel netwerk zou dit sneller opvallen doordat mobiele abonnementen vaak een data limiet kennen.

Verder biedt de agent software opties om bepaalde acties uit te voeren in de vorm van “if then”. Bijvoorbeeld het vermogen van de batterij is onder de 20%, pauzeer de agent software totdat de batterij weer is opgeladen.

Installatie van de agent

Ik was vooral geïnteresseerd in de methodes die men bedacht heeft om de agent software ongemerkt op het  te observeren apparaat te krijgen. Er worden op hoofdlijnen een tweetal manieren gebruikt om de agent ongemerkt te installeren.

  1. Methodes waarmee je het te observeren apparaat fysiek in bezit moet hebben. Denk aan infecties via USB of SD kaart.
  2. Methodes via het netwerk (internet, Wifi, LAN etc.)

Ik ga wat dieper in op de methodes die op dit moment gebruikt worden om via een netwerk de agent software te installeren:

  • Daar waar het netwerk onder eigen beheer is kan er gebruik worden gemaakt van een zogenaamde netwerk injector. Dit is een sniffer die meekijkt in het netwerk verkeer. Dit apparaat kan zodra er aan een bepaalde voorwaarden wordt voldaan een actie ondernemen. Zo zouden er mogelijkheden zijn om de agent software mee te sturen als er b.v. een YouTube video gekeken wordt.
  • Een andere methode is om aan te geven dat cliënt runtimes als flash en Java niet de juiste versie hebben. Er verschijnt dan bij het bekijken van een website een pop-up met de melding dat de software te oud is met daarbij een link om de nieuwe software te downloaden. Je voelt vast al aan wat je dan gaat binnenhalen.
  • De gebruiker verwijzen naar bepaalde websites b.v. middels social engineering om vanaf deze websites automatisch code te installeren op het te observeren apparaat.
  • Bij het downloaden van bijvoorbeeld een executable extra code toevoegen waarmee tijdens uitvoering van het bestand de agent software wordt geïnstalleerd.

De methodes om de agent ongemerkt op een apparaat te installeren worden constant doorontwikkeld. Zo kwamen er ook een aantal zero day lekken te voorschijn uit de data van Hacking Team. Zero day lekken zijn natuurlijk ideaal om de agent ongemerkt te installeren, dit omdat er nog geen patch voor beschikbaar is en de kwetsbaarheid niet algemeen bekend is.  Je ziet in de methodes die men toepast om de agent geïnstalleerd te krijgen een aantal overeenkomsten met hoe de hacking tool Metasploit toegang probeert te krijgen tot systemen.

Tegenmaatregelen?

Dat is best wel lastig denk ik, als een partij al bereid is om dergelijke software te kopen en in te zetten dan heeft men over het algemeen de mogelijkheid en middelen om ver gaan. Ik zie een aantal tegen maatregelen, ten eerste de open deuren als:

  • gebruikt een anti virus programma. Uit de data van Hacking Team bleek dat sommige anti virus producten de agent konden herkennen
  • controleer de hash van een download voordat je deze installeert
  • maak geen verbinding met onvertrouwde netwerken
  • wees voorzichtig met onbekende websites

Specifiek voor het detecteren van deze software is inzicht in het verkeer dat je netwerk verlaat belangrijk. Het synchronisatie proces naar de centrale back-end server is zichtbaar en daarmee een aanwijzing. indien je een goed beeld hebt van je netwerk zou je dit mogelijk kunnen signaleren.

Daar waar de software op een mobiel apparaat wordt geïnstalleerd zal dit van invloed zijn op de batterij duur. Mogelijk dat dit een aanwijzing is voor verder onderzoek.

Verder zou het gebruik van file integrity software als bijvoorbeeld Tripwire een aanwijzing kunnen geven dat er iets geïnstalleerd is op je apparatuur.


Comments are closed.