Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!
sh00t — Il Security Testing non è semplice come click destro > Scansione. È disordinato, un gioco duro. E se avessi saltato di testare proprio quell'unica cosa e dovessi pentirtene dopo? Sh00t è una piattaforma altamente personalizzabile e intelligente che comprende la vita dei cacciatori di bug e pone l'accento sul testing manuale della sicurezza. | Kitploit
Il Security Testing non è semplice come click destro > Scansione. È disordinato, un gioco duro. E se avessi saltato di testare proprio quell'unica cosa e dovessi pentirtene dopo? Sh00t è una piattaforma altamente personalizzabile e intelligente che comprende la vita dei cacciatori di bug e pone l'accento sul testing manuale della sicurezza.
Condividi
root@kitploit:~
Un ambiente di test per tester di sicurezza manuali
Sh00t
è un task manager per permetterti di concentrarti sull'esecuzione di test di sicurezza
fornisce To Do checklist di casi di test
aiuta a creare report di bug con template di bug personalizzabili
Caratteristiche:
Task Manager dinamico per sostituire semplici editor o strumenti di gestione delle attività che NON sono pensati per la Sicurezza
Checklist automatizzata e personalizzabile di casi di test di sicurezza per sostituire Evernote, OneNote o altri strumenti che NON sono pensati per la Sicurezza
Gestisci template di bug personalizzati per diversi scopi e genera automaticamente il report del bug
Supporta più Valutazioni e Progetti per separare logicamente le tue diverse esigenze
Usalo come carta - Tutto viene salvato automaticamente
Esporta il report del bug generato automaticamente in Markdown e invialo alla cieca su HackerOne! (WIP)
Integrazione con JIRA, ServiceNow - In arrivo
Esporta il report del bug in Markdown - In arrivo
Personalizza tutto sotto il cofano
Installazione:
Installa Docker se non è disponibile. Gli utenti di Windows 10 Home o versioni precedenti, consulta le Istruzioni di Installazione Alternative qui sotto.
Scarica l'immagine Docker di Sh00t: docker pull pavanw3b/sh00t:latest
Crea un Volume per la persistenza dei dati tra i container Docker: docker volume create --name sh00t
Avvia il container: docker run -d -p 8000:8000 --name sh00t -v sh00t:/root/sh00t/db pavanw3b/sh00t:latest
Sei un Django-pro e vuoi impostare tutto da solo? Ti copriamo anche in questo caso: Configurazione manuale
Stai utilizzando una macchina che non ha Hyper-V, come Windows Home? Puoi usare Docker Toolbox e Docker Quickstart Terminal. Il tuo Sh00t girerà sull'IP predefinito del tuo docker: http://YOUR_DOCKER_IP:8000/. L'indirizzo IP verrà mostrato all'avvio del Quickstart Terminal. Puoi trovarlo anche con docker-machine ls e docker-machine ip MACHINE_NAME.
Se vuoi passare alla versione Docker di Sh00t da un'installazione precedente senza perdere i dati esistenti, devi sostituire manualmente il file /root/sh00/db/db.sqlite3 sul container docker con il tuo vecchio setup di sh00t.
Usare Sh00t in seguito:
Avvia il container: docker start sh00t
Accedi a http://YOUR_IP:8000/ sul tuo browser preferito
Effettua il login con sh00t / sh00t se non lo hai cambiato
Ferma il container se ti interessa: docker stop sh00t
e ripeti!
Nota: Usa sempre docker start e docker stop. Potresti perdere i dati se rimuovi il container o il volume.
Aggiornamento
È importante mantenere il tuo Sh00t aggiornato per usufruire delle nuove funzionalità e correzioni di bug.
Rimuovi il container esistente: docker container rm -f sh00t
Non preoccuparti, i tuoi dati sono al sicuro a meno che tu non rimuova il volume docker.
Avvia un nuovo container con l'ultimo codice, ma ancora con i vecchi dati: docker run -d -p 8000:8000 --name sh00t -v sh00t:/root/sh00t/db pavanw3b/sh00t:latest
Disinstallazione
Nel caso in cui tu voglia eliminare tutte le immagini, i container e i volumi di Sh00t, possono essere eseguiti i seguenti comandi. Nota: Questa è un'operazione distruttiva e non può essere annullata.
Rimuovi il volume: docker volume rm sh00t:/root/sh00t/db
Risoluzione dei problemi:
Sh00t è scritto in Python e basato su Django Web Framework. Se ti blocchi con qualche errore, cercare su Google il messaggio di errore dovrebbe aiutarti la maggior parte delle volte. Se non sei sicuro, per favore apri una nuova issue su github.
Glossario:
Flag: Una Flag è un obiettivo che viene sh00tato. È un caso di test che deve essere testato. Le Flag vengono generate automaticamente in base alla metodologia di test scelta. Il bug potrebbe o non potrebbe essere trovato - ma l'obiettivo è mirare e sh00tare. La Flag contiene passaggi dettagliati per il test. Se il bug viene confermato, viene chiamato sh0t.
Sh0t: Sh0t sono i bug. Tipicamente Sh0t contiene una descrizione tecnica del bug, File/URL affetti, Passaggi per riprodurre e Raccomandazioni per la correzione. La maggior parte del contenuto di Sh0t viene generato con un clic e solo il contenuto dinamico come Parametri affetti, Passaggi deve essere modificato. Sh0t possono appartenere a Assessment.
Assessment: Assessment è una valutazione di test. Può essere una valutazione di un'applicazione, di un programma - a discrezione dell'utente nel modo in cui intende gestirla. Fa parte di un progetto.
Project: I progetti contengono assessment. Un progetto può essere una separazione logica di ciò che fai. Può essere un lavoro diverso, bug bounty, sta a te decidere.
Template: I template sono i tuoi modelli di bug. Vengono usati con Sh0t. Questo serve a sostituire il lavoro di copia-incolla quando inserisci un nuovo Bug. Crea Template per tutti i tuoi bug, lascia le variabili che cambieranno nel tuo report di bug effettivo come URL, Area interessata, ecc., che verranno sostituite quando il Template viene caricato nel tuo Sh0t.
Case Master: Case Master è un insieme di Casi di Test. Questi sono test individuali che eseguirai sul tuo obiettivo. Configurare i Casi di Test ti aiuterà a gestire i tuoi test e a coprire tutto ciò di cui avrai bisogno nel tuo Assessment. Ogni hacker avrà i propri Casi di Test. Tienili brevi e facili da seguire. Mantenere un elenco completo di Casi di Test nel tuo Sh00t è la parte più importante dell'uso di Sh00t. I Casi di Test diventeranno Flag da testare, quando inizi un nuovo Assessment.
Module Master: I Moduli sono parti logiche dei test. Ad esempio, Gestione degli utenti e delle sessioni è un esempio di Modulo. I Moduli sono simili a una categoria di test.
Methodology Master: La Metodologia è il tuo approccio al test. OWASP Testing Guide V4 e Web Application Hacker Handbook (WAHH) sono esempi di Metodologia e vengono forniti di default con Sh00t. Puoi creare la tua Metodologia, i tuoi Moduli e i tuoi Casi di Test. Puoi avere diverse Metodologie per il lavoro ufficiale e per il bug bounty personale. La Metodologia ti aiuterà a separarli.
Come funziona?
Inizia creando un nuovo Assessment. Scegli quale metodologia vuoi usare per il test. Oggi ci sono 330 casi di test, raggruppati in 86 Flag, appartenenti a 13 Moduli creati con riferimento alla metodologia di test del "Web Application Hacker's Handbook". I Moduli e le Flag possono essere selezionati e personalizzati. Una volta creato l'Assessment con le Flag, il tester deve testarle manualmente, o semi-automatizzate con l'aiuto di scanner, strumenti o comunque necessario, e segnarle come "Fatto" al completamento. Durante l'esecuzione dell'assessment ci imbattiamo spesso in casi di test personalizzati specifici per un determinato scenario nell'applicazione. Una nuova Flag può essere creata facilmente in qualsiasi momento.
Ogni volta che una Flag viene confermata come un bug valido, è possibile creare uno Sh0t. Si può scegliere il template di bug che meglio si adatta, e sh00t compilerà automaticamente il report del bug basandosi sul template scelto.
Chi può usare Sh00t?
Ingegneri della Sicurezza delle Applicazioni: Penetration Testing e Valutazione delle Vulnerabilità
Cacciatori di bug bounty
Ricercatori di Sicurezza Indipendenti
Blue team, sviluppatori che correggono
Chiunque voglia hackerare
Screenshot:
Dashboard:
Lavorare su una Flag:
Modifica a schermo intero:
Scelta della Metodologia e dei Casi di Test durante la creazione di un nuovo Assessment:
Segnalazione di un bug precompilato con un template:
Configurazioni:
Dettagli implementativi:
Linguaggio: Python 3
Framework: Django Web Framework
Dipendenze: Django REST Framework, djnago-tables2: Gestite da /requirements.txt