Crackme 03 - Source Code


E não demorou quase nada!

Parabéns ao Fernando Mercês e ao Andrey Arapov que quebraram rapidinho o binário utilizando formas distintas e super interessantes.

Este é o walk through (análise dinâmica) do Andrey.
https://nixaid.com/crackme-v3-walkthrough/

Abaixo o do Fernando Mercês (análise estática).
https://groups.google.com/d/msg/brasil-underground/IByA_8XcppU/P9Oqzn9cFBwJ

* Código fonte no Github * =D

Resumindo, o ELF Header do crackme.03.32 foi feito com base no Teensy ELF Header do Brian Raiter, ou seja, totalmente à mão, e não pelos assembler e linker (este último que nem foi necessário). Por isso a “mágica” do entrypoint estar na área que pertenceria somente ao Header. ;) Para conseguir isso, utilizei fields do header que são desprezados na inicialização do binário, aglutinando-os e brincando com eles para atingir o “mal necessário”.

Outro aspecto do binário é o desofuscamento dinâmico da string ‘Omedetou’ por meio do algoritmo uzumaki.

Há, também, dois checksums: um do header (com chave criptografada) e o outro do binário inteiro (com chave simples).

Mas tudo isso foi implementado apenas para desviar o cracker do caminho mais simples que é o “patch the jump”.

Espero que tenham gostado. Até a próxima! o//

Mais Informações

Crackme - Wikipedia A Whirlwind Tutorial on Creating Really Teensy ELF Executables for Linux - Brian Raiter System V Application Binary Interface System V ABI, Intel386 Architecture Processor Supplement


This post was written in markup language. You can find it here.

Geyslan G. Bem
Just an ordinary guy who frequently introduces bugs and still want to be paid for that. Just kidding, sometimes there are free bugs too.
               

comments powered by Disqus