Compilando Exploits
Linguagem C
Linux
Removendo algumas informações ao compilar para melhorar a segurança
É comum passarmos pela situação onde, temos um Linux x64 e o nosso alvo (que não possui o gcc
instalado) é um sistema x86. Nesse caso, podemos executar o comando abaixo para compilar nosso exploit. Caso seja um executável Estático (e não utilizando lib compartilhadas), adicione o parâmetro -Static
no final do comando.
Windows (Cross-Compile)
Geralmente os exploits geralmente são escritos em C
ou usando outras linguagens de script, como Python
/ Perl
/ PHP
. Não é uma boa decisão deixar um compilador no seu servidor, portanto, ele é "arquivado". Caso você não tenha o comando gcc
, significa que você precisa procurar explorar no Python, Perl ou compilá-lo em uma máquina virtual que tem a versão semelhante tanto do software quanto do kernel e depois mover o arquivo executável no host de destino. Mesmo assim não podemos ter 100% de certeza de que a exploração dê certo ou que até mesmo irá travar o sistema alvo.
Abaixo vemos uma maneira de compilar um exploit para Windows, porém iremos um Linux para realizar tal compilação. Antes de começar, precisamos instalar o mingw-64
.
Feito a instalação utilize a sintaxe abaixo para compilar o exploit.
DICA: Note que no segundo comando acima, utilizamos o parâmetro adicional -lws2_32
. Isso é necessário quando a compilação falha devido a chamadas no código-fonte como winsock2.h
, resultando em erros como WSAStartup
.
Java
Sites
Last updated