Limpiemos internet entre todos: Proyecto bogon server

Les había prometido escribir sobre el proyecto bogon que esta dando excelentes resultados para todos los que administramos redes o pertenecen a WISP. El proyecto es “totalmente gratuito” para los que se sumen y no requiere de recursos de hardware ni licencias especiales. Solo un Mikrotik ( en mi caso ) y algunas configuraciones de BGP. (Aquí solo voy a contarles algunos rasgos generales del proyecto para que mas o menos entiendan como funciona y de que se trata). Para mas detalles pueden acceder a Capaocho.net que hay un how to muy bien explicadito.

En ISPARG (Foro hispano sobre Mikrotik moderado por Maxi Dobladez) fue donde di conocimientos a este proyecto que Ariel Weher y Pablo Lucchetti embarcaron. Mas abajo un reportaje con Ariel nos cuenta como fue que iniciaron.

El “Proyecto Bogon Server” consiste en la configuración de nuestros Servidores*, mediante BGP, para conseguir finalmente el filtro de trafico.

*Los servidores que entran en el proyecto pueden ser:

  • Cisco IOS.
  • Mikrotik RouterOS.
  • GNU/Linux Zebra/Quagga.
  • GNU/Linux + IPTables.
  • BSD/Solaris/Otro UNIX.
  • Vyatta.
  • Huawei OS.
  • Juniper JunOS.
  • Force 10.
  • Otros.

Definiendo Bogon: En términos muy amigables seria todo aquel trafico proveniente de Internet o originado desde nuestros propios clientes hacia intente. Este trafico “basura” se origina en la mayoría de los casos desde rangos de IP que no fueron asignados o delegados por ningún organismo de Registro Regional de Internet (RIR’s). Las RIR’s se encargan de administrar / asignar los rangos IP o pools de IP para todas las empresas u organismos de modo que no hayan numeraciones repetidas.

¿Por qué es importante filtrar los Bogons?

Según el conocimiento popular, se sabe que si se usa la conexión de un ISP para realizar tareas malintencionadas tales como hacer SPAM, escanear puertos, hacer ataques de denegación de servicio, etc., las autoridades pueden identificarme porque saben concretamente que esa IP desde donde realicé el ataque pertenece a un único ISP (o sistema autónomo).Entonces podrían rastrearme obligando al ISP a dar los datos del cliente que tenía esa IP en el momento del ataque, generalmente mediante acciones legales.

Ahora bien, como se sabe que los rangos IP publicados en el BOGON aún no son de nadie, contando con la infraestructura necesaria pueden adueñarse temporalmente de un rango libre, realizar el ataque y luego liberarlo, haciendo más difícil el rastreo (aunque no imposible).

Esto es debido a la negligencia de los mayoristas que no se fijan en las redes que publican sus clientes, pero eso es una cuestión más avanzada de BGP que por ahora no nos interesa.

Actualmente debemos saber que mientras más empresas dispongamos de filtros de Bogon, más dificil va a ser enviar basura a estos agresores que ganan millones a cuesta de nuestros servicios.

La práctica de filtrado trae como consecuencia en que vamos a disminuír la cantidad de ancho de banda gastado en “basura”, vamos a entregar un enlace a internet más “limpio” a nuestros abonados y vamos a asegurar que nuestro servicio no cause molestias al resto de internet.

Actualizacion automatica de listas BOGON:

Team Cymu es una organización sin fines de lucro encargada de enviar las listas actualizadas de bogons.
El problema es que para hacer contacto directo con ellos e incluso lograr las configuraciones se necesita no solo hablar ingles sino además cumplir con varios requisitos. Al parecer con Mikrotik se terminan las complicaciones.

Reportaje a Ariel Weher:

tech-nico: ¿Hace cuanto tiempo comenzaron con el proyecto?.

Ariel Weher:
Allá por mayo de 2008 dicte un mini cursito de BGP en el curso avanzado de mikrotik y les prometí que iba a pasarles alguna configuración de BGP que sirva para algo útil.

El Team Cymru viene con este proyecto Bogons desde hace rato, el tema es que en el momento del inicio del proyecto los requerimientos para que te conectes con ellos eran medios elevados; y yo vi que con Mikrotik era posible hacerlo bastante fácil, entonces nos pareció mas fácil conectarnos nosotros con todos nuestros equipos al cymru y desde ahí redistribuir a todos los pequeños ISP que usan mikrotik y que ellos lidien directamente con nosotros.

Yo particularmente hace varios años que estoy tratando de generar algún tipo de concientización entre los ISP, porque hoy nadie le da bola a la seguridad y a no tirar basura hacia Internet. Este proyecto Bogon, digamos que era el pie de entrada para después profundizar con otros temas mas complejos y eficaces.

tech-nico:
Esto debe ocupar mucho de tu valioso tiempo y ustedes lo hacen con la mejor onda y free. ¿No ven esto a futuro como un negocio?.

Ariel Weher:
Llevó bastante tiempo sobre todo la etapa de pruebas.
No, el negocio es que a la larga, cuando todos se sumen a mi me va a llegar menos basura. Por ende, el mega de Internet (que es caro) va a ser un mega mas limpio, lo que implica multiplexarlo mas y al fin de cuentas es mas dinero.

¿Alguna duda?

Si, “Es Gratuito!!!” podes aportar muchísimo:

  • No solo limpiar tu trafico basura, sino también el de todos nosotros. Una vez en funcionamiento, recibirás de forma automática la lista de Bogons y dependiendo del Sistema Operativo que uses, se vera como eliminar el trafico en tu caso. ( En el caso del Mikrotik RouterOS, los bogons tienen asignado un gateway falso entonces routean por dicho gateway y mueren).
  • También se puede participar como colaborador en el proyecto brindando acceso a tus routers para que el resto acceda como vos lo haces con ellos.

Me quiero sumar al proyecto, ¿cuales son los pasos a seguir?

1) Ingresamos a capaocho.net

2) En la derecha buscamos “Súmate Ya”

3) Llegamos al formulario de adhesión. Solo completamos todos los datos que nos pide.
4) Esperamos!. Ariel o Pablo se pondrán en contacto para pasarte las configuraciones.

Espero que todos tomemos conciencia de lo importante que seria si todos tenemos nuestro ancho de banda correctamente filtrado y limpio. :) Vamos!! Ayudemos!!!

_____________________

Nicolás
tech-nico.com/blog

Galeria de Fotos en Flash y PHP (con thumbs GD) y lectura de folders.

Hace mucho tiempo tuve que crear una galería de fotos en flash y PHP ( que me saco de muchos apuros ).

Lo particularmente bueno de esta galería es que levanta las fotos on the fly desde carpetas del servidor que creemos o ya estén creadas. Entonces el cliente mismo puede generar galerías de fotos simplemente creando carpetas por FTP y haciendo copy paste de las imágenes que desea subir. Algo muy practico y sencillo para los clientes no entendidos.
Mi propósito principal fue evitar que alguien tenga que editar un FLA… o un XML o mas engorroso aun tener que armar un admin con upload para el manejo de la galería.

Características de la galería:

  • Usa Flash para precarga de fotos.
  • Lee varias carpetas de fotos.
  • Paginación de fotos (20 x página).
  • Librería GD de php para generar los thumbs con cacheo para agilizar la carga.
  • No usa base de datos ni XML.
  • Fácil configuración y mantenimiento.

Dentro de la carpeta “galery” debe haber 5 archivos y 1 carpeta llamada “images”. Se recomienda no cambiar el nombre de la carpeta. (De lo contrario la galería no funciona).

galery_tech_nico.fla
Archivo editable de Flash contenedor de la galería de fotos.

galery_tech_nico.swf
Este archivo es la galería de fotos compilada y lista para embeber en tu web.

folderImages.php
Recibe como parámetro un string (”nombre de carpeta”) y recorre en el servidor las imágenes que esta contenga. Finalmente devuelve sus rutas a flash.

folders.php
Recorre todo el directorio “images” y devuelve a flash los nombres, rutas, tamaño de cada una de las fotos y además la cantidad de fotos por directorio.

thumb.php
Recibe varios parámetros como alto, ancho, etc. y devuelve la imagen resampleada para generar los thumbnail de la galería.

INSTALACION:
1) Editar archivo galery_tech_nico.fla.
Escribe el nombre de tu dominio

2) Editar folderImages.php y folders.php.

Esta versión también tenia para postear comentarios en las fotos. Pero esa parte usa una base de datos MySQL así que verán que en el archivo de flash esta comentado. (Si alguien los necesita subo los archivos.).
Se que tiene muchas cosas por mejorar, pero ya cumplió su ciclo :P.

descargar galery

Nicolas
______________________
www.tech-nico.com/blog

Notebook Dell Studio 15, una muy buena elección

Después de 1 mes sin aparecer por aquí; me decidí por escribir un poquitito sobre una nueva adquisición como para entrar en ritmo de nuevo.

Hace aproximadamente 1 mes, me llego la Studio 15, el laptop se caracteriza básicamente por su diseño exterior, que es 1 de los 4 diseños que pude elegir en el momento de la compra: En mi caso, es especie de dibujo abstracto como si estaría aerografiado sobre la tapa . Este diseño fue bautizado por ellos como “Algas Marinas”. Lo bueno de esto es que no solo compramos un diseño bonito, sino que estamos aportando un granito de arena para la campaña de HIV de África.

Caracteristicas tecnicas Generales:

Procesador: Intel® Pentium® T3200 (2.0GHz/667Mhz FSB/1MB cache)
Color: Algas Marinas
Memoria RAM: 3GB de Memoria Doble Canal Compartido DDR2 a 800MHz
Teclado: Spanish Back-lit Keyboard
Pantalla LCD: Pantalla Amplia Brillante de 15.4″ WLED (1280×800)
Video: Acelerador de Medios Gráficos Intel 4500MHD
Disco Rigido: Disco Duro SATA de 160GB (5400RPM)
Combo or DVD+RW Drive     8X Slot Load CD / DVD Burner (Dual Layer DVD+/-R Drive)
Sonido: High Definition Audio 2.0
Red Inalámbrica: Tarjeta Inalámbrica Dell 1397 802.11g Half Mini-Card
Camara: Cámara Integrada de 2.0M Pixeles
Bluetooth: Dell Bluetooth 370 Interno (2.1)
Batería Principal de Ión de Litio de 6 celdas [56 Watt-Horas]
3 años de garanía

En el proximo post voy a dar detalles de sus pro y sus contra, como tambien algunas sorpresitas interesantes.

__________________
Nicolas.!
Blog Tech-nico.com

Atacaron forosdelweb.com y maestrosdelweb.com

Cvander(Christian Van Der Henst): creador de estos renombrados sitios webs fue victima de un ataque en sus correos. (Muchos comentan que se trataria de alguien muy cercano a su entorno).

forosdelweb.com y maestrosdelweb.com (los foros hispanos con mas trayectoria), quedaron desde ayer fuera de linea, “en mantenimiento”. Hoy el sitio muestra un banner publicitario hacia otro sitio web (¿del atacante?).

Robo de identidad:
Primero accedieron a su cuenta de correo, y desde allí comenzaron a acceder en cascada a todo lo que encontraron en su camino: Hosting godaddy, Facebook, Twitter de cvander. Posteriormente consiguieron acceso a su gmail.

El soporte técnico del Hosting godaddy.com se rehusó a ayudarlo. (Como si estarían involucrados en algo).

Para los que quieran dar una mano, tan solo enviando un mail o llenando un formulario, son solo 5 minutos para colaborar con alguien que quizás podrías haber sido vos. Voy a hacer hincapié en lo mismo que pide cristalab.com, que me parece genial.

  1. Dejarle claro acá a la gente de GoDaddy que deben devolver los dominios a Christian.
  2. Mandar un correo a la gente de GoDaddy pidiendo el retorno del dominio.
  3. Hacer ruido de esto.

Recuerda siempre:
1)  En proyectos grandes nunca usar hostings con acceso por panel de control publico.
2)  Nunca uses las mismas contraseñas en ningun lado.
3)  No agrupes todas tus contraseñas en 1 sola cuenta de correo.

_______________
Nicolas: Tech-nico.com

Me llego la remera de Ubiquiti :) de Taiwan

Hace un tiempo la gente de Ubiquiti comenzo a regalar remeras a los que participaban del foro; asi que me registre y me sente a esperar si en verdad enviarian mi remera hasta Argentina :)  y aca esta el sobre y la remera para que vean como llega.  Demoro aprox 2 meses.

1 2 3 4.. espectaculo.!.

_______________
Nicolas: Tech-nico.com

Telefónica dejó sin servicio durante 6hs a miles de personas en la capital pampeana

Tanto los usuarios de Speedy como los clientes de la CPENet ( Cooperativa Popular de Electricidad)  de Santa Rosa quedaron ayer a la deriva, y sin ningun tipo de respuestas por parte del soporte tecnico. Tambien quedaron afectados los clientes de Movistar. Pueden leer la notica completa en el diario La Arena.

El corte de un enlace que provee la conectividad del servicio de internet a los usuarios de la Cooperativa Popular de Electricidad, dejó ayer a sin esta prestación a miles de usuarios. Ha sido la interrupción más grave hasta el momento, por lo prolongado en el tiempo y la cantidad de personas afectadas.
El corte de internet comenzó sobre las 15.00 horas y recién empezó a normalizarse cerca de las 22.00. Durante todas esas horas, los miles de usuarios se quedaron con un servicio que se ha convertido en indispensable para muchas empresas, y una rutina para miles de abonados…

http://www.laarena.com.ar/la_ciudad-un_colapso_de_internet_afecto_a_toda_la_provincia-28792-115.html

Nicolas Tech-Nico.com

Embeber Objetos Audio y Video con Ajax usando swfobject

Algo realmente curioso e interesante es ver que el wp-standalone-player utiliza la
funcion Javascript para embeber Objetos Flash usando DOM creado por “Geoff Stearns, Michael Williams, y Bobby van der Sluis”
Casualmente es muy util para los que quieran embeber Objetos Flash mediante AJAX.
Es un problema muy tipico el querer embeber video de youtube y que el innerHTML no funcione. (Sinceramente da muchos dolores de cabeza).
Pero con este pequeño include llamado player.js de tan solo 11kb solucionamos todos nuestros problemas y podemos embeber indistintamente Objetos Flash (SWF) Locales, como URL de Objetos, como es el caso de los videos de Youtube.

Vamos a aclarar que salio una version de “WordPress Audio Player“ version standalone. Por lo tanto podemos customizarla y usarla en cualquiera de nuestros sitios webs (aunque no tengan WP instalado).

Entonces hasta aca tenemos:
- Funcion JS para embeber objetos flash con DOM de 11 Kb.
- Reproductor de audio WordPress Audio Player (Standalone)
- Y una funcion para incluir Objetos Flash (mas especificamente Videos Youtube)

Aqui abajo les muestro como implementarlo:

<!– HEADER –>
<script src=”player/player.js” type=”text/javascript”></script>

<script type=”text/javascript”>  
 // VIDEO DE YOUTUBE
 function show_video(element_descripcion, video_objeto, video_descripcion){
     var div_element_descrip = document.getElementById(element_descripcion); 
     audioplayer_swfobject.embedSWF(video_objeto, “main_video”, “295″, “237″, “9.0.0″);
     div_element_descrip.innerHTML = video_descripcion;
 }

 // WP_STANDALONE_PLAYER ( la siguiente linea, invoca el audioPlayer )
       
AudioPlayer.setup(”
http://<?php echo $tudominio; ?>/player/player.swf”, {  
                width: 290  
        });   
</script>

 Son 2 funciones totalmente distintas; la primera, show_video( ), es la que usaremos para embeber video.  Y AudioPlayer.setup( ), es la que invoca al reproductor de audio. Lo que tienen en comun, es que ambas funciones utilizan el mismo Include player.js con el que embeben los tags usando DOM.

En el Body:

<!– BODY –>
 <!– audio player –>
<p id=”audioplayer_1″>Alternative content</p>  
<script type=”text/javascript”> 
                 AudioPlayer.embed(”audioplayer_1″, {soundFile: “
http://<?php echo $tudominio;?>/<?php echo $ruta_de_tu_audio .’/’. $nombre_archivo; ?>”,transparentpagebg: “yes”,titles: “descripcion del audio”});   
</script>
                                   

 <!– video player –>
<script type=”text/javascript”> 
          show_video(’video_descripcion’, ’http://www.youtube.com/v/codigovideo’,  ‘la descripcion del video desde la base de datos’);
</script>
 <div id=”main_video”></div>
 <div id=”video_descripcion”></div>
 

Multiples Instancias:

Los contenedores para cada reproductor son los que estab en negrita.
Para agregar multiples reproductores de audio, solo basta con cambiar el ID del contenedor y duplicar el codigo. Para el caso del reproductor de video habria que hacer unas minimas modificaciones en la funcion show_video( ), y pasandole como parametro el identificador del DIV podriamos tener multiples reproductores de video.

Bien!. veran que es muy facil!!!

UN TIP > USAR YOUTUBE COMO SERVIDOR DE VIDEO STREAM:
Esto es para los que ahorramos ancho de banda. (Hoy en dia los que tienen reproductores de video propios insertados en su sitio web, estimo que es porque el sitio les da mucha ganancia)  :-)
Lo que yo hice fue guardar toda las rutas de los videos de youtube en mi base de datos. Para ello, se me presento un inconveniente; las URL’s de los videos son diferentes a la URL de publicacion que estan en los tags.. se entiende?.

Ejemplo: esta es la URL del video que esta en la barra de direcciones del navegador, http://www.youtube.com/watch?v=Mxo9D_aTrx4. (Esta URL NO FUNCIONA!).
pero si miramos la URL del objeto a insertar:

<object width="425" height="344"><param name="movie" value="
http://www.youtube.com/v/G8whC4Me8d4&hl=en&fs=1“></param> <param name=”allowFullScreen” value=”true”></param><param name=”allowscriptaccess” value=”always”></param> <embed src=”http://www.youtube.com/v/G8whC4Me8d4&hl=en&fs=1” type=”application/x-shockwave-flash” allowscriptaccess=”always” allowfullscreen=”true” width=”425″ height=”344″></embed></object>

Ja, si!  es totalmente distinta; en mi caso, necesitaba guardar solo la URL en el campo de la Base de datos, entonces lo que hice fue armar una expresion regular que me devuelva la URL del video de forma limpia.

function validate_youtube(text_element) {
if (text_element.value != ""){
var matches = "";
var expression = /((http:\/\/)|(www\.[^ \[\]\(\)\n\r\t]+)|(([012]?[0-9]{1,2}\.){3}[012]?[0-9]{1,2})\/)([^ \[\]\(\),;\”‘<>\n\r\t]+)([^\. \[\]\(\),;\”‘<>\n\r\t])|(([012]?[0-9]{1,2}\.){3}[012]?[0-9]{1,2})/gi;
var rx = new RegExp(expression);
var str = text_element.value;
matches = str.match(rx);
text_element.value=matches[0];
}
}

La podes agregar en el textfield con el evento onChange, entonces cuando hagas “Copy/Paste” del codigo <object…/object> en el textbox de tu CMS, obtendras la URL on the fly.

Esto ultimo tambien podria hacerce mucho mejor con el API de google para Youtube, y se podrian obtener hasta los comentarios de los videos (estuve viendo el codigo y no es para nada dificil). Pero yo necesitaba una solucion sencilla y rapida, asi que dejamos el API para el Upgrade del sitio.

descargar archivos

Nicolas. tech-nico.com/blog

Duplicar ancho de banda en horario nocturno con Mikrotik

Todos los que estamos trabajando como WISP sabemos que si hay algo que es sumamente valioso “es nuestro ancho de banda”. El Mb para empresas pequeñas termina siendo muy caro y se pone dificil remar contra las telco.

La idea de este post: crear un script para aprovechar al maximo todo nuestro ancho de banda; ya que durante la noche queda casi sin uso, y nosotros lo estamos pagando!!!.

Escenario: PPPoE con Queues Dinamicas asignando a los clientes 128k y 256k respectivamente (de acuerdo al plan que tenga contratado) los cuales pasan a ser 256k y 512k entre las 00:45 y las 7:00 am.

El Script recorre las queue simples y cambia el max-limit. Se acpetan sugerencias y comentarios.


#subo128a256
:foreach i in=[/queue simple find] do={
:if ([:find [/queue simple get $i max-limit] “128000/128000″] = 0) do={
/queue simple set $i max-limit= “257000/257000″;
}
}


#bajo256a128
:foreach i in=[/queue simple find] do={
:if ([:find [/queue simple get $i max-limit] “257000/257000″] = 0) do={
/queue simple set $i max-limit= “128000/128000″;
}
}

Finalmente se cargan en el Scheduler y lo pueden configurar para que corra luego de la medianoche cada 1 hora hasta las 7 de la mañana. Digo cada 1 hora porque el script recorre los queues simple de los usuarios que estan conectados en ese momento (en que corrio el script), entonces si algun cliente conecta despues de que paso nuestro script, ese queda sin “doble velocidad”, por eso es recomendable ejecutarlo cada 1 hora.

Este es nuestro resultado. (En este caso el Script duplica en un plan de 256k).

Algo muy facil de hacer; y los clientes no solo quedan conformes, si no que aumentan las ventas. ;)

Solucion: ASProx Cleaner

Algo que note es que algunos antivirus, al menos es el caso de AVG 8 en IE7, lo detecta como Troyano cuando ingresas al sitio infectado. Pero en otros casos no sucede. Por lo que, al ingresar al sitio, se infecta la PC, y luego esa PC infecta otros sitios? .. sinceramente es muy malefico!.

Para los que nos afecto el virus: aqui va la solucion;

Paso 1) usar una PC no infectada.

Paso 2) revisar el codigo ASP o ASP.net de nuestra Aplicación y no dejar pasar ninguna Inyeccion SQL. Validar todas las variables GET y POST por ejemplo, si es numerico usar funciones como isNumeric(Var) y si es texto usar Expresiones regulares para validarlas. En mi caso, si las variables son alteradas redirecciona al index. O pueden buscar algun tool para escanear y ver si hay vulnerabilidades como por ejemplo: Microsoft Source Code Analizer for SQL Injection que es gratuito o de pago podria ser Acunetix Web Vulnerability Scanner, que es excelente.

Cuando estemos seguros que nuestro sitio dejo de ser un colador :) pasamos al ..
Paso 3)

Ejecutar este Transact SQL en el Enterprise Manager. ( con nuestra base de datos seleccionada ).

' http://www.admintalk.org
‘ 2008-07-12
SET NOCOUNT ON
DECLARE @SCRIPT VARCHAR(1024)
DECLARE @T VARCHAR(255)
DECLARE @C VARCHAR(255)
DECLARE Table_Cursor CURSOR FOR
SELECT [A].[Name], [B].[Name]
FROM sysobjects AS [A], syscolumns AS [B]
WHERE [A].[ID] = [B].[ID] AND
[A].[XType] = ‘U’ /* Table (User-Defined) */ AND
([B].[XType] = 99 /* NTEXT */ OR
[B].[XType] = 35 /* TEXT */ OR
[B].[XType] = 231 /* SYSNAME */ OR
[B].[XType] = 167 /* VARCHAR */)
OPEN Table_Cursor
FETCH NEXT FROM Table_Cursor INTO @T,@C
WHILE (@@FETCH_STATUS = 0)
BEGIN
print ‘Updating [' + @T + '].[' + @C + ']…’
exec(’update ['+@T+'] set ['+@C+'] = substring(['+@C+'], 0, charindex(”<script”,['+@C+']))
where ['+@C+'] like ”%<script%”’)
Print ‘Done’
Print ”
FETCH NEXT FROM Table_Cursor INTO @T, @C
END
CLOSE Table_Cursor
DEALLOCATE Table_Cursor
Print ‘Clean-up Complete.’

Paso 4) Cruzar los dedos.

Paso 5) Limpiamos nuestro sitio pero para el cache de google sigue Infectado!. Entonces tenemos que ejecutar la herramienta para webmasters y Solicitar una Revision, el nuevo Scan de google puede demorar unos dias hasta que chequea y vuelve a la normalidad.

Espero que les sirva tanto como a mi.!

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(0×44004500 … 06F007200%20AS%20NVARCHAR(4000));EXEC(@S);–

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

‘;DECLARE%20@S%20CHAR(4000);SET%20@S=CAST(0×4445434C … 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