
Packer Fuzzer è uno scanner veloce ed efficiente per il rilevamento di sicurezza di siti web costruiti con bundler di moduli JavaScript come Webpack.
Qualsiasi conseguenza o perdita diretta o indiretta derivante dalla diffusione o dall'utilizzo delle funzionalità di rilevamento fornite da Packer Fuzzer (di seguito denominato 'lo strumento') è di esclusiva responsabilità dell'utente. Il team di sviluppo di Packer Fuzzer (di seguito 'il team') non si assume alcuna responsabilità per questo.
Lo strumento genererà automaticamente un report dei risultati di scansione in base ai risultati del rilevamento dell'utente. Il contenuto di questo report e qualsiasi altro derivato non rappresentano la posizione o il punto di vista del team.
Si prega di rispettare le leggi e i regolamenti locali del paese dell'utente e del sistema di destinazione durante l'utilizzo dello strumento. Qualsiasi test non autorizzato non è consentito. In caso di violazioni di legge, ci riserviamo il diritto di perseguire la vostra responsabilità legale e collaboreremo pienamente con le autorità competenti nelle indagini.
Con la crescente popolarità degli strumenti di bundling front-end, nei vostri test di penetrazione e servizi di sicurezza quotidiani, vi imbattete sempre più spesso in siti web rappresentati da Webpack bundler? Questi bundler raggruppano tutte le API e i parametri delle API del sito in un unico insieme per la chiamata centralizzata, facilitando la rapida individuazione delle funzionalità del sito e dell'elenco delle API. Tuttavia, spesso i file JS generati da questi bundler sono estremamente numerosi e la quantità totale di codice JS è enorme (fino a decine di migliaia di righe), causando notevoli disagi ai test manuali. È qui che entra in gioco Packer Fuzzer.
Lo strumento supporta l'estrazione automatica e fuzzy delle API del sito target e dei parametri corrispondenti, e supporta il rilevamento rapido ed efficiente di sette vulnerabilità: accesso non autorizzato, esposizione di informazioni sensibili, CORS, SQL injection, escalation orizzontale dei privilegi, password deboli e upload arbitrario di file. Al termine della scansione, lo strumento supporta anche la generazione automatica di report. È possibile scegliere tra versioni HTML facili da analizzare e versioni più formali come doc, pdf e txt.
E non dovete preoccuparvi dei problemi linguistici legati all'internazionalizzazione: lo strumento include cinque pacchetti linguistici principali (inclusi i modelli di report): cinese semplificato, francese, spagnolo, inglese, giapponese (ordinati per accuratezza della traduzione), tradotti dal nostro team poco professionale.
Nota: la prima versione dello strumento ha ottimizzato solo le regole per Webpack bundler, per gli altri bundler attendere versioni future.
Questo strumento è sviluppato in Python3. Prima di eseguirlo, assicurarsi di avere installato il software Python3.X e pip3. Se non si dispone dell'ambiente, seguire le istruzioni: https://www.runoob.com/python3/python3-install.html
Gli utenti MacOS possono installare rapidamente con il seguente comando:
brew install python3 # installerà automaticamente pip3
Gli utenti Ubuntu possono installare rapidamente con il seguente comando:
sudo apt-get install -y python3 && sudo apt install -y python3-pip
Gli utenti CentOS possono installare rapidamente con il seguente comando:
sudo yum -y install epel-release && sudo yum install python3 && yum install -y python3-setuptools && easy_install pip
Lo strumento eseguirà codice NodeJS nativo tramite node_vm2, pertanto si consiglia di installare l'ambiente NodeJS (altri ambienti JS non sono consigliati, potrebbero causare errori di parsing). Se non si dispone dell'ambiente, seguire le istruzioni: https://www.runoob.com/nodejs/nodejs-install-setup.html
Gli utenti MacOS possono installare rapidamente con il seguente comando:
brew install node
Gli utenti Ubuntu possono installare rapidamente con il seguente comando:
sudo apt-get install nodejs && sudo apt-get install npm
Gli utenti CentOS possono installare rapidamente con il seguente comando:
sudo yum -y install nodejs
Utilizzare il seguente comando per installare con un clic le librerie Python necessarie per lo strumento:
pip3 install -r requirements.txt
È possibile utilizzare il comando python3 PackerFuzzer.py [options] per eseguire lo strumento. Le opzioni sono descritte di seguito:
-h(--help) Comando di aiuto, nessun parametro aggiuntivo, visualizza tutti i parametri supportati dallo strumento e le relative descrizioni;
-u(--url)
Percorso URL del sito web da scansionare, obbligatorio, ad esempio: -u https://demo.poc-sir.com;
-c(--cookie)
Cookie aggiuntivi, opzionali, se specificati verranno passati globalmente, ad esempio: -c "POC=666;SIR=233";
-d(--head)
Intestazioni HTTP aggiuntive, opzionali, se specificate verranno passate globalmente, il predefinito è Cache-Control:no-cache, ad esempio: -d "Token:3VHJ32HF0";
-l(--lang)
Opzione lingua, se vuota seleziona automaticamente la lingua di sistema, se non esiste un pacchetto corrispondente passa all'inglese. Pacchetti disponibili: cinese semplificato (zh), francese (fr), spagnolo (es), inglese (en), giapponese (ja), ad esempio: -l zh;
-t(--type)
Suddiviso in modalità base e avanzata. Se vuoto, usa la modalità base per impostazione predefinita. La modalità avanzata esegue una nuova scansione di tutte le API, estrae in modo fuzzy i parametri delle API e rileva: SQL injection, escalation orizzontale dei privilegi, password deboli e upload arbitrario di file. Utilizzare l'opzione adv per la modalità avanzata, ad esempio: -t adv;
-p(--proxy)
Proxy globale, opzionale, se specificato utilizza un IP proxy globale, ad esempio: -p https://hack.cool:8080;
-j(--js)
File JS aggiuntivi, opzionale, se si ritiene che ci siano altri file JS da analizzare, utilizzare questa opzione, ad esempio: -j https://demo.poc-sir.com/js/index.js,https://demo.poc-sir.com/js/vue.js;