Tenho uma pergunta relacionada ao CTF e queria saber se alguém pode me indicar a direção certa.
Eu trabalho no OSX Yosemite e estava passando por alguns jogos de guerra e desafios mais antigos do CTF. Meu objetivo é executar o binário ELF do desafio "nativamente" no meu iterm (depois de scp localmente), embora perceba que apenas os binários MACH podem ser executados pelo sistema subjacente.
No entanto, isso é possível através da emulação, talvez (por exemplo, QEMU) ou qualquer outro método, a fim de evitar a abertura de uma VM inteira apenas para executar um binário?
Agradeço antecipadamente.
Respostas:
Por si só, os binários da ELF não significam nada. Poucos binários são executados sozinhos - você precisaria de bibliotecas, APIs e ABIs e outras coisas brilhantes.
Ao executar o QEMU, você ainda precisa da maior parte do sistema operacional - apenas que não esteja tão intimamente ligado ao sistema host que suspeito.
Em teoria, se você tivesse algo como 'wine', mas agindo como um linux (ou outro * nix syle OS) -> camada de compatibilidade com o OS X, poderia obter o que deseja, mas esse animal não existe.
Portanto, não, você não pode executar um binário ELF pré-compilado arbitrário no OS X
fonte
A resposta é provavelmente: depende de como o arquivo ELF foi gerado.
Com base neste artigo e nesta frase:
Nem todos os arquivos ELF serão executados, mesmo se você tiver uma configuração adequada.
Com base neste artigo , há um grupo de arquivos ELF chamado FatELF:
Com base nesta página da Apple
Portanto, para o Mac OS X, o FatELF é o "começo da resposta".
E, finalmente, com base nesta página :
Você tem a chance de ativar o que deseja.
PS: existe outra página sobre o XBinary , não a analisei .
fonte