In deze bijeenkomst gaf Jurgen ons een blik in de wereld van (anti)hackers waarbij meerdere tools aan bod kwamen die de veiligheid van de site, het systeem of element in diepte onderzoeken.

Aanwezig:

Rob Kloots, Jean-Francois Misonne, Alex De Winter, Luc Ongena, Rob Van Bezouwen, Caroline Bultinck, Peter Loozen, Koen Rotier, Karel Mertens, Manu Ampe en Jurgen Gaeremyn

Gastspreker:

  1. Jurgen Gaeremyn

Inhoud van dit verslag:

  1. Beveilingstesten
  2. Hacken van je site
  3. Nuttige links

Beveiliginstesten

Jurgen laat ons kennismaken met een Linux-variant die toegespitst op beveiligingstesten: Kali Linux. Het bevat meerdere tools die helpen bij opsporen van kwetsbaarheden in netwerken , sites, ... e.a. zodat de veiligheid vergroot kan worden.

Kali Linux is zeer populair onder hackers omdat zij hiermee, zelfs met weinig codeer-kennis, op zoek kunnen gaan naar zwakke plekken. Ethische hackers kunnen de software- of site-bouwers hiervan inlichten waardoor deze de gepaste acties kunnen ondernemen. Kwaadwillende hackers zullen de ontdekte zwakheden in een systeem echter misbruiken. Door op het systeem te scannen kunnen bijvoorbeeld wachtwoordlijsten gegeneerd worden e.d.

Je hoeft niets te programmeren om met deze tools op een systeem te geraken waarbij een oude (met veiligheidslek) versie van Joomla geïnstalleerd staat .

 KaliLinux

Sniffer

Hiermee pikt u signalen op via WIFI en wordt het dataverkeer op een netwerk of netwerksegment bekeken en geanalyseerd. Hoe gemakkelijk het is om bij een FTP-verbinding het paswoord te vinden kan je zien op https://youtu.be/r0l_54thSYU?t=9m54s 

Dataverkeer kan weergegeven worden in leesbare code wanneer u de http-modus gebruikt, https genereert onleesbare code

Paswoordkrakers

Om het paswoord te kraken zijn de meest populaire methoden:

  • zich baseren op een lijst van mogelijke (popularie) paswoorden
  • alle mogelijke combinaties van tekens gebruiken wat de "brute force" methode.

Kali Linux biedt volgende tools aan:

  • CeWL: is een woordlijst generator, die ook e-mailadressen en gebruikersnamen kan isoleren uit HTML en andere documenten zoals PDF-bestanden
  • Hashcat een wachtwoordkraker die zowel de rekenkracht van de processor als videokaart gebruikt voor het kraken van wachtwoorden
  • Rainbowcrash: een database met wachtwoorden, die helpt om het paswoord te achterhalen
  • Johnny: deze hacktool bevat ondersteuning voor het versleutelen van bestandsformaten, zo kan het systeem wachtwoorden uit bestanden halen van Office, OpenOffice. Verder kan ze ook overweg met passwords-generator van Firefox en Thunderbird.

Er zijn zelfs WiFi-paswoord krakers, als de router WPA gebruikt of WPS dan wordt het kraken veel moeilijker.

Webaanvallen

Een web site platleggen of een Denial of Service uitlokken, kan je door het systeem te overbelasten met bijvoorbeeld een overvloed aan aanvragen, pagina-bezoeken, .... Daarvoor schakelt de hacker meerdere systemen (PC, servers, ...) in die door hem gehackt zijn om van daaruit de requests naar het doelwit te sturen. Vandaar dat men ook spreekt van een Distributed Denial of Service, een DDOS-aanval. Daardoor kan de aangevallene zich moeilijk tegen wapenen want er is niet 1 IP-adres dat ter verdediging kan geblokekerd worden.

DDOS aanval

Reverse engeering

Reverse engineering is het onderzoeken van een meestal een stuk software om daaruit af te leiden wat de eisen zijn waaraan het product probeert te voldoen, of om de precieze interne werking ervan te achterhalen. Hackers kunnen zo in de machinetaal bijvoorbeeld een sleutel ontwaren of ontdekken hoe een ingetypt paswoord gecheckt wordt (en zodoende ook waaraan het moet voldoen om als juist gevalideerd te worden).

Exploitation tools (uitbuiten)

Exploitation tools zoeken naar zwakheden in systemen (PCs, programma's, ...) zodat de hacker daarvan misbruik kan maken. Dit is een manier om snel iemand aan te vallen.
Een gerichte aanval kan je niet tegenhouden. Vandaar het belang van het updaten van de programma's (het Joomla!CMS, extensies, ...) zodat ontdekte zwakheden (die in de nieuwe versie opgelost zijn) niet uitgebuit kunnen worden.

SQL-Ninja zoekt naar zwakheden of lekken in de database. Voor web applicaties kan Burp Suite gebruitk worden voor het testen op SQL-injectie, burte force, stresstests en meer. Het kan ook gebruikt worden om alles wat een surfer in web formulieren invult, te traceren. De tool WpScan is dan specifiek voor een WordPress site ontwikkelt om daarin de zwakheden te vinden.

Sniffing (snuffelen)

Een sniffer is een hulpprogramma en stelt u in staat gegevens vast te leggen die over het netwerk zijn verzonden. Het kan gebruikt worden om niet versleutelde gegevens, zoals wachtwoorden en gebruikersnamen in het netwerkverkeer op te vangen. Zodra deze informatie werd vastgelegd, kan de gebruiker vervolgens toegang krijgen tot het systeem of netwerk.

Velen gebruiken FileZilla of ander FTP-programma zonder er zich van bewust te zijn dat de standaard-isntelling niet steeds de veiligste is. Zie dan in het volgende filmpje hoe ze daar het username + paswoord d.m.v. de sniffer ontdekken https://www.youtube.com/watch?v=r0l_54thSYU&feature=youtu.be&t=9m54s of ook https://www.youtube.com/watch?v=OB_bxXb2S04 . Met SFTP wordt de volledige verbinding beveiligd. Heb je daartoe geen mogelijkheid gebruik dan TLS = Transport Layer Security. 
Niet alleen het File Transfer Protocol maar ook het Hyper Text Protocol HTTP kan veiliger door HTTPSecured. Een ander voordeel van HTTPS is dat Google je in de S.E.O.ranking niet afstraft zoals hij wel doet voor HTTP-sites. 

Forensic is een ander vorm van snuffelen waar het de bedoeling is om data op te zoeken. Hierbij zijn vooral de (bestand)gegevens op een computer het object. Vooral forensische diensten maken van dergelijke tools gebruik.

Spoofing (doen alsof)

Spoofing simuleert een scherm van een bedrijf (bank , email-provider, …) . Zo kan je alle access-points van grote Amerikaans bedrijven te pakken krijgen. Hiervoor gebruiken ze eigen certificaten zodat het toch onder het httpS-protocol valt (maar dan wel niet het certificaat van de bank). Via spoofing kon er vroeger ook een telenet-account gemaakt worden.

Social Engeneering

Waar de meeste hacking technieken proberen om zwakheden uit te buiten in de technologie, zal social engeneering proberen om zwakheden bij de mens uit te buiten: misbruik van de spontane hoffelijkheid of hulpvaardigheid van mensen, mails sturen in een poging om op een link te klikken, enz.  Bij social engineering komt zo moglejik meer psychologie dan technologie kijken.

Enkele voorbeelden: als de mensen onder stress of juist euforisch zijn zullen ze sneller domme dingen doen. Bericht van PayPal dat een levering niet verzonden kan worden, doet sommige mensen 'snel' handelen. Jurgen toonde een film waarbij een vrouw alle gegevens wou te weten komen van een man. Ze contacteerde zich telefonisch aan de support-desk zogezegd als de echtgenote. Door goed acteren, met op de achtergrond het gehuil van een baby (geen echte maar een opname), leek ze gestresseerd, simuleerde emotionele druk ... en binnen 10 minuten had ze alle nodige informatie en had ze zelfs de support-desk zo ver gekregen dat die het admin-wachtwoord van de man veranderde. (youtube-filmpje is echter neit emer beschikbaar).

Een Joomla!site hacken

De exploits 

De Exploit database is een naslagwerk voor wie op de hoogte wil blijven van de gekende en gepubliceerde exploits/veiligheidslekken. Maar een veiligheidslek dat nog niet gekend is, zal criminelen meer interesseren. Botnets kunnen het internet scannen naar vatbare websites. Wanneer een vatbare website gevonden is, wordt een script uitgevoerd om de exploit te testen en te misbruiken. Doordat het gehele proces geautomatiseerd is, kunnen er veel websites in korte tijd geïnfecteerd raken. Alle geïnfecteerde / gehackte websites zullen dan ook allen dezelfde symptomen vertonen.
Er zijn verschillende varianten in omloop. Een van de eerste grote uitbraken was die van Hmei7. In de laatste jaren zijn honderdduizenden websites getroffen door Hmei7 en soortgelijke hacks. En zelfs tot op de dag van vandaag komt het nog te vaak voor.
In de webserver logs is gemakkelijk te zien of u al eens bezocht bent door het botnet
Het script dat gebruikt wordt is meestal een .PERL of .PHP script. Het script probeert eerst de Joomla URL’s en commando’s te misbruiken om via een extensie (zoals JCE) een bestand te uploaden. Dit bestand heeft tijdens het uploaden vaak een.gif extensie maar is een versleuteld bestand.
Als uw site gebruik maakt van een oudere versie van extensies dan zal het script erin slagen om dergelijke versleutelde bestanden te uploaden.

Na het decoderen van dit bestand (met een PHP Decoder) wordt het bestand leesbaar. Het bestand is een webshell-backdoor bestand dat de hacker de mogelijkheid geeft om OS (Linux) commando’s uit te voeren. Maar voordat de hacker dit kan doen moet hij het bestand mogelijks hernoemen naar een .php bestand zodat de code ook uitgevoerd wordt als een applicatie. Dit hernoemen wordt gedaan met een JSON commando. JSON is een Javascript commando dat door de meeste webservers ondersteund wordt.
Als alles succesvol uitgevoerd is, dan heeft de hacker root access (toegang van het hoogste niveau) op uw website en als de server niet netjes ingericht is zelfs tot uw complete webserver.
De gevolgen van een goed uitgevoerde hack kunnen desastreus zijn voor uw website. In dat geval is het hebben van een goede backup uiterst belangrijk!

Wat vaak gebeurt is het het defacing van je site: het een ander gezicht geven, elke bezoeker van je site zal het bericht van de hacker zien. Meestal wil de hacker hiermee angst aanjagen en/of bekendheid krijgen. Maar soms bevatten ze spyware achtige applicaties die de computers van uw bezoekers kunnen infecteren. Zo kan defacing van uw website verlies van vertrouwen en verlies van zoekmachine (Google) ranking betekenen als er niet snel actie ondernomen wordt. Google kan u zelfs compleet bannen uit de zoekmachine omdat uw website (langere tijd) geïnfecteerd is.
Daarnaast wordt de hack gebruikt om andere schadelijke bestanden / backdoors te uploaden en soms wordt er een schaduwsite geplaatst op uw domeinnaam. Echter blijven de meeste bestanden bewaard wat betekend dat uw website meestal relatief snel in oude glorie hersteld kan worden zonder dat alles opnieuw gebouwd moet worden. Let op, hoe langer de site gehackt is des te meer schade er op de achtergrond ontstaat.

Gehackt en waarom?

Hoe kan je zien dat er een hacker toegeslagen heeft:

  • Ik krijg een andere startpagina, 'defacement' je site ziet er anders uit
  • Trager werken van de website (omdat de server gebruikt wordt voor het versturen van massa's spam)
  • Per ongeluk iets vreemds opgemerkt op de site
  • Uw provider of de virus-scanner op de web-server licht je in
  • De etische hacker licht je in (dus kan je jouw site nog veiliger maken, dank zij die hacker)
  • Na het lezen van een logbestand

Waarom hacken ze?

  • Voor de uitdaging en de kick, voor het plezier
  • Om betaalgegevens te vinden
  • Om je server te gebruiken voor
    • de uitvoering van een DDoS-aanval
    • het versturen van spam
    • aanmaken van Bitcoins (wat door het zwaar algoritme, zeer veel CPU vergt; 1 bitcoin is ongeveer 900,00 euro waard)
  • Om ideologische redenen
  • Om jouw bedrijf of het systeem in een slecht daglicht te plaatsen of je (online) activiteiten te blokkeren
  • Data stelen uit je database maar ook via je webcam of je microfoon (Niet alleen een plakker op de microfoon helpt, maar ook een microfoon uitschakelen kan helpen)
  • Binnen geraken op het systeem van de computer

Wie zegt dat zijn site nog nooit werd aangevallen is MIS. Elke site is regelmatig het doelwit van hackers. Je hoeft niet dom te zijn om uw site te laten hacken! Iedereen kan het slachtoffer worden.

Mocht je het logbestand van jouw site regelmatig bekijken, dan zal je zien hoe vaak jouw site aangevallen wordt. Door regelmatige updates van je software zullen al veel aanvallen zodner succes blijven. Logbestanden zien er mischien ingewikkeld uit – omdat er zo veel in staat - maar met wat kleine moeite kan je er toch wijs uit. Deze logs kunnen een hulp zijn in je beveiligingsstrategie.

Meestal heeft de hacken het niet op jou gericht, maar ben je een toevallig slachtoffer.

Verschillende niveaus waar gehackt kan worden

  1. Physical layer: Kabel doorknippen
  2. Data link layer: Mac adress imiteren
  3. Netwerklayer: IP-adres manipuleren, iemand anders op het WiFi-netwerk
  4. Transport layer: Poorten gebruiken
  5. Session layer: sessie van een ander overnemen
  6. Presentation layer: HTTP of HTTPS gebruiken
  7. Application layer: Op niveau van de browser

OSI 7Layers

Hygiene in je netwerkgebruik en op je site

Enkele tips uit het vuistje als minimum bescherming: 

  • gebruik sterke wachtwoorden en waaarom niet 2 factor authentications
  • train uw gebruikers voor een goed paswoord en om dit nooit door te geven.
  • zet geen harde rem op het creëren van gebuikes want anders gaan ze sneller pasworden doorgeven.
  • verwijder niet gebruikte users
  • gebruik een Secured protocol: dus noch HTTP maar SFTP en HTTPS. Met SFTP wordt de volledige verbinding beveiligd . Een ander voordeel van HTTPS is dat Google je in de S.E.O.ranking niet afstraft zoals hij wel doet voor HTTP-sites. Heb je geen moeilijkheid tot FTP gebruik dan TLS = Transport Layer Security. Niet overtuigd van de nood hiertoe? Bekijk dan het volgende filmpje op 7:58 hoe ze daar het username + paswoord d.m.v. de sniffer ontdekken  https://www.youtube.com/watch?v=OB_bxXb2S04
  • gebruik geen openbare WiFi (bijvoorbeeld op een luchthaven) tenzij je met een Virtual Private Network werkt (zoals bijv. Shield)
  • kies een goede provider voor je site-hosting hosting (en die ook FTPS toelaat)
  • laat een professional uw netwerk instellen
  • gebruik templates en extensies ontwikkeld door een professional
  • maak updates en wees zeker dat je ze kunt restoren
  • zet in Joomla!CMS het Verwijzingsbeheer aan (en bekijk het regelmatig)

Nuttige Links

JUG-Vlaanderen heeft een heel uitgebreid artikel gewijd aan het beschermen van een Joomla-site tegen hackers en hoe een gehackte site terug gezond krijgen: Hoe je site beveiligen tegen hackers

https://www.ssllabs.com laat toe om een SSL certificaat te verifiëren. Deze tool zit gratis in de Kali Linux distributie.

Wil je over een persoon of entiteit een zicht hebben op alle informatie die te vinden is op het internet, bekijk dan zeker de data-mining-tool Maltego https://www.paterva.com/web7/buy/maltego-clients.php. Deze tool zit gratis in de Kali Linux distributie.

Meer over de Kali Linus: https://www.kali.org/

Lijst van alle exploits https://www.exploit-db.com 

 


Verslag opgemaakt door Caroline Bultinck en aangevuld door Manu Ampe