Bem vindos ao Blog da comunidade ITsafe



Boa Leitura


Blog em em português sobre construção . Por favor se encontrar algo que necessite correção entre em contato. Os vídeos do blog ainda estão em hebraico, mas em breve estaremos traduzindo com a mesma qualidade que traduzimos os cursos.


Desafios de recrutamento ao Mossad 2018 Parte 3

A terceira parte:

O início do desafio do mossad 3
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.
tela 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:
Lista de comandos do-busybox
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:
O comando ps não mostra o processo em execução
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:
O comando ls codifica os nomes das pastas
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.
Código Python que executa exatamente a mesma codificação
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.
Lista de arquivos entre eles .readme
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:
Teste de codificação para o caractere. a
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:
A pasta a/ Não existe
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:
Codificação completa skm/.lxsuct/
Depois de atualizar nosso código, obteremos:
Suspicious network activity detected...
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:
Lista de pastas e arquivos dentro de um processo que está em proc, como exe
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 conteúdo do arquivo
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:
O comando ps exibe o nome de usuário
Portanto, deve-se fazer um pedido ao seguinte endereço para obter o arquivo:
`` http://35.205.32.11/iso?user=admin&pass=Uw1lLN3v3rG3tM3`

Baixando o arquivo do servidor
O conteúdo do arquivo é:
`` iso.iso`
Vamos abrir nosso arquivo ISO e parece ter fotos numeradas de 1 a 7
6 Arquivos de imagem e thumbs.db que contém todas as imagens na pasta em-cache
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:
Examinando o arquivo com binwalk
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:
Recuperação de imagem número 3
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:
Erro mostrando que não conseguimos localizar key.js no caminho 127.0.0.1:1337
Além disso, um arquivo script.js é codificado e vamos executá-lo para lê-lo unpack:
`` http://matthewfl.com/unPacker.html`

Descriptografar arquivo com Unpacker
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
O site pede uma senha após a decodificação
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
    break point Na linha 30
    E vamos passar por todas as funções até chegarmos a uma função que apresenta o verdadeiro desafio:
    Código brainfuck
    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:
Executando o código no navegador
Agora clique em pausar e depois em cancelar ou ok então você verá o código dojsfuck:
Verificação perante um senha simples em base64
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:
H4pPyB1r7hd4y70I5ra3l!
Vamos inserir a senha e terminar o desafio.
Anúncio de sucesso na solução do desafio

Compartilhe este post