Kali Linux kommer præ-udstyret med alle de nødvendige værktøjer til penetrationstest. Et sådant værktøj er Metasploit-rammen, der gør det muligt for røde holdspillere at udføre rekognoscering, scanne, opregne, og udnytte sårbarheder for alle typer applikationer, netværk, servere, operativsystemer og platforme.

Selvom hovedfunktionaliteten i Metasploit fokuserer på præ- og post-udnyttelse af gennemtrængende opgaver, er den også nyttig til udnyttelsesudvikling og sårbarhedsforskning.

Denne artikel introducerer hovedkomponenterne i Metasploit-rammen. Den demonstrerer, hvordan man bruger Metasploit-moduler til scanning, optælling og udnyttelse på en sårbar MySQL-database, der hostes på en maskine kendt som Metasploitable 2.

Metasploit er det mest almindeligt anvendte pentesting-værktøj, der kommer forudinstalleret i Kali Linux. Hovedkomponenterne i Metasploit er msfkonsol og de moduler, det tilbyder.

Hvad er msfconsole?

msfkonsol er den mest almindeligt anvendte shell-lignende alt-i-en-grænseflade, der giver dig adgang til alle funktioner i Metasploit. Den har Linux-lignende kommandolinjeunderstøttelse, da den tilbyder automatisk fuldførelse af kommandoer, tabulering og andre bash-genveje.

instagram viewer

Det er hovedgrænsefladen, der giver dig mulighed for at arbejde med Metasploit-moduler til at scanne og starte et angreb på målmaskinen.

Metasploit har små kodestykker, der aktiverer dens hovedfunktionalitet. Før du forklarer modulerne, skal du dog være klar over følgende tilbagevendende begreber:

  • Sårbarhed: Det er en fejl i målets design eller kode, der gør det sårbart over for udnyttelse, der fører til videregivelse af fortrolige oplysninger.
  • Udbytte: En kode, der udnytter den fundne sårbarhed.
  • Nyttelast: Det er en kode, der hjælper dig med at nå målet om at udnytte en sårbarhed. Det kører inde i målsystemet for at få adgang til måldataene, som at opretholde adgang via Meterpreter eller en omvendt shell.

Går nu mod de fem hovedmoduler i Metasploit:

  • Hjælpe: Hjælpemodulet indeholder et sæt programmer såsom fuzzere, scannere og SQL-injektionsværktøjer til at indsamle information og få en dybere forståelse af målsystemet.
  • Indkodere: Indkodere krypterer nyttelasterne/udnyttelsen for at beskytte dem mod signaturbaserede antivirusløsninger. Da nyttelaster eller udnyttelser indeholder null eller dårlige tegn, er der store chancer for, at de bliver opdaget af en antivirusløsning.
  • Udbytte: Som diskuteret tidligere er en udnyttelse en kode, der udnytter målsårbarhederne til at sikre systemadgang via nyttelast.
  • Nyttelast: Som nævnt før hjælper nyttelast dig med at nå det ønskede mål med at angribe målsystemet. Det betyder, at de enten vil hjælpe dig med at få en interaktiv shell eller hjælpe dig med at vedligeholde en bagdør, køre en kommando eller indlæse malware osv. Metasploit tilbyder to typer nyttelaster: trinløse nyttelaster og trinløse nyttelaster.
  • Stolpe: Modulet efter udnyttelse vil hjælpe dig med at indsamle yderligere oplysninger om systemet. For eksempel kan det hjælpe dig med at dumpe kodeords-hasherne og lede efter brugeroplysninger til lateral bevægelse eller privilegieeskalering.

Du kan bruge følgende kommandoer til at se hvert modul og dets kategorier:

cd /usr/share/metasploit-framework/modules
ls
træ -L 1 modulnavn/

For at begynde at bruge Metasploit-grænsefladen skal du åbne Kali Linux-terminalen og skrive msfkonsol.

Som standard åbner msfconsole op med et banner; for at fjerne det og starte grænsefladen i stille tilstand, skal du bruge msfkonsol kommando med -q flag.

Grænsefladen ligner en Linux-kommandolinjeskal. Nogle Linux Bash-kommandoer, den understøtter, er ls, clear, grep, historie, jobs, kill, cd, exit osv.

Type Hjælp eller et spørgsmålstegn"?" for at se listen over alle tilgængelige kommandoer, du kan bruge inde i msfconsole. Nogle af de vigtigste, som vi vil bruge i denne artikel, er:

Kommando Beskrivelse
Søg Giver dig mulighed for at søge fra Metasploit-databasen baseret på den givne protokol/applikation/parameter
brug Giver dig mulighed for at vælge et bestemt modul og ændrer konteksten til modulspecifikke kommandoer
info Giver information om det valgte modul
at vise Viser information om det givne modulnavn og muligheder for det aktuelle modul
kontrollere Kontrollerer, om målsystemet har en sårbarhed
sæt Det er en kontekstspecifik variabel, der konfigurerer muligheder for det aktuelle modul
deaktiveret Fjerner tidligere indstillede parametre
løb Udfører det aktuelle modul

Inden du begynder, skal du konfigurere Metasploit-databasen ved at start af PostgreSQL-serveren og initialiser msfconsole-databasen som følger:

systemctl start postgresql
msfdb init

Kontroller nu databasestatus ved at initialisere msfconsole og køre db_status kommando.

Til demonstrationsformål skal du opsætte den open source sårbare Linux-maskine Metasploitable2.

MySQL Reconnaissance med msfconsole

Find IP-adressen på den Metasploitable-maskine først. Brug derefter db_nmap kommando i msfconsole med Nmap-flag for at scanne MySQL-databasen på 3306 Havn.

db_nmap -sV -sC -p 3306 

Du kan køre den almindelige nmap -p- kommando for at bekræfte MySQL-databasens portnummer.

Relaterede: Nmap for begyndere: Få praktisk erfaring med portscanning

Brug Søg mulighed for at søge efter et hjælpemodul til at scanne og opregne MySQL-databasen.

søgetype: auxiliary mysql

Fra ovenstående liste kan du bruge auxiliary/scanner/mysql/mysql_version modul ved at indtaste modulnavnet eller det tilhørende nummer for at scanne MySQL-versionsdetaljer.

brug 11

Eller:

brug auxiliary/scanner/mysql/mysql_version

Brug nu vise muligheder kommando for at vise de nødvendige parametre for at udføre det aktuelle modul:

Outputtet viser, at den eneste nødvendige og deaktiverede mulighed er RHOSTS, som er IP-adressen på målmaskinen. Brug sæt rhosts kommando for at indstille parameteren og køre modulet som følger:

Outputtet viser de samme MySQL-versionsdetaljer som db_nmap fungere.

Bruteforce MySQL-rodkonto med msfconsole

Efter scanning kan du også brute force MySQL root-konto via Metasploit's hjælpe (scanner/mysql/mysql_login) modul.

Du skal indstille PASS_FILE parameter til ordlistestien, der er tilgængelig inde /usr/share/wordlists:

sæt PASS_FILE /usr/share/wordlistss/rockyou.txt

Angiv derefter IP-adressen på målmaskinen med RHOSTS-kommandoen.

sæt RHOSTS 

Sæt BLANK_PASSWORDS til sand, hvis der ikke er angivet en adgangskode til root-kontoen.

sæt BLANK_PASSWORDS sandt

Kør endelig modulet ved at skrive løb i terminalen.

MySQL-optælling med msfconsole

msfconsole giver dig også mulighed for at opregne databasen ved hjælp af auxiliary (admin/mysql/mysql_enum) modul. Det returnerer alle konti med detaljer såsom tilknyttede privilegier og kodeords-hash.

For at gøre det skal du angive adgangskoden, brugernavnet og rhosts-variablen.

sæt adgangskode ""
sæt brugernavn root
sæt rhosts

Kør endelig modulet ved at skrive:

løb

MySQL-udnyttelse med msfconsole

Fra opregningsfasen er det klart, at root-kontoen har filrettigheder, der gør det muligt for en angriber at udføre indlæs_fil() fungere. Funktionen giver dig mulighed for at udnytte MySQL-databasen ved at indlæse alle data fra filen /etc/password via auxiliary(/admin/mysql/mysql_sql) modul:

Indstil igen brugernavnet, adgangskoden og rhosts-variablen. Udfør derefter en forespørgsel, der påkalder funktionen load_file() og indlæser /etc/passwd fil.

sæt sql vælg load_file(\"/etc/password\")

Metasploit-moduler hjælper i alle faser af penetrationstestning. Metasploit giver også brugerne mulighed for at oprette deres egne moduler.

Denne artikel opsummerer nogle hovedmoduler i Metasploit-rammeværket og demonstrerer, hvordan man scanner, opregner og udnytter en MySQL-database på Metasploitable 2-maskinen.

Metasploit er ikke det eneste penetrationstestværktøj, du vil bruge som cybersikkerhedsprofessionel. Der er flere andre værktøjer, som du skal sætte dig ind i, hvis du vil blive sikkerhedsekspert.

Top 10 penetrationstestværktøjer til sikkerhedsprofessionelle

Hvis du undrer dig over, hvordan de professionelle tester for penetration, vil denne guide give dig en hjælpende hånd.

Læs Næste

DelTweetE-mail
Relaterede emner
  • Linux
  • Etisk hacking
  • Hacking
  • Linux apps
Om forfatteren
Rumaisa Niazi (11 artikler udgivet)

Rumaisa er freelanceskribent på MUO. Hun har båret mange hatte, fra en matematiker til en informationssikkerhedsentusiast, og arbejder nu som SOC-analytiker. Hendes interesser inkluderer at læse og skrive om nye teknologier, Linux-distributioner og alt omkring informationssikkerhed.

Mere fra Rumaisa Niazi

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for tekniske tips, anmeldelser, gratis e-bøger og eksklusive tilbud!

Klik her for at abonnere