Security Dojo

go down the rabbit hole...
it en

Hackthebox.eu: come registrarsi

2020-11-08 Tempo di lettura 3 minuti fud0

Nei giorni scorsi mentre seguivo il corso di Heath Adams (aka The Cyber Mentor) dal titolo “Practical Ethical Hacking – The Complete Course”, alla sezione “Mid-course Capstone” é stato introdotto Hack The Box.

Per chi non lo conoscesse Hack The Box é una delle piattaforme online piú famose in cui si puó sperimentare e migliorare le proprie capacitá di pentesting e cyber-security in generale.

Come spiegato però durante la video lezione il “primo step” che c’é da fare per poter cominciare ad usare le macchine virtuali presenti in HTB (da ora lo indicherò così) é quello di “procurarsi” l’invitation code per potersi registrare.

Si questo perché come potete vedere dallo screen qui sotto una volta cliccato in home page sul tasto in altro a destra “Join Now“, si viene reindirizzati alla pagina che dobbiamo “bucare” per tentare di ottenere il coupon che ci permetterà poi di procedere alla registrazione vera e propria.

Hack The Box - Invite Challenge

Nonostante sia possibile trovare semplicemente googlando la soluzione al problema come dice lo stesso Adams, direi che in questo caso come si suol dire “chi ben comincia é a metà dell’opera”. Scherzi a parte visto la tipologia di portale al quale ci si vuole iscrivere, il minimo sindacale é tentare di trovare da soli la soluzione.

Partiamo quindi dall’analizzare cosa ci mostrano la console (es. errori, info message) e la network (es. risorse scaricate) tab una volta che visitiamo la pagina.

Hack The Box - Invite Challenge console errors

Hack The Box - Invite Challenge network tab info

Nella lista di file sicuramente il più interessante ad occhio, dal nome, sembra sicuramente essere inviteapi.min.js. Si tratta di uno snippet Javascript che é ovviamente minified e offuscato.

Utilizziamo quindi una delle tante risorse online disponibili (es. JSNICE) per convertire in qualcosa di più comprensibile il nostro sorgente. Otteniamo così il codice leggibile per la funzione Javascript makeInviteCode().

'use strict';
/**
 * @return {undefined}
 */
function makeInviteCode() {
  $.ajax({
    type : "POST",
    dataType : "json",
    url : "/api/invite/how/to/generate",
    success : function(a) {
      console.log(a);
    },
    error : function(a) {
      console.log(a);
    }
  });
};

Proviamo quindi a invocare questo metodo direttamente dalla console dei webtools di Edge e andiamo a utilizzare le informazioni stampate per tentare di decifrare il messaggio. N.B: per pura curiosità ho provato a invocare più volte la funzione e come potete vedere dallo screen sembra che le informazioni riportate nel campo data possano essere offuscate con gli algoritmi BASE64 o ROT13.

Hack The Box - Invite Challenge console details

Ci basterà quindi andare ad inserire la stringa codificata e selezionare il giusto algoritmo in uno dei tanti servizi online, come questo, per ottenere il messaggio:

In order to generate the invite code, make a POST request to /api/invite/generate

Proviamo quindi a inviare la richiesta POST come indicato. Per farlo possiamo usare un tool come curl oppure come nel mio caso (ero in Windows) Powershell con il seguente comando:

Invoke-WebRequest -UseBasicParsing "https://www.hackthebox.eu/api/invite/generate" -Method POST

Ottenendo così la risposta come mostrato qui sotto:

Hack The Box - Challenge response via Powershell

Come indicato da quel “encoded” il nostro codice é offuscato da un BASE64. Una volta decodificata la stringa abbiamo finalmente il nostro codice coupon code con cui poterci registrare a HTB.

Hack The Box - Registration successful

Ora non vi resta che iniziare a divertirvi con le loro macchine e sperimentare. Buon divertimento!