Ceci est une collection de scripts d'installation pour créer une installation de divers outils de recherche en sécurité.
Bien sûr, ce n'est pas un problème difficile, mais c'est vraiment agréable de les avoir tous au même endroit, facilement déployable sur de nouvelles machines, etc.
Les scripts d'installation de ces outils sont vérifiés de temps en temps, donc les choses devraient normalement avoir une bonne chance de fonctionner !
Les installateurs pour les outils suivants sont inclus :
| Catégorie | Outil | Description |
|---|
| binaire | angr | Moteur d'analyse binaire de nouvelle génération de Shellphish. |
| binaire | angr-management | Un outil graphique de rétro-ingénierie et de décompilation. |
| binaire | beef | Framework d'exploitation de navigateurs. |
| binaire | crosstool | Outils de cross-compilation et cross-architecture. |
| binaire | cross2 | Un ensemble d'outils de cross-compilation provenant d'un livre japonais sur le C. |
| binaire | decomp2dbg | Un plugin pour introduire des symboles interactifs dans votre débogueur depuis votre décompilateur. |
| binaire | elfkickers | Un ensemble d'utilitaires pour travailler avec les fichiers ELF. |
Il y a aussi quelques installateurs pour des trucs non CTF pour rompre la monotonie !
| Catégorie | Outil | Description |
|---|
| jeu | df | Dwarf Fortress ! De quoi vous détendre après un CTF ! |
Utilisation
Pour utiliser, faites :```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
Là où c'est possible, les outils gardent les installations très autonomes (c.-à-d. dans le répertoire tool/), et la plupart des désinstallations se font simplement par `git clean` (**REMARQUE**, ce n'est **PAS** prudent ; tout ce qui se trouve sous le répertoire de l'outil, y compris sur quoi vous travaillez, est supprimé lors d'une désinstallation).
Les outils Python et Ruby sont installés dans un environnement virtuel spécifique à l'outil.
Si vous souhaitez ajouter d'autres paquets à cet environnement, regardez dans les répertoires `ctf-tools/TOOL/pipx` ou `ctf-tools/TOOL/gems`.
## Aide !
Quelque chose ne fonctionne pas ?
Je n'ai (presque) écrit aucun de ces outils, mais contactez [le discord](https://discord.gg/KRcjyn4pBH) si vous êtes désespéré.
Peut-être qu'une âme charitable vous aidera !
## Outils Dockerisés
### Conteneurs d'outils préconstruits
Vous pouvez obtenir la plupart de ces outils dans des conteneurs préconstruits depuis [https://hub.docker.com/r/ctftools](https://github.com/zardus/ctf-tools/blob/HEAD/dockerhub).
Par exemple :```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==
Construire le vôtre
Vous pouvez construire une image docker avec :```bash
git clone https://github.com/zardus/ctf-tools
cd ctf-tools
docker build -t ctf-tools --build-arg PREINSTALLED=some-tool .
Et exécutez-le avec :```bash
docker run -it ctf-tools
L'image construite aura ctf-tools cloné et prêt à l'emploi, et votre outil installé.
Kali Linux
Kali Linux (Sana et Rolling), en raison du réglage manuel de certaines bibliothèques pour ne pas utiliser la dernière version disponible (parfois obsolète de plusieurs années), provoque la non-installation de certains outils ou leur échec de manière étrange.
Remplacer ces bibliothèques casse d'autres outils inclus dans Kali, donc votre seule solution est soit de vivre avec certains outils de Kali cassés, soit d'utiliser docker, soit d'exécuter une autre distribution séparément comme Ubuntu.
Ajouter des outils
Pour ajouter un outil (par exemple, nommé toolname), procédez comme suit :
- Créez un répertoire
toolname.
- Créez un script
install.
- Ajoutez-le au README.
- (optionnel) si des étapes de désinstallation spéciales sont nécessaires, créez un script
uninstall.
Scripts d'installation
Le script d'installation sera exécuté avec $PWD étant toolname. Il doit installer l'outil dans ce répertoire, de la manière la plus encapsulée possible.
Idéalement, une désinstallation complète devrait être possible avec un git clean.
Le script d'installation doit créer un répertoire bin et y placer ses exécutables.
Ces exécutables seront automatiquement liés dans le répertoire bin principal du dépôt.
Ils pourraient être lancés depuis n'importe quel répertoire, donc ne faites pas d'hypothèses sur l'emplacement de $0 !
Licence
Les outils individuels sont tous sous leurs propres licences.
Quant à ctf-tools lui-même, il est sous licence BSD 2-Clause.
Si vous le trouvez utile, mettez-lui une étoile sur GitHub (https://github.com/zardus/ctf-tools).
Bonne chance !
Voir aussi
Il existe une liste organisée d'outils CTF, mais sans installateurs, ici : https://github.com/apsdehal/aWEsoMe-cTf.
Il existe une configuration Vagrant avec plusieurs des grands frameworks ici : https://github.com/thebarbershopper/epictreasure.
Outils CTF utiles dans les dépôts apt
Au fur et à mesure que les outils sont officiellement empaquetés, nous passons à simplement suggérer de les installer avec apt !
Outils CTF utiles dans les images docker
Auparavant, ce dépôt incluait certains scripts qui étaient des enveloppes autour de docker pull.
Nous sommes convaincus que vous pouvez le faire vous-même :-)
| Catégorie | Source | Outil | Description |
|---|
| binaire | docker | |
Bibliothèques CTF utiles
Auparavant, ce dépôt incluait des installateurs de bibliothèques.
En raison de la spécificité des préférences d'installation de bibliothèques (par exemple, contrairement à un outil, il n'est pas clair si des environnements virtuels par bibliothèque sont souhaitables), nous avons cessé de les fournir et les lions ici pour mémoire.