Ataque a paginas ASP y SQL SERVER con Trojan AspRox

Ataque de Cadena ASCII (Encoded/Binary) Automatica de SQL Injection o en ingles ASCII Encoded/Binary String Automated SQL Injection Attack.

Descripcion del Ataque:
Recientemente, nos venimos cruzando con un tipo de SQL Injection muy particular e interesante, que, hasta ahora puede ser muy dificil de limpiar, incluso hasta con el mas robusto backup de base de datos o esquema de recuperacion. Este ataque masivo es conducido con la ayuda de un robot de internet –tambien conocido como «malbot» y «botnet» que tienen perspectivas de atacar diariamente. Esto es como si cada uno de estos «Robots» disparan una serie de injecciones SQL de forma continua y cotidiana hasta que los resultados del malefico script son sensados en las paginas webs atacadas como posibles indicadores de vulnerabilidad.
(De hecho, cuando google escanea nuestro sitio para indexar contenidos, detecta que la web esta infectada, o interpreta que esta distribuyendo software malintencionado). Firefox esta usando dicho cache de paginas malintencionadas de google, y muestra la siguiente pantalla:

Firefox ante una pagina Infectada con ASProx

Detras del botnet, este ataque, llamado ASProx, fue previamente asociado con ataques Pishing, y ahora esta indirectamente distribuyendo Malware a traves de estos sitios webs que son vulnerables al SQL injection. Los atacantes tienen diseñado el Asprox para reproducirse con la ayuda del Buscador Google, una busqueda inicial de paginas webs que utilizan tecnologias ASP (.asp), ASP.net (.aspx), y PHP (.php).

El ASProx botnet tambien utiliza un DNS Fast Fluxing como tecnica para ocultar la entrega real del malware, detras de una red cambiante de hosts comprometidos que actuan como apoderados. La infraestructura del botnet crece constantemente. No hay nada nuevo en la forma en que el siguiente T-SQL se inyecta. Sin embargo, el carácter genérico del script es algo interesante para ver.

Las siguientes 3 variantes estan siendo injectadas a traves de HTTP GET:

‘;DECLARE%20@S%20NVARCHAR(4000);SET%20@S=CAST(0x44004500 … 06F007200%20AS%20NVARCHAR(4000));EXEC(@S);–

;DECLARE%20@S%20VARCHAR(4000);SET%20@S=CAST(0x4445434C … 736F7220%20AS%20VARCHAR(4000));EXEC(@S);–

‘;DECLARE%20@S%20CHAR(4000);SET%20@S=CAST(0x4445434C … 72736F72%20AS%20CHAR(4000));EXEC(@S);

En resumen; lo que hace es añadir ciegamente el script al valor actual de cualquier columna de la base de datos; o en otra de sus versiones primero verifica si la entrada actual ya no ha sido infectada, evitando la repeticion excesiva del script. Ademas, el script T-SQL( transact SQL), no solo Inyecta codigo Javascript en la base de datos sino que tambien agrega la etiqueta de declaracion de comentarios de HTML «<!–» al final del contenido del registro infectado para que intencionalmente se oculte e impida que el HTML sea cargado.

Dentro del Javascript que inyecta el en la base de datos, hay un include JS que puede figurar en cada ataque con un nombre de dominios distinto: ejemplo: (hay decenas de ellos)

http://www.64asp.ru/script.js
http://www.sel92.ru/script.js 
http://www.22net.ru/script.js 
http://www.51com.ru/script.js

El resultado final (para los sistemas infectados) es un malware ejecutable con el nombre «msscntr32.exe», que es instalado en el sistema como Servicio de Windows con el nombre «Microsoft Security Center Extension».

Como hacer inmunes tus Aplicaciones Web y base de datos de tales ataques SQL Injection automaticos. Los siguientes fragmentos de código (3.0/VB ASP y ASP.NET / C #) demuestran la imperfeccion de la aplicacion con un rapido enfoque:

<%

Dim strQuery
strQuery = UCase(Request.ServerVariables(«QUERY_STRING»))
strQuery = Replace(URLDecode(strQuery), » «, «»)
If InStr(strQuery,»EXEC(«) > 0 OR _
InStr(strQuery,»SELECT») > 0 OR _
InStr(strQuery,»INSERT») > 0 OR _
InStr(strQuery,»UPDATE») > 0 OR _
InStr(strQuery,»DELETE») > 0 OR _
Len(strQuery) > 500 Then
Response.Write 1/0
End If
%>

fuente: bloombit

1 Comentario

Deja un comentario