Vira Postado Abril 29, 2019 em 12:51 Compartilhar Postado Abril 29, 2019 em 12:51 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: 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 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. 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á! secret_flag.zip Link para o comentário Compartilhar em outros sites More sharing options...
Fernando Mercês Postado Abril 29, 2019 em 13:25 Compartilhar Postado Abril 29, 2019 em 13:25 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! Link para o comentário Compartilhar em outros sites More sharing options...
Vira Postado Abril 29, 2019 em 13:47 Autor Compartilhar Postado Abril 29, 2019 em 13:47 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! Link para o comentário Compartilhar em outros sites More sharing options...
rcimatti Postado Maio 3, 2019 em 13:55 Compartilhar Postado Maio 3, 2019 em 13:55 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! Link para o comentário Compartilhar em outros sites More sharing options...
Fernando Mercês Postado Maio 3, 2019 em 15:19 Compartilhar Postado Maio 3, 2019 em 15:19 Acho perfeito o uso da tag spoiler neste caso , @rcimatti, porque dá a oportunidade da pessoa tentar e, caso precise de dicas, usar. ? Link para o comentário Compartilhar em outros sites More sharing options...
Vira Postado Maio 7, 2019 em 17:31 Autor Compartilhar Postado Maio 7, 2019 em 17:31 @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!! Link para o comentário Compartilhar em outros sites More sharing options...
Vira Postado Maio 22, 2019 em 17:58 Autor Compartilhar Postado Maio 22, 2019 em 17:58 Pra quem acompanhou a saga, graças a ajuda do @rcimatti consegui entender os pontos que faltavam pra retornar a informação que eu precisava!! Caso tenham duvida neste desafio, contem comigo pra ajudar!!! Abraço!! Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Arquivado
Este tópico foi arquivado e está fechado para novas respostas.