Skip to content

THM - Juicy Details

Forfatter: Mathias Greisen

Dato: 2026-09-25

Fag/modul: Introduktion til IT-Sikkerhed

Status: Færdig


1. Beskrivelse af øvelsen

Brug log data til at finde angrebsmetoder samt hvilke data der er blevet stjålet.


2. Reproduktion trin for trin

Forudsætninger

  • Adgang til Juicy Details
  • Kali linux eller andet operativ system til at tjekke logs

Reconnaissance

  1. What tools did the attacker use? (Order by the occurrence in the log)

    • Åben access.log

      cat access.log
      
    • Tjek for hver linje hvilket program der har sendt http request, f.eks. "namp"

      ::ffff:192.168.10.5 - - [11/Apr/2021:09:08:34 +0000] "POST / HTTP/1.1" 200 1924 "-" "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)"
      
    • Find de 5 forsellige værktøjer

  2. What endpoint was vulnerable to a brute-force attack?

    • Da hydra blev brugt, kan der søges efter requests fra hydra

      cat access.log | grep -i "hydra"
      
    • Ud fra resultatet kan endpoint findes

      [...]
      ::ffff:192.168.10.5 - - [11/Apr/2021:09:16:32 +0000] "POST /rest/user/login HTTP/1.0" 401 26 "-" "Mozilla/5.0 (Hydra)"
      [...]
      
  3. What endpoint was vulnerable to SQL injection?

    • Da sqlmap blev brugt til injection, kan der søges efter request fra sqlmap

      cat access.log | grep -i "sqlmap"
      
    • Ud fra resultatet kan endpoint findes

      [...]
      ::ffff:192.168.10.5 - - [11/Apr/2021:09:29:16 +0000] "GET /rest/products/search?q=1%29%20ORDER%20BY%201--%20DtMP HTTP/1.1" 200 30 "-" "sqlmap/1.5.2#stable (http://sqlmap.org)"
      [...]
      
  4. What parameter was used for the SQL injection?

    • Da sqlmap blev brugt til injection, kan der søges efter request fra sqlmap

      cat access.log | grep -i "sqlmap"
      
    • Ud fra resultatet kan parametret findes

      [...]
      ::ffff:192.168.10.5 - - [11/Apr/2021:09:29:16 +0000] "GET /rest/products/search?q=1%29%20ORDER%20BY%201--%20DtMP HTTP/1.1" 200 30 "-" "sqlmap/1.5.2#stable (http://sqlmap.org)"
      [...]
      
  5. What endpoint did the attacker try to use to retrieve files? (Include the /)

    • Da feroxbuster blev brugt til directory enumeration, kan der søges efter request fra feroxbuster

      cat access.log | grep -i "feroxbuster"
      
    • Ud fra dette kan der søges efter de forskellige endpoints, men da "ftp" står for file transfer protocol prøvede jeg her først

      cat access.log | grep -i "ftp"
      
    • Som man kan se blev der hentet to filer. Ud fra resultatet kan endpoint dermed findes

      ::ffff:192.168.10.5 - - [11/Apr/2021:09:34:33 +0000] "GET /ftp HTTP/1.1" 200 4852 "-" "feroxbuster/2.2.1"
      ::ffff:192.168.10.5 - - [11/Apr/2021:09:34:40 +0000] "GET /ftp/www-data.bak HTTP/1.1" 403 300 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0"
      ::ffff:192.168.10.5 - - [11/Apr/2021:09:34:43 +0000] "GET /ftp/coupons_2013.md.bak HTTP/1.1" 403 78965 "-" ""Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0"
      

Stolen data

  1. What section of the website did the attacker use to scrape user email addresses?

    • Fra egen erfaring med Juice Shop ved jeg at email adresser kan findes i reviws op produkter

    • Ved gennemgang af "access.log" fandt jeg mange kald til /products/{id}/reviews

    • Dermed ser det ud til at product revies blev brugt til at finde email adresser

  2. Was their brute-force attack successful? If so, what is the timestamp of the successful login? (Yay/Nay, 11/Apr/2021:09:xx:xx +0000)

    • Da hydra blev brugt til brute-force, kan man søge efter request fra hydra med en 200 status code

      cat access.log | grep -i "hydra" | grep -i "200"
      
    • Da en request fra hydra fik en successfuld status code 200 retur, tegner det på at angrebet lykkedes

      ::ffff:192.168.10.5 - - [11/Apr/2021:09:16:31 +0000] "POST /rest/user/login HTTP/1.0" 200 831 "-" "Mozilla/5.0 (Hydra)"
      
  3. What user information was the attacker able to retrieve from the endpoint vulnerable to SQL injection?

    • Ved grundig tjek af "access.log" fandt jeg frem til følgende linje, hvor det tydeligt ses at email og password bruges i en UNION SELECT.

      ::ffff:192.168.10.5 - - [11/Apr/2021:09:32:51 +0000] "GET /rest/products/search?q=qwert%27))%20UNION%20SELECT%20id,%20email,%20password,%20%274%27,%20%275%27,%20%276%27,%20%277%27,%20%278%27,%20%279%27%20FROM%20Users-- HTTP/1.1" 200 3742 "-" "curl/7.74.0"
      
  4. What files did they try to download from the vulnerable endpoint? (endpoint from the previous task, question #5)

    • I forrige afsnit pkt. 5, blev følgende fundet, hvor man kan se de to filer som blev hentet.

      ::ffff:192.168.10.5 - - [11/Apr/2021:09:34:33 +0000] "GET /ftp HTTP/1.1" 200 4852 "-" "feroxbuster/2.2.1"
      ::ffff:192.168.10.5 - - [11/Apr/2021:09:34:40 +0000] "GET /ftp/www-data.bak HTTP/1.1" 403 300 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0"
      ::ffff:192.168.10.5 - - [11/Apr/2021:09:34:43 +0000] "GET /ftp/coupons_2013.md.bak HTTP/1.1" 403 78965 "-" ""Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0"
      
  5. What service and account name were used to retrieve files from the previous question? (service, username)

    • Fra tidligere ved vi at FTP blev brugt som service. Ved at tjekke "vsftpd.log" kan man finde følgende, der fortæller om hvilket account name som blev brugt

      Sun Apr 11 08:15:33 2021 [pid 6482] [anonymous] FAIL LOGIN: Client "::ffff:127.0.0.1"
      Sun Apr 11 08:15:55 2021 [pid 6529] CONNECT: Client "::ffff:127.0.0.1"
      Sun Apr 11 08:15:58 2021 [pid 6526] [ftp] OK LOGIN: Client "::ffff:127.0.0.1", anon password "?"
      
  6. What service and username were used to gain shell access to the server? (service, username)

    • Ved at tjekke "auth.log" kan følgende findes som fortæller om hvilket brugernavn der blev logget ind som

      Apr 11 09:41:19 thunt sshd[8260]: Accepted password for www-data from 192.168.10.5 port 40112 ssh2
      

3. Problemer og løsninger

Jeg oplevede ingen problemer under denne øvelse.


4. Opsummering af erfaringer

Jeg har opnået erfaringer med at gennemse logs, samt at søge i disse med brug af piping og grep.