Nighthawk.dk

Hacking the Box

Skrevet d. 25. Jan. 2021 af Claus Nielsen.

Hvordan kan man hacke sig ind i andre computere eller hacke websider? Hvor nemt er det? Og hvordan fungerer det i praksis?
Læs med her og se hvordan du selv kan prøve dine evner af - på helt lovlig vis!

Websiden Hack The Box stiller en række (virtuelle) computere og websider til rådighed, som udelukkende er lavet for at man kan prøve at hacke sig ind på dem!

Der er mange forskellige systemer, f.eks. Windows XP, 7, 10, Server, osv. samt forskellige Linux-systemer, og jeg har endda prøvet en Raspberry Pi. Hvordan man hacker sig ind på maskinerne er også meget forskelligt fra maskine til maskine - nogle kører webservere eller ftp, andre kører andre programmer, som kan angribes.

Udover deres maskiner, kan du f.eks. også finde en række challenges indenfor emner som bl.a. reversing, web, crypto og forensics.

Sådan kommer du i gang

For at du overhovedet kan oprette en bruger på Hack The Box skal du først klare en lille test - du skal simpelthen hacke dig ind! Jeg vil ikke hjælpe med denne del, men vær tålmodig og vedholdende, i hvert fald særligt hvis du ikke har erfaring med hacking i forvejen!

Både til at klare dette "intro-hack", samt til at hacke mange af maskinerne efter du har oprettet en bruger, er det vigtigt at have en god basisviden om en række emner, såsom:

  • HTML, CSS og JavaScript - lær det evt. på W3Schools.
  • Netværks- og internetprotokoller - f.eks. TCP, UDP, ICMP, ARP, HTTP og FTP.
  • Operativsystemer - det er en fordel at vide lidt om hvordan særligt Windows og Linux fungerer.
  • Shells - lær grundlæggende brug af Bash shell og MS Dos.
  • Programmering - det er ikke nødvendigt, men en fordel at kunne programmere.

Når du har løst opgaven og fået oprettet en bruger, vil næste skridt typisk være at lave en virtuel maskine (VM), da de ikke anbefaler at man direkte bruger sin almindelige computer. Du skal nemlig logge på et VPN for at se maskinerne, som du kan prøve at hacke - og der vil være andre brugere på samme netværk (det er forbudt at hacke hinanden, men man ved jo aldrig... Så brug en VM for at være mere på den sikre side).

Lav din VM

Du kan f.eks. bruge Oracle's VirtualBox til at lave en virtual machine (VM), selvom der også findes andre muligheder.

Mange forskellige operativsystemer kan bruges, men hvis du overvejer Windows så lad være - vælg en Linux-distribution i stedet! Kommer du fra Windows vil særligt Mint eller alternativt Ubuntu være gode steder at starte med Linux generelt, men særligt til hacking/penetration testing vil jeg kraftigt anbefale at bruge Kali Linux i stedet.

Kali Linux er beregnet til netop hacking og kommer med mange af de værktøjer du får brug for, og er i det hele taget idéelt til formålet.

Du kan læse hvordan du laver en Kali Linux VM med Virtualbox her.

Zenmap

Du får helt sikkert brug for nmap til bl.a. port-scanning, men i stedet for at bruge nmap direkte i en terminal vil jeg anbefale at bruge Zenmap. Zenmap er bare et interface (GUI) til nmap, som hjælper dig med nemt at holde styr på de informationer du får.

Desværre er Zenmap ikke inkluderet i Kali Linux (i hvert fald ikke i version 2020.4 som jeg installerede), men du kan læse om hvordan du installerer det her.

Default shell

Den Kali-version, som jeg bruger (2020.4) har zsh som default shell, men hvis du også foretrækker Bash kan du skifte tilbage med (evt. med sudo):

chsh -s /bin/bash

Jeg har desuden også ændret i udseendet af min shell, så den ligner en almindelig Bash shell som man kender den fra f.eks. Ubuntu eller Mint:

if [ "$color_prompt" = yes ]; then
prompt_color='\[\033[;32m\]'
info_color='\[\033[1;34m\]'
#prompt_symbol=㉿
prompt_symbol="@"
if [ "$EUID" -eq 0 ]; then # Change prompt colors for root user
prompt_color='\[\033[;94m\]'
info_color='\[\033[1;31m\]'
prompt_symbol=💀
fi
#PS1=$prompt_color'┌──${debian_chroot:+($debian_chroot)──}('$info_color'\u${prompt_symbol}\h'$prompt_color')-[\[\033[0;1m\]\w'$prompt_color']\n'$prompt_color'└─'$info_color'\$\[\033[0m\] '
PS1=$prompt_color'${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
# BackTrack red prompt
#PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

Du kan selvfølgelig også bare beholde zsh!

Forbind til Hack The Box

Når du har din VM klar og har en bruger på Hack The Box, kan du starte med at vælge Starting Point i menuen og følge den tutorial der kommer frem. Der er en række forskellige Starting Point-maskiner med guides til, som du kan øve dig på efter du har gennemført den første tutorial.

For at få adgang til maskinerne skal du downloade en "connection pack", og bemærk at den connection pack du bruger til Starting Point-maskinerne ikke er den samme som du bruger andre steder på Hack The Box. Du skal altså hente en anden connection pack for at få adgang til de andre maskiner, de stiller til rådighed.

Du forbinder til deres netværk med sudo openvpn <connection-pack-name>.ovpn. Det er straks sværere at stoppe vpn-sessionen igen, men du kan gøre det på følgende måde:

claus@KaliVM:~$ ps aux | grep openvpn
root        1221  0.0  0.1   9048  4252 pts/0    S+   23:01   0:00 sudo openvpn <connection-pack-name>.ovpn
root        1222  0.0  0.1  11232  7336 pts/0    S+   23:01   0:00 openvpn <connection-pack-name>.ovpn
claus       1340  0.0  0.0   6176   652 pts/1    S+   23:02   0:00 grep --color=auto openvpn
claus@KaliVM:~$ kill 1221
claus@KaliVM:~$ ps aux | grep openvpn
claus       1386  0.0  0.0   6176   720 pts/1    S+   23:02   0:00 grep --color=auto openvpn
Emner
Relaterede ressourcer
W3Schools

Tutorials til web-udvikling.

Se mere her