Questa è una raccolta di script di configurazione per creare un'installazione di vari strumenti di ricerca sulla sicurezza. Certo, non è un problema difficile, ma è molto comodo averli tutti in un unico posto facilmente distribuibile su nuove macchine e così via. Gli script di installazione per questi strumenti vengono controllati di tanto in tanto, quindi le cose dovrebbero funzionare con buona probabilità!
Sono inclusi gli installatori per i seguenti strumenti:
| Category | Tool | Description |
|---|
| binary | angr | Motore di analisi binaria di nuova generazione di Shellphish. |
| binary | angr-management | Uno strumento GUI di reverse engineering e decompilazione. |
| binary | beef | Framework per l'exploitation di browser. |
| binary | crosstool | Strumenti di cross-compilazione e cross-architettura. |
| binary | cross2 | Un insieme di strumenti di cross-compilazione tratti da un libro giapponese sul C. |
| binary | decomp2dbg | Un plugin per introdurre simboli interattivi nel tuo debugger dal tuo decompilatore. |
| binary | elfkickers | Un insieme di utilità per lavorare con file ELF. |
Ci sono anche alcuni installatori per roba non-CTF per rompere la monotonia!
| Category | Tool | Description |
|---|
| game | df | Dwarf Fortress! Qualcosa per aiutarti a rilassarti dopo un CTF! |
Utilizzo
Per utilizzare, esegui:```bash
set up the path
/path/to/ctf-tools/bin/manage-tools setup
source ~/.bashrc
manage-tools list
install gdb, allowing it to try to sudo install dependencies
manage-tools -s install gdb
manage-tools install pwntools
manage-tools -n install qemu
uninstall gdb
manage-tools uninstall gdb
manage-tools uninstall all
manage-tools search preload
Dove possibile, gli strumenti mantengono le installazioni molto autonome (cioè, nella directory tool/), e la maggior parte delle disinstallazioni sono solo chiamate a `git clean` (**NOTA**, questo **NON** è accurato; tutto ciò che si trova nella directory dello strumento, incluso qualsiasi cosa su cui si stesse lavorando, viene cancellato durante una disinstallazione).
Gli strumenti Python e Ruby vengono installati in un ambiente virtuale specifico per lo strumento.
Se vuoi aggiungere altri pacchetti a questo ambiente, guarda nelle directory `ctf-tools/TOOL/pipx` o `ctf-tools/TOOL/gems`.
## Aiuto!
Qualcosa non funziona?
Non ho scritto (quasi) nessuno di questi strumenti, ma passa su [il discord](https://discord.gg/KRcjyn4pBH) se sei disperato. Forse qualche anima gentile ti aiuterà!
## Strumenti in Docker
### Contenitori di strumenti precompilati
Puoi ottenere la maggior parte di questi strumenti in contenitori precompilati da [https://hub.docker.com/r/ctftools](https://github.com/zardus/ctf-tools/blob/HEAD/dockerhub).
Per esempio:```console
$ echo hi | docker run -i ctftools/taintgrind taintgrind --taint-stdin=yes /bin/cat
/home/ctf/tools/taintgrind/valgrind-3.21.0/build/bin/valgrind --tool=taintgrind --taint-stdin=yes /bin/cat
==8== Taintgrind, the taint analysis tool
==8== Copyright (C) 2010-2018, and GNU GPL'd, by Wei Ming Khoo.
==8== Using Valgrind-3.21.0 and LibVEX; rerun with -h for copyright info
==8== Command: /bin/cat
==8==
0xFFFFFFFF: _syscall_read | Read:3 | 0x0 | 4a5a000_unknownobj
hi
==8==
Costruisci il tuo
Puoi creare un'immagine docker con:```bash
git clone https://github.com/zardus/ctf-tools
cd ctf-tools
docker build -t ctf-tools --build-arg PREINSTALLED=some-tool .
Ed eseguilo con:```bash
docker run -it ctf-tools
L'immagine costruita avrà ctf-tools clonato e pronto all'uso e il tuo strumento installato.
Kali Linux
Kali Linux (Sana e Rolling), a causa dell'impostazione manuale di alcune librerie per non utilizzare l'ultima versione disponibile (a volte obsolete da anni), causa la mancata installazione di alcuni strumenti o il loro fallimento in modi strani.
Sovrascrivere queste librerie rompe altri strumenti inclusi in Kali, quindi l'unica soluzione è convivere con alcuni strumenti di Kali rotti, usare docker, o eseguire un'altra distribuzione separatamente come Ubuntu.
Aggiungere Strumenti
Per aggiungere uno strumento (ad esempio, chiamato toolname), procedi come segue:
- Crea una directory
toolname.
- Crea uno script
install.
- Aggiungilo al README.
- (opzionale) se sono richiesti passaggi speciali di disinstallazione, crea uno script
uninstall.
Script di Installazione
Lo script di installazione verrà eseguito con $PWD che è toolname. Dovrebbe installare lo strumento in questa directory, nel modo più contenuto possibile.
Idealmente, la disinstallazione completa dovrebbe essere possibile con un git clean.
Lo script di installazione dovrebbe creare una directory bin e mettere i suoi eseguibili lì.
Questi eseguibili verranno automaticamente collegati nella directory bin principale del repository.
Possono essere lanciati da qualsiasi directory, quindi non fare ipotesi sulla posizione di $0!
Licenza
I singoli strumenti sono tutti concessi in licenza secondo le proprie licenze.
Per quanto riguarda ctf-tools stesso, è concesso in licenza sotto la BSD 2-Clause License.
Se lo trovi utile, metti una stella su GitHub (https://github.com/zardus/ctf-tools).
Buona fortuna!
Vedi Anche
C'è una lista curata di strumenti CTF, ma senza installer, qui: https://github.com/apsdehal/aWEsoMe-cTf.
C'è una configurazione Vagrant con molti dei framework più grandi qui: https://github.com/thebarbershopper/epictreasure.
Strumenti CTF utili nei repository apt
Man mano che gli strumenti vengono ufficialmente impacchettati, ci limitiamo a suggerire di installarli con apt!
Strumenti CTF utili nelle immagini Docker
In precedenza, questo repository includeva alcuni script che erano wrapper attorno a docker pull.
Confidiamo che tu possa farlo da solo :-)
| Categoria | Fonte | Strumento | Descrizione |
|---|
| binario | docker | panda |
Librerie CTF utili
In precedenza, questo repository includeva installer di librerie.
A causa di quanto siano personalizzate le preferenze di installazione delle librerie (ad esempio, a differenza di uno strumento, non è chiaro se gli ambienti virtuali per libreria siano una cosa desiderata), abbiamo smesso di distribuirle e le linkiamo qui per i posteri.