Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Há alguns dias completamos um dos eventos mais emocionantes que tivemos o privilégio de realizar em nosso blog — um jogo online de hacking com a destruição de um servidor.

Os resultados superaram todas as nossas expectativas: os participantes não apenas se juntaram, mas rapidamente se organizaram em uma comunidade coesa de 620 pessoas no Discord, que tomou o desafio de assalto em dois dias sem parar para dormir.

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor
E assim terminou:

Por que no hosting comum a administração do PrestaShop é lenta, e no seu não é?

Como tudo começou e do que se trata?

O jogo começou em 12 de agosto, quando publicamos no blog post um vídeo em que um hacker disfarçado de crânio convida para jogar, destruir o servidor, causar um curto-circuito na sala (ou um mini-incêndio) e pegar o dinheiro restante no triturador.

Era uma caça ao tesouro online: começamos uma transmissão no YouTube de uma sala cheia de dispositivos IoT, com um servidor debaixo da cama (que deveria ser destruído), e acima do servidor havia um aquário com um peso pendurado. Para tornar o jogo mais emocionante, decidimos criar um prêmio de 200.000 rublos, que carregamos no triturador e programamos para ligar a cada 60 minutos. A cada hora, o triturador consumia 1.000 rublos — quanto mais cedo os jogadores o parassem, mais dinheiro poderiam ganhar.

Por que no hosting comum a administração do PrestaShop é lenta, e no seu não é?

Construir essa caça ao tesouro foi uma aventura em si — tivemos que nos alimentar de entregas e dormir apenas algumas horas por noite na mesma sala. Mas o mais surpreendente foi observar o fluxo de pensamentos dos jogadores e sua entrega emocional durante o processo.

Para ser sincero, a engenhosidade dos jogadores em resolver os enigmas superou em muito nossas modestíssimas ideias: a cada minuto livre, nós acompanhávamos o chat do Discord e, em alguns casos, literalmente chorávamos de rir ao descobrir o que os jogadores estavam fazendo e como eles brincavam durante o processo.

Sete pessoas trabalharam arduamente no projeto: um programador backend, um especialista em hardware, um verdadeiro produtor de cinema, um designer CG e dois co-produtores visionários.

Contaremos em postagens futuras como a caça ao tesouro foi realizada do ponto de vista técnico, e enquanto isso, eu compartilharei a solução: como exatamente hackear esta sala na transmissão. Também vamos recordar a cronologia dos eventos, além de todas as loucas teorias iluminadas do chat do Discord.

O que os jogadores tinham no início do jogo

Todos os itens na sala eram divididos em três categorias:

  • Dispositivos IoT simples de gerenciar, não relacionados a jogos
  • Dispositivos de jogo para completar a missão
  • Ambientação

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Colocamos 8 elementos muito simples de gerenciar: duas lâmpadas, uma guirlanda, cinco letras SOUZA, cada uma das quais poderia ter sua cor alterada. Tudo isso poderia ser ligado/desligado diretamente pelo site e o resultado podia ser visualizado na transmissão — nós os tornamos acessíveis a todos os jogadores, independentemente do nível de conhecimento técnico.

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor
Tudo que podia ser facilmente ligado pelo site

Dos elementos importantes do jogo, que eram necessários para completar a missão e cujo acesso não era tão simples:

  1. Um servidor com a tampa aberta e um aquário em cima
  2. Um peso pendurado de forma a quebrar o aquário
  3. Megatron 3000 — um potente ponteiro laser direcionado para a corda que segurava o peso
  4. Um ventilador potente que era ativado sob carga no servidor
  5. Um flip chart onde estavam escritos o login e a senha do Megatron
  6. Um telefone para o qual se podia ligar e ver a chamada ao vivo
  7. Um triturador que consumia uma cédula de mil rublos por hora

Como a missão foi desvendada

Deixe-me dizer: a solução era bem simples.

O objetivo do jogo era parar o triturador, causando um curto-circuito na sala. Para isso, era necessário quebrar o aquário, lançando o peso e inundando o servidor com água. O peso estava preso a um cordão, que era o alvo do Megatron. Ao assumir o controle do Megatron, a corda podia ser cortada. Isso era feito em 5 passos simples:

Passo 1. Aumentar a carga no servidor que estava na sala

Por exemplo, enviando pacotes com um comando.

ab -r -n 10000 -c 100 -s 280 -l https://ws.ooosokol.ru/captcha

A dica era uma captcha para na página da Lista de Preços.

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor
Aquela mesma captcha que precisava ser atacada

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Com a carga no servidor, sua temperatura aumentava e isso podia ser monitorado na tela aberta bem em frente à câmera. Em seguida, o ventilador era acionado, abrindo uma cortina leve no flip chart. Aí aparecia o login e a senha escritos no quadro de acesso à página do Megatron.

E a página de controle do Megatron podia ser encontrada ao verificar todos os certificados emitidos para o domínio ooosokol.ru.

No subdomínio megatron.ooosokol.ru A página de controle do Megatron estava acessível, mas não abria até que a energia primária fosse conectada ao Megatron.

Todos esses passos foram realizados quase imediatamente nos comentários da transmissão no YouTube. Em seguida, as tarefas foram mais difíceis, e os jogadores criaram o servidor Discord RUVDS Hack Room para continuar a discussão lá.

Passo 2. Conectar a energia primária ao Megatron

Todos os dispositivos inteligentes controlados pelo site (as mesmas luzes que os jogadores ligavam e desligavam incessantemente) tinham seus próprios identificadores.

Para conectar a energia primária ao Megatron e iluminá-lo ao mesmo tempo, era necessário encontrar e ativar um dispositivo oculto na página de controle do escritório.

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Para isso, era preciso olhar os identificadores dos dispositivos e notar que, no total, havia 4 dispositivos, mas apenas 3 estavam disponíveis no site.

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

A página do Megatron se tornava acessível ao ativar o 4º dispositivo, e o próprio laser ficava iluminado. Mas nesse momento, não era possível disparar o laser, além de aparecer página uma mensagem informando que o laser ainda não estava disponível e uma dica: o escritório teve um corte de energia, e era necessário ligar para a empresa de gestão e pedir a energização.

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor
Dica sobre a empresa de gestão

3. Ligar para a empresa de gestão e pedir para reconectar a energia do Megatron

Por meio do LOR, o Megatron não poderia disparar porque o escritório teve um corte de energia. Somente a empresa de gestão poderia restaurar a energia, e era necessário ligar para eles e passar pela identificação como proprietário da LLC.

Encontrar o número da empresa de gestão foi fácil — nós o colocamos diretamente no rodapé.

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Mas passar pela identificação foi muito mais difícil.

Ao ligar para o número +74991130688, uma operadora atendia e pedia, de maneira entediante, que fornecêssemos o CNPJ da empresa e o nome completo do proprietário. Sem essas informações, ela se recusava a restabelecer a energia, explicando que era apenas uma central de atendimento terceirizada, com 2000 clientes e escritórios, e que sem essas informações não conseguiriam localizar o necessário.

Para os jogadores, essa foi a etapa mais difícil. Eles levaram quase dois dias para encontrar o CNPJ e o nome correto do proprietário, enquanto eu (no papel da operadora da central) recebi mais de 400 chamadas nesse período. O telefone tocava a cada 2-3 minutos.

Os rapazes pesquisaram como puderam. Eles exploraram o código-fonte do site, pesquisaram o proprietário do site, Sokolov, e o buscaram nas redes sociais.

Eles procuravam o CNPJ de várias empresas.
Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor
Quase um esquema completo de busca

Em determinado momento, até ligaram com um número falsificado — como se fosse uma ligação do escritório da empresa Sokol, indicada no rodapé.

Então descobrimos quantas empresas carregam o nome Sokol. Praticamente cada uma dessas empresas era contatada pelos jogadores, mas isso não se comparava ao que o site viveu. lasermasters.ru, onde realmente compramos aquele Megatron cerca de um mês atrás.

Primeiro, o Discord atacou o suporte da Lasermasters.

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Depois, conseguiram encontrar uma conta de alguém! Enquanto isso, o suporte da Lasermasters já havia se manifestado com mais clareza.

Cuidado, mantenha as crianças longe da tela
Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor
Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

No final, decidiram simplesmente DDoS a Lasermasters e seu site caiu. O mesmo ocorreu com o site da Sokol, embora o tenhamos levantado rapidamente.

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Durante a investigação, o pessoal do Discord até encontrou o ator cuja foto compramos de bancos de imagem para que ele interpretasse o principal antagonista, o proprietário da LLC, Andrei Sokolov. Descobriu-se que seu nome é Yuri e ele não tem ideia da confusão em que se envolveu.

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor
Andrei Sokolov, personagem do jogo

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor
Yuri, modelo

Se ele soubesse como fez 600 pessoas não dormirem por dois dias...)

Então começaram a investigar especificamente sobre mim, como o organizador do quest (o que poderia ter terminado em sucesso, se eles tivessem conseguido invadir meus canais de trabalho).

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Fiquei um pouco preocupada quando mencionaram meu sobrenome e até meu CPF. Mas relaxei quando, durante o processo de telefone quebrado, de repente tive um irmão mais velho, que inesperadamente era o diretor técnico do Habra.

Meu querido irmão, que também se envolveu
Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Enquanto isso, as suposições se tornavam cada vez mais inacreditáveis
Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

E chegaram até teorias iluminati.

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

As teorias da conspiração mais suculentas envolviam Bob Esponja, Harry Potter e o piscar de uma cordas de LED chinesa que colocamos dentro da unidade central.

De onde Bob Esponja e Harry Potter, você pergunta? Colocamos seus endereços na página de contatos da Sokol e isso gerou uma série de suposições na comunidade do Discord. Embora só quiséssemos homenagear nossas obras favoritas da infância.

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor
Aquela referência na página "Contatos"

E como resultado

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor
Descobriu-se que na série realmente existem documentos do Bob Esponja. Eles eram chamados de CPF

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Uma das teorias mais complexas era de que a piscadela da guirlanda chinesa continha uma mensagem em código Morse.

As piscadelas foram gravadas e tentaram ser decifradas.
Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Das teorias mais simples — o pessoal tentava entender se havia alguma dica escondida nos mapas.

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

No caminho, nos comparavam com a Cica 3301. — uma avaliação injustamente alta, mas ainda assim agradável.

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Os jogadores tentaram ao máximo a engenharia social. Recebi ligações se passando pela FSB, bombeiros, pelo próprio Sokolov, sua ex-esposa e um segurança que supostamente estava em nosso andar. Diziam que havia um incêndio, alguém estava preso no elevador, e a história mais comovente era de que em um escritório em chamas, supostamente estava o cachorrinho do interlocutor.

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor
Houve também tentativas de suborno.

Gradualmente, começaram a aparecer memes próprios no chat.

Aqui estão alguns.
Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Enquanto isso, as fábricas estavam paradas.
Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Dica

O dinheiro no triturador estava diminuindo. Para que o vencedor recebesse algo, decidimos fazer uma dica. Além disso, seguindo as regras de design de jogos, aumentamos a tensão pouco antes da grande final.

Separadamente, post publicamos um vídeo no blog. No início, inserimos um trecho do Clube da Luta — como uma referência a Tyler Durden, que pensava em inserir o 25º quadro nos filmes enquanto trabalhava em cinemas.

Decidimos aplicar essa mesma mecânica e inserimos a dica como o 25º quadro, como pesquisar no Google o CPF e o nome completo do proprietário.

Por que no hosting comum a administração do PrestaShop é lenta, e no seu não é?

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor
Depois disso, o pessoal conseguiu desvendar rapidamente.

Passo 4. Disparar a laser em modo não letal.

Quando a energia foi fornecida pela empresa de gerenciamento e após a ativação dos fusíveis, o Megatron era ligado e podia disparar em modo de teste. Na forma de entrada, um token para o disparo de teste já estava inserido.

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor
A cada 25 segundos, um novo token era gerado, podendo ser usado para ativar o laser por 10 segundos na potência 10/255.

Em seguida, o laser esfriava por 1 minuto e durante esse minuto estava indisponível, não aceitando novos pedidos de disparo.

Essa potência era totalmente insuficiente para cortar a corda, mas qualquer jogador podia disparar o Megatron e ver o feixe de laser em ação.

A reação da comunidade foi mais do que efusiva.
Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Mas todos rapidamente se acalmaram e entenderam que ainda não era o fim do jogo.
Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Depois disso, a comunidade começou a descobrir como iniciar o modo de combate.

Tempestade de ideias.
Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor
Fake news apareceram no Discord.

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor
Não sabíamos que havia algo escrito na perna da mesa durante a transmissão.

A comunidade chegou ao passo 4. Descobrir como os tokens são gerados: encontrar o gist e gerar um token que inclua o laser em modo de combate.

O modo de combate do Megatron é 100% da potência do laser em 3 W. Isso é mais do que suficiente por 2 minutos para queimar a corda que segurava o peso, quebrar o aquário e inundar o servidor com água.

Deixamos algumas dicas em no GitHub do projeto: nomeadamente o código de geração de tokens, pelo qual se podia entender que os tokens de teste e de combate eram gerados com base em um único contador. No caso do token de combate, além do valor do contador, também é utilizada uma 'sal' que foi quase totalmente mantida no histórico de alterações deste gist, exceto pelos dois últimos caracteres.

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor
Como todos rapidamente adivinharam, isso era 42.

Nos comentários do gist, havia uma troca de mensagens entre Andrei Sokolov e o desenvolvedor ('o sábio desenvolvedor', como o chamaram os caras do Discord).

Na conversa, Andrei enviou um dos tokens de combate e o desenvolvedor respondeu que esse token foi inicializado com o valor do contador 42.

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Sabendo desses dados, era possível descobrir os 2 últimos caracteres da sal e, de fato, descobrir que para isso foram utilizados números de Lost, convertidos para o sistema hexadecimal.

Depois, os jogadores só precisavam capturar o valor do contador (analisando o token de teste) e gerar o token de combate, usando o próximo valor do contador e a sal que foi descoberta no passo anterior.

O contador simplesmente era incrementado a cada disparo de teste e a cada 25 segundos. Não mencionamos isso em lugar algum; deveria ser uma pequena surpresa no jogo. Os caras rapidamente perceberam isso e ativaram o Megatron em modo de combate.

Passo 5. Quebrar a corda com o laser.

Por que no hosting comum a administração do PrestaShop é lenta, e no seu não é?

Como isso foi feito

Aqui já era tudo simples. O envio do token de combate ativava o laser em modo de combate, e a sala mudava para o 'modo de catástrofe', como chamamos no cenário geral:

  • Todas as luzes da sala se apagavam.
  • Os botões dos dispositivos IoT no site tornavam-se indisponíveis.
  • A luz intermitente e o som da sirene eram ativados.
  • O peso vermelho era iluminado.
  • Na tela da televisão, iniciava a contagem regressiva para ativar o laser em modo de combate.

Demos um contagem regressiva de uma hora e meia para que todos os participantes conseguissem ligar a transmissão e assistir à final. E não era em vão: enquanto eu aguardava com o coração acelerado pelo som do impacto e o estilhaçar do vidro do quarto ao lado, toda a equipe que estava construindo o desafio, sem combinar, começou a voltar à base para ver a final com seus próprios olhos. Eles simplesmente entravam na sala e começavam a se abraçar.

Enquanto isso no Discord
Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

Após o término da contagem regressiva, o laser foi ativado e, em dois minutos, cortou a corda — o peso voou diretamente para o aquário. Antes do impacto, na tela, uma capivara enlouquecida gritou, levantando as pequenas patas em pânico.

Como toda a equipe estava reunida lá, gravamos uma pequena mensagem para todos que lutaram pela final no Discord por dois dias e fomos abrir o champanhe:

Por que no hosting comum a administração do PrestaShop é lenta, e no seu não é?

Como calculamos o tempo de início dos comerciais e o voo do peso?

Após uma dezena de testes de corte da corda com o laser, percebemos que era uma construção muito instável — a corda parcialmente cortada ficava mais fina, sob o peso do peso se esticava, mudava de posição e o laser já não conseguia cortá-la completamente.

Então, seguimos outro caminho: duplicamos o corte, enrolando a corda com um fio de nichromo. A corrente passava pelo fio, que esquentava até o vermelho e cortava a corda em aproximadamente 2 segundos — isso nos dava uma noção exata de quando ativar a capivara gritando, parar o cronômetro e iniciar o comercial:

Por que no hosting comum a administração do PrestaShop é lenta, e no seu não é?

O que não conseguimos realizar?

Na final, uma fumaça densa deveria sair da unidade central, como se fosse um incêndio — preparamos bombas de fumaça, acendemos elas da mesma forma, mas por algum motivo elas não funcionaram (provavelmente por causa da água).

Quem é o vencedor?

O vencedor foi Arkadiy Alekseev de São Petersburgo — foi ele quem gerou o token de teste primeiro e ganhou o restante do dinheiro no triturador, totalizando 134.000 rublos.

Uma breve entrevista com Arkadiy.

Fale um pouco sobre você, o que você faz no trabalho?

Sou formado em segurança, terminei o BIT na ITMO. Trabalho como desenvolvedor web full-stack em outsourcing. Fui um estudante olimpíada na escola, incluindo em programação e matemática.

Como você soube do jogo?

Entrei no Habr apenas para ler, vi um artigo e fiquei interessado.

Quantas horas você jogou, quando se juntou?

Entrei na noite do dia em que o artigo foi publicado (ou seja, um dia antes do término). Passei a noite e boa parte do dia seguinte.

O que você gostou e o que não gostou?

No geral, gostei de tudo (afinal, eu ganhei)), mas o momento das ligações foi um pouco estressante. Tipo, ligar e verificar cada versão não foi muito legal, no mínimo, foi meio constrangedor — eu entendia que havia várias outras pessoas ligando, metade delas fazendo piadas e tentando engenharia social.

Como você entendeu como encontrar o token de combate para o Megatron?

Quando entrei, já tinham enviado spam para o servidor, mexido nos interruptores, encontrado a senha do painel de controle do laser, vários subdomínios e páginas.

Também foi fácil encontrar o perfil no GitHub e o gist com os comentários. A partir daí, o processo de geração do token e seu segredo se tornaram óbvios. Em tais quests, não é preciso ser muito inventivo, pois você pode se perder em diversas possibilidades; assim, é necessário seguir a direção que o criador da quest indica.

Levando em conta os outros subdomínios e o site de teste na Tilda, ficou claro que, após fornecer energia ao laser, seria necessário escolher um token. Assim, na mesma noite, esbocei uma solicitação aproximada para ativar o laser (com base em 4 formulários disponíveis: 1 no site ativo e 3 no teste/antigo) e tentei fazer brute force com os tokens ativos começando pelo 42 (só por via das dúvidas — talvez tudo já estivesse ligado e a página de envio do token só abrisse após fornecer o CPF e o nome completo).

Não tenho certeza se a solicitação estava correta, pois não houve tempo para verificar (afinal, só era possível checar a ativação do laser), mas já me preparei para o brute force do token com antecedência.

Além disso, havia uma lógica óbvia com os websockets e o controle de dispositivos no arquivo app.js. Havia uma sugestão forte sobre o dispositivo a9, que falhava ao enviar power: true. Tentei enviar várias coisas para ele — quem sabe, poderia haver um dispositivo adicional para desvendar o CPF, mas sem sucesso.

Depois, pesquisei outros IDs próximos àqueles dez, mas em todos estava como dispositivo desconhecido. Tentei pesquisar várias coisas, acessei chsokolow@gmail.com, enviei mensagens na página de preços, investiguei o lasermasters, mas tudo sem sucesso. No dia seguinte, fiquei no chat, pesquisando várias coisas, então surgiu o tema estego e consultei uma pessoa sobre estegsolve para imagens e GIFs (mas logicamente entendia que 99% não haveria nada, pois isso seria demais + contradiziria a linha principal da missão).

Mas, no final, também passei algumas horas analisando todas as imagens e GIFs. Liguei algumas vezes com diferentes opções de CNPJ, mas nada. Então, decidi deixar pra lá, mas lá postaram uma dica — e ficou claro que em breve o CNPJ seria encontrado, o que ocorreu. Depois, ou eu ou alguém mais (não é óbvio) enviou power: true para o dispositivo A9 e o laser funcionou, embora possa não haver relação e ele tenha simplesmente funcionado após o CNPJ. Enfim, entrei na área administrativa do laser e fiquei bastante surpreso, já que o servidor enviava o token automaticamente (e eu já estava me preparando para fazer um brute force). Ficou óbvio que o token era de teste, pois a transmissão + o bom senso + eu o verifiquei.

No código havia uma lógica para enviar o token de trabalho a algum lugar como notificação, mas, aparentemente, ou era um código incorreto, ou era necessário para outras partes do sistema. Eu escrevi um script para obter o token de trabalho atual a partir do teste e fiquei atualizando a página, tentando enviá-los — isso foi problemático, pois todos estavam constantemente apertando o botão de envio, mudando assim o token. Depois, o site caiu, o contador reiniciou, mas não importa — depois de um tempo, enviei o token de trabalho. Teoricamente, o contador estava em 58 e o token era 449a776938f7ce4cf19f8603045dca0f no momento da ativação, se não me engano. Na verdade, é isso.

Depois, eu ainda fiquei um pouco irritado com comentários como "ah, isso é tudo trivial, que sorte apenas". Bem, se você entrar na página, pensar por um minuto, escrever um script em poucos minutos, verificá-lo — então sim, é trivial. Mas eu fiz isso em 10 a 20 segundos, e depois simplesmente não consegui enviar o token por vários minutos.

Claro, poderia ter tentado escrever uma lógica para captura e envio automático, mas isso levaria mais tempo e teria um grande risco, além de que provavelmente a nuvem começaria a reclamar. A questão que realmente me favoreceu foi a última etapa — alguns algoritmos para velocidade + tempo de resposta, isso é bem a minha praia. Se houvesse uma tarefa diretamente de pentest, provavelmente eu não seria o primeiro.

Mas isso ainda não é o fim

Mal posso esperar para contar a vocês sobre toda a equipe incrível que construiu esta missão e todas as soluções de engenharia que ela encontrou. Mas este post já ficou muito longo — portanto, haverá artigos separados sobre isso, então fiquem ligados e se inscrevam no nosso blog no Habr.

Quem parou o shredding ou como deveria ser o processo de passar pelo quest de destruição do servidor

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