Betrouwbaarheid

5 geweldige gratis beveiligingstools (en hoe ze te gebruiken)

IN HET KORT

Cyberbeveiliging is van vitaal belang, maar budgetbeperkingen kunnen een uitdaging vormen. Gelukkig kan het gebruik van gratis en open-source cyberbeveiligingstools de bescherming van uw netwerk aanzienlijk verbeteren. Open-source software biedt transparantie, zodat gebruikers de broncode kunnen bekijken en wijzigen. Hoewel dit geen garantie is voor bugvrije software, bevordert het wel een snelle opsporing en reparatie van bugs.

Hoe belangrijk het ook is, cyberbeveiliging wordt nog steeds beperkt door het budget.

Gelukkig zijn er een aantal fantastische gratis tools die je aan je cyberbeveiligingsarsenaal kunt toevoegen om je te helpen je netwerk te beschermen.

Gratis en Open Source

Gratis software? Klinkt geweldig, maar kun je het vertrouwen?

Als het open source is wel. Open source is een manier om software te ontwikkelen die transparantie biedt aan de eindgebruikers. Ze kunnen de broncode waaruit de applicatie bestaat opvragen en bekijken. Ze kunnen zelf controleren of er niets sinister of stiekem met hun gegevens wordt gedaan.

Naast het bekijken van de broncode kunnen gebruikers ook de broncode wijzigen – als ze programmeur zijn – om bugs op te lossen of nieuwe functies toe te voegen. De wijzigingen worden voorgelegd aan de beheerders van het product. Als de wijzigingen de beheerders bevallen, zullen ze verwerkt worden in het product.

Dit is in het voordeel van zowel de gebruikers van de open-source toepassing – bekend als de gemeenschap – als de ontwikkelaars van de producten. Hoe meer ogen de code beoordelen, hoe beter.

Zoals Linus Torvalds, hoofd-beheerder van de Linux kernel, ooit zei: “…als er genoeg ogen zijn, zijn alle bugs ondiep.”

Open source is niet waterdicht

Dat betekent niet dat open source software geen bugs kan hebben. Alle grote softwareprojecten bevatten bugs. Maar wat het wel betekent is dat wanneer bugs ontdekt worden, ze snel gekarakteriseerd en aangepakt worden en dat de fixes snel beschikbaar zijn als patches.

Als je de fixes meteen nodig hebt omdat ze belangrijk voor zijn, kun je de broncode downloaden zodra de bugfixes zijn toegevoegd. Je kunt dan de code compileren en een versie voor jezelf bouwen met de fix erin, zodat je niet hoeft te wachten tot de officiële release wordt uitgerold.

Alle toepassingen die we in dit artikel gaan bekijken zijn open source. Sommige zijn de de facto standaard in hun vakgebied. Dit getuigt van de toewijding van de gemeenschappen, beheerders en projectleiders achter deze toepassingen. Er zijn nog veel meer open-source tools die je kunt gebruiken om je cyberbeveiliging te verbeteren en te helpen bij het beheer en de beveiliging van je netwerk.

Dit zijn slechts de vijf die ik keer op keer gebruik.

Nmap: Tool voor het in kaart brengen van netwerken

Weten wat er op je netwerk is aangesloten is een fundamentele vereiste om je patching- en upgradeschema te plannen, te weten wat je moet beschermen en te weten welke apparaten je mogelijk in gevaar brengen.

De Nmap network mapper is een krachtig scan- en rapportagetool. Het detecteert welke apparaten zijn aangesloten op je netwerk en scant deze apparaten vervolgens op informatie zoals type besturingssysteem en versie, open poorten, IP-adres en meer. Het detecteert en rapporteert ook apparaten die via Wi-Fi zijn verbonden.

Het is een cross-platform applicatie met versies voor Linux, Windows en Mac computers. Installeren is eenvoudig. Deze one-liner installeert het op Ubuntu:

sudo apt nmap installeren

Zodra je het geïnstalleerd hebt, gebruik je de -h (help) commandoregeloptie om de helpsamenvatting te zien of gebruik je man nmap om de handleidingpagina te lezen. De opties die we in dit voorbeeld gebruiken zijn:

  • -T4: Grondig (agressief) scannen
  • -A: Voor detectie van OS en versie, scannen van scripts en traceroute-informatie
  • -v: Verbose uitvoer

Omdat Nmap veel uitvoer genereert, zul je het handig vinden om de uitvoer om te leiden naar een bestand dat je kunt bekijken als de scan klaar is.

Dit commando vertelt Nmap om een heel netwerk te scannen. Het gebruikt de classless inter-domain routing notatie (CIDR). De “/24” vertegenwoordigt het subnetmasker. Het geeft aan hoeveel leidende aaneengesloten bits op één zijn gezet in het subnetmasker. De waarde 24 betekent 3 sets van 8 bits. 8 bits die allemaal op 1 zijn gezet, vertegenwoordigen 255 in binair, dus dit subnetmasker is 255.255.255.0.

nmap -T4 -A -v 192.168.1.0/24 > scan.txt

Je kunt de scanresultaten bekijken met het commando less:

less scan.txt

Scroll door de scanresultaten en bekijk de details die voor elk apparaat zijn gevonden. Dit is wat Nmap te zeggen had over het apparaat met IP-adres 192.168.1.15. Er zijn vier open poorten gedetecteerd.

Als het doel van de poort bepaald kan worden, word je verteld waar hij voor gebruikt wordt. Als nmap niet zeker kan zijn, suggereert het een mogelijk gebruik voor de poort. Alles wat onverklaarbaar of verdacht is, rechtvaardigt een diepgaander onderzoek.

U kunt overwegen om de -T5 (meest grondige) scan direct op dat ene IP-adres uit te voeren. Hoe grondiger de scans, hoe langer ze duren. De Nmap documentatie noemt -T5 de krankzinnige modus, dus reken op een lange wachttijd.

Wireshark: Pakketopname en analyse

Het hulpprogramma Nmap vertelt je snel wat er op je netwerk is aangesloten en geeft je zoveel mogelijk informatie over elk apparaat. Maar om te zien welk netwerkverkeer er door je netwerk en tussen je apparaten beweegt, heb je een hulpprogramma nodig voor het vastleggen en analyseren van pakketten, beter bekend als packet sniffer. Wireshark doet precies dat.

Wireshark is cross-platform en beschikbaar voor Windows, Linux en Mac computers. Om Wireshark op Ubuntu te installeren, gebruik je dit commando:

sudo apt install wireshark

Je wordt gevraagd of je packet capture wilt inschakelen voor normale, niet-root gebruikers. Als je het zo instelt dat je root moet zijn om Wireshark te draaien, dan draai je de Wireshark codebase met verhoogde rechten. Als je ervoor kiest om niet-root gebruikers Wireshark te laten gebruiken, dan kunnen ze wat netwerkverkeer vastleggen dat je liever privé houdt. Ik installeer het meestal zo dat je root moet zijn om netwerkverkeer vast te leggen.

Als je het volgende scherm ziet, druk dan op “Tab” om de “knop” te markeren en druk op de spatiebalk. Selecteer je gewenste keuze.

Wanneer de installatie is voltooid, kunt u Wireshark starten met dit commando:

sudo wireshark

De beschikbare netwerkinterfaces waarop je verkeer kunt vastleggen worden opgesomd. Dubbelklik op een interface om het vastleggen van pakketten te starten.

Wireshark begint met het vastleggen van netwerkverkeer op de geselecteerde netwerkinterface. Het scherm verandert in drie vensters. Het verkeer wordt weergegeven in het bovenste deelvenster.

Om de details van een pakket te zien, markeer het in het bovenste deelvenster. Informatie op laag niveau over het pakket wordt weergegeven in het middelste en onderste deelvenster. Het middelste deelvenster heeft een inklapbare boomstructuur van menselijk leesbare waarden. Het onderste deelvenster toont de ruwe gegevens van het pakket in hexadecimaal en ASCII.

Dit ziet er krap uit in de schermafbeelding, maar als het wordt uitgerekt over een hele monitor, is het een informatierijke, intuïtieve weergave.

Veel van de kracht van Wireshark ligt in de filterfunctionaliteit. Je kunt filters maken om te beperken wat wordt vastgelegd en om te filteren wat wordt weergegeven. Het is meestal beter om alles vast te leggen – zonder filter – en de weergegeven informatie te filteren tijdens de analysefase. Als je filtert tijdens de capture fase, zou je onbedoeld een pakket of een reeks pakketten kunnen wegfilteren die eigenlijk opgevangen hadden moeten worden.

Hier zijn enkele voorbeeldfilters.

Om pakketten te selecteren met 192.168.1.15 als hun bron- of bestemmingsadres:

ip.addr == 192.168.1.15

Om pakketten te selecteren met 192.168.1.15 als hun bron IP-adres:

ip.src == 192.168.1.15

Om pakketten te selecteren met 192.168.1.15 als IP-adres van bestemming.

ip.dest == 192.168.1.15

Om de pakketten in een conversatie tussen twee IP-adressen te selecteren:

ip.addr==192.168.1.15 && ip.addr==192.168.1.24

Om alle HTTP- en DNS-pakketten weer te geven:

http of dns

Om TCP pakketten te selecteren met 4000 als bron- of bestemmingspoort:

tcp.port==4000

Om alle HTTP GET-verzoeken weer te geven:

http.request

Om alle TCP pakketten te vinden die het woord techopedia bevatten:

tcp bevat techopedia

Osquery: Ontdek de staat van computers en servers

Met de applicatie osquery kun je vragen stellen over de toestand van je computers en servers met behulp van eenvoudige SQL-statements. Het is beschikbaar voor Windows, Linux en Mac computers.

Om het op Ubuntu te installeren, ga je naar de osquery downloadpagina en download je het “.deb” pakketbestand. Ga naar de map van het gedownloade bestand en installeer osquery met deze commando’s. Vervang de naam van het gedownloade bestand door de naam die in het voorbeeld wordt gebruikt.

sudo dpkg -i osquery_4.6.0-1.linux_amd64.deb

Start Osquery in interactieve modus met dit commando (let op de “i” aan het einde van osqueryi).

osqueryi

De Osquery interactieve shell wordt geopend. Je typt SQL commando’s op de “osquery” prompt en eindigt ze met een puntkomma (;), en drukt op “Enter” om ze uit te laten voeren.

Commando’s die je naar de shell wilt sturen, zoals “quit”, worden voorafgegaan door een punt “.” en worden dot commando’s genoemd. Het commando om de commandoregel te verlaten is dus “.quit” gevolgd door “Enter”. Onthoud dat SQL commando’s hun gebruikelijke puntkomma nodig hebben, dot commando’s niet.

Om de lijst met tabellen te zien, gebruik je het .tables commando en om de velden in een tabel te zien, gebruik je het .schema commando.

Nu je de namen van de velden in de tabel kent, kunnen we een SQL-instructie maken en uitvoeren:

selecteer gebruikersnaam uit gebruikers waar lengte(gebruikersnaam)=4;

Als voorbeeld van een beveiligingsgerelateerde query, bevat de suid_bin tabel details van de applicaties die één of beide SUID en GUID bits ingesteld hebben. Hierdoor kunnen normale gebruikers applicaties uitvoeren die verhoogde rechten hebben.

Bedreigingsactoren maken hier soms misbruik van en gebruiken dit om de rechten van malware te verhogen en backdoors te verbergen. Het is een goede gewoonte om de SUID- en GUID-bits in de gaten te houden.

select path, permissions from suid_bin;

Nikto: Scanner voor kwetsbaarheden op websites

Laten we de bedrijfswebsites en -portals niet vergeten. Nikto scant deze op vele soorten kwetsbaarheden. De auteurs zeggen dat het

  • Controleert op 6700 potentieel gevaarlijke bestanden of programma’s.
  • Controleren op verouderde versies van meer dan 1250 servers.
  • Controleren op versie-specifieke problemen op meer dan 270 servers.

Het installeren van nikto is eenvoudig. Op Ubuntu gebruik je dit commando:

sudo apt install nikto

We zullen Nikto uitvoeren tegen een testwebsite die is ontworpen met ingebouwde kwetsbaarheden, zodat je kunt oefenen met scannen. Merk op dat een Nikto scan een tijdje kan duren – 40 of meer minuten is niet ongewoon – het is een zeer grondig proces.

We vertellen Nikto welke webserver hij moet scannen met de -h (host) optie. We gebruiken ook de -o (output) optie om een bestandsnaam op te geven voor ons rapport. Nikto zal uit de extensie van de bestandsnaam afleiden in welk formaat we het rapport willen hebben. De herkende formaten zijn CSV, HTML, TXT en XML.

nikto -h https://www.webscantest.com/ -o report.html

Hoewel we hebben gevraagd om een rapport aan te maken, krijgen we nog steeds uitvoer naar het terminalvenster terwijl de scan vordert. Dit controleert of het proces doorgaat en niet volledig is vastgelopen.

Wanneer de scan klaar is, blader je naar de locatie waar het rapport is opgeslagen en dubbelklik je op het bestand “report.html”. Het rapport wordt geopend in uw browser.

Kali Linux: Alles, inclusief de gootsteen

Als je alles uit de tools wilt halen om je beveiliging te testen, probeer dan Kali Linux eens. Het is een Linux-distributie die vanaf de basis is ontworpen voor penetratietesten. Het bevat talloze tools waarmee je je verdediging op precies dezelfde manier kunt onderzoeken als bedreigers doen.

Helaas kunnen deze tools zowel goed als slecht gebruikt worden, dus ze zijn ook favoriet bij de cybercriminelen. Toch is dat des te meer reden om er zelf – of iemand binnen onze organisatie – bekend mee te raken, zodat je kwetsbaarheden in je netwerk en website kunt identificeren en deze kunt dichten.

De makkelijkste manier om Kali Linux te gebruiken is door een ISO te downloaden en het te installeren als virtuele machine in een hypervisor zoals VirtualBox.

Wireshark, Nikto en Nmap zijn voorgeïnstalleerd, samen met bijna alle andere verkennings-, aanvals- en exploit-tools die je maar kunt bedenken. Al het gedoe om te bepalen welke tools je moet verzamelen en toevoegen aan je arsenaal en ze vervolgens op te sporen en te installeren, wordt voor je gedaan.

Enkele opmerkelijke tools en frameworks die in Kali Linux zitten zijn:

  • Het Metasploit Framework: Een suite van tools om kwetsbaarheden te identificeren en te misbruiken. Gebaseerd op een database met meer dan 140.000 veelvoorkomende kwetsbaarheden en meer dan 3.000 exploits (CVE’s). Dit is een gratis en open-source aanbod van Rapid7, dat ook commerciële aanbiedingen heeft met professionele ondersteuning.
  • Burp Suite: Een tool voor penetratietests die is ontworpen voor webgebaseerde toepassingen en algemene beveiligingsproblemen van websites. Ook dit is de open-source versie van een commercieel product.
  • De Social Engineering Toolkit: Een suite van tools waarmee u social engineering-aanvallen kunt uitvoeren, zoals phishing- en spear-phishing-aanvallen. Dit is bedoeld om gevoeligheidstests uit te voeren op je eigen personeel, maar je kunt het tweesnijdende zwaard zien van dergelijke software die zo gemakkelijk te verkrijgen is.

Kali is een Debian-gebaseerde distributie. Standaard gebruikt het de XFCE desktopomgeving. Zelfs in een virtuele machine zou je het responsief, snel en overzichtelijk moeten vinden.

Het hoofdsysteemmenu geeft je de belangrijkste categorieën software en gereedschappen waar je in kunt duiken.

Gerelateerde begrippen

Marshall Gunnell
Technologisch Schrijver

Marshall is een technologisch schrijver uit Tokio en is een groot fan van videogames. Hij bezit professionele kennis van de kunst en heeft onder andere geschreven voor VGKAMI, Business Insider, How-To Geek, PCWorld, Zapier en nog veel meer.