Desta vez, os participantes estiveram bem próximos de encontrar a solução, mas nenhum usuário conseguiu obter a flag.

Em dezembro, publicamos o Desafio ESET #2, no qual os participantes teriam que encontrar um conteúdo escondido na página do post. Após entender o conteúdo, os participantes seriam levados a mais dois passos até chegar a flag. Veja a solução completa para o desafio:

Solução do desafio #2 da ESET

1 - Apesar de ter apenas uma dica, ela dá bons indicativos do que precisa ser feito para dar início ao desafio. Para conseguir encontrar o que está escondido na página, primeiro é necessário olhar o código fonte - nele é possível encontrar um comentário com caracteres que “não dizem nada”, ao menos não antes de decodificar.

Imagem 1. Código fonte.

2 – Após encontrar o comentário é necessário entender o que ele diz. Como os caracteres estão embaralhados o suficiente para tentar adivinhar o que eles querem dizer, é necessário que o processo seja feito de outra forma.

Observando os caracteres podemos identificar algumas coisas, a primeira é a forma como alguns deles se repetem, o que pode indicar se tratar de alguma codificação por substituição de caracteres. Outra é que há alguns códigos inseridos no meio dos caracteres. As repetições estão destacadas em amarelo, azul e verde e os códigos estão destacados em vermelho.

Imagem 2. Caracteres.

Pesquisando o código que mais se repete ( ` ) no google um dos primeiros links nos mostra uma tabela com os caracteres decodificados para cada um dos códigos encontrados, o código se refere ao acento grave (`).

No entanto, o primeiro código que aparece entre os caracteres não está descrito na tabela exibida pelo site. Pesquisando o código, é possivel encontrar diversas referências, uma delas é sobre entidades especiais usadas em HTML 4.0, o código exibido refere-se ao sinal de maior (>).

Após as devidas substituições, é necessário pesquisar sobre quais codificações utilizam substituição. Diversos endereços encontrados falam principalmente sobre a cifra de César e um processo chamado ROT (diminutivo de Rotate).

Pesquisando sobre o tema, é possível encontrar uma página da wikipédia explicando todo o processo. Em meio as explicações, podemos identificar um tipo de codificação que engloba também caracteres especiais, o ROT 47.

Como a ROT47 parece atender as necessidades de conversão que temos, é necessário buscar um meio de decodificar os caracteres. Um site muito utilizado para este fim e que possui diversos outros recursos interessantes é o Cyber Chef, usando o campo de busca é facil encontrar a opção de conversão de texto para ROT47.

Imagem 3. Cyberchef.

Nela há a descrição sobre uma forma de codificação que consegue embaralhar não apenas letras e números mas também caracteres especiais - o processo é chamado de ROT47 (uma derivação do ROT13).

Procurando na internet uma forma de decodificação dos caracteres, é possível encontrar a página https://www.dcode.fr/rot-47-cipher. Logo em seguida, após inserir os caracteres no campo correto, ele nos apresenta o endereço de uma página:

Imagem 4. Página decode.

A página está dentro do nosso Blog WeLiveSecurity, no idioma em português, e não está referenciada em nenhum outro lugar.

Acessando a página, é possivel encontrar uma única imagem dentro dela.

Imagem 5. Página WLS.

Ao chegar a este ponto, o participante deve analisar a imagem para encontrar o que está escondido.

O que usamos para esteganografia nesta imagem é referente as cores dos retângulos. Cada um deles possui um código de cor RGB distinto. Os códigos podem ser obtidos em aplicativos de edição de imagens, como o Paint, Photoshop, Gimp ou similares, ou através de páginas web que conseguem identificar as cores de imagens específicas.

Para a solução deste desafio utilizamos a página https://pinetools.com/image-color-picker, na qual, após enviar a imagem, basta clicar sobre as cores do retângulo para ver os códigos atribuídos a ele.

Imagem 6. Color Picker.

Fazendo isso em todos os retângulos coloridos, podemos obter os códigos abaixo:

<>Codigo-decimal – campo de texto<> - 65 32 99 104 52 118 101 32 51 115 99 111 110 100 49 100 52 32 99 111 109 32 83 116 101 103 48

Os códigos aparentam estar em base 10 (decimal). Podemos utilizar novamente o Cyber Chef para decodificar. Inserindo todos números no campo Decimal (bytes), ele nos traz a flag do desafio listada no campo ASCII text.

Imagem 7. Código decimal.

Essa é a última conversão e nos traz a flag do desafio 2.

Agradecemos a todos os participantes e convidamos a ficarem atentos, pois, em breve, lançaremos desafios com dificuldades diferentes.