Red Hot Cyber

Sicurezza informatica, cybercrime, hack
news, e altro ancora

Red Hot Cyber

Il Tool per Javascript che mancava agli Ethical Hackers

24 Luglio 2022 09:35

Autore: Davide Cavallini

Sono uno sviluppatore software da undici anni e appassionato di Ethical Hacking e Informatica Quantistica. Oggi vorrei presentarvi il mio nuovo progetto, in via di sviluppo. 

Il tutto nasce dalla difficoltà che ho trovato nella ricerca di  tools per rilevare vulnerabilità in javascript all’interno del browser ed inoltre ho visto che la ricerca di bug in javascript è molto sottovalutata.

Supporta Red Hot Cyber attraverso
  • L'acquisto del fumetto sul cybersecurity awareness (Primo episodio)
  • La sponsorizzazione della RHC Conference 2024
  • L'Acquisto di stock di fumetti sul Cybersecurity Awareness personalizzabili
  • La realizzazione di una puntata del fumetto BETTI-RHC
  • La realizzazione di strisce a fumetti brandizzate
  • Seguendo RHC su LinkedIn
  • Seguendo RHC su WhatsApp
  • Seguendo RHC su Google News

  • Iscrivendoti alla nostra newsletter

    Secondo me invece nasconde grandi insidie e potenzialità per gli hacker, che spesso così riescono a fare enormi danni nei sistemi informatici, causando anche enormi problemi organizzativi e di costi, rischiando anche di far fallire le aziende che perdono la credibilità da parte dei loro clienti.

    Tutto inizia da una necessità

    Nel tempo, ho notato la presenza di varie estensioni che ricercano vulnerabilità nei parametri non filtrati, però non avevo mai trovato degli strumenti che aiutassero in modo efficiente l’ethical hacker a guardare nei punti solitamente più sensibili all’interno del codice caricato in memoria.

    In realtà ho scoperto che i problemi di solito si nascondono all’interno delle richieste che i metodi javascript fanno al backend. Un esempio possono essere i sistemi di autenticazione scritti male, l’invio di email facilmente falsificabili dal frontend, che quindi permettono facilissimi attacchi di pishing, fino al Cross Site Scripting, anche persistente, molto frequente, e anche in alcuni casi SQL Injections e RCE.

    Spesso però questi tipi di vulnerabilità non sono facili da scoprire con il semplice fuzzing, ma occorre anzitutto esperienza come Hacker, e bisogna leggere pagina per pagina per intero.

    Per questo ho pensato di fare un piccolo tool, ancora in via di sviluppo e miglioramento, che permettesse all’hacker di fare lo stesso lavoro, ma mostrando già in partenza i punti nei quali potrebbero nascondersi facilmente le vulnerabilità, all’interno sia del sorgente, che dei metodi javascript all’interno della memoria della finestra “window”, non che dei listeners, sia javascript che jQuery.

    Ho potuto constatare che il tool mi sarebbe stato utilissimo, se fosse già stato pronto, nell’analisi di molti siti web vulnerabili che avevo già analizzato manualmente.

    Inoltre è stato fatto in modo che sia facilmente implementabile, dal punto di vista dell’inserimento di payloads e delle analisi svolte. Lo script rileva anche già alcuni XSS, SQL Injection e RCE di base, e mostra l’header della pagina e il cookie in console. Spesso anche dal cookie o dagli header si scopre che l’unico parametro che tiene in vita la sessione dell’utente è il SESSIONID, senza alcun controllo aggiuntivo.

    Il link del progetto è https://github.com/dade1987/jsBugHuntingHelper

    E’ necessario semplicemente fare “copia-incolla” del codice del file jsBugHuntingHelper.js, o della versione minificata, nella console, quando si è nella pagina web. Se la pagina contiene anche dei parametri nell’url, verranno testati automaticamente anche gli XSS, SQLI e RCE di base.

    Il progetto è open source e gratuito, ed è aperto ad eventuali collaborazioni.

    Un esempio di utilizzo del tool

    Qui vi farò alcuni esempi di rilevazioni di vulnerabilità, utilizzando il mio script.

    Trovata funzione di autenticazione rotta, direttamente cliccando sulla funzione all’ultima riga evidenziata.

    Segnalata vulnerabilità XSS

    Segnalata SQL Injection nella pagina corrente

    Segnalazione di errore RCE, in un file php che a sua volta fa partire un programma in Java

    Trovato form con metodo POST (schermata 1). Passando i parametri nella pagina stessa con un piccolo payload (un apice) troviamo subito una SQL injection