Busca cibernética da equipe de suporte técnico da Veeam

Neste inverno, ou melhor, em um dos dias entre o Natal católico e o Ano Novo, os engenheiros de suporte técnico da Veeam estavam ocupados com tarefas inusitadas: caçavam um grupo de hackers chamado “Veeamonymous”.

Busca cibernética da equipe de suporte técnico da Veeam

Ele contou como os próprios rapazes inventaram e realizaram uma verdadeira busca na realidade em seu trabalho, com tarefas “próximas ao combate” Kirill Stetsko, Engenheiro de escalonamento.

- Por que você começou isso?

- Mais ou menos da mesma forma que as pessoas criaram o Linux uma vez - apenas por diversão, para seu próprio prazer.

Queríamos movimento e ao mesmo tempo queríamos fazer algo útil, algo interessante. Além disso, era necessário dar algum alívio emocional aos engenheiros no seu trabalho diário.

- Quem sugeriu isso? De quem foi a ideia?

— A ideia foi nossa gerente Katya Egorova, e então o conceito e todas as outras ideias nasceram através de esforços conjuntos. Inicialmente pensamos em fazer um hackathon. Mas durante o desenvolvimento do conceito, a ideia se transformou em uma busca, afinal engenheiro de suporte técnico é uma atividade diferente de programação.

Então chamamos amigos, camaradas, conhecidos, diversas pessoas nos ajudaram com o conceito - uma pessoa do T2 (a segunda linha de apoio é Nota do editor), uma pessoa com T3, duas pessoas da equipa SWAT (equipa de resposta rápida para casos particularmente urgentes - Nota do editor). Todos nós nos reunimos, sentamos e tentamos pensar em tarefas para nossa missão.

— Foi muito inesperado saber de tudo isso, pois, até onde eu sei, a mecânica das quests costuma ser trabalhada por roteiristas especialistas, ou seja, você não só lidou com uma coisa tão complexa, mas também em relação ao seu trabalho , à sua área de atuação profissional.

— Sim, queríamos não apenas entretenimento, mas “aumentar” as habilidades técnicas dos engenheiros. Uma das tarefas do nosso departamento é a troca de conhecimentos e treinamentos, mas tal busca é uma excelente oportunidade para deixar as pessoas “tocar” algumas técnicas novas para elas ao vivo.

— Como você criou as tarefas?

— Tivemos uma sessão de brainstorming. Tínhamos o entendimento de que tínhamos que fazer alguns testes técnicos, e que fossem interessantes e ao mesmo tempo trouxessem novos conhecimentos.
Por exemplo, pensamos que as pessoas deveriam tentar detectar tráfego, usar editores hexadecimais, fazer algo para Linux, algumas coisas um pouco mais profundas relacionadas aos nossos produtos (Veeam Backup & Replication e outros).

O conceito também foi uma parte importante. Decidimos desenvolver o tema dos hackers, do acesso anônimo e de uma atmosfera de sigilo. A máscara de Guy Fawkes foi transformada em símbolo, e o nome surgiu naturalmente - Veeamonymous.

"No começo era a palavra"

Para despertar o interesse, decidimos organizar uma campanha de relações públicas com o tema quest antes do evento: penduramos cartazes com o anúncio em nosso escritório. E poucos dias depois, secretamente de todos, pintaram-nos com latas de spray e começaram um “pato”, dizem que alguns agressores estragaram os cartazes, até anexaram uma foto com prova….

- Então você mesmo fez isso, ou seja, a equipe de organizadores?!

— Sim, na sexta-feira, por volta das 9 horas, quando todos já haviam saído, fomos desenhar a letra “V” em verde nos balões.) Muitos participantes da missão nunca adivinharam quem fez isso - as pessoas vieram até nós e perguntou quem estragou os cartazes? Alguém levou esse assunto muito a sério e conduziu uma investigação completa sobre o assunto.

Para a missão, também escrevemos arquivos de áudio, sons “arrancados”: por exemplo, quando um engenheiro se conecta ao nosso sistema [CRM de produção], há um robô respondendo que diz todo tipo de frases, números... Aqui estamos nós a partir daquelas palavras que ele gravou, compôs frases mais ou menos significativas, enfim, talvez um pouco tortas - por exemplo, obtivemos “Não há amigos para te ajudar” em um arquivo de áudio.

Por exemplo, representamos o endereço IP em código binário e, novamente, usando esses números [pronunciados pelo robô], adicionamos todos os tipos de sons assustadores. Nós mesmos filmamos o vídeo: no vídeo temos um homem sentado com um capuz preto e uma máscara de Guy Fawkes, mas na realidade não há uma pessoa, mas três, porque duas estão atrás dele e segurando um “pano de fundo” feito de um cobertor :).

- Bem, você está confuso, para ser franco.

- Sim, pegamos fogo. Em geral, primeiro elaboramos nossas especificações técnicas e depois compusemos um esboço literário e lúdico sobre o tema do que supostamente aconteceu. De acordo com o cenário, os participantes estavam caçando um grupo de hackers chamado “Veeamonymous”. A ideia era também que iríamos, por assim dizer, “quebrar a 4ª parede”, ou seja, transferiríamos os acontecimentos para a realidade - pintávamos a partir de uma lata de spray, por exemplo.

Um dos falantes nativos de inglês do nosso departamento nos ajudou no processamento literário do texto.

- Espere, por que um falante nativo? Você fez tudo em inglês também?!

— Sim, fizemos isso para os escritórios de São Petersburgo e Bucareste, então tudo estava em inglês.

Para a primeira experiência tentamos fazer tudo funcionar, então o roteiro ficou linear e bastante simples. Adicionamos mais ambientes: textos secretos, códigos, imagens.

Busca cibernética da equipe de suporte técnico da Veeam

Também usamos memes: havia um monte de fotos sobre temas de investigação, OVNIs, algumas histórias de terror populares - algumas equipes se distraíram com isso, tentando encontrar algumas mensagens escondidas ali, aplicar seus conhecimentos de esteganografia e outras coisas... mas, claro, não havia nada parecido.

Sobre espinhos

Contudo, durante o processo de preparação, também enfrentámos desafios inesperados.

Lutamos muito com eles e resolvemos todos os tipos de problemas inesperados, e cerca de uma semana antes da missão pensamos que tudo estava perdido.

Provavelmente vale a pena contar um pouco sobre a base técnica da missão.

Tudo foi feito em nosso laboratório ESXi interno. Tínhamos 6 equipes, o que significa que tivemos que alocar 6 pools de recursos. Assim, para cada equipe implantamos um pool separado com as máquinas virtuais necessárias (mesmo IP). Mas como tudo isso estava localizado em servidores que estão na mesma rede, a configuração atual de nossas VLANs não nos permitia isolar máquinas em pools diferentes. E, por exemplo, durante um teste, recebemos situações em que uma máquina de um pool se conectou a uma máquina de outro.

— Como você conseguiu corrigir a situação?

— No começo pensamos muito, testamos todo tipo de opções com permissões, vLANs separadas para máquinas. Como resultado, eles fizeram isso - cada equipe vê apenas o servidor Veeam Backup, por meio do qual ocorre todo o trabalho adicional, mas não vê o subconjunto oculto, que contém:

  • várias máquinas Windows
  • Servidor principal do Windows
  • Máquina Linux
  • emparelhar VTL (biblioteca de fita virtual)

Todos os pools recebem um grupo separado de portas no switch vDS e sua própria VLAN privada. Este duplo isolamento é exatamente o que é necessário para eliminar completamente a possibilidade de interação em rede.

Sobre os corajosos

— Alguém poderia participar da missão? Como as equipes foram formadas?

— Esta foi a nossa primeira experiência na realização de um evento deste tipo, e as capacidades do nosso laboratório estavam limitadas a 6 equipas.

Primeiramente, como já disse, realizamos uma campanha de relações públicas: por meio de cartazes e mailings, anunciamos que seria realizada uma missão. Tínhamos até algumas pistas - as frases estavam criptografadas em código binário nos próprios cartazes. Dessa forma, despertamos o interesse das pessoas, e as pessoas já faziam acordos entre si, com amigos, com amigos, e cooperavam. Como resultado, mais pessoas responderam do que grupos, então tivemos que fazer uma seleção: criamos uma tarefa de teste simples e a enviamos para todos que responderam. Era um problema lógico que precisava ser resolvido rapidamente.

Uma equipe era permitida com até 5 pessoas. Não havia necessidade de capitão, a ideia era cooperação, comunicação entre si. Alguém é forte, por exemplo, em Linux, alguém é forte em fitas (backups em fitas), e todos, vendo a tarefa, poderiam investir seus esforços na solução geral. Todos se comunicaram e encontraram uma solução.

Busca cibernética da equipe de suporte técnico da Veeam

— Em que ponto esse evento começou? Você teve algum tipo de “hora X”?

— Sim, tínhamos um dia estritamente marcado, escolhemos para que houvesse menos carga de trabalho no departamento. Naturalmente, os líderes das equipes foram notificados com antecedência de que tais e tais equipes foram convidadas a participar da missão e precisavam receber algum alívio [em relação ao carregamento] naquele dia. Parecia que deveria ser final de ano, 28 de dezembro, sexta-feira. Esperávamos que demorasse cerca de 5 horas, mas todas as equipes concluíram mais rápido.

— Todos estavam em pé de igualdade, todos tinham as mesmas tarefas baseadas em casos reais?

— Bem, sim, cada um dos compiladores tirou algumas histórias da experiência pessoal. Sabíamos de algo que isso poderia acontecer na realidade, e seria interessante para uma pessoa “sentir”, olhar e descobrir. Eles também pegaram algumas coisas mais específicas – por exemplo, recuperação de dados de fitas danificadas. Alguns com dicas, mas a maioria das equipes fez isso por conta própria.

Ou foi necessário usar a magia dos scripts rápidos - por exemplo, tivemos uma história de que alguma “bomba lógica” “rasgou” um arquivo de vários volumes em pastas aleatórias ao longo da árvore, e foi necessário coletar os dados. Você pode fazer isso manualmente - localizar e copiar [arquivos] um por um, ou pode escrever um script usando uma máscara.

Em geral, procuramos aderir ao ponto de vista de que um problema pode ser resolvido de diferentes maneiras. Por exemplo, se você é um pouco mais experiente ou quer se confundir, então você pode resolver mais rápido, mas existe uma maneira direta de resolver de frente – mas ao mesmo tempo você gastará mais tempo no problema. Ou seja, quase todas as tarefas tinham diversas soluções, e era interessante quais caminhos as equipes escolheriam. Então a não linearidade estava justamente na escolha da opção de solução.

Aliás, o problema do Linux acabou sendo o mais difícil - apenas uma equipe resolveu de forma independente, sem nenhuma dica.

— Você poderia entender as dicas? Como em uma missão real?

— Sim, foi possível aceitar, porque entendemos que as pessoas são diferentes, e quem não tem algum conhecimento poderia entrar no mesmo time, então para não atrasar a passagem e não perder o interesse competitivo, decidimos que iríamos daria dicas. Para isso, cada equipe foi observada por uma pessoa dos organizadores. Bem, garantimos que ninguém trapaceasse.

Busca cibernética da equipe de suporte técnico da Veeam

Sobre as estrelas

— Houve prêmios para os vencedores?

— Sim, tentamos fazer os prêmios mais agradáveis ​​para todos os participantes e para os vencedores: os vencedores receberam moletons de grife com o logotipo da Veeam e uma frase criptografada em código hexadecimal, preto). Todos os participantes receberam uma máscara de Guy Fawkes e uma bolsa da marca com o logotipo e o mesmo código.

- Ou seja, tudo foi como uma verdadeira missão!

“Bem, queríamos fazer algo legal e adulto, e acho que conseguimos.”

- Isto é verdade! Qual foi a reação final daqueles que participaram dessa busca? Você alcançou seu objetivo?

- Sim, muitos vieram depois e disseram que viam claramente os seus pontos fracos e queriam melhorá-los. Alguém parou de ter medo de certas tecnologias - por exemplo, despejar blocos de fitas e tentar pegar algo lá... Alguém percebeu que precisava melhorar o Linux e assim por diante. Tentamos oferecer uma gama bastante ampla de tarefas, mas não totalmente triviais.

Busca cibernética da equipe de suporte técnico da Veeam
A equipe vencedora

“Quem quiser, vai conseguir!”

— Exigiu muito esforço de quem preparou a missão?

- Na verdade sim. Mas isso provavelmente se deveu ao fato de não termos experiência na preparação de tais missões, desse tipo de infraestrutura. (Vamos fazer uma ressalva de que esta não é nossa infraestrutura real - ela deveria simplesmente executar algumas funções do jogo.)

Foi uma experiência muito interessante para nós. No começo fiquei cético, porque a ideia me pareceu muito legal, achei que seria muito difícil de implementar. Mas começamos a fazer, começamos a arar, tudo começou a pegar fogo e no final conseguimos. E praticamente não houve sobreposições.

No total passamos 3 meses. Na maior parte, criamos um conceito e discutimos o que poderíamos implementar. No processo, naturalmente, algumas coisas mudaram, porque percebemos que não tínhamos capacidade técnica para fazer alguma coisa. Tivemos que refazer algo ao longo do caminho, mas de forma que todo o contorno, a história e a lógica não se quebrassem. Tentamos não apenas fornecer uma lista de tarefas técnicas, mas também encaixá-la na história, para que fosse coerente e lógica. O trabalho principal estava em andamento no último mês, ou seja, 3-4 semanas antes do dia X.

— Então, além da sua atividade principal, você reservou tempo para preparação?

— Fizemos isso paralelamente ao nosso trabalho principal, sim.

- Você foi solicitado a fazer isso de novo?

- Sim, temos muitos pedidos para repetir.

- E você?

- Temos novas ideias, novos conceitos, queremos atrair mais pessoas e esticar isso ao longo do tempo – tanto o processo seletivo quanto o processo de jogo em si. Em geral, nos inspiramos no projeto “Cicada”, você pode pesquisar no Google - é um tema de TI muito legal, pessoas de todo o mundo se unem lá, iniciam tópicos no Reddit, em fóruns, usam traduções de código, resolvem enigmas , e tudo isso.

— A ideia foi ótima, só respeito pela ideia e implementação, porque realmente vale muito. Desejo sinceramente que você não perca essa inspiração e que todos os seus novos projetos também sejam um sucesso. Obrigado!

Busca cibernética da equipe de suporte técnico da Veeam

— Sim, você pode ver um exemplo de tarefa que você definitivamente não reutilizará?

“Suspeito que não reutilizaremos nenhum deles.” Portanto, posso falar sobre o andamento de toda a missão.

Faixa bônusNo início, os jogadores têm o nome da máquina virtual e as credenciais do vCenter. Depois de fazer login, eles veem esta máquina, mas ela não inicia. Aqui você precisa adivinhar que algo está errado com o arquivo .vmx. Depois de baixá-lo, eles verão o prompt necessário para a segunda etapa. Essencialmente, diz que o banco de dados usado pelo Veeam Backup & Replication está criptografado.
Depois de remover o prompt, baixar o arquivo .vmx de volta e ligar a máquina com sucesso, eles veem que um dos discos contém, na verdade, um banco de dados criptografado em base64. Conseqüentemente, a tarefa é descriptografá-lo e obter um servidor Veeam totalmente funcional.

Um pouco sobre a máquina virtual onde tudo isso acontece. Como lembramos, de acordo com o enredo, o personagem principal da missão é uma pessoa bastante sombria e está fazendo algo que claramente não é muito legal. Portanto, seu computador de trabalho deveria ter uma aparência totalmente hacker, que tivemos que criar, apesar de ser Windows. A primeira coisa que fizemos foi adicionar vários acessórios, como informações sobre grandes hacks, ataques DDoS e assim por diante. Em seguida, eles instalaram todo o software típico e colocaram vários dumps, arquivos com hashes, etc. Tudo é como nos filmes. Entre outras coisas, havia pastas denominadas closed-case*** e open-case***
Para progredir ainda mais, os jogadores precisam restaurar as dicas dos arquivos de backup.

Aqui é preciso dizer que no início os jogadores receberam muitas informações, e receberam a maior parte dos dados (como IP, logins e senhas) no decorrer da missão, encontrando pistas em backups ou arquivos espalhados nas máquinas . Inicialmente, os arquivos de backup estão localizados no repositório Linux, mas a própria pasta no servidor é montada com o sinalizador noexec, portanto, o agente responsável pela recuperação de arquivos não poderá ser iniciado.

Ao consertar o repositório, os participantes ganham acesso a todo o conteúdo e podem finalmente restaurar qualquer informação. Resta entender qual é. E para isso, basta estudar os arquivos armazenados nesta máquina, determinar quais deles estão “quebrados” e o que exatamente precisa ser restaurado.

Neste ponto, o cenário muda do conhecimento geral de TI para recursos específicos da Veeam.

Neste exemplo específico (quando você sabe o nome do arquivo, mas não sabe onde procurá-lo), você precisa usar a função de pesquisa no Enterprise Manager e assim por diante. Como resultado, após restaurar toda a cadeia lógica, os jogadores têm outro login/senha e saída nmap. Isso os leva ao servidor Windows Core e via RDP (para que a vida não pareça doce).

A principal característica deste servidor: com a ajuda de um script simples e vários dicionários, foi formada uma estrutura de pastas e arquivos absolutamente sem sentido. E ao fazer login, você recebe uma mensagem de boas-vindas como “Uma bomba lógica explodiu aqui, então você terá que juntar as pistas para as próximas etapas”.

A pista a seguir foi dividida em um arquivo de vários volumes (40-50 peças) e distribuída aleatoriamente entre essas pastas. Nossa ideia era que os jogadores mostrassem seu talento escrevendo scripts simples do PowerShell para montar um arquivo de vários volumes usando uma máscara bem conhecida e obter os dados necessários. (Mas aconteceu como naquela piada - alguns dos sujeitos revelaram-se excepcionalmente desenvolvidos fisicamente.)

O arquivo continha a foto de uma fita cassete (com a inscrição “Última Ceia - Melhores Momentos”), que dava uma dica do uso de uma biblioteca de fitas conectada, que continha uma fita cassete com nome semelhante. Havia apenas um problema: era tão inoperante que nem sequer foi catalogado. Foi aqui que provavelmente começou a parte mais difícil da missão. Apagamos o cabeçalho do cassete, portanto, para recuperar os dados dele, você só precisa despejar os blocos “brutos” e examiná-los em um editor hexadecimal para encontrar os marcadores de início do arquivo.
Encontramos o marcador, olhamos o deslocamento, multiplicamos o bloco pelo seu tamanho, somamos o deslocamento e, usando a ferramenta interna, tentamos recuperar o arquivo de um bloco específico. Se tudo for feito corretamente e a matemática estiver de acordo, os jogadores terão um arquivo .wav em mãos.

Nele, por meio de um gerador de voz, entre outras coisas, é ditado um código binário, que é expandido para outro IP.

Acontece que este é um novo servidor Windows, onde tudo indica a necessidade de usar o Wireshark, mas não está lá. O principal truque é que existem dois sistemas instalados nesta máquina - apenas o disco do segundo é desconectado offline por meio do gerenciador de dispositivos, e a cadeia lógica leva à necessidade de reinicializar. Acontece que, por padrão, um sistema completamente diferente, onde o Wireshark está instalado, deve inicializar. E todo esse tempo estivemos no sistema operacional secundário.

Não há necessidade de fazer nada de especial aqui, apenas habilite a captura em uma única interface. Um exame relativamente minucioso do dump revela um pacote claramente canhoto enviado da máquina auxiliar em intervalos regulares, que contém um link para um vídeo do YouTube onde os jogadores são solicitados a ligar para um determinado número. O primeiro chamador ouvirá os parabéns pelo primeiro lugar, os demais receberão um convite para o RH (brincadeira)).

A propósito, estamos abertos vagas de emprego para engenheiros de suporte técnico e estagiários. Bem-vindo à equipe!

Fonte: habr.com

Adicionar um comentário