lunes, 31 de octubre de 2011

Cuidado logran eludir la prohibición de envío de ejecutables a través de Facebook

Desde una al día de hispasec me entere de esta noticia el cual considere importante así que hice un C & P de la noticia ya que tengo una flojera enorme escribir, y dada las circunstancias tengan cuidado con los mensajes que reciben

El investigador de seguridad Nathan Power he descubierto un fallo en la subida de ficheros de Facebook que podría permitir el envío de cualquier tipo de fichero a través de los mensajes de la red social.

Facebook, a través de su servicio de mensajes entre sus usuarios, permite el envío de archivos adjuntos. Como es lógico, en ningún caso se permite que se intercambie un archivo ejecutable, por tanto la plataforma realiza ciertas comprobaciones sobre el fichero enviado para evitar que se trate de un binario.

Según ha confirmado el investigador, todas las comprobaciones sobre el contenido del mensaje se limitan a analizar la extensión del nombre del fichero indicado. Este dato es enviado dentro de la petición POST en la que se manda el archivo, (concretamente en el atributo filename del multipart/form-data). Al tratarse de una variable bajo el control del cliente, es fácilmente modificable teniendo acceso al tráfico HTTP justo antes de enviar con cualquier programa, o generando una petición personalizada. Tras varios intentos, el Nathan Power finalmente consiguió evadir el filtro de Facebook, y por tanto enviar el ejecutable, simplemente añadiendo un espacio al final del nombre del fichero. De este comportamiento se extraen varias conclusiones:

* El módulo, función o software encargado de tratar el nombre del fichero, no realiza un tratamiento adecuado del nombre del fichero. En este caso en concreto, eliminar los espacios al final del nombre del archivo.

* Para discernir entre un archivo permitido o no, se comprueba la extensión del archivo, y se recurre a una lista negra de extensiones (exe, bat...), en lugar de una lista blanca.

* No se realiza comprobación alguna del tipo del contenido real del archivo (por ejemplo los dos primeros bytes).

* Se comenten errores básicos y antiguos, que ya han solucionado desde hace tiempo otras aplicaciones que han tenido que lidiar mucho con los adjuntos: los clientes de correo.

Facebook fue avisado el día 30 de septiembre, pero no respondió hasta pasado casi un mes. En el momento de escribir esta noticia, todavía se podían enviar ejecutables y, como hemos comprobado, al descargar el archivo el espacio final del fichero desaparece (quizás ya demasiado tarde).

Si quieren opinar sobra la noticia aquí les dejo el link de hispasec
http://unaaldia.hispasec.com/2011/10/eludir-la-prohibicion-de-envio-de.html#comments

Más información:

Facebook Attach EXE Vulnerability
http://www.securitypentest.com/2011/10/facebook-attach-exe-vulnerability.html

sábado, 24 de septiembre de 2011

Encendido remoto – Wake On Lan a servidores CentOS

Una de las cosas que siempre configuro en los servidores de producción de mi chamba es el encendido remoto ya que me da una flojera tremenda tener que encenderlo manualmente, aquí les dejo esta entrada que les será muy útil.
¿Y entonces que es el WOL?
El WOL son las siglas de Wake On Lan es por así decirlo una funcionalidad que hace la magia que nos permite encender remotamente un ordenador, WOL es un estándar de redes de computadoras que técnicamente se logra en equipos que cuenten con una fuente de alimentación ATX y con una placa base y tarjeta de red compatibles con WOL, por lo cual ya casi todas la placas de los últimos 5 años deben soportar esta funcionalidad. Si quieren ir mas halla de esta tan poco técnica definición pueden revisar este artículo que explican que es y cómo funciona WOL http://gsd.di.uminho.pt/jpo/software/wakeonlan/mini-howto/wol-mini-howto-2.html
¿Qué debemos hacer?
Primero tenemos que identificar si nuestra placa es compatible y luego activarla. Si buscamos por los foros la forma más identificar es buscando en la web de creador de la placa =) y la otra claro es irte a la Bios y ubicarla, en esta parte no hay una forma exacta de identificarla ya que depende de la marca y versión de la Bios pero sin dudo creo que la podemos encontrar en el apartado que se encargue de las opciones de energía (Power Manager) e identificamos algo que contenga WOL, wake-up PME power on entre algo que intuya cual puede ser la opción, por ello primero debemos de verificar la web del fabricante para encontrar algún manual que no haga la tarea más fácil. 



Luego de haber activado el WOL procedemos a la configuración del equipo el cual queremos encenderlo remotamente, para nuestro caso será un server Linux CentOS con interfaz de Red eth0 y Mac  00:11:22:33:44:55, para configurar algunos parámetros de nuestra tarjeta de red vamos a utilizar Ethtool, esta herramienta ya viene instalada en CentOS en caso no se tenga basta con hacer un
[root@neotrons ~]# yum install ethtool
Habilitamos el wake on lan           
ethtool -s eth0 wol g

creamos un Script para que active “wake on lan” cada vez que encendemos la PC
vi /etc/init.d/wol
#!/bin/bash
ethtool -s eth0 wol g

guardamos y damos permiso de ejecución
[root@neotrons ~]#  chmod +x /etc/init.d/wol
[root@neotrons ~]#  ln -s /etc/init.d/wol /etc/rc3.d/S20wol
[root@neotrons ~]#  ln -s /etc/init.d/wol /etc/rc5.d/S20wol
Ya está preparado nuestro server para poder ser encendido.

Ahora en el equipo que administrara el encendido necesitamos instalar lo siguiente para Linux es etherwake y para Windows Magic Packet Sender:
1. En Ubuntu
[neotrons@neotrons ~]# sudo su
[root@neotrons ~]#  apt-get install etherwake

Para encender la PC necesitamos la Mac de la interfas de red eth0 y la mac que en nuestro caso es 00:11:22:33:44:55
[neotrons@neotrons ~]#sudo su
[root@neotrons ~]# etherwake -i eth0 00:11:22:33:44:55
listo nuestro server se debe encender

2. En Windows
descargamos la aplicación WOL Magic Packet Sender
la instalamos sin más detalles sgt > sgt ...> finalizar
en “Settings”
Hostname Nombre_Server
subnet Mask 255.255.255.0
MAC Addres 00:11:22:33:44:55
Protocol UDP
port 9
y hacemos clic en Send y listo el Server se debe encender