Database beveiligen tegen lekken met deze hacking-tool

Noud van Kruysbergen
0

Je kunt de database beveiligen tegen lekken met de hacking-tool die we hier gebruiken. Cybercriminelen slagen er maar al te vaak in op grote schaal klantgegevens uit een database te stelen via SQL-injectiegaten.


database lekken beveiligen


SQL database en de gegevens

De belangrijkste gegevens van een website zijn vaak de klant- of zelfs gebruikersgegevens. Online oplichters kunnen daar op het Darknet makkelijk klinkende munten voor krijgen.

In de regel slaan webapplicaties dergelijke gegevens op in een of meerdere databases, die uiteraard goed beschermd moeten worden. De nadruk ligt op moeten, omdat cybercriminelen er maar al te vaak in slagen op grote schaal klantgegevens uit databases te grissen.

Een veel voorkomende oorzaak zijn zogenaamde SQL-injectie-gaten. In dat geval communiceert de aanvaller niet rechtstreeks met de databaseserver, maar probeert hij de webapplicatie geïnjecteerde SQL-commando’s te laten uitvoeren op de database.

Het resultaat is vaak dat de database via de webapplicatie ­massa’s gevoelige datarecords uitspuugt.

Met hacking-tool SQLmap database beveiligen

Je raadt het misschien al: er bestaat ook een hacking-tool voor dergelijke gaten – in dit geval SQLmap. Het ondersteunt talrijke databases, waaronder Oracle, MySQL, MariaDB, MS SQL Server, PostgreSQL en SQLite.

Afhankelijk van het databasetype en de rechten kan het ook bestanden naar de webserver schrijven. ­Hackers kunnen zo proberen een webshell te up­loaden om de server permanent op afstand te bedienen.


Ontvang gratis informatie en tips over hacking en beveiliging, schrijf je in voor de nieuwsbrief:


Testomgeving voor de hacking-tool

Voor een eerste functionele test kun je RasPwn’s opzettelijk kwetsbare ‘Wacko Picko’-website scannen met SQLmap (zie kader over RasPwn, onderaan de pagina). Het inlogformulier van de website stuurt twee POST-parameters wanneer het wordt ingediend, namelijk username en password, die de scanner in dit geval onder de loep moet nemen.

Controleer de database op lekken

Om na te gaan of de website de mist in gaat bij het evalueren van die parameters,

kun je de tool met –data instrueren om precies dat te weten te komen:

sqlmap -u “http://wackopicko.playground.raspwn.org/users/login.php” –data=

“username=1&password=1” –banner

De optie –banner achterhaalt de databaseversie en het besturingssysteem van de server als de website kwetsbaar is.

Als je de inhoud van de database meteen wilt lezen, vervang je gewoon –banner door –dump

Database lekken voorkomen en beveiligen

Je kunt dergelijke SQL-injecties voorkomen door invoer van buitenaf consequent te controleren voordat die wordt verwerkt of zelfs opgenomen in databaseopdrachten.

Verder is het zinvol gebruik te maken van zogenaamde Prepared Statements, waarin je eerst de structuur van het SQL-commando definieert voordat je een placeholder vult met de waarden die van buitenaf aangeleverd worden.

Het is beter om de databaseopdrachten niet zelf te compileren, maar gebruik te maken van een voldoende geteste ORM-­bibliotheek (Object-Relational Mapping), die reeds tegen alle mogelijke eventualiteiten beveiligd is.

Hacking-tools – wat kun je zelf doen

We beschrijven in meerdere artikelen het gebruik van hackingtools en hoe je ze kunt inzetten. De in deze serie genoemde hacking-tools bestrijken een breed gebied.

Sommige technieken zijn beangstigend eenvoudig, andere vereisen meer training en ervaring. Maar het is de moeite waard je daar in te verdiepen: je leert te denken als een aanvaller en je eigen beveiligingsproblemen en eventuele lekken op te sporen.

Dat is nuttig – ongeacht of je alleen een privé WordPress-site beheert of verantwoordelijk bent voor de veiligheid van je klanten.

Geschikt aanvalsdoel: RasPwn

De in deze serie artikelen genoemde hacking-tools zijn niet illegaal, maar je mag ze natuurlijk niet gebruiken in strijd met de ­geldende wetgeving.

Om niet in de verleiding te ­komen de tools zonder toestemming op andermans servers te testen, moet je een geschikte oefen­omgeving creëren – bijvoorbeeld een testnetwerk waarin zich alleen systemen bevinden die je wilt en mag aanvallen.

Een geschikt aanvalsdoel is RasPwn, dat een heel netwerk vol kwetsbare servers simuleert waarop je je kunt uitleven. Je zet het eenvoudigweg over op een microSD-kaart, die je vervolgens in een Raspberry Pi stopt (minimaal een Raspberry Pi 2B).

Na het opstarten verschijnt een wifinetwerk met de naam ‘­RasPwn OS’, waarmee je verbinding kunt maken met het wachtwoord In53cur3!

Open vanaf dat netwerk http://playground.raspwn.org met een browser, voor alle belangrijke informatie over het virtuele netwerk en de kwetsbare servers.

Er mag geen netwerkkabel op de Rasperry Pi worden aangesloten, anders kan de zeer kwetsbare image toegang krijgen tot je hoofdnetwerk en het inter­net – wat je ten koste van alles moet vermijden!

Mogelijke doelwitten zijn kwetsbare WordPress-installaties, een verouderde versie van het webshopsysteem osCommerce, het databaseprogramma phpMyAdmin, een mailserver, Samba enzovoort.

Het Debian Linux waarop RasPwn op gebaseerd is, is ook bijna zeven jaar oud en zit vol gaten. Bovendien zijn er tal van webapplicaties, zoals OWASP Bricks en Damn Vulnerable Web Application (DVWA), die zijn ontwikkeld met als enig doel zo kwetsbaar mogelijk te zijn om typische beveiligingslekken op een actief systeem te demonstreren.

Lees meer over behulpzame tools in c't magazine 8-9/2022

Meer over

hackWebsites

Deel dit artikel

Lees ook

Vergeten inlog wachtwoord terugvinden met NirSoft

Een vergeten inlog wachtwoord terugvinden - zoals voor DigiD of Thuisbezorgd - kun je met dit gereedschap makkelijk zelf doen.

Bescherm jezelf tegen hacking-gadgets, herken een hacking aanval

Veel hacking-gadgets beheersen complexe IT-aanvallen. In dit artikel bespreken we enkele bedreigingen en leggen we uit hoe je jezelf tegen een hacking...

0 Praat mee
avatar
  Abonneer  
Laat het mij weten wanneer er