U wilt niet dat een ongewenste bezoeker het bestandssysteem van uw server doorkruist, maar aanvallers hebben een manier gevonden om dit voor elkaar te krijgen. Wat kan je doen?
Wanneer gebruikers uw website bezoeken, vertrouwen ze erop dat hun gegevens veilig zijn en dat zij en andere gebruikers geen toegang hebben tot bestanden of mappen die ze niet mogen zien. Als uw website echter kwetsbaar is voor het doorzoeken van mappen, kunnen aanvallers deze zwakte misbruiken om van de ene map naar de andere te gaan en gevoelige bestanden te bekijken die moeten worden beperkt.
Deze aanvallen maken gebruik van een kwetsbaarheid in het bestandssysteem van uw website en kunnen kritieke informatie blootleggen, wat leidt tot ernstige beveiligingsrisico's. In dit artikel onderzoeken we wat directory traversal-aanvallen zijn, waarom ze zo gevaarlijk zijn en hoe u uw website ertegen kunt beschermen.
Wat is doorzoeken van mappen?
Directory traversal wordt ook wel path traversal of directory-klimmen genoemd. Het is een kwetsbaarheid in websites waarbij de aanvaller in staat is om toegang te krijgen tot of bestanden te lezen buiten de hoofdmap van de webserver waarop de applicatie draait door de invoer van de webapplicatie te manipuleren.
Wanneer een directory traversal-aanval wordt uitgevoerd, kunnen aanvallers de afgeschermde bestanden en directory's op de webtoepassingsserver lezen en soms zelfs wijzigen. Ze hebben mogelijk toegang tot vertrouwelijke bestanden op de server, zoals databaseconfiguratiebestanden, broncodebestanden, wachtwoordbestanden en logbestanden.
Directory Traversal en de CIA Triad
Een directory traversal compromitteert alle drie de aspecten van wat bekend staat als de CIA-triade. De CIA-triade, een algemeen erkend model voor informatiebeveiliging, staat voor vertrouwelijkheid, integriteit en beschikbaarheid.
Vertrouwelijkheid
Directory traversal-aanvallen schenden de vertrouwelijkheid omdat beperkte en gevoelige bestanden met informatie over het systeem en andere gebruikers toegankelijk worden voor de aanvaller. Alle informatie die niet van een gebruiker is, moet geheim worden gehouden en mag niet toegankelijk zijn voor onbevoegden. Een aanvaller die bijvoorbeeld toegang krijgt tot de database van gebruikers en hun persoonlijk identificeerbare informatie (PII's), schendt de vertrouwelijkheid van het systeem en de gegevens van de gebruiker.
Integriteit
Het is belangrijk op te merken dat het doorzoeken van mappen mogelijk niet stopt als de cyberaanvallers bestanden op uw webserver kunnen lezen en openen. Als de machtigingen voor het bestandssysteem op uw server niet correct zijn geconfigureerd, kan de hacker deze mogelijk wijzigen of verwijder belangrijke bestanden of mappen op de server, waardoor de integriteit van de gegevens daarop in gevaar komt server. De aanvaller kan bijvoorbeeld een configuratiebestand wijzigen om zichzelf beheerderstoegang tot de server te verlenen of systeembestanden te verwijderen.
Beschikbaarheid
Er zijn veel manieren waarop een aanvaller de directory traversal-aanval kan gebruiken om de beschikbaarheid van uw server in gevaar te brengen. Een voorbeeld is het verwijderen van kritieke bestanden op de server die de werking van de server verstoren of ervoor zorgen dat de webapplicatie niet meer reageert. Een ander voorbeeld is dat de aanvaller privileges escaleert en de server overbelast met verzoeken waardoor deze crasht.
Hoe werkt een Directory Traversal-aanval?
Een directory traversal-aanval kan op verschillende manieren plaatsvinden. Wanneer aanvallers vermoeden dat een website kwetsbaar is voor directory traversal-aanvallen, beginnen ze kwaadaardige verzoeken te maken om naar die webtoepassing te sturen.
Sommige websites geven bestanden weer via de URL-parameter. Neem bijvoorbeeld deze website-URL: https://www.website.com/download_file.php? bestandsnaam=bestand.pdf. Dit betekent dat de webtoepassing het bestand "file.pdf" van de server aanroept met behulp van een relatief URL-pad. In dit geval leest de toepassing van het pad: www/var/documents/file.pdf.
Een eenvoudig voorbeeld van een directory traversal-aanval is de dotdotslash directory traversal-aanval. In UNIX- en Windows-systemen is de ../ symbolen worden gebruikt om één map terug te gaan. De aanvaller kan de documentnaam vervangen door ../../../../../etc/passwd. De URL ziet er dan zo uit: https://www.website.com/download_file.php? bestandsnaam=../../../../../etc/passwd
Een aanvaller kan deze payload in de webtoepassing gebruiken om meerdere mappen achterwaarts te doorlopen om te proberen het bestand "/etc/passwd" op te halen uit het bestandssysteem van de server.
In op Unix gebaseerde systemen is het bestand "/etc/passwd" een gewoon tekstbestand dat informatie bevat over lokale gebruikersaccounts op het systeem, zoals gebruikersnamen, gebruikers-ID's, thuismappen en shell voorkeuren. Toegang tot dit bestand kan nuttig zijn voor aanvallers omdat het informatie kan verschaffen over potentiële gebruikersaccounts en kwetsbaarheden in het systeem.
Andere vormen van directory traversal-aanvallen zijn URL-codering, dubbele codering en null-byte-aanvallen.
Waarom zijn Directory Traversal-aanvallen zo gevaarlijk?
Directory traversal-aanvallen worden als zeer gevaarlijk beschouwd omdat het bijna nooit op zichzelf staande aanvallen zijn. Een kwetsbaarheid voor het doorzoeken van mappen kan bij misbruik leiden tot meerdere andere kwetsbaarheden. Enkele van deze kwetsbaarheden zijn:
Vrijgeven van informatie
Het vrijgeven van informatie vindt plaats wanneer een aanvaller toegang krijgt tot gevoelige informatie die hij niet mag zien. Directory traversal-aanvallen kunnen leiden tot kwetsbaarheden voor het vrijgeven van informatie, omdat aanvallers hierdoor toegang krijgen tot bestanden en mappen buiten het beoogde bereik van een webtoepassing. Door directory traversal payloads en kwaadaardige verzoeken te gebruiken, kunnen aanvallers omhoog klimmen in de directoryhiërarchie om mogelijk toegang te krijgen tot gevoelige bestanden en directory's op een server. Deze kwetsbaarheid kan worden misbruikt om gevoelige informatie zoals wachtwoorden of gebruikersgegevens te extraheren.
Lokale bestandsopname
Directory traversal kan ook leiden tot lokale bestandsopname (LFI)-aanvallen. LFI is een kwetsbaarheid in webapplicaties waardoor een aanvaller bestanden kan opnemen en uitvoeren die zijn opgeslagen op dezelfde server als de webapplicatie in een LFI aanval kan een aanvaller de invoerparameters van een webtoepassing gebruiken om een lokaal bestandspad op te geven, dat vervolgens door de webtoepassing wordt opgenomen zonder de juiste geldigmaking. Hierdoor kan een aanvaller willekeurige code uitvoeren, gevoelige informatie bekijken of het gedrag van de toepassing manipuleren.
Hoe kunt u een Directory Traversal-aanval voorkomen?
Valideer om te beginnen de gebruikersinvoer voordat u deze verwerkt, om er zeker van te zijn dat deze alleen de verwachte tekens bevat en geen speciale tekens of padscheidingstekens. Een andere aanbeveling is om filters en toegestane waarden op de witte lijst te gebruiken om gebruikersinvoer te vergelijken en verdachte waarden te blokkeren. Maar al deze methoden kunnen worden omzeild door een ervaren hacker.
De beste benadering om directory traversal-aanvallen te voorkomen, is om te voorkomen dat gebruikers helemaal invoer aan het bestandssysteem leveren.
Benader uw beveiliging proactief
Er zijn veel kwetsbaarheden in het cyberecosysteem. Om uw bedrijfsmiddelen te beschermen tegen kwetsbaarheden, moet u regelmatig beveiligingsbeoordelingen uitvoeren en penetratietesten om potentiële zwakke punten te identificeren en aan te pakken voordat ze kunnen worden uitgebuit aanvallers.
Blijf bovendien up-to-date met de nieuwste beveiligingspatches en updates voor uw software en systemen, aangezien veel kwetsbaarheden met deze updates kunnen worden gepatcht. Door een proactieve benadering van cyberbeveiliging te hanteren, kunt u ervoor zorgen dat de bedrijfsmiddelen van uw organisatie worden beschermd tegen kwetsbaarheden en beschermd blijven tegen cyberdreigingen.