Neste inverno, ou melhor, um dos dias entre o Natal católico e o ano novo, os engenheiros de suporte técnico da Veeam estavam ocupados com tarefas incomuns: eles procuravam um grupo de hackers chamado Veeamonymous.

Sobre como os próprios caras inventaram e realizaram uma verdadeira missão no trabalho, na realidade, com tarefas "próximas do combate", disse
Cyril Stetsko ,
engenheiro de escalonamento .
"Por que você está fazendo isso?"- Da mesma maneira que as pessoas criaram o Linux - apenas por diversão, para seu próprio prazer.
Queríamos nos mudar e, ao mesmo tempo, queríamos fazer algo útil, algo interessante. Além disso, era necessário dar algum alívio emocional aos engenheiros do trabalho diário.
"Quem sugeriu isso?" De quem foi a idéia?- A ideia era nossa gerente Katya Egorova, e então o conceito e todas as outras idéias nasceram juntas. Originalmente pensado para fazer um hackathon. Mas durante o desenvolvimento do conceito, a ideia se transformou em uma busca, afinal, um engenheiro de suporte técnico é um tipo de atividade diferente da programação.
Então, chamamos amigos, conhecidos, conhecidos, pessoas diferentes nos ajudaram com o conceito - uma pessoa com T2 (segunda linha de suporte -
ed. ), Uma pessoa com T3, duas pessoas da equipe SWAT (equipe de resposta rápida para casos especialmente urgentes) -
Ed. ). Todos se reuniram, sentaram-se e tentaram propor tarefas para a nossa busca.
- Foi muito inesperado descobrir tudo sobre isso, porque, até onde eu sei, geralmente a mecânica do script trabalha a mecânica da busca, ou seja, você não apenas fez uma coisa tão difícil, mas também em relação ao seu trabalho, ao seu campo de atividade profissional.- Sim, queríamos não apenas entretenimento, mas "bombear" as habilidades técnicas dos engenheiros. Uma das tarefas em nosso departamento é a troca de conhecimento e treinamento, mas essa busca é uma grande oportunidade para permitir que as pessoas “toquem” algumas novas técnicas ao vivo.
- Como você criou as tarefas?- Faça uma sessão de brainstorming. Tínhamos o entendimento de que deveríamos fazer alguns testes técnicos, de modo que fossem interessantes e, ao mesmo tempo, carregassem novos conhecimentos.
Por exemplo, pensamos que as pessoas deveriam ter a oportunidade de tentar detectar tráfego, usar editores hexadecimais, fazer algo para Linux e algumas coisas um pouco mais profundas relacionadas aos nossos produtos (Veeam Backup & Replication e outros).
Também uma parte importante foi o conceito. Decidimos aproveitar o tema hackers, acesso anônimo e uma atmosfera de sigilo. A máscara de Guy Fawkes foi transformada em símbolo, e o nome surgiu por si só - Veeamonymous.
"No começo era a palavra"
Para despertar o interesse, decidimos, antes do início do evento, organizar uma empresa de RP no tema da missão: eles penduravam pôsteres com um anúncio em nosso escritório. E alguns dias depois, secretamente de todos, eles os pintaram com latas de spray e lançaram um “pato”, dizem, alguns atacantes arruinaram os pôsteres, até anexaram uma foto com uma prova ...
- Então você mesmo fez, ou seja, a equipe de organizadores ?!- Sim, na sexta-feira, às 9 horas, quando todos já haviam saído, fomos e tiramos uma carta verde "V" dos balões.) Muitos participantes da missão não sabiam quem o fez - as pessoas vieram até nós e perguntaram quem arruinou os pôsteres. ? Alguém levou esse assunto muito a sério e lançou uma investigação completa sobre esse assunto.
Para a missão, escrevemos e arquivos de áudio “rasgam” sons: por exemplo, quando um engenheiro faz login no nosso sistema [CRM de produção], há uma secretária eletrônica robótica que diz todos os tipos de frases, números ... Aqui temos essas palavras que ele tem gravamos, compusemos frases mais ou menos significativas, bem, talvez um pouco de curvas - por exemplo, temos "Não há amigos para ajudá-lo" em um arquivo de áudio.
Por exemplo, representamos o endereço IP em código binário, todos, novamente, com a ajuda desses números [pronunciados pelo robô], todos os tipos de sons assustadores foram adicionados. Eles gravaram o vídeo eles mesmos: no vídeo, temos um homem sentado em um capuz preto e usando uma máscara de Guy Fawkes, mas na verdade não há uma pessoa, mas três, porque duas estão atrás dele e segurando o “fundo” do cobertor :).
- Bem, você ficou confuso, para ser honesto.- Sim, pegamos fogo. Em geral, primeiro criamos nossas especificações técnicas e, em seguida, compusemos uma tela literária e de jogo sobre o assunto do que supostamente aconteceu. De acordo com o roteiro, os participantes procuraram um grupo de hackers chamado "Veeamonymous". A idéia também era que estávamos “quebrando a quarta parede”, ou seja, estamos transferindo eventos para a realidade - por exemplo, pintamos de uma lata de spray.
Com o processamento de texto literário, fomos ajudados por um dos falantes nativos de inglês do nosso departamento.
"Espere, por que o falante nativo?" Você também fez tudo em inglês ?!- Sim, fizemos nos escritórios de São Petersburgo e Bucareste, então tudo estava em inglês.
Para o primeiro experimento, tentamos fazer tudo funcionar, para que o script fosse linear e bastante simples. Adicionado mais ambientes: textos secretos, cifras, fotos.

Também usamos memes: havia muitas fotos sobre os tópicos das investigações, OVNIs, algumas histórias populares de terror - algumas equipes se distraíram com isso, tentaram encontrar algumas mensagens ocultas por lá, aplicaram seus conhecimentos de esteganografia e outras coisas ... mas, é claro, não há nada disso foi.
Sobre espinhos
No entanto, no processo de preparação, fomos confrontados com tarefas inesperadas para nós mesmos.
Eles brigaram muito com eles e resolveram todos os tipos de perguntas que surgiam repentinamente, mas em algum momento cerca de uma semana antes da missão, eles geralmente pensavam que tudo havia acabado.
Provavelmente vale a pena conversar um pouco sobre a base técnica da missão.
Tudo foi feito em nosso laboratório interno do ESXi. Tínhamos 6 equipes, o que significa que tivemos que alocar 6 pools de recursos. Portanto, para cada equipe, implantamos um pool separado com as máquinas virtuais necessárias (o mesmo IP). Mas como tudo isso estava em servidores que estão na mesma rede, a configuração atual de nossas VLANs não permitia isolar máquinas em diferentes pools. E, por exemplo, durante uma execução de teste, recebemos situações em que uma máquina de um pool se conectava a uma máquina de outro.
- Como você pôde resolver a situação?- No começo, pensamos por um longo tempo, testamos todos os tipos de opções com permissões, separamos vLANs para máquinas. Como resultado, fizemos isso - cada equipe vê apenas o servidor Veeam Backup através do qual todo o trabalho é realizado, mas não vê o subconjunto oculto, no qual existem:
- várias máquinas windows
- Servidor núcleo do Windows
- Máquina Linux
- Par VTL (Virtual Tape Library)
Todos os pools recebem um grupo separado de portas no switch vDS e sua VLAN privada. Esse isolamento duplo é apenas necessário para eliminar completamente a possibilidade de interação da 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 como esse, e as capacidades do nosso laboratório foram limitadas a 6 equipes.
Primeiro, nós, como eu disse, possuímos uma empresa de relações públicas: usando pôsteres e boletins informativos, informamos que a missão seria realizada. Nós até tivemos algumas dicas - frases em código binário foram criptografadas nos próprios pôsteres. Assim, nós interessados, e as pessoas já concordaram entre si com os amigos, com os amigos e cooperamos. Como resultado, mais voluntários responderam do que tínhamos piscinas; portanto, tivemos que realizar uma seleção: criamos uma tarefa simples de teste e a enviamos a todos que responderam. Era uma tarefa lógica, tinha que ser resolvida com rapidez.
A equipe permitiu até 5 pessoas. O capitão não era necessário lá, a idéia estava em cooperação, em comunicação entre si. Alguém é forte, por exemplo, no Linux, alguém é forte em teips (backups em fitas), e todos, vendo a tarefa, poderiam colocar seus esforços na solução geral. Todo mundo conversou, encontrou uma solução.
- E em que momento esse evento começou? Você teve algum tipo de "hora X"?- Sim, tivemos um dia estritamente agendado, escolhemos para que houvesse menos carga no departamento. Naturalmente, os líderes da equipe foram notificados com antecedência de que essas equipes eram convidadas a participar da missão e precisavam de algum alívio [em relação à carga] naquele dia. Parecia que deveria ser o fim do ano, 28 de dezembro, sexta-feira. Espera-se que demore cerca de 5 horas, mas todas as equipes lidaram mais rápido.
- Todo mundo estava em pé de igualdade, todos tinham as mesmas tarefas com base em casos reais?- Bem, sim, cada um dos compiladores tirou algumas histórias pessoais da experiência pessoal. Sabíamos de algo que isso poderia ser na realidade, e seria interessante para uma pessoa “sentir”, olhar, descobrir. Eles levaram algumas coisas mais específicas, por exemplo, recuperação de dados de fitas danificadas. Alguém com dicas, mas a maioria das equipes lidou por conta própria.
Ou era necessário aplicar a magia dos scripts rápidos - por exemplo, tínhamos uma história de que uma certa “bomba lógica” “dividia” um arquivo com vários volumes em pastas aleatórias em uma árvore e era necessário coletar dados. Você pode fazer isso manualmente - encontre e copie [arquivos] um por um, ou pode escrever um script por máscara.
Em geral, tentamos aderir ao ponto de vista de que um problema pode ser resolvido de maneiras diferentes. Por exemplo, se você é um pouco mais experiente ou deseja "ficar confuso", pode resolvê-lo mais rapidamente, mas existe uma maneira direta de resolvê-lo "testa" - mas, ao mesmo tempo, você passa mais tempo na tarefa. Ou seja, quase todas as tarefas tinham várias soluções e era interessante quais caminhos as equipes escolheriam. Portanto, a não linearidade estava precisamente na escolha da opção de solução.
A propósito, o problema do Linux acabou sendo o mais difícil - apenas uma equipe o resolveu independentemente, sem avisos.
"Você poderia pegar as dicas?" Como é essa missão?- Sim, foi possível entender, porque entendemos que as pessoas são diferentes e quem não tinha conhecimento poderia entrar no mesmo time, para não perder a passagem e o interesse competitivo, decidimos que dicas. Para isso, cada equipe foi assistida por uma pessoa dos organizadores. Bem, garantimos que ninguém trapaceou.

Sobre as estrelas
- E 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 camisetas de grife com o logotipo Veeam e uma frase criptografada em um código hexadecimal, preto). Todos os participantes receberam uma máscara de Guy Fawkes e uma sacola da empresa com um logotipo e o mesmo código.
- Ou seja, você tinha tudo como em uma missão real!- Bem, queríamos fazer uma coisa legal e adulta, e parece-me que fizemos.
- Isso mesmo! E qual foi a reação daqueles que participaram dessa busca? Você alcançou os objetivos?- Sim, muitos surgiram mais tarde, disseram que viram claramente suas fraquezas e queriam recuperá-las. Alguém deixou de ter medo de certas tecnologias - por exemplo, despejar blocos de teips e tentar divulgar alguma coisa ... Alguém percebeu que ele precisava apertar o Linux e assim por diante. Tentamos fornecer uma gama bastante ampla de tarefas, mas não totalmente trivial.
Equipe de vencedores"Quem quer terá sucesso!"
- Os que prepararam a missão se esforçaram muito?- geralmente sim. Mas isso provavelmente ocorreu devido ao fato de não termos experiência em preparar tais missões, tais infraestruturas. (Vamos fazer uma reserva de que essa não é a nossa infraestrutura real - ela só precisava executar algum tipo de função do jogo.)
Foi uma experiência muito interessante para nós. No começo, eu era cético, porque a idéia parecia muito legal para mim, achei muito difícil de implementar. Mas eles começaram a fazer, começaram a arar, todos começaram a pegar fogo e, no final, nós fizemos. E quase não havia sobreposições.
Em geral, passamos 3 meses. Na maioria das vezes, criamos um conceito, discutimos o que podemos implementar. No processo, é claro, algo mudou, porque entendemos que, por algum motivo, não tínhamos capacidade técnica para fazer isso. Em movimento, tive que refazer algo, mas para que toda a tela, história e lógica não quebrassem. Tentamos não apenas fornecer uma lista de tarefas técnicas, mas ajustá-la à história, ser coerente e lógica. A maior parte do trabalho no mês passado, ou seja, 3-4 semanas antes do dia X.
- Então, além da sua atividade principal, você teve tempo para se preparar?- Isso fizemos em paralelo com o trabalho principal, sim.
"Você está convidado a fazer isso de novo?"- Sim, temos muitos pedidos para repetir.
O que você é- Temos novas idéias, novos conceitos, queremos atrair mais pessoas e esticá-las no tempo - tanto no processo de seleção quanto no próprio jogo. Em geral, somos inspirados pelo projeto Cicada, pode ser o google - esse é um tópico de TI muito legal, pessoas de todo o mundo se reúnem, iniciam filiais em fóruns do reddit, usam traduções de cifras e resolvem enigmas, e tudo mais.
- A ideia foi ótima, apenas respeito pela idéia e implementação, porque realmente vale muito. Sinceramente, desejo que você não perca essa inspiração, para que todos os seus novos projetos também sejam bem-sucedidos. Obrigada
- Sim, mas será possível ver um exemplo de tarefa que você definitivamente não reutilizará?- Suspeito que não reutilizaremos um. Portanto, posso falar sobre o curso de toda a missão.
Faixa bônusNo início, os players têm o nome da máquina virtual e as credenciais do vCenter. Conectado, eles veem este carro, mas ele não liga. Aqui você deve adivinhar que algo está errado com o arquivo .vmx. Após o download, eles veem o prompt necessário para a segunda etapa. De fato, ele diz que o banco de dados usado pelo Veeam Backup & Replication está criptografado.
Depois de remover o prompt, fazer o download do arquivo .vmx de volta e ativar a máquina com êxito, eles veem que em um dos discos realmente existe uma base64 criptografada base64. Assim, a tarefa é descriptografá-lo e obter um servidor Veeam totalmente funcional.
Um pouco sobre a máquina virtual na qual tudo isso acontece. Como lembramos, na história, o personagem principal da missão é uma pessoa bastante sombria e está envolvida em algo que claramente não é legal demais. Portanto, seu computador de trabalho deve ter uma aparência bastante hacker, que tivemos que criar, apesar de ser o Windows. A primeira coisa foi adicionada a muitos adereços, como informações sobre os principais hacks, ataques DDoS e similares. Em seguida, instalaram todo o software típico e distribuíram em todos os lugares diferentes despejos, arquivos com hashes etc. Tudo é como em um filme. Entre outras coisas, havia pastas nomeadas com o princípio de caso fechado *** e caso aberto ***
Para ir além, os jogadores precisam restaurar as dicas de ferramentas dos arquivos nos backups.
Devo dizer que, no começo, os jogadores receberam bastante informação e a maioria dos dados (como IP, logins e senhas) que eles recebem durante a busca, encontrando pistas em backups ou arquivos espalhados pelas máquinas. Inicialmente, os arquivos de backup estão no repositório Linux, mas a pasta no próprio servidor é montada com o sinalizador noexec ; portanto, o agente responsável pela restauração de arquivos não pode ser iniciado.
Após reparar o repositório, os participantes obtêm acesso a todo o conteúdo e, finalmente, podem restaurar qualquer informação. Resta entender qual. E, para isso, eles apenas precisam estudar os arquivos armazenados nesta máquina, determinar quais deles estão "danificados" e o que exatamente precisa ser restaurado.
Nesse ponto, o script muda do conhecimento geral de TI para recursos específicos da Veeam.
Neste exemplo em particular (quando você conhece o nome do arquivo, mas não sabe onde procurá-lo), 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 mais uma saída de login / senha e nmap. Isso os leva ao servidor Windows Core e ao RDP (para que a vida não pareça ser amor).
A principal característica deste servidor: com a ajuda de um script simples e de vários dicionários, uma estrutura absolutamente sem sentido de pastas e arquivos foi formada lá. E ao fazer o login, você recebe uma mensagem de boas-vindas do formulário "Uma bomba lógica explodiu aqui, então você terá que coletar as dicas para os próximos passos em pedaços".
A pista a seguir foi dividida em um arquivo com vários volumes (peças 40 a 50) e organizada aleatoriamente nessas pastas. Nossa idéia era que os jogadores mostrassem seus talentos escrevendo scripts simples do PowerShell para coletar um arquivo com vários volumes e obter os dados necessários usando uma máscara conhecida. (Mas aconteceu como nessa piada - alguns dos assuntos foram extraordinariamente desenvolvidos fisicamente.)
O arquivo continha uma foto da fita (com a inscrição “Última Ceia - Melhores Momentos”), que sugeria o uso da biblioteca de fitas conectada, onde havia uma fita com um nome semelhante. Aqui está apenas um problema - acabou sendo tão inoperante que nem sequer foi catalogado. Aqui provavelmente começou a parte mais hardcore da missão. Nós apagamos o título da fita, portanto, para recuperar dados, basta despejar os blocos “brutos” e examiná-los no editor hexadecimal para encontrar os marcadores do início dos arquivos.
Encontramos o marcador, olhamos para o deslocamento, multiplicamos o bloco pelo tamanho, adicionamos o deslocamento e, usando a ferramenta interna, tentamos restaurar o arquivo de um bloco específico. Se tudo for feito corretamente e a matemática for combinada, os jogadores terão um arquivo .wav em suas mãos.
Nele, usando um gerador de voz, entre outras coisas, é ditado um código binário, que é revelado em outro IP.
Acontece que este é um novo servidor Windows, onde tudo indica a necessidade de usar o Wireshark, mas não está lá. O foco principal é que existem dois sistemas instalados nesta máquina - apenas o disco do segundo é desconectado offline pelo gerenciador de dispositivos, e a cadeia lógica leva à necessidade de uma reinicialização. Depois disso, verifica-se que, por padrão, um sistema completamente diferente deve ser carregado onde o Wireshark está instalado. E todo esse tempo estávamos no sistema operacional secundário.
Não há nada de especial para fazer aqui, basta ativar a captura em uma única interface. Com uma consideração relativamente cuidadosa do despejo, um pacote claramente à esquerda é enviado a partir da máquina auxiliar em intervalos regulares, nos quais há um link para o vídeo do youtube, no qual os jogadores devem ligar para um número específico. O primeiro interlocutor ouve os parabéns em primeiro lugar, o resto - um convite ao RH (piada)).
A propósito, temos
vagas abertas para engenheiros de suporte técnico e para estagiários. Bem-vindo à equipe!