
Offensive Docker é uma imagem com as ferramentas ofensivas mais utilizadas para criar um ambiente de forma fácil e rápida para lançar avaliações contra os alvos.
Offensive Docker é uma imagem com as ferramentas mais usadas para criar um ambiente de pentest de forma fácil e rápida.
➡️ Nota: Confira o próximo repositório para saber como iniciar o offensive docker em uma VPS no Google Cloud Platform ou Digital Ocean (crédito gratuito incluído). Offensive Docker VPS
Veja a wiki do projeto para documentação.
Você pode usar a imagem docker pelas duas opções a seguir:
git clone --depth 1 https://github.com/aaaguirrep/offensive-docker.git
cd offensive-docker
docker build -t offensive-docker .
docker run --rm -it --name my-offensive-docker offensive-docker /bin/zsh
Use a imagem do Docker Hub: aaaguirrep/offensive-docker
docker pull aaaguirrep/offensive-docker
docker run --rm -it --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
Existem diferentes casos de uso para utilizar a imagem e você deve saber como executar o container corretamente.
Usar o container para acessar máquinas do HTB (Hack the Box) via VPN HTB.
docker run --rm -it --cap-add=NET_ADMIN --device=/dev/net/tun --sysctl net.ipv6.conf.all.disable_ipv6=0 --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
Compartilhar informações do seu diretório local para o diretório do container e salvar informações no seu diretório local. Você deve salvar informações sob o diretório /offensive.
docker run --rm -it -v /caminho/para/diretório/local:/offensive --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
Expor serviços internos do container (apache, squid) para o seu ambiente local.
docker run --rm -it --name my-offensive-docker -p 80:80 -p 3128:3128 aaaguirrep/offensive-docker /bin/zsh
Dentro do container inicie os serviços apache2 e squid usando os aliases.
apacheUp
squidUp
Montar diretórios usando o comando umount.
docker run --rm -it --privileged --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
As ferramentas são baixadas no diretório /tools.
Você pode configurar a imagem docker com configurações úteis como:
Para usar chaves de acesso, tokens ou chaves de API no docker, consulte o repositório Offensive Docker Custom
Para usar ambas as opções, você deve usar a opção -v para mapear o diretório local com o diretório /offensive do container.
Adicione a linha a seguir na etapa "Create shorcuts" no Dockerfile, construa uma nova imagem e execute um novo container com a opção -v.
RUN echo "alias vpnhtb=\"openvpn /offensive/caminho/para/arquivo.ovpn\"" >> /root/.zshrc
Crie um novo Dockerfile com as etapas a seguir, construa uma nova imagem e execute um novo container com a opção -v.
FROM aaaguirrep/offensive-docker
# Criar um atalho e carregar o arquivo ovpn da estação de trabalho
RUN echo "alias vpnhtb=\"openvpn /offensive/caminho/para/arquivo.ovpn\"" >> /root/.zshrc
Quando você exclui um container, todas as informações são apagadas, incluindo o histórico de comandos. A configuração a seguir oferece uma opção para salvar o histórico de comandos no seu ambiente local e carregá-lo quando você executar um novo container. Assim, você não perderá seu histórico de comandos ao executar um novo container.
Para usar ambas as opções, você deve usar a opção -v para mapear o diretório local com o diretório /offensive do container.
Adicione a linha a seguir na etapa "Create shorcuts" no Dockerfile, construa uma nova imagem e execute um novo container.
# Salvar e carregar o histórico de comandos no seu ambiente local
RUN sed -i '1i export HISTFILE="/history/.zsh_history"' /root/.zshrc
Crie um novo Dockerfile com as etapas a seguir, construa uma nova imagem e execute um novo container.
FROM aaaguirrep/offensive-docker
# Salvar e carregar o histórico de comandos no seu ambiente local
RUN sed -i '1i export HISTFILE="/history/.zsh_history"' /root/.zshrc
A imagem foi testada nos seguintes ambientes:
Serviço Docker para Mac
Docker version 19.03.13, build 4484c46d9d
Serviço Docker para instância Linux no Google Cloud Platform
Docker version 19.03.6, build 369ce74a3c
Serviço Docker para droplet Linux no Digital Ocean
Docker version 19.03.6, build 369ce74a3c
Não salve informações nos diretórios do container, pois elas serão perdidas após a exclusão do container. Você deve salvar informações no seu ambiente local usando o parâmetro -v ao executar o container. Por exemplo:
docker run --rm -it -v /caminho/para/diretório/local:/offensive --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
O comando acima especifica um caminho de diretório local mapeado com o diretório /offensive do container. Você deve salvar todas as informações sob o diretório /offensive.
Use hashcat e john the ripper em ambientes controlados como CTF. Você pode experimentar problemas.
Obrigado por suas doações, são sempre apreciadas.
Enquanto bebo café, verifico mais ferramentas para adicionar na imagem docker.
Obrigado a todos os nossos contribuidores!
Copyright (c) 2020, Arsenio Aguirre