Desafios de recrutamento ao Mossad 2018 Parte 3

A terceira parte:


O desafio começa com um arquivo desconhecido baixado quando você pressiona alink.

Se abrirmos o arquivo, obteremos o software busybox, um software bem conhecido que contém um kit de ferramentas Linux comumente usado entre sistemas embedded.

Vamos rodar o arquivo e parece que ele diz que temos uma dica na pasta tmp, você pode ver que esta é uma versão editada do busybox.

Se rodarmos um Busybox real a partir de bibliotecas Linux, parece que esta linha de código não esta presente como padrão:

Portanto, provavelmente há algo especial na versão do busybox que baixamos, depois de executar todos os comandos, eles parecem ter modificado o comando ps:

Portanto, o objetivo é claro, precisamos chegar ao arquivo do processo 1337 para analisá-lo a fim de obter nossa próxima dica no desafio.

Então, precisamos começar o processo usando o busybox que baixamos, vamos tentar usar ls e ver todos os arquivos na pasta tmp:

Você pode ver que eles editaram o comando ls e ele adiciona 1 a cada caractere de acordo com seu índice na palavra, de modo que o primeiro caractere é adicionado 1 e o segundo caractere é adicionado 2 etc…

Escrevemos um programa para nos ajudar a usar o comando ls convenientemente.

Se usarmos o comando ls com a palavra skm, parece que podemos ver o conteúdo dos arquivos em nossa pasta tmp e até encontramos a dica.

Se for assim, devemos ser capazes de ler o conteúdo da dica usando os comandos cat com o caminho:
“ /skm/.l^Y[cZ`
Que obtivemos do script de a ajuda que escrevemos:
O resultado da codificação do arquivo Readme é .lxsuct
O resultado ficará assim:

Parece que para chegar ao caractere e deve-se usar o caractere ^ E os caracteres especiais não são afetados pela lógica do caractere + o índice do caractere.

Provavelmente temos um erro de código, então tentamos entender a lógica da seguinte maneira:

Você pode ver que há uma repetição de caracteres dentro dos limites de a-z no loop, vamos verificar a afirmação voltando-nos para o caractere z e ver se obtemos a:

Depois de atualizar nosso código, obteremos:

Com base na dica, concluímos que provavelmente o software cujo processo 1337 envia algumas mensagens ou realiza alguma operação de rede, portanto, precisamos examinar a pasta /proc/1337/ assim:

Parece que a pessoa que editou o arquivo busybox realmente investiu neste desafio, agora vamos puxar o arquivo exe e tentar explorá-lo nós mesmos:
“ ./busybox cat /oply/1337/tlr > aaa`
Se olharmos o arquivo de perto:

O arquivo parece ter 2 parâmetros que são:

  • -u nome do usuário
  • -d Use a senha padrão, que é Uw1lLN3v3rG3tM3

Se olharmos para o comando busybox ps, parece que o nome de usuário é admin:

Portanto, deve-se fazer um pedido ao seguinte endereço para obter o arquivo:
“ http://35.205.32.11/iso?user=admin&pass=Uw1lLN3v3rG3tM3`


O conteúdo do arquivo é:
“ iso.iso`
Vamos abrir nosso arquivo ISO e parece ter fotos numeradas de 1 a 7

Se você olhar de perto, verá que a imagem 3 está faltando e temos mais 2 arquivos thumbs.db e -vault.

Além disso, iremos executar binwalk no arquivo para obter mais dados no iso e seus arquivos:

Parece que a pasta também tem arquivos HTML e um arquivo de banco de dadossqlite

Vamos puxar a pasta para o Windows para facilitar o trabalho comsqlite

E abra o arquivo do vault com o software SQLiteStudio:
Examinando o arquivo com-SQLite
Você pode ver que temos 3 arquivos criptografados dentro do banco de dados e um arquivo html.

O conteúdo do arquivo html se parece com este:
“`

Se olharmos novamente para o resumo dos arquivos na pasta feita pelo binwalk podemos ver que alguns arquivos de imagem estão faltando, então olhamos o thumb.db que é apenas um arquivo que armazena em cache o thumb das imagens na pasta.

Para ver o conteúdo do arquivo thumb.db, usaremos o software Thumbs Viewer:

Você pode ver que o software mostra que havia 7 arquivos de imagem na pasta, e a terceira imagem parece ter uma senha para os arquivos criptografados.

Agora vamos procurar no Google um site que saiba como decifrar a criptografia blowfish cbc, então chegamos ao site:
“ http://sladex.org/blowfish.js/`

O resultado da pesquisa do Google mostra o site listado acima
Usaremos o desafio de descriptografar os três arquivos e executar o arquivo html, o resultado será semelhante a este:

Além disso, um arquivo script.js é codificado e vamos executá-lo para lê-lo unpack:
“ http://matthewfl.com/unPacker.html`


Você pode ver que há uma referência a um arquivo key.js para um servidor local na porta 1337 Você pode usar python e configurar um servidor nesta porta para:
python -m SimpleHTTPServer 1337` Ou você pode apenas referir-se independentemente ao arquivo no arquivo html dessa maneira:`

Preferimos editar o arquivo e apenas executá-lo sem

Para resolver o desafio, usamos a ferramenta de desenvolvedor do Chrome da seguinte maneira:

  1. Colocamos um ponto de interrupção de código ao carregar o código do desafio

    E vamos passar por todas as funções até chegarmos a uma função que apresenta o verdadeiro desafio:

    Esta função carrega o desafio codificado no formato jsFuck, que é um formato de codificação javascript em apenas 6 caracteres, .

Basta executar o código de desafio pressionando F8 até ver o desafio carregado:

Agora clique em pausar e depois em cancelar ou ok então você verá o código dojsfuck:

Você pode ver que há uma verificação se a senha inserida após a operação btoa é igual à seção em base64, então tudo que você precisa fazer é descriptografar a base64 e inserir a senha:

Vamos inserir a senha e terminar o desafio.

Outros artigos que você pode ter interesse: