
Décoder toutes les bases - Décodeur de schémas de base
BaseCrack est un outil écrit en Python qui peut décoder tous les schémas de codage en base alphanumériques. Cet outil peut accepter une entrée utilisateur unique, plusieurs entrées depuis un fichier, une entrée depuis un argument, des bases multi-encodées, des bases dans les données EXIF d'une image, des bases sur des images avec OCR et les décoder incroyablement rapidement.
Pour une démonstration de base, essayez l'Interface Web qui utilise l'API de BaseCrack.
$ git clone https://github.com/mufeedvh/basecrack.git
$ cd basecrack
$ pip3 install -r requirements.txt
$ python3 basecrack.py -h
REMARQUE : Python3 est recommandé !
Linux :
$ sudo apt-get update
$ sudo apt-get install tesseract-ocr libtesseract-dev
MacOS :
$ brew install tesseract
Windows :
La détection OCR est implémentée avec Tesseract et Windows nécessite l'installation de l'exécutable Tesseract. L'installation des dépendances à partir de requirements.txt qui inclut pytesseract devrait l'installer. Si ce n'est pas le cas, voici comment le configurer :
Program Files/Program Files (x86) sous le répertoire Tesseract-OCR.config.json et vous êtes prêt ! Sinon, installez-le à partir d'ici et définissez le chemin dans config.json.Documentation Tesseract : https://tesseract-ocr.github.io/
REMARQUE : Je n'ai pas complètement testé cet outil sur Windows, donc si vous rencontrez des problèmes, veuillez ouvrir un problème.
Obtenez une liste de tous les arguments :
python3 basecrack.py -h
Pour décoder un seul encodage en base à partir de l'entrée utilisateur :
python3 basecrack.py
Pour décoder un seul encodage en base à partir d'un argument (-b/--base) :
python3 basecrack.py -b SGVsbG8gV29ybGQh
Pour décoder plusieurs encodages en base à partir d'un fichier (-f/--file) :
python3 basecrack.py -f file.txt
Mode Magique : Pour décoder une base multi-encodée de tout motif (-m/--magic) :
python3 basecrack.py --magic
Pour entrer une image en mode de détection EXIF/OCR (-i/--image) :
python3 basecrack.py -i image.jpg (--exif/--ocr)
Données EXIF : Pour décoder les bases dans les données EXIF d'une image (-e/--exif) :
python basecrack.py -i image.jpg --exif
Détection OCR de bases : Pour décoder les bases sur une image avec détection OCR (-c/--ocr) :
python basecrack.py -i image.jpg --ocr
Pour générer une wordlist/sortie avec les bases décodées (-o/--output) :
python basecrack.py -f file.txt -o output-wordlist.txt
Vous pouvez maintenant décoder des bases multi-encodées de tout motif en une seule fois.
Avez-vous déjà rencontré ce challenge CTF ennuyeux qui donne une chaîne encodée qui est juste encodée encore et encore avec Base64, Base91, Base85 et ainsi de suite ? Donnez-la simplement à BaseCrack et vous avez terminé ! ;)
Vous voulez l'essayer ? Donnez-lui simplement cette entrée :
IX(Fp@nNG6ef<,*TFE]IT^zdINAb9EVbp,e<u=O6nN)/u+MTnU;Fo#VvQ&cK;mLZI#Jbdook<O{W#+gY%ooe#6pTkTa.9YPU8Uc=pl9BhSM9%kISw2k:8..u/6F2BwNndPZ2o#7NHNP3g,HlZu><*[Nv+T8
et voyez par vous-même ! :)
BaseCrack peut maintenant être utilisé comme une bibliothèque ! Importez simplement la classe BaseCrack() et appelez la fonction decode().
Voir API.
Vous voulez utiliser BaseCrack comme une bibliothèque ? Nous avons ce qu'il vous faut !
Placez simplement basecrack dans le répertoire de votre projet et vous êtes prêt à partir !
Exemple :
# import the BaseCrack class from basecrack.py
from basecrack import BaseCrack
# calling the api function decode() with the encoded base
result = BaseCrack().decode('c3BhZ2hldHRp')
# printing the output
"""
result is tuple where:
result[0] = DECODED STRING
result[1] = ENCODING SCHEME
"""
print('Decoded String: {}'.format(result[0]))
print('Encoding Scheme: {}'.format(result[1]))
Sortie :
Decoded String: spaghetti
Encoding Scheme: Base64
Façons de contribuer
Avant d'ouvrir une PR, assurez-vous que tout est bon en exécutant les tests :
Tests unitaires : (Merci à @FavasM)
python3 -m unittest discover -v -s tests
Sous licence MIT, voir LICENSE pour plus d'informations.