01.01.2013 Views

Liber 000 - Astrum Argentum

Liber 000 - Astrum Argentum

Liber 000 - Astrum Argentum

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Thread model: posix<br />

gcc version 3.3.1<br />

root@motdlabs:/# cat /proc/cpuinfo<br />

processor : 0<br />

vendor_id : GenuineIntel<br />

cpu family : 6<br />

model : 11<br />

model name : Intel(R) Pentium(R) III CPU 1<strong>000</strong>MHz<br />

stepping : 1<br />

cpu MHz : 999.728<br />

cache size : 256 KB<br />

fdiv_bug : no<br />

hlt_bug : no<br />

f00f_bug : no<br />

coma_bug : no<br />

fpu : yes<br />

fpu_exception : yes<br />

cpuid level : 2<br />

wp : yes<br />

flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov<br />

pat<br />

pse36 mmx fxsr sse<br />

bogomips : 1992.29<br />

root@motdlabs:/#<br />

O padrão full da instalação do slackware, inclui o gcc 3.2.3, mas com<br />

testes realizados com o gcc 3.3.1 num SuSe me mostrou que os código<br />

teriam que ser reescritos de outra forma. Então instalei o gcc 3.3.1 que<br />

vem acompanhado no CD2 na pasta /extras. :)<br />

Agora chega de enrolação!<br />

Let's Rock! ;)<br />

Um bom começo para escrever um shellcode, é primeiro fazer um<br />

protótipo dele em C. Com isso se tem uma melhor visão de como ele irá<br />

ficar em Assembly. Acompanhe abaixo nosso primeiro código, ele irá<br />

apenas imprimir a string MOTDLabs na tela.:<br />

shellcode/cwrite.c<br />

/*<br />

* Protótipo de um shellcode em C.<br />

* Imprime a string "MOTDLabs" na tela.<br />

* by IP_FIX .<br />

* MotdLabs .<br />

* Compilação: # gcc -o cwrite cwrite.c<br />

*/<br />

62<br />

#include <br />

int main() {<br />

/* write(stdout,"MOTDLabs\n",strlen("MOTDLabs\n")); */<br />

write(1,"MOTDLabs\n",10);<br />

/* Sai limpo. */<br />

exit(0);

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!