Jogue na caixa

Muitos anos atrás, quando tive que treinar jovens profissionais para trabalhar com o Active Directory, eu estava tristemente calculando que tipo de poder de computação eu precisaria em um centro de treinamento. Era o tempo distante em que a virtualização havia começado a conquistar a TI. Coloquei os requisitos para trabalhos, controladores de domínio, servidores de aplicativos em uma coluna e os números não me agradaram nada. Eles não agradaram o administrador do centro de treinamento.

Desde então, um grande número de cursos foi lido, mas o problema dos recursos não desapareceu em nenhum lugar, enquanto um enorme mamífero azul carregado de contêineres apareceu no horizonte.
Claro, acho que todo mundo pesquisou "Container vs VM" e conseguiu algo assim.


Isso não explica muito, mas a essência geral é clara: em vez de um grande número de sistemas operacionais e aplicativos, lançamos um sistema operacional e os aplicativos necessários iniciam dentro dele. Essa abordagem tem seus prós e contras, mas hoje falaremos sobre como os contêineres podem ajudar no treinamento de defensores e auditores.

A coisa mais simples possível é usar contêineres para criar ambientes de trabalho intencionalmente vulneráveis. Agora, em vez de implantar as versões necessárias do apache, mysql e outras coisas, podemos obter um contêiner pronto com tudo o que você precisa. Vamos começar, é claro, com os clássicos:

• O aplicativo da Web DVWA mais popular e vulnerável. Um aplicativo php / mysql clássico com seu XSS, CSRF, LFI favorito e muito mais. Um pouco desatualizado, mas continua a ser encontrado a cada segundo pentest:
Aplicativo Web Vulnerável Maldito (DVWA) (docker pull citizentig / dvwa)

• Outro aplicativo popular no qual as vulnerabilidades são estruturadas de acordo com o OWASP TOP10:
Aplicativo Prático de Teste de Caneta na Web OWASP Mutillidae II (docker pull citizentig / nowasp)

• Loja de sucos OWASP, criada com base no popular angular node.js, nosql, mas não menos vulnerável a isso. Minha escolha para quem mergulha no mundo corajoso dos testes de penetração:
Loja de sucos OWASP (docker pull bkimminich / loja de sucos).

• O mesmo OWASP TOP10, baseado apenas no Node.js:
OWASP NodeGoat (compilação do docker && composição do docker)

• Outro aplicativo da OWASP com o mesmo conjunto de vulnerabilidades:
Imagem da janela de encaixe OWASP WebGoat Project 8.0 (janela de encaixe webgoat / webgoat-8.0)

• Uma vez que haja uma cabra, deve haver um pastor. No nosso caso, é o OWASP Security Shepherd, que permite examinar o lado do cliente dos aplicativos da Web e aplicativos móveis:
OWASP Security Shepherd (docker pull ismisepaul / securityshepherd)

Periodicamente, quando outra vulnerabilidade é revelada, pode ser útil tocá-lo com as mãos. Você não precisa criar uma máquina virtual para isso. Temos VaaS - vulnerabilidade como serviço:

Vulnerabilidade como serviço: Heartbleed (docker pull hmlio / vaas-cve-2014-0160)

Vulnerabilidade como serviço: SambaCry (docker pull vulnerables / cve-2017-7494)

Vulnerabilidade como serviço: Shellshock (docker pull hmlio / vaas-cve-2014-6271)

Você também pode explorar produtos específicos que costuma encontrar em pentests, por exemplo, WordPress vulnerável:

Instalação vulnerável do WordPress (docker pull wpscanteam / vulnerwordwordpress)

Além disso, as próprias ferramentas de teste podem ser obtidas na forma de contêineres: nmap , zap , wpscan , metasploit , etc.

E mesmo toda a imagem do Kali Linux pode ser obtida com o comando docker pull kalilinux / kali-linux-docker

A propósito, agora os próprios contêineres se tornaram objetos de teste, então as máquinas virtuais correspondentes começaram a aparecer para auto-estudo - Vulnerable Docker: 1 , BSidesTLV: 2018 CTF , myHouse7: 1 , DonkeyDocker: 1 .

Os contêineres têm muitas vantagens, no entanto, é óbvio que o número de adeptos das máquinas virtuais clássicas não está diminuindo. Há muitas razões para isso, mas, de fato, se os recursos do seu centro de treinamento permitirem, e você pode automatizar o trabalho usando o Packer e o Vagrant, é muito cedo para pensar neste tópico.

Sergey Polunin ,
Líder de equipe, Departamento de design, Gazinformservice LLC

Source: https://habr.com/ru/post/pt471948/


All Articles