Kategorier
Metodik

Så skapar du ett enkelt pentest-labb

Att testa nya verktyg och metoder är en viktig del för den som jobbar med penetrationstester och IT-säkerhetsgranskningar av tekniskt slag. Men det är inte alltid helt lätt att testa nya fräna verktyg och detta bör så klart göras i en kontrollerad miljö.

Därför är virtuella servrar och nätverk som skapats med hjälp av VMware eller VirtualBox till stor hjälp. Jag själv använder tre grundplåtar när jag bygger upp labbar av olika slag, dessa baseras på följande:

Efter du laddat hem virtuella images från Microsoft enligt länken ovan så kan du sedan installera ytterligare mjukvaror såsom XAMPP.

Gillar du som jag Vagrant för att förenkla din hantering av virtuella miljöer så kan du använda pentest-env på följande sätt:

$ git clone https://github.com/Sliim/pentest-env
$ cd pentest-env
$ cp examples/msf.pentestrc .

Sedan kollar du msf.pentestrc att allt ser bra ut, jag vill exempelvis enbart starta metasploitable2 så jag tar bort metasploitable3 från filen.

Sedan är det bara att kolla status samt bootstrappa och starta upp.

Första gången tar det alltid lite extra tid:

$ PENTESTRC=msf.pentestrc vagrant status
Current machine states:

metasploitable2 not created (virtualbox)

The environment has not yet been created. Run `vagrant up` to
create the environment. If a machine is not created, only the
default provider will be shown. So if a provider is not listed,
then the machine is not created for that environment.
$ PENTESTRC=msf.pentestrc vagrant up metasploitable2

Sen är det bara och vänta. Metasploitable2 tar cirka 15 minuter beroende på uppkoppling och metasploitable3 kan ta upp till 1h att starta upp och färdigställa.

Men sedan är det bara att testa på. Dubbelkontrollera bara så du kör mot rätt IP-adress, antingen via vagrant ssh eller direkt via konsolen i VirtualBox/VMware.

Sedan är det bara att testa på, exempelvis med Nmap:

$ nmap 192.168.99.100

Starting Nmap 7.01 ( https://nmap.org ) at 2017-03-21 21:11 CET
Nmap scan report for 192.168.99.100
Host is up (0.00065s latency).
Not shown: 978 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
25/tcp open smtp
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
512/tcp open exec
513/tcp open login
514/tcp open shell
1099/tcp open rmiregistry
1524/tcp open ingreslock
2049/tcp open nfs
2121/tcp open ccproxy-ftp
3306/tcp open mysql
5432/tcp open postgresql
5900/tcp open vnc
6000/tcp open X11
6667/tcp open irc
8009/tcp open ajp13
8180/tcp open unknown

Stöter du problem kan du alltid gå via Virtualbox och inställningar där för nätverket.

Senare kommer jag även gå igenom hur du använder dig av VulnHub för att testa olika utmaningar (CTF:er etc).

3 svar på ”Så skapar du ett enkelt pentest-labb”

Testa PicoCTF. De har en webbaserad tävling som går att köra i efterhand och det går även för en lärare att registrera en hel klass och använda den i undervisningen. Till skillnad från andra CTF:er så har den här även enkla uppgifter som faktiskt går att lösa. Sen blir det gradvis svårare. De flesta på ctftime.org är riktade till proffsspelare och är alldeles för svåra för gemene man som vill lära sig grunderna om hur olika buggar fungerar.

Jag spelar mycket CTF men har aldrig behövt någon virtuell maskin. Det räcker bra med en linuxlaptop som man installerar lite tools på. Just metasploit är svårt att få igång så den kan vara bra att ha som en container eller VM, men jag har aldrig sett någon CTF där man behöver metasploit eller radare2 för. De tools jag brukar använda är file, strings, gdb och objdump. Nästan alla lag använder dessutom IDA pro med hexrays decompiler, men den är svindyr (och alla jag vet, även proffslag, använder piratversioner). De svårare uppgifterna har obfuskerade binärer för att förvirra hexrays decompiler. Andra tools som är bra att känna till är ROPgadget och volatility. Dessa kan användas för att lösa massor av CTF-uppgifter. Kolla även in gdb-pluginet peda som underlättar debugging av strippade binärfiler. En pythonmodul som blivit allt mer populär hos allt fler lag är pwntools: https://github.com/Gallopsled/pwntools#readme Om man lärt sig använda pwntools är man halvvägs till att bli proffs på CTF. Ja just det, på många crypto-uppgifter kan man använda cado-nfs för att faktorisera stora heltal också. Där har du några tips på bra tools. Sen har vi så klart John the Ripper och hashcat för lösenordshashar också.

Javisst ja, binwalk glömde jag att nämna. Kolla även in binwalk. Den kan gå igenom en binär och leta efter magiska headers på alla positioner i filen. 7zip är också förvånansvärt bra. Den klarar av att packa upp många firmware-filer utan några extra trix. Bara 7z x firmware.bin.

PicoCTF 2017 startar idag kl 18 svensk tid. Testa, jag lovar att den är rolig för det är som sagt lite enklare uppgifter i början, sen blir det gradvis svårare.

https://2017game.picoctf.com/

Jonas, jag ser fram mot fler poster om CTF i framtiden. Det är riktigt kul att spela!

Lämna ett svar

E-postadressen publiceras inte. Obligatoriska fält är märkta *