
CyberChef v11.4.0
The Cyber Swiss Army Knife - un'app web per crittografia, codifica, compressione e analisi dei dati
CyberChef
Il coltellino svizzero informatico
CyberChef è una web app semplice e intuitiva per eseguire ogni tipo di operazione "cyber" all'interno di un browser web. Queste operazioni includono semplici codifiche come XOR e Base64, crittografie più complesse come AES, DES e Blowfish, creazione di binary ed hexdump, compressione e decompressione dei dati, calcolo di hash e checksum, parsing di IPv6 e X.509, modifica delle codifiche dei caratteri e molto altro.
Lo strumento è progettato per consentire sia agli analisti tecnici che a quelli non tecnici di manipolare i dati in modi complessi senza dover gestire strumenti o algoritmi complessi. È stato concepito, progettato, costruito e migliorato progressivamente da un analista nel proprio tempo di innovazione del 10% nell'arco di diversi anni.
Indice
- Sito web ufficiale
- Esecuzione locale
- Come funziona
- Funzionalità
- Collegamento profondo
- Supporto browser
- Supporto Node.js
- Sicurezza
- Contribuire
- Licenza
Sito web ufficiale
[Il sito web ufficiale di CyberChef si trova qui][1] - buon divertimento!
Esecuzione locale
Puoi eseguire CyberChef con Docker (nessun toolchain richiesto) o compilarlo dal sorgente con Node.js.
Con Docker
Prerequisiti
- Docker
- Docker Desktop deve essere aperto e in esecuzione sul tuo computer
Opzione 1: crea l'immagine Docker manualmente
- Crea l'immagine Docker
docker build --tag cyberchef --ulimit nofile=10000 .
- Esegui il container Docker
docker run -it -p 8080:8080 cyberchef
- Vai su
http://localhost:8080nel tuo browser
Opzione 2: usa l'immagine Docker precompilata
Se preferisci saltare il processo di creazione, puoi usare l'immagine precompilata
docker run -it -p 8080:8080 ghcr.io/gchq/cyberchef:latest
Come prima, vai su http://localhost:8080 nel tuo browser.
Questa immagine viene creata e pubblicata tramite i nostri GitHub Workflows.
Dal sorgente
Se vuoi sviluppare CyberChef o eseguirlo senza Docker, puoi compilarlo direttamente con Node.js.
Prerequisiti
- Node.js
v24(vedi Supporto Node.js)
[!NOTE]
Puoi usare nvm per gestire le versioni di Node.js e utilizzare la versione di sviluppo corrente in questo progetto per evitare conflitti con altri progetti sul tuo computer.
Configurazione
git clone https://github.com/gchq/CyberChef.git
cd CyberChef
npm install
Attività comuni
| Comando | Descrizione |
|---|---|
npm start | Avvia il server di sviluppo con ricaricamento automatico su http://localhost:8080. |
npm run build | Genera una build di produzione nella directory build/prod. |
npm test | Esegue le suite di test Node.js e delle operazioni. |
npm run testui | Esegue i test del browser (UI). |
npm run lint | Verifica il codice rispetto alle regole di linting. |
npm run newop | Crea una nuova operazione tramite lo script interattivo di avvio rapido. |
Se incontri un errore di memoria insufficiente durante la creazione di ricette di grandi dimensioni, aumenta la dimensione dell'heap di Node con npm run setheapsize.
Come funziona
Ci sono quattro aree principali in CyberChef:
- La casella input in alto a destra, dove puoi incollare, digitare o trascinare il testo o il file su cui vuoi operare.
- La casella output in basso a destra, dove verrà visualizzato il risultato della tua elaborazione.
- L'elenco delle operazioni all'estrema sinistra, dove puoi trovare tutte le operazioni di cui CyberChef è capace in elenchi categorizzati, oppure tramite ricerca.
- L'area della ricetta al centro, dove puoi trascinare le operazioni che vuoi utilizzare e specificare argomenti e opzioni.
Puoi usare quante operazioni vuoi, in modi semplici o complessi. Alcuni esempi sono i seguenti:
- [Decodificare una stringa codificata in Base64][2]
- [Convertire una data e un'ora in un fuso orario diverso][3]
- [Analizzare un indirizzo IPv6 Teredo][4]
- [Convertire i dati da un hexdump, poi decomprimerli][5]
- [Decrittare e disassemblare shellcode][6]
- [Visualizzare più timestamp come date complete][7]
- [Eseguire operazioni diverse su dati di tipo diverso][8]
- [Usare parti dell'input come argomenti per le operazioni][9]
- [Eseguire la decrittazione AES, estraendo l'IV dall'inizio del flusso cifrato][10]
- [Un modo più semplice per eseguire la stessa decrittazione AES][13]
- [Rilevare automaticamente più livelli di codifica annidata][12]