domingo, octubre 29, 2006

Campaña de los Abrazos Gratis - Free Hugs


Una iniciativa nacida en Australia por un simple sujeto, apodado Juan Mann (pronunciandose One Man en inglés), quien un día Jueves cualquiera salió a la calle a ofrecer Free Hugs (Abrazos gratis). Cuando la gente le preguntaba porque lo hacía, el sencillamente decía, "porque me gusta dejar sonriendo a la gente cuando se separan de mí". Luego alguien colgó un video en Youtube, y en cosa de días se transformó en un movimiento que dió la vuelta al mundo. Una historia real, protagonizada por, simplemente, "un hombre".

Leer más sobre esta Historia

jueves, septiembre 21, 2006

Google Hosted: PHP mail() en cPanel/WHM

Una de las novedades más recientes de Google es el servicio llamado Google Aps for Your Domain , una serie de herramientas para webmasters que incluye un excelente servicio, Google Hosted, que permite usar los servidores de Gmail como servidor de correo de un dominio en particular, es decir, un correo @tudominio.cl con 2 GB de espacio, acceso webmail, pop3, smtp y todas las cualidades de un Gmail, como son compatibilidad con Google Talk, Google Calendar, entre otros.

Tuve el privilegio de ser uno de los beta testers en los inicios del proyecto, a fines de julio, y realmente es una herramienta tremendamente poderosa, que libera a los servidores web de el engorroso trabajo ser servidor de correo, y libera también a los usuarios de gran parte del molesto spam, debido al excelente filtro con el que cuenta gmail.

Existen en internet numerosos manuales sobre este servicio, asi que me dedicaré exclusivamente a resolver el principal problema que existe con este servicio y el envio de emails por medio de la función 'mail()' de PHP. El problema ocurre porque, por defecto, la mayoría de los proveedores y administradores de webhosting crean para cada cuenta de hosting su correspondiente cuenta de correo para este dominio. Como PHP trabaja por defecto con el servidor de email local, este envía los emails de 'tudominio.cl' a la bandeja local y no a la de gmail, a pesar de tener perfectamente configuradas las entradas MX del DNS, dirigidas a los servidores de google.

He encontrado dos soluciones:

  1. Hacer que PHP envie los correos por medio del smtp de Gmail. Esto implicaría modificar todos los formularios emails de tal forma de que el script PHP se autentifique al smtp de gmail y luego envíe el correo. Aquí se explica esta técnica.
  2. Deshabilitar del servidor de correo los dominios con correo Google Hosted. Esto actualmente no es posible realizarlo ni desde WHM ni menos aun desde cPanel de forma directa. La única forma que me ha resultado ha sido modificando el archivo de configuración del servidor de correo (postfix o exim). Esto tiene la gran ventaja que no hay que modificar los scripts PHP o cgi como en el caso anterior, pero lamentablemente para esto es necesario tener acceso root al servidor.

A pesar de que la primera opción es factible, esto se vuelve un problema cuando se tiene una cantidad considerable de dominios en el servidor. No todos los sistemas CMS en PHP tienen incorporada la opción de envio de emails por smtp, ni mucho menos la autentificación TSL, necesaria para loguearse en el servidor smtp de Gmail. Por esto, explicaré brevemente como llevar a cabo la segunda opción, reconfigurando dos de los servidores de correo más comunes: postfix y exim:

Deshabilitar dominio Gmail Hosted en postfix:
Simplemente, se edita el archivo /etc/postfix/main.cf y se remueve el dominio que esta trabajando con Google Hosted de la lista de dominios 'mydestination =' y luego se resetea el servidor postfix:
/etc/init.d/postfix restart

Deshabilitar dominio Gmail Hosted en exim (WHM/cPanel):
A pesa de que teóricamente es lo mismo que en el caso de postfix, la gracia que tiene exim cuando esta en un servidor con cPanel este asume como servidores virtuales de correo a todos los dominios y subdominios del servidor de forma automática, por lo que hay que tener un poco más de cuidado para así no afectar el normal funcionamiento de WHM/cPanel y del servidor de correo.

  1. La lista de dominios y subdominios del servidor es '/etc/localdomains' . Crear una copia de este archivo y asignarle el nombre '/etc/mail-localdomains'
    cp /etc/localdomains /etc/mail-localdomains
  2. Editar el archivo '/etc/mail-localdomains' y retirar de él todos los dominios que van a utilizar Google Hosted como servidor de correo.
  3. Luego, editar el archivo '/etc/exim.conf' y reemplazar:

domainlist local_domains = lsearch;/etc/localdomains

domainlist relay_domains = lsearch;/etc/localdomains : lsearch;/etc/secondarymx
por:
domainlist local_domains = lsearch;/etc/mail-localdomains

domainlist relay_domains = lsearch;/etc/mail-localdomains : lsearch;/etc/secondarymx

4. Ahora, asignar los permisos necesarios para el exim:
chown root:mail mail-localdomains

5. Para finalizar, resetear el servidor exim: /etc/init.d/exim restart

Con esto, hemos creado una lista especial llamada '/etc/mail-localdomains' que tendrá aquellos dominios y subdominios que el servidor exim proveerá el servicio de correo. Es importante recalcar que esta nueva lista de dominios NO es generada automáticamente por el servidor al crear un nuevo dominio por medio de WHM, por lo cual este debe ser ingresado manualmente si se quiere habilitar el servidor de correo para cualquier nuevo dominio. Aquellos dominios que no esten en esta lista, serán considerados externos, lo cual era justamente lo que necesitábamos, ya que ahora la funcion mail de PHP (perl, python, etc) enviará los correos a la bandeja de entrada de gmail y no a la bandeja local. :)

Eso sería todo. Espero haya servido la ayuda. Hasta la próxima.

martes, agosto 08, 2006

Ingeniería Civil Industrial y su nuevo portal

Al fin nuestra carrera tiene un sitio web como la gente. Y si bien el tema de la página siempre estuvo presente, tanto de parte de los centros de alumnos anteriores como de la coordinación, fue un proyecto constantemente postergado.

Desde que comenzamos con la iniciativa, hace más de un año, junto a Manuel Rodriguez, (encargado del diseño gráfico del sitio), en todo momento existieron obstáculos, como el casi nulo apoyo técnico del Departamento de Desarrollo Tecnológico de nuestra universidad, razón por la cual la página estuvo constantemente inaccesible durante todos estos meses.

Esta fue una de las principales razones por la cual se decidió la independencia de los sistemas de la Universidad y también de la misma institución. Ahora, tenemos un nuevo nombre de dominio (iciula.cl) y yo personalmente he cedido un espacio en un servidor propio para alojar la página.

Han sido largas jornadas de trabajo en vacaciones de invierno que esperamos, no sean en vano.

Editado 05/05/2007: La página actualmente ya no esta operativa. Saludos

martes, julio 25, 2006

Home sweet home

Por fin ya estamos instalados con mi familia en la nueva casa aquí en Puerto Montt. Y si bien no dormí en practicamente en dos dias y la casa es un poco más chica que la que teniamos en Frutillar, ya he comenzado a notar los primeros beneficios de vivir aquí.

De partida, los incompetentes de surnet fueron incapaces de trasladarnos la linea a Puerto Montt, asi que simplemente terminamos contrato con ellos... así que el pobre modem "almeja" lucent ha jubilado. No lo culpo, si al final como monousuario funcionaba relativamente bien. Surnet tiene la culpa, por haberlo dejado instalado en cientos de computadores en modo multiusuario y de no entregar nunca detalles de su funcionamiento, utilizando la política de ocultamiento como muchas otras compañias. De hecho lo abrí y vi sus víseras... fue algo así como una autopsia :) Todabía no tengo claro que haré con él, pero ya se me ocurrirá algo.

En fin...agregando a esto el hecho de estar mucho más cerca de la U, del centro, de los pubs, del cine, de las tiendas y todas las cosas, lo único que echaré de menos de Frutillar son los amigos y la playa en el verano. Espero vengan mejores tiempos. Saludos.

lunes, junio 26, 2006

Hak.5 - Video Podcast sobre hacking y modding

Hak.5 (pronunciado "hack point five") es uno de los mejores video podcast sobre hacking y modding que he encontrado en la red.

Creado por 3 frikis, Darren Kitchen (Producción), Wess Tobler (Dirección), y Alli Buehring (Fotografía), se inmiscuen en el submundo del codding, hacking y modding, con una serie de personajes que si bien no parecen ser los típicos antisociales y poco agraciados nerds, si representan características propias de este mundillo, con su correspondiente cuota de humor geek.





En el primer capítulo, probarán si un dispositivo portatil en movimiento se le ve afectada la capacidad de detectar puntos de acceso. También mostrarán como controlar las luces de nuestra casa desde Internet por medio de la web o por medio de un teléfono movil, terminar procesos de windows remotamente, modificar un GameBube para permitir el playback del DVD, y enseñaran algunos consejos para tunnear la carcaza del pc de la casa.

Lamentablemente esta en inglés, pero poniendo atención se puede entender bastante.
Para obtener más capítulos, pueden visitar www.hak5.org

Un niño prodigio...

Un niño prodigio...

Navegando en Youtube buscando información sobre notebooks, encontré este spot de la IBM, hecho el Septiembre de 2003 que realmente me impactó...¿Qué les parece?

sábado, abril 29, 2006

Dokeos SQL Injection Vulnerabilty

Para dar por inagurada la sección de seguridad informática, subí un artículo referente a la vulnerabilidad que envié al full-disclosure y que fue publicada en las listas de seguridad hace algunas semanas: Dokeos 1.6.4 <= SQL Injection Vulnerability

Saludos.

viernes, abril 28, 2006

Dokeos <= 1.6.4 SQL Injection Vulnerability

Esta vulnerabilidad la descubrí el 2005, cuando me tocó probar varias plataformas e-learning open source, buscando la que mejor se adaptara a las necesidades de un proyecto que al final nunca se llevó a cabo... pero en fin.

En términos generales, Dokeos es un proyecto derivado de una versión antigua plataforma e-learning Claroline. Posee algunas mejoras con respecto a su antecesor y se ha hecho relativamente popular en algunos círculos, especialmente entre académicos de vaga o nula formación técnica e informática.

No obstante, en escencia Dokeos sigue siendo un sistema basado en una plataforma vieja, con módulos basados en proyectos open source obsoletos, como phpbb 1, el módulo de foros que Dokeos útiliza en sus cursos y en el cual encontré la vulnerabilidad del tipo "SQL INJECTION", explotable utilizando la técnica conocida como "blind sql injection" y que permite ejecutar consulas arbitrarias a la base de datos, pudiendo obtener datos confidenciales como el hash del administrador de la plataforma.

La vulnerabilidad fue enviada a las listas de seguridad y el proveedor fue oportunamente informado en su foro. Sin embargo, hace poco me dí cuenta que los "developers elite", que trabajan a sueldo con recursos del gobierno belga, no generaron una nueva versión con el parche de la vuln, sino que parchearon los archivos sobre la actual versión (1.6.4), lo que incurre en un grave error, ya que muchas personas bajaron una versión 1.6.4 no parchada, la cual sigue siendo vulnerable.

Aquí anexo el correspondiente advisory, que fue publicado en la lista full-disclosure:

----------------------------------------------------------------------------------
Dokeos 1.6.4 SQL Injection Vulnerability

Author: Alvaro Olavarria - aolavarria_at_secure.cl

Affected: Dokeos <= 1.6.4 Status: Notified hereby Vendor url: http://www.dokeos.com

Background.

Dokeos is an Open Source elearning and course management web application
translated in 34 languages
and helping more than 1.000 organisations worldwide to manage learning and
collaboration activities.

Vulnerability.

Dokeos was built using Claroline's code; it inherited several of its
features including an old version
of phpBB which is being used as the forum for the courses. There is a
problem in the “viewtopic.php",
where the $topic variable is not correctly sanitized and $forumview is
equal to “threaded", that would
allow an attacker to inject arbitrary code to the application.

Impact

An attacker could use Blind SQL Injection to gain access to privileged
data like the password hashes
for the administrator user and so on.

Proof of Concept

http://localhost/claroline/phpbb/viewtopic.php?cidReq=102&amp;amp;amp;gidReq=&forum=1&0&forumview=threaded&topic=1[blind_sql_inject]

Greetings

Rodrigo Guitierrez
University of Los Lagos in Chile "for lending the required equipment for
testing" >:D
----------------------------------------------------------------------------------

No indexé el exploit para la vulnerabilidad, pero me dí el "gustillo" de demostrarla y lograr privilegios de administración frente a un auditorio de estudiantes y académicos en el 1er Seminario de Seguridad informática de Inacap, Valparaíso, relizado el 3 de Noviembre del 2005, junto al equipo de rgsc.cl

Otras listas de seguridad donde fue publicada la vuln:


http://www.security.nnov.ru/Mdocument158.html

http://www.packetstormsecurity.org/filedesc/Dokeos1.6.4.txt.html

http://secunia.com/advisories/19604/

http://zone-h.org/advisories/read/id=8908

http://evuln.com/dokeos-sql-injection.bq24613.html

http://www.securityfocus.com/bid/17463

http://seclists.org/lists/bugtraq/2006/Apr/0305.html

http://addict3d.org/index.php?page=viewarticle&type=security&ID=6067