
Serviço de hospedagem de arquivos auto-implantável para red teamers, permitindo enviar e compartilhar facilmente payloads via HTTP e WebDAV.
pwndrop é um serviço de hospedagem de arquivos auto-implantável para enviar payloads de red team ou compartilhar seus arquivos privados de forma segura via HTTP e WebDAV.
Se você já precisou configurar rapidamente um servidor web nginx/apache para hospedar seus arquivos e nunca ficou satisfeito com as limitações do python -m SimpleHTTPServer, pwndrop é definitivamente para você!
Com pwndrop você pode:
Seu principal objetivo é tornar o compartilhamento de arquivos o mais fácil e intuitivo possível, ao mesmo tempo que implementa recursos extras para auxiliar em avaliações de red team.
O frontend do pwndrop é desenvolvido em Vue.js puro + Bootstrap, sem dependências npm ou webpack. O backend serve uma API REST e gerencia um banco de dados local, desenvolvido em linguagem GO.
Se você quiser aprender como usar pwndrop ou conhecer os novos recursos implementados em versões recentes, confira as postagens no meu blog:
Dê uma olhada no fantástico vídeo feito por Luke Turvey (@TurvSec), que explica completamente como começar a usar pwndrop.
Se você ainda não tem um servidor para implantar, recomendo fortemente o Digital Ocean. O servidor Debian 9 mais barato de $5/mês com 25GB de espaço de armazenamento fará maravilhas para você. Você pode usar meu link de afiliado para ganhar $100 extras para gastar em seus servidores em 60 dias gratuitamente.
Registre um novo domínio e aponte seus registros DNS A para o IP da sua VPS. Você também pode registrar um domínio e apontar seus nameservers ns1 e ns2 para o IP da instância pwndrop - ele responderá automaticamente com respostas DNS A válidas.
Se você quiser configurar pwndrop sem um domínio, veja abaixo como configurar uma instância local, que não gerará automaticamente certificados HTTPS.
Certifique-se de que não há servidores DNS ou HTTP(S) em execução antes de tentar instalar pwndrop.
Não recomendo executar linhas de comando únicas antes de baixar e verificar o código do script, mas se você estiver realmente com pressa, aqui está:
curl https://raw.githubusercontent.com/kgretzky/pwndrop/master/install_linux.sh | sudo bash
Isso baixará o binário da versão amd64 mais recente e instalará completamente um daemon em segundo plano.
Primeiro, você precisa baixar o pacote de lançamento desejado em: https://github.com/kgretzky/pwndrop/releases
Em seguida, faça o seguinte (executa as mesmas ações da linha única):
tar zxvf pwndrop-linux-amd64.tar.gz
./pwndrop stop
./pwndrop install
./pwndrop start
./pwndrop status
Primeiramente, certifique-se de ter instalado GO com versão pelo menos 1.13: https://golang.org/doc/install
Em seguida, faça o seguinte:
sudo apt-get -y install git make
git clone https://github.com/kgretzky/pwndrop
cd pwndrop
make
make install
Certifique-se de que pwndrop está em execução.
https://yourdomain.com/pwndrop (este é um valor padrão; certifique-se de usar o caminho secreto que você pré-configurou)https://yourdomain.com/ (já que você autorizou seu navegador, agora verá uma página de login do painel de administração)/pwndrop.Você está pronto para usar!
Você não precisa instalar pwndrop como um daemon e pode executá-lo diretamente do console.
uso: pwndrop [start|stop|install|remove|status] [-config <caminho_do_config>] [-debug] [-no-autocert] [-no-dns] [-h]
gerenciamento do daemon:
start : iniciar o daemon
stop : parar o daemon
install : instalar o daemon usando o gerenciador de sistema disponível (systemd, systemv e upstart suportados)
remove : desinstalar o daemon
status : verificar o status do daemon instalado
parâmetros:
-config : especificar um caminho personalizado para o arquivo de configuração (padrão 'pwndrop.ini' no mesmo diretório do executável)
-debug : ativar saída de depuração
-no-autocert : desabilitar a obtenção automática de certificados TLS da LetsEncrypt; útil quando você deseja conectar via IP ou/e em uma rede local
-no-dns : não executar um servidor DNS na porta 53 UDP; use isso se você não quiser usar pwndrop como servidor de nomes
-h : ajuda de uso
Na primeira execução, pwndrop, por padrão, criará um novo arquivo de configuração pwndrop.ini no mesmo diretório do executável. Você pode modificá-lo posteriormente ou fornecer o seu próprio, por exemplo, para pré-configurar o pwndrop antes da instalação e automatizar ainda mais a implantação da ferramenta.
Aqui está um exemplo de arquivo de configuração com todas as variáveis de configuração disponíveis e comentários:
[pwndrop]
listen_ip = "190.33.86.22" # the external IP of your pwndrop instance (must be set if you want to use the nameserver feature)
http_port = 80 # listening port for HTTP and WebDAV
https_port = 443 # listening port for HTTPS
data_dir = "./data" # directory path where data storage will reside (relative paths are from executable directory path)
admin_dir = "./admin" # directory path where the admin panel files reside (relative paths are from executable directory path)
[setup] # optional: put in if you want to pre-configure pwndrop (section will be deleted from the config file on first run)
username = "admin" # username of the admin account
password = "secretpassword" # password of the admin account
redirect_url = "https://www.somedomain.com" # URL to which visitors will be redirected to if they supply a path, which doesn't point to any shared file (put blank if you want to return 404)
secret_path = "/pwndrop" # secret URL path, which upon visiting will allow your browser to access the login page of the admin panel (make sure to change the default value)
Se você quiser pré-configurar sua instância pwndrop antes da implantação usando qualquer um dos scripts de instalação, coloque seu arquivo de configuração em /usr/local/pwndrop/pwndrop.ini e ele será analisado no momento em que o daemon pwndrop for executado pela primeira vez.
Agradecimentos especiais a @jaredhaight por me inspirar a aprender Vue, com seu framework Faction C2!
Também muitos agradecimentos a todas as pessoas que me deram feedback pré-lançamento e me apoiaram com suas opiniões sobre a ferramenta!
pwndrop é feito por Kuba Gretzky (@mrgretzky) e é lançado sob a licença GPL3.