Instâncias de segurança da informação na plataforma attackdefense.com



... Vivemos em uma era de grandes eventos e pessoas pequenas
... Winston Churchill

Hoje, chamamos a atenção do primeiro artigo do ciclo sobre análise e trabalho de laboratório do recurso attackdefense.com, com o apoio do conhecido organizador da conferência ( Black Hat and Pentes Academy ) - um projeto que permite entender muitos aspectos dos ataques a vários protocolos, serviços e sistemas. Na maioria das vezes, esse recurso é uma plataforma com trabalho de laboratório sobre os tópicos mais relevantes.

Responderemos imediatamente a algumas das perguntas que podem surgir durante a leitura deste material:

Sob o spoiler
  1. O que você gostou sobre este recurso? (Sua facilidade de uso. Você não precisa ter toda uma gama de programas e serviços para aprimorar suas "habilidades", já existem muitos.)
  2. Este artigo é promocional? (Esta série de artigos será de natureza puramente técnica, destinada à aprovação de trabalhos de laboratório, e não ao recurso de relações públicas. Mas não excluímos que o interesse neste site pode aumentar.)
  3. “Imediatamente, a comunidade fará uma pergunta: qual é a ética para descrever as soluções dos problemas de outras pessoas e se recebemos uma aceitação de uma série semelhante de artigos dos autores do recurso”
    (Infelizmente, mas não, estamos tentando contatá-los por meio de endereços públicos. Mas ainda não há resposta.)
  4. Com que frequência e quantos artigos devem ser lançados? (planeja publicar mais 2 materiais com uma apresentação em vídeo. E mais artigos já serão formados a partir dos seus desejos nos comentários.)
  5. O site já possui respostas para trabalhos de laboratório e uma descrição com um vídeo. Por que então este artigo? (Sim, tudo bem, esse material está especialmente presente em antigos trabalhos de laboratório. Mas, infelizmente, alguns dos materiais de investigação sobre os tópicos são pagos. Assim como o vídeo. Não falaremos sobre todos os trabalhos de laboratório. E publicamos nossa solução, com " nossos "materiais e gravações de vídeo. Portanto, não competiremos com o site em si e não interferiremos na venda de assinaturas pagas de materiais)
  6. Perguntas comentários e críticas apropriadas? (Claro! Sempre aberto para conversas, para isso existe: Telegrama: @ orion_0ri0n)
  7. Existem outros tópicos relacionados? (Claro! Existem muitos deles, alguns dos quais formam o TOP dos melhores, como um exemplo: HackTheBox)
  8. Do ponto de vista jurídico, as ações nesse recurso são contrárias à lei? (Não há resposta definitiva para essa pergunta, porque de acordo com as regras deste recurso. Realizando trabalhos de laboratório, você não viola nenhuma lei. Mas se você tentar "quebrar" a arquitetura desse recurso ou outras ações proibidas pelas regras, por exemplo : attackdefense.com/policy/ pp.txt . Esse recurso avisa que seus dados podem ser transferidos para a polícia ou outra autoridade
    Divulgação para a aplicação da lei: Sob certas circunstâncias, a Binary Security Inc. pode ser exigido que divulgue seus dados pessoais, se exigido por lei ou em resposta a solicitações válidas de autoridades públicas (por exemplo, um tribunal ou uma agência governamental).)


Neste artigo, revisamos brevemente:

  • Letras sobre recursos e recursos. E o que isso nos dará.
  • Que tipos de "ataques" o recurso oferece.
  • Material sobre o vetor de ataque de acordo com o trabalho de laboratório que descreveremos.
  • A solução de um dos laboratórios de "teste".
  • Conclusões

Os seguintes artigos estão planejados:

  • Complete a linha completa de um tipo de direção de ataque. (Análise de tráfego)
  • Vamos preparar os materiais para o curso.
  • Vamos analisar os principais erros que surgem ao resolver o trabalho de laboratório.
  • Vamos coletar uma breve teoria nessa direção (teses / presépios)
  • Respondemos às perguntas do artigo anterior.

1. Introdução


O objetivo perseguido por nós: Desenvolver o interesse no estudo de serviços para aqueles que não haviam se dedicado anteriormente a esse tópico, mas que tinham um interesse crescente nessa área.

Algumas pessoas e comunidades já começaram este tópico, mas ninguém revelou o potencial do recurso. O que tentamos oferecer, o que os outros não. Essas são explicações nas tecnologias em que uma vulnerabilidade específica surgiu, o que ajudará a entender por que essa vulnerabilidade surgiu e como ela pode ser fechada, evitada ou combatida.

Para pessoas mais hábeis que já formaram sua opinião e têm sua própria direção de desenvolvimento, sugerimos que você se familiarize com a possibilidade de descobrir novos vetores para si mesmo.

Para profissionais, oferecemos-lhe a descoberta do novo "Capture the Flag". Essa direção não receberá uma revisão detalhada. Isso permanecerá para passagem independente. (Mas, se houver voluntários que desejam compartilhar suas realizações, resultados ou soluções originais. Teremos o maior prazer de acrescentar seus pensamentos a uma seção separada dos artigos. Como uma revisão adicional. Com a menção de heróis.

Veja aqui para mais detalhes:
Para quem estiver interessado em publicar seus resultados, sugerimos incluí-los nesta série de artigos. Onde será necessário de você:

  • Forneça informações sobre qual camada do trabalho de laboratório resolvido você deseja demonstrar. (Talvez alguém já tenha passado e o material esteja sendo preparado)
  • A própria solução para este laboratório. A solução deve incluir:
    1. O código necessário para resolver este laboratório. (na maioria das vezes, ele já está no site. E se corresponder, não há necessidade de copiar)
    2. Comentários sobre o código. Afinal, talvez você tenha usado sua solução original. Ou uma decisão não estipulada pela condição. O que acelera, reduz o tempo e os custos de mão-de-obra.
    3. Conclusões em laboratório. O que são sugestões de comentários ou sua opinião.
    4. Materiais para este curso. (já que existem muitas direções e a comunidade (inclusive nós) pode ser inferior a você em conhecimento)
  • São necessários materiais de vídeo e / ou capturas de tela.

O que podemos oferecer: (infelizmente, um pouco)

  • A publicação do seu material no contexto de um artigo geral sobre a passagem de trabalhos de laboratório. (exceto se o material for suficiente para um artigo separado, será uma edição especial.)
  • Link para você, seu perfil ou outros recursos (a seu pedido.)
  • Menção publicitária ao seu serviço ou recurso. No início do artigo. Na seção sobre o autor.
  • Nosso respeito e reconhecimento da comunidade.
  • Os planos: Ao publicar um vídeo da passagem do trabalho de laboratório, em que você participou. Link para você ou seu recurso. (abaixo do vídeo na descrição)


A carregar


Algumas estatísticas:

No momento da redação deste artigo, o número de laboratórios aumentou de 505 - 664 - 700 unidades.



Screenshots



Vamos rapidamente percorrer o menu:

Recon. De redeInteligência de rede: digitalização, coleta de informações sobre os serviços mais populares (servidores IMAP, DNS, plataformas SIEM, servidores SMB, servidores SSH, servidores Telnet e outros.)
Webapps do mundo realAplicativos da Web: Explorando vulnerabilidades na Web. Injeção de SQL, Upload de Arquivos, XSS Armazenado e outros
Análise de tráfegoAnálise de tráfego: aprendemos a trabalhar com tshark e análise de tráfego, incluindo Wi FI.
CVEs do WebappCVEs do Webapp: conjunto de tarefas do CVE (dividido por ano, muito conveniente)
MetasploitAtaques Metasploit: instância sobre como trabalhar com metasplit. Temas são diferentes.
Python ofensivoAtaque Python:
Giro da redeGiro de rede - não sujeito a tradução correta
RachadurasRachaduras *:
Ataques à infraestruturaAtaques à infraestrutura de rede: explorando vulnerabilidades nos serviços de rede
Escalonamento de privilégiosEscalonamento de privilégios: instância para elevar privilégios entre plataformas. Linux / web
Deliberadamente vulnerávelVulnerabilidades intencionais *: ???
ForenseForense: Na maior parte, análise de logs e a capacidade de trabalhar com eles.
Análise de firmwareAnálise de firmware: Análise de firmware de roteadores, busca por backdoors.
Engenharia reversaEngenharia reversa: instância com "puxar" senhas e chaves.
Codificação seguraCodificação segura: Uma nova seção ainda está sendo formada
IoTIoT: Uma nova seção ainda está sendo formada
Gostei muito dos dois últimos pontos: (Secure Coding e IoT) por um motivo. Anteriormente, eu não tinha visto laboratórios similares para testes. (sobre o recurso que apareceram em 27/02/2019 - atualizado) Recomendamos que você tente descobrir por conta própria.

Análise de laboratório: Network Recon - Memcashed [Theory]


Memcached é um software que implementa um serviço de cache de dados baseado em tabela de hash. Usando a biblioteca do cliente, permite armazenar dados em cache na RAM de muitos servidores disponíveis (consulte wiki ou habr.com para obter mais detalhes ).

Qual é o interesse deste produto, por que ele recebe tanta atenção?
O problema está na simplicidade de usar essa ferramenta no interesse dos "invasores", porque o protocolo usado neste aplicativo é UDP. Como você se lembra, qual é a diferença entre os protocolos TCP e UDP ( deixe-me lembrá-lo de quem esqueceu o exemplo: otvet.mail / Wiki ou link ). I.e. O UDP permite enviar dados de quadro sem se preocupar em recebê-los pelo destinatário. E o mais importante, a quantidade de dados transmitidos por UDP é muitas vezes maior que por TCP.

Mas o que é essa atenção? E o fato é que, ao acessar este software através de uma rede / Internet, para a porta 11211 com um tamanho de pacote de entrada de 100 kb. A resposta pode ser obtida em 1.000-50.000 vezes mais. Aqueles. 100 kb enviados retornarão 100 000 kb. Boa relação? O melhor!

Mas qual é o perigo? Você pergunta. Por que essas informações são necessárias?
Mas o problema é o seguinte: em redes locais e operadoras de telecomunicações que não controlam o tráfego, é possível um ataque como a falsificação de IP, ou seja, substituição de ip de saída. Acontece que agora o malfeitor não pode apenas se apresentar como alguém, mas também em seu nome, solicitará qualquer informação.

E aqui acontece isso (brevemente ilustrado na imagem):



  1. Um invasor usando falsificação de IP falsifica seu IP. No ip "vítima".
  2. Faz uma solicitação para o servidor Memcashed. Com um endereço IP alterado
  3. O servidor responde à solicitação. Mas a resposta ao recurso já envia para a "vítima"
  4. A "vítima" recebe uma resposta 100 vezes o tamanho da solicitação.

Como resultado, um grande número dessas solicitações-respostas. Um ataque Dos ou DDos pode ocorrer dependendo do número de máquinas zumbis.

Mais detalhes podem ser encontrados aqui: securitylab , xakep.ru , 360totalsecurity

Ou pesquise no Google.

Mitigação: Como corrigir vulnerabilidades no servidor Memcached?
Uma das maneiras mais fáceis de impedir que os servidores Memcached sejam mal comportados como refletores é um firewall, bloqueando ou limitando as velocidades UDP na porta de origem 11211. Como o Memcached usa INADDR_ANY e começa com o suporte a UDP por padrão, os administradores recomendam desativar o suporte a UDP, caso não o usem. Um ataque através do Memcached não pode ser facilmente interrompido pelos ISPs (Provedores de Serviços da Internet) se o IP falso for permitido na Internet.

Um exemplo de localização de um serviço usando o nmap (não da maneira mais racional)
nmap 192.168.1.1 -p 11211 -sU -sS --script memcached-info

Neste ciclo de laboratório, você poderá se familiarizar com as funções simples de inteligência do serviço Memcashed. Onde as ferramentas do arsenal Metasploit serão afetadas. E comandos padrão do sistema Linux. Não é tão complicado e comum.

Análise laboratorial [Prática]


[Menu]


Cada trabalho de laboratório possui itens de menu:
1. Cessão
2. Regras
3. Respostas para a tarefa
4. Dicas para resolver. (nem sempre e nem em todos os laboratórios)
5. Referências para leitura (somente En)

[Cessão]


1. Encontre a versão do servidor memcached usando o nmap.
2. Encontre as informações da versão usando netcat ou telnet.
3. Encontre o número máximo de conexões de entrada simultâneas permitidas pelo servidor memcached usando os scripts nmap disponíveis.
4. Encontre o número de itens atuais no servidor memcached usando o memcstat.
5. Encontre o valor armazenado na chave “flag” dos pares de valores-chave despejados pelo módulo metasploit disponível.
6. Encontre o nome de todas as chaves presentes no servidor memcached usando o memcdump.

[Iniciar]



Clique em "Lad link", uma nova janela será aberta com o terminal kali linux



Esta será a nossa janela principal com você. (não algumas máquinas virtuais. Tudo já foi instalado e configurado para você. Todos os scripts do laboratório já estão dentro. Não há necessidade de baixar, pesquisar, inventar nada!) Como regra geral (mas nem sempre) os materiais, scripts e bancos de dados estão na pasta raiz, ou em casa.

Tarefa 1: Encontre a versão do servidor memcached usando o nmap.

Dica já dada anteriormente. Nós usamos o nmap

 Nmap –p 11211 ipaddress –sV –p .    11211 -sV –    



Mais detalhes sobre o nmap podem ser encontrados no final do artigo. Na seção Extras. materiais. Vamos colocar berços lá.

Resultado: 1.5.12 (a resposta no laboratório que eles escrevem 1.5.6 - eles sabem melhor)

Tarefa 2: Encontre informações sobre a versão usando netcat ou telnet.
Quanto eles não perguntaram:



Eu não recebi uma resposta.

Resultado: falha ao obter o resultado.

Tarefa 3: Encontre o número máximo de conexões de entrada simultâneas permitidas pelo servidor memcached para usar os scripts nmap disponíveis.

Dica: pesquisa no google: nmap memcached



Seguimos os links e vemos que já existe uma solução pronta para encontrar informações sobre o memcache. Como garantimos que todos os scripts já estão instalados, tentamos:

 Nmap –p 111211 –script memcached-info 182.220.144.3 



Resultado: 2147

Tarefa 4: Encontre o número de itens atuais no servidor memcached usando o memcstat.



 memcstat –h memcstat --servers=”IP” 

Resultado: curr_items: 10

Tarefa 5: Encontre o valor armazenado na chave "flag" dos pares de valores-chave redefinidos pelo módulo metasploit disponível



 use auxiliary/gather/memcached_extractor show options set rhosts 192.220.144.3 run 

Resposta do script: sinalizador "VALUE sinalizador 0 32 \ r \ n25c8dc1c75c9965dff9afd3c8ced2775 \ r \ nEND \ r \ n"
Resultado: "VALUE sinalizador 0 32 \ r \ n25c8dc1c75c9965dff9afd3c8ced2775 \ r \ nEND \ r \ n"
(25c8dc1c75c9965dff9afd3c8ced2775) Em princípio, a mesma coisa.

Tarefa 6: Encontre o nome de todas as chaves no servidor memcached usando o memcdump.

Dica: já os conhecemos. Com a ajuda do nosso metasplit na tarefa anterior. Bem, ainda podemos ver:

 root@attackdefense:~# memcdump 192.220.144.3 

sinalizador, senha, país, zip, estado, cidade, endereço, apelido, sobrenome, sobrenome, nome


Resultado: bandeira, senha, país, CEP, estado, cidade, endereço, apelido, sobrenome, sobrenome, nome

Tarefa 7: Encontre o valor armazenado na chave "first_name" com a ferramenta memcached.

Você quer tentar você mesmo com a ferramenta memcached-tool

Resultado: mas a resposta será a mesma: Jimmy
Como você descobriu? Nós olhamos para uma captura de tela do "Resultado 5".

Resumir


1. Em relação a este laboratório

Como vimos, existem várias abordagens para resolver as tarefas atribuídas (claramente visíveis nas perguntas 5, 6 e 7) e, mais importante, seu tempo depende da escolha da solução.

Infelizmente, ainda não entendi a essência da tarefa número 2. Mas, infelizmente, não obtive sucesso ( ou talvez você só precisasse fazer tudo como nmap –o endereço IP ou nmap –A “endereço IP. Mas essa é outra história).

2. Em relação a todo o recurso.

O que gostamos deste recurso:

Título de spoiler
1. Muito trabalho de laboratório em vários tópicos
2. Não há necessidade de procurar vários utilitários para este ou aquele ataque. (tudo já está no laboratório)
3. Não há necessidade de implantar imagens / contêineres virtuais no seu hardware. E gaste tempo nisso. (economiza muito tempo)
4. Tudo funciona através do navegador. Não é necessário ter massa e outros utilitários à mão. Já tem tudo
5. Grátis!
6. Atualizações constantes (última atualização + 160 trabalhos de laboratório).
7. Há respostas para cada laboratório. Mesmo se você não tiver certeza do resultado, pode verificar a si mesmo.
8. Seguro! Não é punível por lei. (Se você não quebrar)
9. Não há restrições no tempo de execução e no número de tentativas. (Estou mentindo - existe. Mas, para detalhes, veja os contras do projeto)
10. E acho que a coisa mais importante a que esse projeto me atraiu. Esta é uma oportunidade para estudar independentemente novas áreas. Não há soluções prontas (existem pistas no laboratório), mas apenas orientações com a expectativa de um determinado resultado.
11. Você pode ir junto com parte do laboratório.
12. Existe um LCR.

O que não gostou:

Título de spoiler
1. Limite no número de lançamentos da instância. Apenas 10 instâncias são lançadas por dia.
2. Alguns dos resultados não correspondem à resposta no site
3. Não há suporte para o idioma russo.
4. Hardware fraco alocado para cada instância. (os comandos ainda são processados ​​por um longo tempo)
5. O console encerra a conexão após um certo tempo. Precisa ser reaberto.

Adicionar. Materiais


Man nmap :
Folha de dicas :
Man rus nmap

Adição de PS dos autores:

Sites para encontrar os serviços necessários
Não os use em detrimento!

censys.io
www.shodan.io

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


All Articles