r200 – Evil Barney
Nunca gostei do Barney. Ele bagunça tudo!
Solução
Baixe o arquivo e renomeie.
1 |
$ mv 26a77a15-5b34-489e-ba6e-00c344a2e49c.712eed3ccab0dcfafb1a1f95b8a5945a barney |
1 2 |
$ file barney frypto: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.32, BuildID[sha1]=0xeebcb88f7a46a6a0b7926005de7e129bcf04c77e, not stripped |
1 |
$ chmod +x barney |

Instale o hte.
1 |
$ apt-get install ht -y |
Depois carregue o binário barney no hte.
1 |
$ hte barney |
Depois de carregado pressione “espaço” e selecione o modo “elf/image”
Próximo passo é achar o endereço main. Pressione F5 para abrir o goto e pesquise pelo “main”.
Nas chamadas 400647 e 400648 dentro do main, pressione CTRL + A em cada uma para alterar as chamadas para instrução nop.
Pressione F2 para salvar e CTRL + C para sair.
Execute novamente o binário barney para obter a flag.
1 |
$ ./barney |
Flag
CodeName_Barney
Criado por
XShellCTF
Extra
Recent Posts
Showing 3 comments
Como tú sabia que tinha que fazer isso? Como chegaram a essa conclusão?
Marcuscaum desculpa pela demora na resposta só vi agora.
Cara em reverse você tem que olhar as funções.
Indico sempre começar pela função main(principal). Se não achar nada na main vai para as outras funções.
E procurar por algo estranho.
Observe que na main tem a função reveal e scramble que pode ser usada para construir a flag, embaralhar, esconder etc…
Observer que nessas instruções é usado o MOV que é pra mover a instrução para um outro lugar.
Então você usa o nop para pular e continuar a executar as outras instruções.
Foda! Valeu pela resposta 🙂