Cyberquest da equipe de suporte técnico da Veeam

Neste inverno, mais especificamente 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 nada comuns: eles estavam caçando um grupo de hackers chamado "Veeamonymous".

Cyberquest da equipe de suporte técnico da Veeam

Sobre como a equipe mesmo criou e conduziu um verdadeiro escape game no trabalho, com tarefas "aproximadas a combates", contou Kirill Stetsko, Engenheiro de Escalonamento.

— Por que vocês decidiram fazer isso?

— Mais ou menos da mesma forma que as pessoas inventaram o Linux um dia – just for fun, para o próprio prazer.

Queríamos agitação e, ao mesmo tempo, queríamos fazer algo útil, algo interessante. Além disso, era necessário proporcionar algum alívio emocional aos engenheiros em meio ao trabalho diário.

— Quem sugeriu isso? De quem foi a ideia?

— A ideia foi da nossa gerente Katya Egorova, e depois o conceito e todas as ideias seguintes foram concebidos em conjunto. Inicialmente, pensávamos em fazer um hackathon. Mas durante o desenvolvimento do conceito, a ideia evoluiu para um escape game, afinal, o trabalho de um engenheiro de suporte técnico é bem diferente de programar.

Então, chamamos amigos e conhecidos, várias pessoas nos ajudaram com o conceito – uma pessoa da T2 (segunda linha de suporte — Nota do editor), uma pessoa da T3, alguns do time SWAT (equipe de resposta rápida para casos urgentes — Nota do editor). Nos reunimos, sentamos e tentamos criar tarefas para o nosso escape game.

— Foi muito inesperado descobrir tudo isso, pois, pelo que sei, normalmente, a mecânica de escape games é elaborada por roteiristas especialistas, ou seja, vocês não só lidaram com algo tão complexo, mas também adaptaram isso ao seu trabalho, ao seu campo profissional.

— Sim, queríamos fazer não apenas um entretenimento, mas "aprimorar" as habilidades técnicas dos engenheiros. Um dos objetivos do nosso departamento é a troca de conhecimento e o aprendizado, e um escape game é uma excelente oportunidade para dar às pessoas a chance de "tocar" algumas novas técnicas ao vivo.

— Como vocês criaram as tarefas?

— Fizemos uma tempestade de ideias. Tínhamos em mente que deveríamos fazer alguns testes técnicos, e que fossem interessantes e ao mesmo tempo proporcionassem novos conhecimentos.
Por exemplo, pensamos que as pessoas deveriam ter a oportunidade de experimentar o tráfego, usar editores hexadecimais, fazer algo relacionado ao Linux, algumas coisas um pouco mais profundas ligadas aos nossos produtos (Veeam Backup & Replication e outros).

Outra parte importante foi o conceito. Decidimos nos basear no tema dos hackers, acesso anônimo e uma atmosfera de segredo. Escolhemos a máscara de Guy Fawkes como símbolo, e o nome surgiu naturalmente — Veeamonymous.

No princípio era a palavra

Para aumentar o interesse, decidimos organizar uma campanha de PR com o tema do quebra-cabeça antes do evento: penduramos cartazes com o anúncio em nosso escritório. E alguns dias depois, secretamente, desenhamos sobre eles com spray e espalhamos o boato de que alguns criminosos tinham estragado os cartazes, até anexamos uma foto como prova....

— Então foi vocês que fizeram, ou seja, a equipe organizadora?!

— Sim, na sexta-feira, por volta das 9, quando todos já tinham saído, fomos lá e desenhamos com spray a letra "V" de cor verde.) Muitos participantes do quebra-cabeça não conseguiram adivinhar quem fez isso – as pessoas se aproximavam de nós e perguntavam quem tinha estragado os cartazes? Alguém se dedicou seriamente a essa questão e fez uma investigação completa sobre o assunto.

Para o quebra-cabeça, gravamos e editamos arquivos de áudio, ‘extraímos’ sons: por exemplo, quando um engenheiro faz login no nosso sistema [CRM de produção], há um robô que diz várias frases, números… A partir dessas palavras gravadas, montamos frases mais ou menos coerentes, talvez um pouco estranhas – por exemplo, conseguimos "No friends to help you" em um arquivo de áudio.

O endereço IP, por exemplo, era representado em código binário, tudo isso, novamente, com a ajuda desses números [pronunciados pelo robô], adicionamos vários sons assustadores. Filmamos o vídeo: nele, temos uma pessoa sentada com um capuz preto e a máscara de Guy Fawkes, mas na verdade não era uma só pessoa, mas três, porque duas estavam atrás dela segurando um ‘fundo’ feito de um cobertor:).

— Bem, vocês se dedicaram bastante, para dizer o mínimo.

— Sim, nós ficamos empolgados. Em geral, primeiro elaboramos nossas especificações técnicas e depois criamos uma narrativa literária-lúdica sobre o que supostamente aconteceu. No roteiro, os participantes caçavam um grupo de hackers chamado "Veeamonymous". A ideia também era que nós, de certa forma, "quebramos a quarta parede", ou seja, transferimos os eventos para a realidade – por exemplo, pintamos com spray.

Um dos falantes nativos de inglês do nosso departamento nos ajudou com o tratamento literário do texto.

— Espera, por que um falante nativo? Vocês ainda fizeram isso em inglês?!

— Sim, estávamos realizando para os escritórios de São Petersburgo e Bucareste, então tudo foi em inglês.

Para a nossa primeira experiência, tentamos fazer com que tudo funcionasse simplesmente, então o roteiro era linear e bastante simples. Adicionamos mais elementos de atmosfera: textos secretos, cifras, imagens.

Cyberquest da equipe de suporte técnico da Veeam

Também usamos memes: havia uma tonelada de imagens sobre investigações, OVNIs, algumas lendas populares – algumas equipes até se distraiam com isso, tentando encontrar mensagens ocultas e aplicar seus conhecimentos de esteganografia e outras coisas... mas, claro, não havia nada disso.

Sobre espinhos

No entanto, durante o processo de preparação, encontramos algumas tarefas inesperadas para nós mesmos.

Fizemos muitas discussões e resolvemos várias questões que surgiram de repente, e cerca de uma semana antes do evento, pensamos que tudo estava perdido.

Talvez seja bom contar um pouco sobre a base técnica do evento.

Tudo foi feito em nosso laboratório interno de ESXi. Tínhamos 6 equipes, então precisávamos alocar 6 pools de recursos. Assim, para cada equipe, configuramos um pool separado com as máquinas virtuais necessárias (IPs iguais). Mas como tudo isso estava em servidores que estão na mesma rede, a configuração atual dos nossos VLANs não permitia isolar as máquinas em diferentes pools. E, por exemplo, durante o teste, enfrentamos situações em que uma máquina de um pool se conectava a uma máquina de outro.

— Como conseguiram corrigir a situação?

— Primeiro, pensamos durante muito tempo, testando várias opções com permissões, VLANs separadas para as máquinas. No final, fizemos da seguinte maneira — cada equipe vê apenas o servidor Veeam Backup, através do qual todo o trabalho posterior é realizado, mas não vê o subpool oculto, onde estão:

  • várias máquinas Windows
  • Servidor Windows Core
  • Máquina com Linux
  • Par VTL (Virtual Tape Library)

Todos os pools foram atribuídos a um grupo separado de portas no switch vDS e seu próprio VLAN Privado. Essa dupla isolação é necessária para eliminar completamente a possibilidade de interação em rede.

Sobre os aventureiros

— Qualquer pessoa poderia participar do evento? Como as equipes foram formadas?

— Essa foi a nossa primeira experiência em realizar um evento desse tipo, e as capacidades do nosso laboratório estavam limitadas a 6 equipes.

Primeiro, como já mencionei, realizamos uma campanha de PR: usando cartazes e e-mails, informamos que um evento estava sendo organizado. Tivemos até algumas dicas – nas próprias placas havia frases codificadas em código binário. Dessa forma, despertamos o interesse das pessoas, que começaram a se organizar com amigos e conhecidos. No final, houve mais interessados do que tínhamos de pools, portanto tivemos que fazer uma seleção: criamos uma tarefa de teste simples e a enviamos para todos que se manifestaram. Era um quebra-cabeça lógico que precisava ser resolvido rapidamente.

Na equipe, era permitido um máximo de 5 pessoas. Não era necessário um capitão, a ideia era a cooperação e a comunicação entre si. Alguém é forte, por exemplo, em Linux, outro é forte em fitas (backups em fitas), e cada um, ao ver a tarefa, poderia contribuir com seus esforços para a solução comum. Todos se comunicavam entre si, encontrando a solução.

Cyberquest da equipe de suporte técnico da Veeam

— Em que momento esse evento começou? Vocês tinham alguma "hora H"?

— Sim, tínhamos um dia marcado estritamente, escolhemos de forma a haver menos carga no departamento. Naturalmente, informamos com antecedência os líderes de equipe de que determinadas equipes estavam convidadas a participar do evento, e que precisavam conceder alguma tolerância [quanto à carga] nesse dia. Calculamos que o evento deveria ser no final do ano, 28 de dezembro, uma sexta-feira. Esperávamos que durasse cerca de 5 horas, mas todas as equipes conseguiram acabar mais rápido.

— Todos estavam em condições iguais, e todos receberam as mesmas tarefas baseadas em cases reais?

— Sim, cada um dos organizadores trouxe algumas histórias de suas experiências pessoais. Sabíamos que algumas coisas poderiam realmente acontecer, e seria interessante fazer com que as pessoas "sentissem" isso, vissem e analisassem. Também incluímos algumas questões mais específicas — por exemplo, a recuperação de dados de fitas danificadas. Alguém poderia receber dicas, mas a maioria das equipes conseguiu resolver por conta própria.

Ou era preciso aplicar a mágica de scripts rápidos – por exemplo, tivemos uma situação em que uma "bomba lógica" "destruiu" um arquivo em vários volumes, espalhando-o em pastas aleatórias na árvore, e era necessário recuperar os dados. Isso poderia ser feito manualmente – encontrando e copiando [arquivos] um a um, ou você poderia escrever um script com uma máscara.

No geral, tentamos seguir a ideia de que uma tarefa pode ser resolvida de diferentes maneiras. Por exemplo, se você tiver um pouco mais de experiência ou quiser 'se aprofundar', poderá resolvê-la mais rapidamente, enquanto há um caminho direto para uma solução "frontal" – mas isso exigirá mais tempo. Ou seja, quase cada tarefa tinha várias opções de solução, e era interessante ver quais caminhos as equipes escolhiam. Assim, a não linearidade estava exatamente na escolha da abordagem.

A propósito, a tarefa sobre Linux foi a mais difícil — apenas uma equipe conseguiu resolvê-la sozinha, sem dicas.

— E era possível pedir dicas? Como em um verdadeiro jogo de escape??

— Sim, era possível pedir, porque entendíamos que as pessoas são diferentes e poderiam estar em uma mesma equipe aquelas que não têm certos conhecimentos. Portanto, para que a progressão não se arrastasse e o interesse pela competição não desaparecesse, decidimos que haveria dicas. Para isso, uma pessoa da organização acompanhava cada equipe. E também garantimos que ninguém trapaceasse.

Cyberquest da equipe de suporte técnico da Veeam

Sobre as estrelas

— E houve prêmios para os vencedores?

— Sim, nos esforçamos para oferecer prêmios agradáveis tanto para todos os participantes quanto para os vencedores: os vencedores receberam moletons personalizados com o logotipo da Veeam e uma frase codificada em hexadecimal, na cor preta). Todos os participantes receberam uma máscara de Guy Fawkes e uma bolsa personalizada com o logotipo e o mesmo código.

— Ou seja, tudo foi como em um verdadeiro jogo de escape!

— Bem, queríamos criar algo incrível e sério, e acredito que conseguimos.

— Isso mesmo! E qual foi a reação das pessoas que participaram desse desafio? Vocês conseguiram atingir seus objetivos?

— Sim, muitos depois vieram falar que perceberam claramente suas fraquezas e quiseram melhorá-las. Alguns deixaram de ter medo de certas tecnologias – por exemplo, de fazer dump de blocos com tape e tentar sacar algo… Outros perceberam que precisavam melhorar no Linux, e assim por diante. Nós tentamos oferecer um leque amplo de tarefas, mas não muito triviais.

Cyberquest da equipe de suporte técnico da Veeam
Equipe vencedora

«Quem quer, consegue!»

— Isso demandou muito esforço de quem organizou o desafio?

— De fato sim. Mas isso se deveu, provavelmente, ao fato de que não tínhamos experiência em preparar esse tipo de desafio, esse tipo de infraestrutura. (Salientamos que essa não é a nossa infraestrutura real – ela apenas deveria desempenhar algumas funções de jogo.)

Para nós, foi uma experiência muito interessante. No começo, fui cético, porque a ideia me pareceu até demais, achei que seria muito difícil de implementar. Mas começamos a fazer, começamos a trabalhar duro, todos se animaram, e no final deu certo. E tudo aconteceu praticamente sem percalços.

De maneira geral, levamos 3 meses. Grande parte do tempo foi dedicada à criação do conceito, discutindo o que poderíamos implementar. No processo, claro, algumas coisas mudaram, porque percebemos que não tínhamos a capacidade técnica para fazer certas coisas. Tivemos que refazer algo às pressas, mas sem quebrar toda a estrutura, a narrativa e a lógica. Tentamos não apenas fornecer uma lista de tarefas técnicas, mas que isso se encaixasse na história, que fosse coerente e lógica. O trabalho principal ocorreu no último mês, ou seja, 3-4 semanas antes do dia H.

— Então, além de suas atividades principais, vocês dedicaram tempo à preparação?

— Fizemos isso paralelamente ao trabalho principal, sim.

— Pedem para vocês realizarem outro evento assim?

— Sim, temos muitos pedidos para repetir.

— E vocês, o que acham?

— Temos novas ideias, novos conceitos, queremos atrair mais pessoas e estender isso ao longo do tempo – tanto o processo de seleção quanto o próprio processo do jogo. No geral, nos inspiramos no projeto "Cicada", que pode ser pesquisado – é um tema de TI muito interessante, onde pessoas de todo o mundo se unem, criam discussões no Reddit, em fóruns, utilizam traduções de códigos e resolvem enigmas, e coisas desse tipo.

— A ideia foi excelente, simplesmente respeito pela ideia e pela implementação, porque isso realmente vale muito. Desejo sinceramente que você não perca essa inspiração, que todos os seus novos projetos tenham igualmente sucesso. Obrigado!

Cyberquest da equipe de suporte técnico da Veeam

— Sim, seria possível ver um exemplo de tarefa que vocês com certeza não vão reutilizar?

— Suspeito que não reutilizaremos nenhuma. Portanto, posso falar sobre o andamento de toda a missão.

Faixa bônusLogo no início, os jogadores têm o nome da máquina virtual e as credenciais do vCenter. Após logarem, eles veem essa máquina, mas ela não liga. Aqui é necessário perceber que algo está errado com o arquivo .vmx. Baixando-o, eles veem a dica necessária para a segunda etapa. Basicamente, está escrito que o banco de dados usado pelo Veeam Backup & Replication está criptografado.
Removendo a dica, fazendo o upload do arquivo .vmx de volta e ligando a máquina com sucesso, eles veem que em um dos discos realmente está o banco de dados, criptografado em base64. Assim, 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 a trama, o protagonista da missão é uma pessoa bastante sombria e envolve-se em algo claramente ilegal. Portanto, seu computador de trabalho deve ter uma aparência bem hacker, que tivemos que criar, apesar de ser Windows. A primeira coisa foi adicionar uma série de adereços, como informações sobre grandes hacks, ataques DDoS e similares. Em seguida, instalamos diversos softwares típicos e espalhamos vários arquivos, dumps, hashes, etc. Tudo como em um filme. Entre outras coisas, havia pastas nomeadas pelo princípio closed-case*** e open-case***.
Para avançar, os jogadores precisam restaurar as dicas dos arquivos nos backups.

É necessário mencionar que, no início, os jogadores tinham pouca informação, e a maior parte dos dados (como IPs, logins e senhas) era obtida durante a missão, encontrando pistas em backups ou arquivos espalhados nas máquinas. Inicialmente, os arquivos de backup estão em um repositório Linux, mas a própria pasta está servidor montada com a flag noexec, portanto, o agente responsável pela recuperação dos arquivos não pode ser iniciado.

Após consertar o repositório, os participantes têm acesso a todo o conteúdo e finalmente podem recuperar qualquer informação. Resta entender qual delas. Para isso, eles precisam estudar os arquivos armazenados nesta máquina, identificar quais estão "corrompidos" e o que realmente precisa ser recuperado.

Neste ponto, o cenário muda de conhecimentos gerais de TI para funções específicas do Veeam.

Neste exemplo específico (quando você sabe o nome do arquivo, mas não sabe onde procurá-lo), deve-se usar a função de busca no Enterprise Manager, e assim por diante. Ao final, após recuperar toda a cadeia lógica, os jogadores têm em mãos mais um login/senha e a saída do nmap. Isso os leva a um servidor Windows Core, e ainda por RDP (para apimentar a situação).

A grande sacada desse servidor: com um script simples e alguns dicionários, foi criada uma estrutura de pastas e arquivos absolutamente sem sentido. E ao logar, é exibida uma mensagem de boas-vindas como "Aqui explodiu uma bomba lógica, então você terá que coletar as pistas para os próximos passos em pedaços."

A próxima pista foi dividida em um arquivo zip de multivolumes (cerca de 40-50 partes) e aleatoriamente distribuída entre essas pastas. Nossa intenção era que os jogadores demonstrassem suas habilidades em escrever scripts simples em PowerShell para, usando uma máscara conhecida, juntar o arquivo zip de multivolumes e obter os dados desejados. (Mas acabou sendo como naquela piada — alguns dos participantes eram surpreendentemente fisicamente desenvolvidos.)

No arquivo havia uma foto de uma fita (com a inscrição "Last Supper — Best Moments"), o que indicava o uso de uma biblioteca de fitas conectada, onde havia uma fita com um nome similar. O único problema é que ela estava tão danificada que nem mesmo era catalogada. Aqui começava, provavelmente, a parte mais hardcore do desafio. Nós apagamos o título da fita, então, para recuperar os dados dela, precisamos apenas despejar os blocos "brutos" e visualizá-los em um editor hex para encontrar os marcadores de início dos arquivos.
Encontramos o marcador, olhamos o offset, multiplicamos o bloco pelo seu tamanho, somamos o offset e, com a ajuda de uma ferramenta interna, tentamos recuperar o arquivo a partir do determinado bloco. Se tudo for feito corretamente e a matemática estiver certa, os jogadores terão um arquivo .wav.

Dentro dele, com a ajuda de um gerador de voz, além de outras coisas, foi ditado um código binário, que revela outro IP.

Isso, ao que parece, é um novo servidor Windows, onde tudo indica a necessidade de usar o Wireshark, mas ele não está lá. O foco principal é que essa máquina possui dois sistemas — apenas o disco com o segundo está desligado pelo gerenciador de dispositivos em modo offline, e a lógica leva à necessidade de reinicialização. Após isso, descobre-se que a outra sistema que deve inicializar por padrão, onde está instalado o Wireshark. E nós estávamos o tempo todo no sistema secundário.

Aqui não há muito o que fazer, basta ativar a captura na única interface. Com uma análise relativamente atenta do dump, percebe-se um pacote claramente suspeito, que está sendo enviado de uma máquina auxiliar em intervalos regulares, no qual há um link para um vídeo no youtube, onde os jogadores são convidados a ligar para um determinado número. O primeiro a ligar ouvirá uma mensagem de congratulação por ter alcançado o primeiro lugar, os demais — um convite para a HR (brincadeira)).

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

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster