Metasploit - En gennemgang af den kraftige udnyttelsesramme

Metasploit kan håndtere alt fra scanning til udnyttelse. I denne artikel vil vi se på, hvad der gør Metasploit til det mest alsidige værktøjssæt til penetrationstest.

Introduktion til penetrationstest

Hvis du er ny med penetrationstest, så lad mig forklare, hvad det er, før jeg introducerer dig til et udnyttelsesværktøj.

Penetration test er hacking med tilladelse . Du har måske set seje hackere på tv angribe computersystemer uden at blive fanget. Men sådan fungerer det ikke i den virkelige verden.

Hvis du hacker nogen uden tilladelse, er der stor chance for, at du ender i fængsel. Så hvis du planlægger at lære hacking med onde hensigter, er jeg ikke ansvarlig for skader, du forårsager. Alle mine artikler er rent uddannelsesmæssige.

Så hvis hacking er dårlig, hvorfor lære det i første omgang? Hver enhed på internettet er som standard sårbar, medmindre nogen sikrer den.

Det er penetrationstesters opgave at tænke som en hacker og angribe deres organisations systemer. Penetrationstesteren informerer derefter organisationen om sårbarhederne og rådgiver om at lappe dem.

Penetrationstest er et af de højest betalte job i branchen. Der er altid mangel på pen-testere, da antallet af enheder på internettet vokser eksponentielt.

Jeg skrev for nylig en artikel om de ti bedste værktøjer, du bør kende som cybersikkerhedsingeniør. Hvis du er interesseret i at lære mere om cybersikkerhed, skal du tjekke artiklen her.

Ret. Nok pep talk. Lad os se på et af de sejeste pen-testværktøjer på markedet - Metasploit.

Metasploit - Den komplette ramme

Metasploit er en penetrationsprøvningsramme, der hjælper dig med at finde og udnytte sårbarheder i systemer. Det giver dig alt hvad du har brug for fra scannere til tredjepartsintegrationer, som du har brug for gennem en hel livscyklus for penetrationstest.

Dette inkluderer rekognoscering, scanning, udnyttelse, eskalering af privilegier og opretholdelse af adgang.

Metasploit er en open source-ramme skrevet i Ruby. Det er skrevet for at være en udvidelig ramme, så hvis du vil oprette brugerdefinerede funktioner ved hjælp af Ruby, kan du nemt gøre det via plugins.

Rapid7, firmaet bag Metasploit, tilbyder en premiumversion af Metasploit med avancerede funktioner.

Metasploit opdateres også ofte med nye exploits offentliggjort i Common Vulnerabilities and Exposures (CVE). Så hvis en ny sårbarhed findes og offentliggøres, kan du begynde at scanne dine systemer med det samme.

Metasploit leveres med anti-retsmedicinske og unddragelsesværktøjer indbygget i det. Det er også forudinstalleret i Kali-operativsystemet.

Komponenter

Nu hvor du ved hvad Metasploit er, lad os se på kernekoncepterne i Metasploit.

Metasploit tilbyder dig et par nøglekomponenter til at finde og udnytte sårbarheder på et netværk. Dette inkluderer udnyttelser, nyttelast, hjælpestoffer osv. Lad os se på hver enkelt af dem i detaljer.

Udnytter

En udnyttelse er et stykke kode, der udnytter en sårbarhed i et system. Disse bedrifter udfører specifikke handlinger baseret på hvor dårlig sårbarheden er.

Udnyttelser kan drage fordel af softwaresårbarheder, hardwaresårbarheder, nul-dags sårbarheder osv. Nogle af de almindelige udnyttelser inkluderer bufferoverløb, SQL-injektioner og så videre.

Metasploit tilbyder en række udnyttelser, som du kan bruge baseret på de eksisterende sårbarheder i målsystemet. Disse bedrifter kan klassificeres i to typer:

  • Aktive udnyttelser - Aktive udnyttelser kører på et målsystem, udnytter systemet, giver dig adgang eller udfører en bestemt opgave og afslut derefter.
  • Passive udnyttelser - Passive udnyttelser venter, indtil målsystemet opretter forbindelse til udnyttelsen. Denne tilgang bruges ofte af hackere på internettet, der beder dig om at downloade filer eller software. Når du har gjort det, forbinder du dig selv til en passiv udnyttelse, der kører på hackers computer.

Nyttelast

En nyttelast er et stykke kode, der løber gennem udnyttelsen. Du bruger exploits til at komme ind i et system og nyttelast til at udføre specifikke handlinger.

For eksempel kan du bruge en keylogger som nyttelast sammen med en udnyttelse. Når udnyttelsen er vellykket, installerer den keyloggeren i målets system.

Metasploit tilbyder en god samling af nyttelast som bakskaller, bindeskaller, Meterpreter og så videre.

Der er et par nyttelast, der fungerer med størstedelen af ​​udnyttelserne, men det tager lidt forskning at finde den rigtige nyttelast, der fungerer med udnyttelsen.

Når du først har valgt en udnyttelse, kan du liste de nyttelast, der fungerer sammen med denne udnyttelse, ved hjælp af kommandoen 'Vis nyttelast' i Metasploit.

Der er et par typer nyttelast i Metasploit. Dem, du ender med at bruge mest, er disse tre typer:

  • Singler - Nyttelast, der fungerer alene, for eksempel keyloggers.
  • Stagers - Nyttelast, der fungerer sammen med andre, for eksempel to nyttelast: den ene til at etablere en forbindelse til målet, den anden til at udføre en instruktion.
  • Meterpreter - Avanceret nyttelast, der lever på målets hukommelse, svær at spore og kan indlæse / aflæse plugins efter ønske. Der er et afsnit nedenfor på Meterpreter, hvor jeg vil forklare det detaljeret.

Hjælpestoffer

Ekstraudstyr er moduler, der hjælper dig med at udføre brugerdefinerede funktioner, bortset fra at udnytte et system. Dette inkluderer havnescannere, fuzzere, sniffere og mere.

For eksempel kan du bruge CERT-hjælpelinjen til at kontrollere, om SSL-certifikater er udløbet på et netværk. Dette er nyttigt for systemadministrationer til at automatisere certifikatadministration.

Hvis du er fortrolig med Ruby, kan du skrive dine egne hjælpere. Hvis du vil scanne et netværk efter specifikke sårbarheder hver uge, kan du skrive dit eget brugerdefinerede hjælpemodul for at gøre det.

Du kan derefter bruge det til at scanne dit netværk i stedet for at bruge en eksisterende scanner som Nmap.

Værktøjer

Nu hvor du ved, hvordan Metasploit fungerer, lad os se på de værktøjer, Metasploit tilbyder.

msfconsole

MsfConsole er standardgrænsefladen til Metasploit. Det giver dig alle de kommandoer, du har brug for for at interagere med Metasploit-rammen.

Det kræver lidt af en indlæringskurve at gøre sig bekendt med CLI, men når du først har gjort det, er det let at arbejde med. MsfConsole er også den eneste måde, du kan få adgang til alle funktionerne i Metasploit.

MsfConsole tilbyder også komplettering af faner til almindelige kommandoer. At gøre dig fortrolig med MsfConsole er et vigtigt skridt i din rejse til at blive en Metasploit-professionel.

msfdb

Hvis du regelmæssigt arbejder med store netværk, er chancerne for, at du har brug for et sted til at gemme dine data. Dette inkluderer scanningsresultater, loginoplysninger osv.

Metasploit tilbyder et databasestyringsværktøj kaldet msfdb. msfdb fungerer oven på en PostgreSQL-database og giver dig en liste over nyttige kommandoer til at importere og eksportere dine resultater.

Med msfdb kan du importere scanningsresultater fra eksterne værktøjer som Nmap eller Nessus. Metasploit tilbyder også en indbygget db_nmap-kommando, der giver dig mulighed for at scanne og importere resultater ved hjælp af Nmap i msfconsole.

MsfVenom

Endelig har vi msfvenom (cool navn, ikke?). msfvenom giver dig mulighed for at generere brugerdefinerede nyttelast afhængigt af dit mål.

Brug af et antivirus eller en firewall kan gøre et målsystem relativt sikkert. I disse tilfælde fungerer eksisterende Metasploit-nyttelast muligvis ikke, da de er generiske for alle systemer, der falder ind under et operativsystem eller en tjeneste.

msfvenom blev bygget ved at kombinere to ældre værktøjer, som Metsploit havde: msfpayload og msfencode. msfvenom giver dig mulighed for at oprette og kode brugerdefinerede nyttelast til din udnyttelse.

Baseret på de yderligere oplysninger, du har om målet, kan du lave dine egne nyttelast for at opnå en højere succesrate under din penetrationstest.

Meterpreter

Meterpreter er en avanceret nyttelast i Metasploit. I modsætning til andre nyttelast, der udfører en bestemt funktion, er Meterpreter dynamisk og kan scriptes med det samme.

Hvis du kan udnytte et system og injicere Meterpreter som nyttelast, er her nogle af de ting, du kan gøre:

  • Opret en krypteret kommunikation mellem dit system og målet.
  • Dump adgangskodeshash fra målsystemet.
  • Søg efter filer på målets filsystem
  • Upload / download filer
  • Tag snapshots af webkameraet

Meterpreter er også utroligt snigende. Da Meterpreter lever i målets hukommelse, er det ekstremt svært at opdage. Det er også svært at spore Meterpreter ved hjælp af retsmedicinske værktøjer.

Du kan skrive Meterpreter-scripts på farten ved hjælp af Ruby til at udføre brugerdefinerede funktioner. Meterpreter har også et Python-modul, der giver dig yderligere kommandoer til at udføre python-scripts på målmaskinen.

Armitage

Armitage er en grafisk brugergrænseflade til Metasploit, skrevet i Java. Armitage betragtes som et godt supplement til pen-testere, der er fortrolige med kommandolinjegrænsefladen.

Kernefunktionen i Armitage er at visualisere mål og anbefale udnyttelse. Armitage er også scriptbar, hvilket betyder, at du kan automatisere overflødige opgaver som værtsopdagelse.

Armitage er yderst nyttigt, når du arbejder med et stort antal systemer i et netværk. Du kan bruge Armitages GUI til at eskalere privilegier, gennemse filer, dumpe adgangskodehash osv.

Resumé

Metasploit giver dig en række værktøjer til at udføre en komplet sikkerhedsrevision af et netværk. Metasploit opdateres ofte med de sårbarheder, der er offentliggjort i databasen Common Vulnerabilities and Exploits.

Du kan også bruge andre værktøjer som Nmap og Nessus med Metasploit gennem integrationer eller ved at importere deres scanningsrapporter til Metasploit. Metasploit har også et GUI-værktøj kaldet Armitage, der giver dig mulighed for at visualisere mål og anbefale udnyttelser.

Hvis du er interesseret i at lære mere om Metasploit, skal du tjekke den detaljerede referencevejledning udgivet af Offensive Security.

Elskede denne artikel? Deltag i mit nyhedsbrevog få et resumé af mine artikler og videoer hver mandag.