
Ferramenta rápida de esteganografia por força bruta escrita em Rust útil para CTFs
stegbrute é uma ferramenta rápida de força bruta para esteganografia escrita em Rust
O Stegbrute não funciona sem o steghide! Para instalar o steghide execute:
apt-get install -y steghide
se você não estiver em uma distribuição Debian, pode baixá-lo do site do steghide
O stegbrute pode ser instalado de diferentes formas:
através do cargo (gerenciador de pacotes do Rust)
se você não tem o cargo, pode instalá-lo via apt ou baixando a linguagem Rust
cargo install stegbrute
isso funcionará em todas as plataformas
se você tem Ubuntu/Kali ou outras distribuições Debian, pode instalar o arquivo .deb disponível na seção de releases, depois descompacte o arquivo e execute-o
wget https://github.com/R4yGM/stegbrute/releases/download/0.1.1/stegbrute_0.1.1_amd64.deb &&
dpkg --install stegbrute_0.1.1_amd64.deb
se você não tem o Docker instalado, siga o guia deles
primeiro, você precisa baixar a imagem Docker (apenas 4,93 MB) do registro Docker; você pode vê-la aqui; se não quiser baixar a imagem, também pode clonar o repositório e construir a imagem a partir do Dockerfile
docker pull r4yan/stegbrute:latest
você também pode optar por baixar imagens diferentes substituindo 'latest' por uma versão do stegbrute, ex.
docker pull r4yan/stegbrute:0.1.0
se não quiser baixar a imagem, pode baixar/copiar o Dockerfile do stegbrute que está aqui e depois construir a imagem a partir do Dockerfile
depois, para iniciar o contêiner, você precisa primeiro criar um volume para compartilhar seus arquivos com o contêiner
docker volume create --name stegbrute_data
em seguida, mova ou copie os arquivos que deseja usar com o stegbrute para dentro da pasta do volume, que normalmente fica em /var/lib/docker/volumes/stegbrute_data/_data, basta fazer
cp wordlist.txt /var/lib/docker/volumes/stegbrute_data/_data && cp file.jpg /var/lib/docker/volumes/stegbrute_data/_data
e agora execute o stegbrute
docker run -v stegbrute_data:/stegbrute_data -it --rm --name stegbrute r4yan/stegbrute:latest <opções>
substitua <opções> pelas opções/argumentos que você deseja passar para o stegbrute;
depois de fazer tudo, você não precisa baixar/construir a imagem novamente, a menos que haja novas atualizações ou funcionalidades
Sempre salve seus resultados dentro do volume e não no contêiner, pois assim os resultados serão excluídos! Você pode salvá-los adicionando esta opção -x /$NOME_DO_VOLUME/results.txt ou --extract-file /$NOME_DO_VOLUME/results.txt
se você adicionou isso e fez tudo corretamente, ao final de cada ataque encontrará os resultados dentro da pasta /var/lib/docker/volumes/stegbrute_data/_data
isso funcionará em todas as plataformas
você também pode baixar o programa já compilado e executá-lo, exemplo:
wget https://github.com/R4yGM/stegbrute/releases/download/0.1.1/stegbrute && chmod +x stegbrute
mv stegbrute /usr/local/bin/
stegbrute é muito simples de usar e oferece muitas opções. Você pode ver a ajuda do programa com a opção -h ou --help
============================================================
____ _ ____ _
/ ___|| |_ ___ __ _| __ ) _ __ _ _| |_ ___
\___ \| __/ _ \/ _` | _ \| '__| | | | __/ _ \
___) | || __/ (_| | |_) | | | |_| | || __/
|____/ \__\___|\__, |____/|_| \__,_|\__\___|
|___/
StegBrute v0.1.1 - By R4yan
https://github.com/R4yGM/StegBrute
StegBrute 0.1.1
R4yan <[email protected]>
Steganography bruteforce tool
USAGE:
stegbrute [FLAGS] [OPTIONS] --file-name <file-name> --wordlist <wordlist>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
-v, --verbose shows every try the program does
OPTIONS:
-x, --extract-file <extract-file> the file name path where you want to write the results [default:
stegbrute_results.txt]
-f, --file-name <file-name> the file name path you want to crack
-t, --threads <threads> number of threads to bruteforce the file [default: 3]
-w, --wordlist <wordlist> path of the wordlist
por exemplo:
Opções:
-x ou --extract-file com <nome_do_arquivo> salvará os resultados dos dados extraídos no arquivo especificado; se nenhum arquivo for informado, o stegbrute salvará os resultados no arquivo ./stegbrute_results.txt
-t ou --threads com <número_de_threads> iniciará um número de programas forçando o arquivo simultaneamente; aumentar o número de threads nem sempre significa que será mais rápido, tudo depende de quantas threads sua máquina pode suportar
-f ou --file_name com <nome_do_arquivo> o nome do arquivo que o stegbrute atacará; deve ser um dos formatos suportados: JPEG, BMP, WAV ou AU
-w ou --wordlist com <wordlist> o arquivo de onde o stegbrute retirará as senhas linha por linha e começará a testá-las no arquivo que você deseja quebrar; se não tiver uma, você pode instalar, por exemplo, o
Benchmark do stegbrute em diferentes wordlists usando 3 threads
| Senhas da wordlist | Tempo |
|---|---|
| 100 | 841.12ms |
| 1000 | 8.57s |
| 10000 | 77.79s |
| 100000 | 775.93s |