Jump to content
Sign in to follow this  
Vira

HTB - Find the Secret Flag nunca retorna o esperado

Recommended Posts

Posted (edited)

Bom dia Galera,

 

Sou bem novo aqui no Fórum, procurei as regras mas não encontrei. Então usarei apenas do bom senso! 🙂
 

Eu estou a mais ou menos dois meses cutucando um CTF do hack the box, minha experiência com reversing não é muito grande, mas estou procurando aprimora-la cada vez mais. Terminei semana passada o CERO que o Fernando ministrou no Papo Binário, consegui certos progressos mas ainda assim não consigo retornar a flag.

 

Segue o enunciado do CTF:

Find the secret flag and get the name of the creators of this challenge!

o arquivo do CTF esta em anexo, mas tambem pode ser baixado em https://www.hackthebox.eu/home/challenges/Reversing na opção Find The Secret Flag

Senha do arquivo ZIP: hackthebox

 

Identifiquei alguns pontos sobre o desafio:

As 4 primeiras strings ascii são parte do programa normal, e não são produtivas pra nada, pelo que eu vi, as duas ultimas dentro do data são stirngs encodadas:

image.thumb.png.d9ba7e81d79a1f95dbe42b61a58297b4.png

Mesmo sabendo das strings, não encontrei referencias dela em nenhuma parte do código.

A unica referencia a string encodada é na função sub.printf_400a5b, e o fluxo do código tabém não cai na área dela por padrão

image.thumb.png.531449d0c27fb58b3d714f8331d85b54.png

 

Eu fiz todo os tipos de direcionamentos que aprendi, procurei fazer com que as entradas do que as funções necessitam fossem sempre válidas, mas sempre que entro nestas funções recebo um seg fault, ou uma saida aleatória que não é útil pra  nada.

As funções que destaquei abaixo são as que não identifiquei como sendo chamadas de forma nennhuma na execução do binário.

image.png.43e7b2dadbb1f2487d8a86b50f45cc56.png

 

Alguém mais experiente poderia me auxiliar com este desafio? Honestamente estou a tanto tempo nele que nem estou mais preocupado com a pontuação em si, mas quero entender que pontos estou errando para melhorar minhas habilidades. tenho certeza que isso me ajudará a reverter strings ofuscadas em malwares!!

 

Obrigado desde já!
 

 

image.png

secret_flag.zip

Edited by Vira

Share this post


Link to post
Share on other sites

Bem vindo, @Vira!

As regras da comunidade estão aqui (Home -> Regras, no menu). 😉

Eu não baixei o arquivo mas na função tmp_secret() tem um comentário gerado pelo seu disassembler: CALL XEF from main (0x40098f), que significa que existe uma chamada para esta função neste endereço. Eu iria lá checar pra ver o que está pegando hehe

Grande abraço e boa sorte!

Share this post


Link to post
Share on other sites

Valeu @Fernando Mercês, Obrigado por aquele CERO cara, me ajudou muito a aumentar meus conhecimentos!!

Essa função do tmp_secret é um beco sem saida,ele pede um arquivo com um conteudo X, mas ainda assim não retorna nada quando o arquivo existe!! apenas sai sem erro!

Mas muito grato pela dica!

 

Abraço!

  • Curtir 1

Share this post


Link to post
Share on other sites

Vira, segue abaixo algumas dicas pra tentar ajudar:

Spoiler

• Pra chegar nessa função tmp_secret você pode fazer um patch no binário ou então criar o arquivo /tmp/secret com o conteúdo que ele espera (foi o que fiz depois de ler o programa no disassembler).

• Passando isso você vai receber uma string nada a ver como retorno no programa. Olhando novamente no disassembler você vai ver que o programa pega o primeiro parâmetro argv[1] e transforma num inteiro com a função atoi. Se você continuar lendo vai entender pra que esse número é usado e como descobrir seu valor correto.

Eu achei melhor não postar direto a solução pra poder tentar, mas se quiser posso te mandar.

Abs! 

  • Curtir 2

Share this post


Link to post
Share on other sites

@rcimatti Obrigado pelas dicas, eu vou tentar reler o código novamente no disassembler!

Lembro de ter relido algumas vezes pra identificar o que precisaria ter no secret pra ele seguir, mas não entendi o que era!

Eu vou dar uma olhada hoje nessa parte do atoi que você citou.

Apesar de conhecer um pouco de linux creio que eu esteja com dificuldade de debugar fora do gráfico!!
Obrigado pelo auxilio, chegando em casa vejo isso!!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...