Kali Linux is vooraf uitgerust met alle tools die nodig zijn voor penetratietesten. Een voorbeeld van zo'n tool is het Metasploit-framework waarmee rode teamers verkenningen kunnen uitvoeren, scannen, opsommen, en exploiteer kwetsbaarheden voor alle soorten applicaties, netwerken, servers, besturingssystemen en platformen.

Hoewel de hoofdfunctionaliteit van Metasploit zich richt op pre- en post-exploitation pentesting-taken, is het ook nuttig bij het ontwikkelen van exploits en onderzoek naar kwetsbaarheden.

Dit artikel introduceert de belangrijkste componenten van het Metasploit-framework. Het laat zien hoe Metasploit-modules kunnen worden gebruikt voor het scannen, inventariseren en exploiteren van een kwetsbare MySQL-database die wordt gehost op een machine die bekend staat als Metasploitable 2.

Metasploit is de meest gebruikte pentest-tool die vooraf is geïnstalleerd in Kali Linux. De belangrijkste componenten van Metasploit zijn: msfconsole en de modules die het biedt.

Wat is msfconsole?

instagram viewer

msfconsole is de meest gebruikte shell-achtige alles-in-één-interface waarmee u toegang hebt tot alle functies van Metasploit. Het heeft Linux-achtige ondersteuning voor de opdrachtregel omdat het automatische aanvulling van opdrachten, tabs en andere bash-snelkoppelingen biedt.

Het is de hoofdinterface waarmee u met Metasploit-modules kunt werken voor het scannen en het lanceren van een aanval op de doelmachine.

Metasploit heeft kleine codefragmenten die de belangrijkste functionaliteit mogelijk maken. Voordat u de modules uitlegt, moet u echter duidelijk zijn over de volgende terugkerende concepten:

  • Kwetsbaarheid: Het is een fout in het ontwerp of de code van het doelwit die het kwetsbaar maakt voor uitbuiting, wat leidt tot de onthulling van vertrouwelijke informatie.
  • Exploiteren: Een code die misbruik maakt van de gevonden kwetsbaarheid.
  • Laadvermogen: Het is een code die u helpt het doel van het misbruiken van een kwetsbaarheid te bereiken. Het draait in het doelsysteem om toegang te krijgen tot de doelgegevens, zoals toegang behouden via Meterpreter of een omgekeerde shell.

Nu op weg naar de vijf hoofdmodules van Metasploit:

  • Extra: De hulpmodule bevat een reeks programma's zoals fuzzers, scanners en SQL-injectietools om informatie te verzamelen en een dieper begrip van het doelsysteem te krijgen.
  • Encoders: Encoders versleutelen de payloads/exploits om ze te beschermen tegen op handtekeningen gebaseerde antivirusoplossingen. Omdat payloads of exploits null of slechte tekens bevatten, is de kans groot dat ze worden gedetecteerd door een antivirusoplossing.
  • Exploiteren: Zoals eerder besproken, is een exploit een code die gebruikmaakt van de kwetsbaarheden van het doel om systeemtoegang via payloads te garanderen.
  • Laadvermogen: Zoals eerder vermeld, helpen payloads u om het gewenste doel van het aanvallen van het doelsysteem te bereiken. Dat betekent dat ze je ofwel helpen een interactieve shell te krijgen of je helpen een achterdeur te onderhouden, een commando uit te voeren of malware te laden, enz. Metasploit biedt twee soorten payloads: stageless payloads en gefaseerde payloads.
  • Na: De post-exploitation-module helpt u om meer informatie over het systeem te verzamelen. Het kan u bijvoorbeeld helpen de wachtwoord-hashes te dumpen en te zoeken naar gebruikersreferenties voor laterale verplaatsing of escalatie van bevoegdheden.

U kunt de volgende opdrachten gebruiken om elke module en zijn categorieën te bekijken:

cd /usr/share/metasploit-framework/modules
ls
boom -L 1 module-naam/

Om de Metasploit-interface te gaan gebruiken, opent u de Kali Linux-terminal en typt u msfconsole.

Standaard wordt msfconsole geopend met een banner; om dat te verwijderen en de interface in stille modus te starten, gebruik de msfconsole commando met de -Q vlag.

De interface ziet eruit als een Linux-opdrachtregelshell. Sommige Linux Bash-commando's die het ondersteunt zijn ls, clear, grep, history, jobs, kill, cd, exit, etc.

Type helpen of een vraagteken"?" om de lijst met alle beschikbare opdrachten te zien die u in msfconsole kunt gebruiken. Enkele van de belangrijkste die we in dit artikel zullen gebruiken, zijn:

Opdracht Beschrijving
zoekopdracht Hiermee kunt u zoeken in de Metasploit-database op basis van het opgegeven protocol/toepassing/parameter
gebruiken Hiermee kunt u een bepaalde module kiezen en de context wijzigen in modulespecifieke opdrachten
info Geeft informatie over de geselecteerde module
laten zien Geeft informatie weer over de opgegeven modulenaam en opties voor de huidige module
controleren Controleert of het doelsysteem een ​​kwetsbaarheid heeft
set Het is een contextspecifieke variabele die opties configureert voor de huidige module
uitgeschakeld Verwijdert eerder ingestelde parameters
loop Voert de huidige module uit

Voordat u begint, stelt u de Metasploit-database in door: de PostgreSQL-server starten en initialiseer de msfconsole-database als volgt:

systemctl start postgresql
msfdb init

Controleer nu de databasestatus door msfconsole te initialiseren en de db_status opdracht.

Stel voor demonstratiedoeleinden de open-source kwetsbare Linux-machine Metasploitable2 in.

MySQL-verkenning met msfconsole

Vind de IP-adres van de Metasploitable-machine eerst. Gebruik dan de db_nmap commando in msfconsole met Nmap-vlaggen om de MySQL-database te scannen op 3306 haven.

db_nmap -sV -sC -p 3306 

U kunt de reguliere uitvoeren nmap -p- commando om het poortnummer van de MySQL-database te bevestigen.

Verwant: Nmap voor beginners: doe praktijkervaring op met poortscannen

Gebruik de zoekopdracht optie om een ​​hulpmodule te zoeken om de MySQL-database te scannen en op te sommen.

zoektype: hulp mysql

Uit de bovenstaande lijst kunt u de hulp/scanner/mysql/mysql_version module door de modulenaam of het bijbehorende nummer te typen om MySQL-versiedetails te scannen.

gebruik 11

Of:

gebruik hulp/scanner/mysql/mysql_version

Gebruik nu de opties weergeven commando om de noodzakelijke parameters weer te geven die nodig zijn voor het uitvoeren van de huidige module:

De uitvoer geeft aan dat de enige vereiste en uitgeschakelde optie RHOSTS is, wat het IP-adres van de doelcomputer is. Gebruik de stel rhosts in commando om de parameter in te stellen en de module als volgt uit te voeren:

De uitvoer toont de vergelijkbare MySQL-versiedetails als de db_nmap functie.

Bruteforce MySQL Root-account met msfconsole

Na het scannen kunt u MySQL-rootaccount ook brute forceren via Metasploit's hulp (scanner/mysql/mysql_login) module.

U moet de PASS_FILE parameter naar het woordenlijstpad dat binnen beschikbaar is /usr/share/wordlists:

set PASS_FILE /usr/share/wordlistss/rockyou.txt

Geef vervolgens het IP-adres van de doelcomputer op met de opdracht RHOSTS.

stel RHOSTS in 

Set BLANK_PASSWORDS op true in het geval er geen wachtwoord is ingesteld voor het root-account.

stel BLANK_PASSWORDS in op waar

Voer ten slotte de module uit door te typen loop in de terminal.

MySQL-opsomming met msfconsole

msfconsole stelt u ook in staat om de database op te sommen met behulp van de hulp (admin/mysql/mysql_enum) module. Het retourneert alle accounts met details zoals bijbehorende privileges en wachtwoordhashes.

Om dat te doen, moet u het wachtwoord, de gebruikersnaam en de rhosts-variabele opgeven.

stel een wachtwoord in ""
gebruikersnaam root instellen
stel rhosts in

Voer ten slotte de module uit door te typen:

loop

MySQL-exploitatie met msfconsole

Vanaf de opsommingsfase is het duidelijk dat het root-account bestandsrechten heeft waarmee een aanvaller de laad bestand() functie. Met deze functie kunt u de MySQL-database exploiteren door alle gegevens te laden van: het /etc/wachtwoord-bestand via de hulp(/admin/mysql/mysql_sql) module:

Stel nogmaals de gebruikersnaam, het wachtwoord en de rhosts-variabele in. Voer vervolgens een query uit die de functie load_file() aanroept en laad de /etc/passwd het dossier.

stel sql in selecteer load_file(\"/etc/password\")

Metasploit-modules helpen bij alle fasen van penetratietesten. Metasploit stelt gebruikers ook in staat om hun eigen modules te maken.

Dit artikel vat enkele hoofdmodules van het Metasploit-framework samen en laat zien hoe u een MySQL-database op de Metasploitable 2-machine scant, opsomt en exploiteert.

Metasploit is niet de enige tool voor penetratietesten die u als cyberbeveiligingsprofessional zult gebruiken. Er zijn verschillende andere hulpprogramma's waarmee u vertrouwd moet raken als u een beveiligingsexpert wilt worden.

De 10 beste penetratietesttools voor beveiligingsprofessionals

Als je je afvraagt ​​hoe de profs testen op penetratie, dan helpt deze gids je een handje.

Lees volgende

DeelTweetenE-mail
Gerelateerde onderwerpen
  • Linux
  • Ethisch hacken
  • Hacken
  • Linux-apps
Over de auteur
Rumaisa Niazi (11 artikelen gepubliceerd)

Rumaisa is freelance schrijver bij MUO. Ze heeft veel hoeden gedragen, van wiskundige tot liefhebber van informatiebeveiliging, en werkt nu als SOC-analist. Haar interesses omvatten lezen en schrijven over nieuwe technologieën, Linux-distributies en alles wat met informatiebeveiliging te maken heeft.

Meer van Rumaisa Niazi

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren