[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[OT] Capivarice em PHP (era: Visualizar logs squid tempo real)



Em Sexta 29 Junho 2007 10:25, Maxwillian Miorim escreveu:
> On 6/28/07, Davi <davividal@siscompar.com.br> wrote:
> > Em Quinta 28 Junho 2007 18:27, Maxwillian Miorim escreveu:
> > > On 6/28/07, Davi <davividal@siscompar.com.br> wrote:
> > > > Em Quinta 28 Junho 2007 18:11, Maxwillian Miorim escreveu:
> > > > > On 6/28/07, Wendell Almeida <wendell@ctech.srv.br> wrote:
> > > > > > Davi escreveu:
> > > > > > >       Alguém estava procurando isso, ou entendi errado?
> > > > > > >
> > > > > > > http://www.vivaolinux.com.br/screenshots/verScreenshot.php?codi
> > > > > > >go=9 952
> > > > > >
> > > > > > Quase isso.
> > > > > > A visualização tem que ser via browser.
> > > > >
> > > > > Faz um CGI (perl, python, bash, C e etc.) que fica lendo e exibindo
> > > > > na tela, não é uma solução rápida (em termos de performance, tempo
> > > > > de desenvolvimento isso é tão rápido quanto qualquer outro PoG :P)
> > > > > mas faz isso...
> > > >
> > > >         Mais rápido que o PoG
> > > >
> > > > <?php
> > > > system("tail -f ".$_GET["log"]);
> > > > ?>
> > > >
> > > > # chmod 777 /var/log/log/do/squid
> > > >
> > > > http://servidor/log.php?log=/var/log/log/do/squid
> > > >
> > > >         Não tem... :-)
> > >
> > > Continua sendo pog e dependendo da tua segurança um
> > > http://servidor/log.php?log=/etc/shadow pode mostrar o que não deve :)
> > >
> > > OBS: Provavelmente o /etc/shadow não mostra nada, então usamos o
> > > /etc/passwd e vemos os usuários sem senha ou então temos nomes de
> > > usuário para brute force (hoho tenho quase 2GB em dicionários :P)
> > >
> > > Não tem formatação da saída, esse tail -f faria o teu server ter um
> > > http 500 em algum tempo (dependeria da máquina...) e esse chmod
> > > permitira que o pessoal apagasse o log do squid sem problemas.
> > >
> > > Nem sempre o mais rápido é melhor ;)
> >
> >         Eu sei... =P
> >         Eu coloquei o tail usando variáveis só para o buraco ficar
> > maior!!! ^^ \o/
>
> É fica um buraco *bem* maior, imagina $_GET["log"]='/etc/fstab >
> /dev/null &; killall httpd'
> Depois que tu brincar um pouco com PHP e SQL injection formular
> expressões como essa para explorar vulnerabilidades é como um
> 'printf("Hello World!\n");'. :)
>
> >         Mesmo sem o $_GET, um DoS fica mais fácil nessa situação porque
> > vai iniciar um processo a mais, além do fork do apache... :-)
>
> Se o apache estiver com um MPM para threads ao invés do forks não tem
> problema, vai cair a thread e olhe lá. Mesmo sendo fork eu acho que só
> o fork morre, o processo pai continua rodando (o Apache foi feito para
> ter este tipo de escalabilidade).
> DDOS é o menor dos problemas, quem quer evitar isso usa alta
> disponibilidade. Agora dar a possibilidade para alguém ter um shell ou
> executar comandos passa a ser um grande problema. ;)
>
> >         Sem contar, claro, o chmod 777...
> >         E qual seria a dificuldade em injetar um executavel nesse log
> > para instalar um root kit?? :-)
>
> Tecnicamente não seria um rootkit, por padrão o apache não roda como
> root, comprometeria o usuário apache/www/wwwrun/nobody.

	Ainda não... Mas se você tem um shell, mesmo com um usuário sem privilégio, 
fica mais fácil de procurar brechas e, enfim, escalar privilégios.
	Sem contar que, tendo um shell, manda um wget, baixa teu rootkit e faz o 
estrago...

	As possibilidades com esse código são grandes... Infelizmente esse tipo de 
código não é difícil de se encontrar... :-(

	Mas o que eu falei foi: o teu /var/log/log/do/squid está com 777... Então 
você pode, perfeitamente, colocar um shell script, baixar o que bem entender 
e escalar os privilégios que quiser... :-)

	Sei que não é exatamente assim e que isso é paranóia... Mas nessa área temos 
de ser paranóicos... :-P


-- 
Davi Vidal
davividal@siscompar.com.br
davividal@gmail.com
--
"Religion, ideology, resources, land,
spite, love or "just because"...
No matter how pathetic the reason,
it's enough to start a war. "
--------------------------------------------------------
Por favor não faça top-posting, coloque a sua resposta abaixo desta linha.
Please don't do top-posting, put your reply below the following line.
--------------------------------------------------------

Attachment: pgpUAvRwKiYE1.pgp
Description: PGP signature


Reply to: