
Decodificar Todas as Bases - Decodificador de Esquema de Base
BaseCrack é uma ferramenta escrita em Python que pode decodificar todos os esquemas de codificação base alfanuméricos. Esta ferramenta pode aceitar entrada única do usuário, múltiplas entradas de um arquivo, entrada por argumento, bases multi-codificadas, bases em dados EXIF de imagens, bases em imagens com OCR e decodificá-las incrivelmente rápido.
Para uma demonstração básica, experimente a Interface Web que usa a API do BaseCrack.
$ git clone https://github.com/mufeedvh/basecrack.git
$ cd basecrack
$ pip3 install -r requirements.txt
$ python3 basecrack.py -h
NOTA: É recomendado usar Python3!
Linux:
$ sudo apt-get update
$ sudo apt-get install tesseract-ocr libtesseract-dev
MacOS:
$ brew install tesseract
Windows:
A Detecção OCR é implementada com Tesseract e o Windows requer a instalação do executável do Tesseract. Instalar as dependências do requirements.txt que inclui pytesseract deve instalá-lo. Caso não instale, veja como configurar:
Program Files/Program Files (x86) sob o diretório Tesseract-OCR.config.json e está tudo pronto! Se você não o tiver, instale-o a partir daqui aqui e defina o caminho no config.json.Documentação do Tesseract: https://tesseract-ocr.github.io/
NOTA: Não testei completamente esta ferramenta no Windows, portanto, se você encontrar algum problema, por favor abra uma issue.
Obter uma lista de todos os argumentos:
python3 basecrack.py -h
Para decodificar uma única codificação base a partir da entrada do usuário:
python3 basecrack.py
Para decodificar uma única codificação base a partir de argumento (-b/--base):
python3 basecrack.py -b SGVsbG8gV29ybGQh
Para decodificar múltiplas codificações base a partir de um arquivo (-f/--file):
python3 basecrack.py -f file.txt
Modo Mágico: Para decodificar bases multi-codificadas de qualquer padrão (-m/--magic):
python3 basecrack.py --magic
Para inserir uma imagem para o modo de detecção EXIF/OCR (-i/--image):
python3 basecrack.py -i image.jpg (--exif/--ocr)
Dados EXIF: Para decodificar bases em dados EXIF de imagens (-e/--exif):
python basecrack.py -i image.jpg --exif
Detecção OCR de Base: Para decodificar bases em imagens com detecção OCR (-c/--ocr):
python basecrack.py -i image.jpg --ocr
Para gerar uma wordlist/saída com as bases decodificadas (-o/--output):
python basecrack.py -f file.txt -o output-wordlist.txt
Agora você pode decodificar bases multi-codificadas de qualquer padrão em uma única vez.
Já se deparou com aquele desafio CTF chato que te dá uma string codificada que é simplesmente codificada repetidamente com Base64, Base91, Base85 e assim por diante? Basta dar isso ao BaseCrack e pronto! ;)
Quer testar? Basta fornecer esta entrada:
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
e veja por si mesmo! :)
O BaseCrack agora pode ser usado como uma biblioteca! Basta importar a classe BaseCrack() e chamar a função decode().
Veja API.
Quer usar o BaseCrack como uma biblioteca? Nós temos o que precisa!
Basta colocar basecrack no diretório do seu projeto e está pronto!
Exemplo:
# 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]))
Saída:
Decoded String: spaghetti
Encoding Scheme: Base64
Formas de contribuir
Antes de abrir um PR, certifique-se de que está tudo certo executando os testes:
Testes Unitários: (Obrigado @FavasM)
python3 -m unittest discover -v -s tests
Licenciado sob a Licença MIT, veja LICENSE para mais informações.