domingo, septiembre 30, 2007

Qué duras son las mates

Todos sabemos que siempre son una asignatura dura. A mi me encantaban y se me daban muy bien, pero cuando recientemente en un charla con Rodol salieron a la conversación Ruffini y L'Hôpital tuve una sensación de: "¡hey!, ¡yo conocía a esa gente!". Muy duro hacerse mayor. Supongo que todos conoceréis estos fallos, pero están muy curiosas e interesantes las explicaciones.

Excel No sabe multiplicar


Joel on Software: Explaining the Excel Bug

Firefox No sabe restar


Firefox 2.0.0.7 has a very serious calculation bug

UPDATED: IE tampoco sabe restar bien... pero disimula mejor }8P.


Conclusión: Ya somos 1,2,3 y 4 con problemas con las mates en este ordenador, porque yo no se hacer raices cúbicas.

PD: Este tipo de problemillas son los que le encantan al Chico Maravillas, así que nos suele poner problemas y fallos como estos dedicados al arte de la programancia. Ya puso algunos Puzzlers de cosas similares en lenguajes de programación con los numeritos.

sábado, septiembre 29, 2007

Fortificando un Servidor Apache (II de IV)

***************************************************************************************
- Fortificando un Servidor Apache (I de IV)
- Fortificando un Servidor Apache (II de IV)
- Fortificando un Servidor Apache (III de IV)
- Fortificando un Servidor Apache (IV de IV)
***************************************************************************************
Configuración del httpd.conf

Cuando ya tengamos instalado de forma segura el servidor Apache, deberemos pasar a configurar el archivo httpd.conf de manera que nuestro sistema quede fortificado, para ello vamos a ver una serie de parámetros importantes. Como recomendación importante de seguridad, ante posibles fallos de otros servicios del sistema, es recomendable que sólo el administrador del sistema tenga acceso a los archivos de configuración del sistema para evitar que otro usuario pueda manipularlos.

Las cuentas del sistema

Para gestionar el servidor web se necesitan una serie de cuentas que hemos de configurar, en ellas vamos a aplicar los principios de Mínimo Privilegio Posible. Para ello en primer lugar vamos a crear un grupo para los usuarios que puedan gestionar el servidor, es decir, los que puedan administrarlo y detener y arrancar los servicios necesarios que llamaremos web_admins y otro grupo para los usuarios que van a representar a los servidores Web, que llamaremos web_servers.
Para correr el servidor Web, aplicando el MPP, vamos a utilizar un usuario que no tenga ni Shell ni se pueda logar, podemos utilizar el usuario nobody o crear uno para dar aun menos información a un posible atacante. Para ello creamos un usuario del grupo web_servers com home en el directorio dónde vayamos a publicar los documentos y por seguridad le configuraremos un Shell de comandos inexistente.

#useradd –d /opt/apache2/htdocs –g web_admins –s /bin/noshell web_user

Y luego le bloquearemos la cuenta para que no pueda tener login:

#passwd –l web_user

Y comprobamos en el archivo de configuración de cuentas /etc/passwd que el usuario está bien creado – con la shell falsa, el grupo correspondiente y el home correcto - y en el archivo de configuración de contraseñas /etc/shadow que la cuenta está bloqueada, es decir, que tiene el signo de cierre de admiración “!”.

Por último comprueba que no puedes ejecutar login interactivo:

#login web_user

Para hacer que nuestros servicios http corran con estas credenciales deberemos modificar el archivo de configuración httpd.conf en las claves User y Group:

User web_user
Group web_users


Si todo ha ido bien, cuando ejecutemos el demonio httpd con httpd –k start, éste se ejecutará en el sistema con las cuentas no privilegiadas que hemos creado.

Imagen: Privilegios de los demonios httpd

Ocultar Información

Ya hemos hablado antes de la clave ServerTokens Prod para ocultar información en el banner, pero hay otras claves que ayudan a ocultar más información del sistema.

- ServerSignature Off: Evita que se envíe información sobre la versión del servidor en las páginas de error.

- ErrorDocument numError errores/paginaError.html: Esta directiva nos permite cambiar las páginas de respuesta de errores ante cada uno de los tipos de error caracterizados por su número.

Ajustando algunos Límites

Cuando tenemos un servidor web expuesto que puede ser atacado es recomendable ajustar algunos límites de opciones para evitar el daño que pueda producir un ataque.

- Valor de Timeout: Este es el valor que una conexión inactiva va a estar mantenida por el servidor antes de que sea cerrada. El valor por defecto es de 300 segundos pero en un eventual ataque de denegación de servicio a generado a baso de abrir conexiones el impacto será mucho menor con valores de timeout menores. Reduce el valor de la variable Timeout a 40 o 50 segundos.

- Límites del tamaño de las peticiones: A la hora de mantener la conversación entre el cliente y el servidor se pueden configurar límites en cada uno de los apartados tanto de la petición como de la respuesta. Una petición de envío de 4 megas no permitirá subir ficheros al servidor de más de ese tamaño pero si no quieres que se suban ficheros más grandes puedes reducir el impacto de ataques. Algunos valores que puedes ajustar para ajustar el funcionamiento de tu servidor son LimitRequestBody, LimitRequestFields, LimitRequestFieldSize, LimitRequestLine o LimitXMLRequesBody si estás trabajando con documentos XML.

- Concurrencia: Debes ajustar la concurrencia de usuarios a los límites que soporta tu infraestructura, para ello puedes ajustar los valores MaxClients para definir el número de procesos hijos que pueden ser creados en peticiones http. Por defecto el valor es de 256 luego si tu sistema no soporta estas usuarios concurrentemente tal vez sea recomendable limitar el tope. Esto puede evitar ataques de Denegación de Servicio que bloqueen la memoria de tu sistema. En entornos de multiproceso podemos regular, para optimizar y limitar el consume de recursos los valores de StartServers, MaxSpareServers, MaxRequestsPerChild, ThreadsPerChild, ServerLimit, y MaxSpareThreads. Estas directivas van a regular el número de procesos que se van a abrir, el número de procesos hijos en espera que se pueden tener, el número de threads por proceso, etc… Configura estos valores adecuadamente en entornos críticos y de alto rendimiento. Para realizar un buen ajuste de estos valores es necesario que realices un profile del rendimiento de tu sistema antes.

Permisos sobre Directorios

Al final el servicio httpd va a servir documentos que están almacenados en el sistema de ficheros por lo que es importante securizar en que partes se tiene permisos y en cuales no, para ello por defecto se pueden configurar las opciones más restrictivas sobre el sistema de ficheros y luego configurar en cada directorio las opciones particulares.

Para restringir el sistema de ficheros debemos configurar algo como:

[Directory /]
Order Deny, Allow
Deny from all
Options None
[/Directory]


En esta sección del archivo de configuración estamos restringiendo el acceso a todos los usuarios a todos los ficheros del directorio / y además, con Options None estamos prohibiendo el listado de directorios, la ejecución de programas CGI, la posibilidad de seguir links simbólicos y la de inclusión de documentos del lado del servidor.

La directiva Order indica el modo en que se van a procesar las peticiones, es interesante la manera de funcionar de la misma ya que los resultados de las directivas Deny o Allow dependerán de la configuración de Order.

Tabla Opciones Order

Esto quiere decir que al elegir Order Allow, Deny primero se ejecutarán todos los Allow y luego todos los Deny y si una situación no queda reflejado, es decir, no está explícitamente permitido o hay un conflicto, es decir, está explícitamente permitido y explícitamente denegado, entonces se Deniega el acceso. Por el contrario la configuración Order Deny, Allow funciona a la inversa. Para asegurar la restricción a todos los clientes se añade, en la configuración inicial la opción Deny from all.

A partir esta configuración podemos ir permitiendo o no opciones en cada uno de los directorios, por ejemplo, en el directorio principal dónde vamos a guardar los documentos, generalmente htdocs podremos permitir el acceso añadiendo:

[Directory /htdocs]
Order Allow, Deny
Allow from all
[/Directory]


Las opciones Allow y Deny nos van a permitir configurar reglas de concesión o denegación de acceso a los clientes. Estas reglas pueden aplicarse a todos “all” o a un dominio de origen, o a una dirección IPv4 o a una dirección IPv6 o incluso utilizando variables de entorno a aquellos que cumplan un determinado valor, como por ejemplo, que tengan un determinado cliente.
Podríamos permitir el acceso solo al dominio de nuestra organización:

Allow from elladodelmal.com

O denegar el acceso a todos lo que tuvieran un cliente Firefox:

SetEnvIf User-Agent ^Firefox/2\.0 NO_PASA
[Directory /docroot]
Order Allow, Deny
Allow from all
Deny from env=NO_PASA
[/Directory]


En este ejemplo hemos creado, con la directiva SetEnvif una variable de entorno para aquellos clientes con Firefox/2.0 cuyo valor es NO_PASA. Lógicamente estas opciones también pueden configurarse en los firewalls de acceso, pero, siguiendo la regla de Defensa en Profundidad también debería configurarse en los directorios. Además, es posible que, en accesos en la red local no se pase por algún firewall a nivel de aplicación que pueda inspeccionar rutas de acceso en el protocolo http por lo que es conveniente configurar estas opciones de seguridad en el servidor web.

Si queremos configurar alguna opción en concreta para un directorio, por ejemplo para el directorio de programas cgi, para ejecutables, o si queremos habilitar listados de directorios lo podemos hacer con la directiva Options. Situando un – antes de la directiva esta queda deshabilitada, de lo contrario se habilita.

- All: Representa a todas las opciones. Esto indicaría que todas quedan habilitadas, a excepción de Multiviews.

- None: No queda habilitada ninguna opción.

- ExecCGI: Con esta opción vamos a permitir o denegar la ejecución de scripts cgi de un directorio a través del modulo mod_cgi.

- Indexes: Esta opción permitirá el listado de archivos de un directorio a través del módulo mod_indexes si no se encuentra el archivo DirectoryIndex.

- Includes: Permite la inclusión de archivos del lado del servidor a través del modulo mod_include. Puede ser un riesgo frente a ataques Remote File Inclusion. Es conveniente deshabilitarlo si no se van a usar en ninguna aplicación.

- IncludesNOEXEC: Permite el uso de Includes del lado del servidor pero deshabilita las directivas exec cmd y exec cgi. Esta directiva sí que permite el uso de incluir de forma virtual scripts CGI desde directorios especificados con usando ScriptAlias.

- FollowSymLinks: Permite al usuario navegar por los directorios a través de enlaces simbólicos. Es recomendable deshabilitarlo.

- SymLinksIfOwnerMatch: Permite el seguimiento de links simbólicos solo si el fichero o directorio final es del mismo usuario que el enlace.

- MultiViews: Se permiten Multiviews de contenido, a través del uso del módulo mod_negotiation.

Unos ejemplos de esto serían:

- Options –Indexes ExecCGI –Includes: En este ejemplo se permite la ejecución de scripts CGI pero no se permite el listado de directorios ni la inclusión de documentos del lado del servidor para evitar una eventual inclusión de una Shell.

- Options None: No se permite ninguna opción.

viernes, septiembre 28, 2007

Ponte las mallas


Se busca hombre/mujer dur@, de seguridad y/o sistemas, para banda de Rock Duro. Se podrán llevar mechas, marcapaquetes y pintados los labios, pero nada de ser un/a nenaz@ programador/a. Hammer Cervigón, Abuelo Asesino y Dirty Maligno buscan compañero para tocar nuevos repertorios (realmente son las viejas canciones repetidas, pero no importa).

Se valorarán chistes malos, coñas soeces y macarradas oportunas. Como no cabemos todos en el autobus de la gira y además a Hammer le jumean los pinreles de tal forma que el abuelo se ha tenido que poner un filtro ambipur en el tabique de planino de la tocha, buscamos un compañero en cada una de las ciudades del "Spain Domination Tour".

Si quieres cantar con nostros tienes que mandarnos una "maqueta" siguiendo las instrucciones que tienes en el site de la gira.

- Live Tecnology Tour

Las ciudades dónde va a actuar el grupo son:

  • 18 Octubre: Vigo

  • 22 Octubre: Zaragoza

  • 21 Noviembre: Valencia

  • 22 Noviembre: Murcia

  • 03 Diciembre: Tenerife

  • 05 Diciembre: Las Palmas

  • 12 Diciembre: Valladolid


  • Por la noche antes habrá ensayo, copas y orgias. (Recuerda que una orgia en el mundo informático es tener varios equipos conectados con varios dispositivos [obligatorio uso de firewall por las enfermedades]).

    Así que nada, anímate y ponte las mallas!

    Nota: ¡Sabemos que en esta profesión la estadística manda, pero si hubiera alguna mujer en la banda daría mucho color, que estamos pensando en hacer algo a lo Warlock!

    - Live Tecnology Tour

    jueves, septiembre 27, 2007

    Artículo de Fortificación de Apache

    Durante los meses de Septiembre y Octubre de este año salen en la revista PCWorld los artículos sobre Fortificación de Apache. Aprovechando que el lunes sale a la venta la revista con la última entrega os publico la primera parte de los artículos. Este artículo que ha sido publicado en la revista de este mes de Septiembre.


    UPDATED: La lista completa de las partes:

    ***************************************************************************************
    - Fortificando un Servidor Apache (I de IV)
    - Fortificando un Servidor Apache (II de IV)
    - Fortificando un Servidor Apache (III de IV)
    - Fortificando un Servidor Apache (IV de IV)
    ***************************************************************************************

    Saludos malignos!

    Fortificando un Servidor Apache (I de IV)

    ***************************************************************************************
    - Fortificando un Servidor Apache (I de IV)
    - Fortificando un Servidor Apache (II de IV)
    - Fortificando un Servidor Apache (III de IV)
    - Fortificando un Servidor Apache (IV de IV)
    ***************************************************************************************

    Muchas son las veces que hemos hecho hincapié en definir la seguridad informática como tres factores complementados, los Procesos, las Personas y la Tecnología. De nada sirve tener la mejor tecnología sin unos buenos procesos de implantación, gestión y actualización que la mantengan segura o sin unos usuarios responsables.
    En este artículo vamos a ver algunas recomendaciones para fortificar un servidor Web con Apache. Las recomendaciones de seguridad suelen ser comunes en todos los productos y plataformas y lo que suelen cambiar son las herramientas para conseguir los mismos fines.

    Las leyes de la fortificación

    La fortificación de sistemas tiene tres principios básicos que dirigen todo el proceso y que debes tener siempre presente en cualquier fortificación que vayas a realizar, así que, para fortificar un servidor web con Apache deberemos seguirlas también:

    - Mínimo Punto de Exposición (MPE): Un servidor sólo debe exponerse en lo que sea estrictamente necesario para su rol, es decir, un servidor Web no debe tener cargado el software de impresión y mucho menos ejecutando demonios de servicio de impresión en red. Esta regla ha hecho que las instalaciones de los sistemas operativos hayan dejado de realizarse orientadas a componentes, es decir, instalando módulos, y se realicen orientadas a roles, es decir, instalando módulos absolutamente necesarios para el cumplimiento de un rol.

    - Mínimo Privilegio Posible (MPP): Todo componente dentro de un sistema debe ejecutarse con los privilegios necesarios para cumplir con su rol y nada más. Un sitio web nunca debe correr como root porque no es necesario para dar servicio y lo único que puede suceder es que un atacante que consiga vulnerar el sitio obtenga esos privilegios de root en el sistema.

    - Defensa en Profundidad (DP): Se deben implementar todas las medidas de seguridad que sean posibles teniendo en cuanta dos factores: Primero: Una medida de seguridad no debe anular a otra. El ejemplo más claro de esto es cifrar las comunicaciones e instalar un Sistema de Detección de Intrusiones de Red (NIDS), ya que el segundo no podría detectar ataques por red si se usan los canales cifrados. Y Segundo: Las medidas de protección no pueden anular la utilidad de un sistema. Si las medidas de protección hacen que el sistema deje de dar servicio en tiempo útil entonces no son medidas viables.

    Las fuentes del servidor

    Cuando instalas un servidor Apache tienes varias formas de obtener y mantener los ficheros del servidor. El primer camino es ir directamente al proyecto y descargarte la última versión compatible con tu sistema operativo y después realizar las comprobaciones oportunas de los ficheros mediante el hash y la firma, luego lo configuras, lo compilas y listo. Esto es importante sobre todo cuando te descargas ficheros desde otros Servidores Mirror. La otra opción es bajarte los binarios compilados para tu sistema operativo con lo que deberías realizar la comprobación del hash y la firma de los ficheros pero directamente de los binarios. Procura bajarte los ficheros compilados de los servidores que marcan los fabricantes del sistema operativo para evitar problemas. Puede suceder, como le pasó a WordPress no hace mucho que vulneren su servidor y directamente el código que te descargas del propio fabricante venga troyanizado, pero es menor.

    El elegir correctamente el lugar de la descarga del fichero evita situaciones que a priori parecen algo paranoicas pero existen formas de atacar sistemas desde las fuentes. Si te interesa estar informado sobre estas técnicas, hay documentos, como “Troyanizando Apache y sus Módulos”, escrito por Sp4rK, disponibles en Internet.
    Para este ejemplo he elegido la última versión de Apache disponible de la rama 2.X, la 2.24, como dice en la propia web del proyecto es principalmente una versión bugfix, es decir, correctora de bugs, y es la mejor opción del proyecto Apache. Puedes acceder a los ficheros en la siguiente URL: http://httpd.apache.org/download.cgi y es importante que si estas realizando una actualización de una versión a otra revises el Changelog dónde se indican los principales cambios de cada versión para que no te encuentres con una situación de incompatibilidades con otro software de tu servidor.

    Imagen: Anuncio de versión Apache 2.2.4.

    No solo hay que descargarse la última versión sino que además, es importantísimo estar suscrito a las actualizaciones de seguridad del producto pues mantener el servidor actualizado es una de las principales cosas de las que preocuparse para mantener segura una infraestructura con Apache.

    Una vez que te hayas descargado puedes accede tanto a los fuentes del archivo, como al fichero de hash MD5 y a la firma pública de los códigos fuente y puedes comprobar que el fichero es el mismo que ellos publican realizando, en primer lugar una comprobación del hash y en segundo lugar una comprobación de la firma. Para que puedas realizar la comprobación de la firma es necesario que tengas las firmas de los distribuidores de los ficheros del proyecto que puedes descargar de esta URL: http://www.apache.org/dist/httpd/KEYS

    Imagen: Importación de claves con gpg --import KEYS

    Y luego verificamos la firma con gpg --verify http-2.2.4.tar.gz.asc que es el fichero con la firma de las fuentes y el hash md5 generando un nuevo hash del fichero con el comando md5 http-2.2.4.tar.gz y comprobando si el valor es el mismo que nos ofrecen en el fichero http-2.2.4.tar.gz.md5.

    Imagen: Verificación de firma y hash

    Compilación de los archivos fuente

    Antes de empezar a configurar los parámetros del servicio debemos configurarlo. En esta parte se deben realizar una serie de acciones que deben ser tenidas en cuenta.

    Configuración del banner del servidor Web.

    Una de las reglas de oro es dar la menor información posible sobre tu sistema, para reducir el número de atacantes. Muchos escáneres de vulnerabilidades realizan una comprobación del banner que devuelve el servidor web para poder aplicar unos u otros exploits. Una de las recomendaciones es cambiar dicho banner. Para cambiar el banner debemos tocar el archivo ap_release.h antes de configurar el servidor.

    Imagen: include/ap_release.h

    Como se puede ver en la captura se puede cambiar la versión de Apache, yo le he dejado la 2.2.4.0. Cambiar ese banner ayudaría a que Apache bajara en las estadísticas de Netcraft, tan llevadas y traídas en el mundo de la competición software, así que si no quieres dar ninguna información pero quieres que las estadísticas sigan contando “un Apache más” te recomiendo que pongas un genérico Apache utilizando la clave ServerTokens Prod en el archivo httpd.conf. Yo por mi parte le he bautizado con el nombre de Malignito.

    Imagen: Respuesta ante conexión por el puerto 80 una vez que el servidor ya está corriendo

    Configuración e Instalación

    Una vez que hayas cambiado el banner, podemos pasar a configurar los módulos que quieres habilitar de tu servidor Apache, para ello, antes de realizar la configuración de los fuentes te recomiendo que analices bien qué necesitas tener cargado y qué no necesitas tener cargado. Todos los módulos que hay para Apache están documentados en la siguiente URL: http://modules.apache.org/ y tienes una lista reducida en la siguiente URL: http://httpd.apache.org/docs/2.0/es/mod/. Actualmente hay más de 400 módulos disponibles para Apache, luego es importante que sepas los que quieres tener funcionando y los que no. Algunos módulos que se suelen cargar por defecto y no suelen ser necesarios pueden ser:

    - mod_imap: Que ofrece servicio de mapeo automático de ficheros de índice del lado del servidor.
    - mod_include: Habilita los includes de ficheros del lado del seridor. Los .shtml.
    - mod_info: Da información sobre el servidor. Los escáneres rastrean la información que ofrece. Se suele habilitar en pruebas y desarrollo, pero no en producción.
    - mod_userdir: Para mapear los directories personales de los usuarios. También está el mod-ldap-userdir para hacerlo vía árboles ldap.
    - mod_status: Para tener estadísticas.
    - mod_cgi: Ofrece soporte para ejecución de cgis. Si no tienes programas cgi en tu servidor deshabilítalo.
    - mod_autoindex: Listados de directorio para cuando no hay archivo por defecto.

    Si ya has realizado tu selección de módulos puedes proceder a su configuración con el siguiente comando:

    Imagen: Configurando módulos en Apache.

    Como se puede ver basta con usar el comando --disable-modulo para evitar que se cargue un determinado módulo en el sistema. Lógicamente solo podrás habilitar o deshabilitar aquellos módulos que tengas cargados, si deseas agregar nuevos módulos estos deben ser agregados mediante el comando config-status.

    Compilación

    Una vez que tengas configuradas las listas de módulos que necesitas puedes pasar a la ejecución del comando make y make install para acabar de instalar Apache y cuando lo tengas listo, podrás ver la lista de módulos que tienes cargados con el comando httpd –l.

    Imagen: Lista de módulos cargados

    El último comando que se debe revisar es httpd –V que nos permitirá ver cuáles son las opciones de compilación con que se ha instalado el servidor.

    [Fin de la primera parte]

    miércoles, septiembre 26, 2007

    Fist Conferences

    Mañana se van a celebrar en Madrid de 18:00 a 21:00 horas las Fist Conferences. La agenda de la sesión es:

    18:00 Presentación Justo Carracedo, UPM
    18:10 Events Logging Markup Language Vicente Aceituno, ISM3 Consortium
    19:10 Ocultación de información mediante métodos esteganográficos Miguel Saiz, SIA
    20:00 Descanso
    20:10 WiFiSlax 3.1 Sergio González (Anelkaos)
    21:00 Cierre y "Piscolabis"

    El evento está patrocinado por S21Sec y la Cátedra UPM Applus+ de Seguridad y Desarrollo de la Sociedad de la Información. Es gratuito y tendrá lugar en la Sala 3005 Escuela Universitaria de Ingeniería Técnica de Telecomunicación (EUITT) de la UPM - Campus Sur, Carretera de Valencia km. 7.

    Si quieres asistir tienes que registarte en esta URL: http://www.fistconference.org/
    Yo estaré por allí, así que si vas, nos vemos!

    Saludos!

    In your Face!

    Los que son magos son magos y punto. Los hombres de negocios seguirán siendo mucho más listos que yo y no dejarán de sorprenderme y colármela en mi cara. Y es que hace tiempo que llegué a la conclusión que para ese tipo de habilidades hay que nacer.
    A ver qué opináis vosotros. Hace unos meses estábamos con el debate ODF – OOXML y uno de los tan traídos y llevados mensajes era:

    “¿Por qué otro estándar? Si ODF es malo, que Spectra se una y lo mejore”

    IBM firmó y subrayó este mensaje abiertamente, pero realmente la guerra no era esta, desde el principio la guerra ha sido para las herramientas ofimáticas y la pasta en la venta y soporte de la misma.

    El día 10 de Septiembre, unos días después de la votación IBM anuncia a bombo y platillo que se une a la comunidad OpenOffice.

    “¡Qué buenos son!, vienen a darnos todo su apoyo” (y amor).

    Todos contentos, pues podrán tener mejores herramientas ofimáticas en sus distribuciones y les ayudará mejor a colocar Ubuntu y RedHat.

    Mark Shuttleworth [Ubuntu]: "We are excited about IBM joining Sun and other contributors to the OpenOffice.org community in pushing development of OpenOffice.org and the OpenDocument Format.[...]”

    Todos contentos porque IBM va a colaborar con OpenOffice. Pero… la cosa no acaba ahí.
    Días después, y casi coincidiendo con la noticia y casi mezclando ambas informaciones (muchos bloggers se piensan que es lo mismo, FLIPANTE!), re-lanza Lotus Symphony, que soporta ODF, las versiones anteriores de Office, no muchas más cosas y lo lanza en versión Beta 1 para Windows, RedHat Linux y Suse Linux. Pero... si ya hay una ¿porque no se une y la mejora? si ya está OpenOffice, ¿por qué no da IBM todo su apoyo y potencia OpenOffice? ¿por qué sacar otra versión?


    - “Perdona, eh…. ¿No te has olvidado de Ubuntu?”
    - “Ubun..¿qué?”

    Eso sí, de Windows Vista, que todos los “analistas” dicen que va a fracasar, de esa versión no se han olvidado. La versión tiene licencia PROPIETARIA, que para los amantes de la literatura legal está aquí: Licencia Lotus Symphony

    ¿Me parece mal? Nooo, es lícito ganarse la vida como quieran, pero ¿a cuanta gente creéis que esta jugada ha “confundido”?

    martes, septiembre 25, 2007

    La Liga de los hombres extraordinarios

    Tengo pasión por Alan Moore, así que cualquier momento es bueno para coger algo de él, aunque sea un título para un post que trata sobre las aventuras con el futbol y los servidores Web.

    La historia comienza a finales de un Agosto tranquilo en el que decido contar los webservers de los equipos de Fubol. Como sabéis, la "desgracia de vivil" me juega una mala pasada y tengo que hacer penitencia. Dentro de la penitencia está el jugar un poco con los servidores. Todo va normal hasta que llego a la web del Getafe que ha decidido cambiar a Joomla. Tras mucho jugar al final encuentro un bug en un componente que se llama Joomleague.

    Dicho componente tiene una función que se llama ShowTips en la que recibe un parámetro r que tiene XSS .... y Blind SQL Injection. Decido publicar el XSS para cumplir la penitencia pero no hago público que con el mismo parámetro se puede extrarer toda la base de datos de usaurios de Joomla de aquellos servidores que tengan ese componente. Según Google, más de 130.000 sitios (y la primera el Getafe):


    A partir de aquí, comienza la historia:

    Paso 1: Avisar al proyecto Joomleague

    El fallo lo había descubirto el día 27 de Agosto, y al día siguiente publiqué el XSS y avisé al proyecto por la dirección de email que tienen en la web:


    Respuesta Recibida: A día de hoy, es decir, casi un mes después respuesta ninguna.

    Paso 2: Avisar al proyecto Joomla

    Le reenvio el mail a Penyaskito, que me dice que conoce gente en Joomla, para ver si lo arreglan. El mismo día 28 de Agosto se envía la info a Joomla y el día 29 recibe un mail de contestación de Joomla.


    Como véis nos piden confidencialidad y nosotros, como malignos que somos nos hemos callado. Tanto es así que yo le pasé esto a "pajarraco" de los Santos, porque pensaba publicarlo al no recibir contestación del proyecto, para que lo sacara por Una al día, pero al final no lo hice público. Qué de malignidad.

    Respuesta: Esta fue la última contestación por esta vía.

    Paso 3: Parcheémoslo nosotros

    Como esto no tenía visos de arreglarse, tras encontrarme con el chico maravillas, que volvía de su periplo por Londres, me dijo: "Poooobres, estarán muy liados, y como hasta 1.000.0000 de afectados no cuenta... ¿por qué no lo parcheamos nosotros? Así verán que no somos mala gente los de Spectra". Dicho y hecho, le pasé el bug y se bajo el código para acabar enviandoles un parche.


    Respuesta:


    El resto fue en plan Pulp Fiction, que buenos somos, cuanto nos queremos y esas cosas.

    Al final, la nueva versión salió el día 14 y en el Changelog apareció lo siguiente:


    Sniff, que bonito, nozotros colaborando con el lado del bien. Hay esperanza para el mundo. Sniff.

    Ahora ha pasado más de 1 semana y todo el mundo debería haber parcheado sus sistemas, si no, deben parchear ya. La pregunta es: ¿No se debería haber hecho alguna otra notificación sobre esto? No se, de alguna forma. ¿Se enterará todo el mundo que tiene este componente de que tiene que actualizar? ¿O no lo harán mientras no pase algo?

    Saludos Malignos!

    lunes, septiembre 24, 2007

    Chapado en Spectra

    Bueno, para que todos los asistentes se vayan contentos, le he encargado a señor Brero de Sevilla una chapita para convertiros a todo a las filas de Spectra, este es el diseño, espero que os guste ya que os la regalo con todo mi "malor":


    PD: Hay 170 chapas, para los 170 primeros en llegar....

    Overbooking

    Se ha tenido que cerrar el registro para El Evento de Getafe del próximo día 4 de Octubre. El auditorio tiene para 160 plazas, pero hay una regla no escrita que se cumple matemáticamente y es que cierto porcentaje de la gente que se registra no asiste. Esto sucede porque siempre pasa algo a última hora. En Madrid, el porcentaje es clavado al 50 %, es decir, la mitad de la gente que se registra no asiste.

    Parece mentira, pero cuando llevas 8 años gestionando registros te das cuenta de que la regla es invariable. En este caso, no he querido forzar demasiado la máquina y lo he cerrado en 250. Esto quiere decir que estamos en Overbooking ya, pero no con con un doble.

    No creo que vaya a haber ningún problema para entrar al evento, pero .... ¡la lucha por los buenos asientos y los bollos en el café será fraticida!

    Os pido a todos que el día del evento vengáis con tiempo, y si alguien que ya se ha registrado no puede ir, que cancele su plaza, pues hay bastante gente que me ha escrito porque se ha quedado fuera.

    Para El Cenorro de la noche antes también hay un buen registro, pero os recuerdo que no vale el registro verbal tipo: "Chema, yo iré", y hay que enviar el mail. Yo esa noche voy a intentar realizar un ataque DOS a los ponentes anteriores a mi, aunque veo que alguno viene "muy parcheado".

    Nos vemos pronto!

    domingo, septiembre 23, 2007

    Momentus Ridiculous IX

    Allá, por el lanzamiento de SQL Server 2005 y Visual Studio 2005, la gente de desarrollo lo organizó como si fuera un lanzamiento... de falta, con lo que todo giró en torno al fútbol. Los ponentes iban todos de jugadores de fútbol, pero nosotros, los hombres duros de IT no ibamos a participar, pero...

    Lanzamiento SQL Server 2005 & Visual Studio 2005

    ...nos llamaron para presentar y dirigir el lanzamiento, así en la intro lo explicamos todo:


    -(abuelo) 'Hola desarrolladores, soy el Padre Parada, un evangelista IT Pro, nosotros no somos "divélopers" así que os preguntaréis por qué estamos aquí. Estamos aquí por qué nos han invitado.'
    -(yo) 'Sí, nos llamaron pq sin nosotros no se podría dirigir el equipo, así que yo pregunté si seríamos algo así como "Maradona"(señalando al abuelo) o "Zidane" (señalándome a mi).'
    -(abuleo) 'Chema, el de las drogas, eres tú.'
    -(yo) 'Bueno, pues eso, como "Zidane" (señalando al abuelo) o "maradona" (señalandome a mi). A lo que ellos nos contestaron "no, más bien, como Brito Arceo y Urizar Aptitarte".'


    Así que nada "nos desnudamos de corto" y a tocar los webos durante todo el partido:


    Estabamos dispuestos a que el partido no se nos fuera de las manos y tiramos de tarjeta cada vez que alguno se pasaba de tiempo. No fue un partido límpio, así que, en un determinado momento, mi juez de línea, convertido en el famoso "Rafa" me interrumpió ante una autentica falta de "Penlaty y expulsión". El momento está grabado en el siguiente vídeo:



    Al final, empate sin goles, como siempre. ¿Es que esperábais que algún informático "metiera un gol"?

    Saludos malignos domingueros!

    sábado, septiembre 22, 2007

    Los valores incontables

    Aunque sepamos que la seguridad depende de personas, procesos y tecnología, es chulo de vez en cuando poder hacer alguna comparación de seguridad entre distintos sistemas operativos.

    Parece evidente, o al menos de uso común, que la unidad que debe ser manejada ha de ser el bug, el fallo de seguridad, el expediente. Y sobre él hacer rondar el resto de medidas, teniendo en cuenta el nivel de criticidad, la facilidad de explotación, el tiempo de exposición al riesgo, el tiempo necesario de abolición del bug, etc…

    Para catalogar las vulnerabilidades, bug o fallos de seguridad se utilizan sistemas como el CVSS (Common Vulnerability Scoring System) que determinan un valor de criticidad de los mismos teniendo en cuenta todos los factores citados en el párrafo anterior. Dicho sistema, del cual es posible utilizar una calculadora en la siguiente URL [http://nvd.nist.gov], evalúa cosas como la existencia o no de un exploit público, la necesidad de estar autenticado en el sistema para explotar la vulnerabilidad o el nivel de acceso a datos que se obtiene para así sacar una nota final a cada bug.

    Una vez definida la unidad “botella de vino” para las vulnerabilidades parece que ya estamos en camino para poder contar… pues no. La cosa se sigue torciendo, el siguiente escollo es ¿qué base de datos utilizamos para evaluar las vulnerabilidades?. Las bases de datos de vulnerabilidades tienen más o menos un conjunto igual de expedientes, es decir, los expedientes más famosos, probados o de más impacto tienen su representación en todas las bases de datos. Es decir, el fallo en el RPC de Windows que dio origen a Blaster está en todas las bases de datos. Por otra parte existe un porcentaje de “votantes indecisos” que tienen su representación en bases de datos como Secunia, Security Focus o Milw0rn y dichos expedientes no aparecen en todas. Podemos encontrarnos con un bug documentado en Secunia, que no aparece en Security Focus y del cual el fabricante no ha dicho nada o viceversa. ¿Qué política de validación de expedientes utilizar?

    Una vez definida ya la política de expedientes y la métrica de las vulnerabilidades ya lo tenemos todo hecho, ¿o no? Pues no. Hay que definir exactamente qué es lo que vamos a comparar. Podemos aplicar una comparación como la de la campaña que ha hecho Apple en su publicidad: “Hola soy un PC. Hola soy un MAC”. En ella se comparan 300.000 virus en PC contra 0 en MAC. Se olvidan de decir que comparan los virus de toda la historia del IBM PC (incluido el de Ping Pong) contra la última versión de MacOS (para la que ya hay virus pero como son menos de 10 deben redondear a 0). Sí, es cierto que los datos no son comparables y que en Windows ha habido tradicionalmente muchos más virus, pero seguro que una comparación Windows Vista vs MacOS daría unos resultados menos dispares que 300.000 a 0.

    Al hacer esto, en una comparación sobre la seguridad en los sistemas operativos, tenemos el problema con Linux. ¿Qué paquetes deben incluirse a la hora de hacer las comparaciones? Se han intentado realizar configuraciones similares a una distribución de Windows XP o de Windows Vista en lo que se denominan las “Apple to Apple Comparisons”, pero siempre es el caballo de batalla en la disputa.

    Jeff Jones hizo un estudio cuidadoso en el que evalúa la seguridad de los sistemas operativos Linux, Windows XP, Red Hat Work Station 4 (aún no había llegado a 6 meses de vida la versión 5), Ubuntu 6.06, Novel Suse Linux Enterprise Desktop 10 y MacOs X 10. Para ello ha comparado las vulnerabilidades con las métricas establecidas para todas las vulnerabilidades y sólo para las de nivel High Severity, también ha intentando hacer un Apple-to-Apple reduciendo todo los sistemas operativos a algo equivalente y lo ha cruzado. Es decir, ha mirado todas las vulnerabilidades para todos los sistemas operativos, todas las vulnerabilidades para todos los sistemas operativos reducidos, vulnerabilidades high severity para todos los sistemas operativos y vulnerabilidades high severtiy para sistemas operativos reducidos.

    Al final tras haber realizado todas las mediciones, resulta que el informe no vale. Por dos cosas principalmente: La primera es que gana Windows Vista en todas las gráficas y la segunda es que Jeff Jones trabaja en Micro... Spectra y, por tanto, todo lo que dice debe estar manipulado. Da igual que dé todas las formas de medida, los resultados no valen. Así pues, el último problema en la contabilidad de la seguridad es: ¿Quién lo va a contar?

    Conclusión: La seguridad de los sistemas operativos sigue siendo INCONTABLE… “para aquellos a los que no les interese”. Si a ti te interesa puedes acceder al informe completo en la siguiente URL: [http://blogs.csoonline.com/node/371].

    Artículo Publicado en Windows TI Magazine Septiembre 2007: Los Valores Incontables.

    viernes, septiembre 21, 2007

    El abuelo evangelista

    Llevo trabajando ya más de 3 años con el abuelo, y la verdad es que no deja de sorprendernos de vez en cuando con sus andanzas. Hoy, recogiendo, lo que "nuestro cronista de Spectra" documenta en su blog, y siguiendo los deseos del abuelo, voy a hacer público el texto que se curró para la Webcast que realizó sobre Windows Server Core y me voy a permitir hacerle un homenaje. Gracias por todos esos momentos "tan tuyos".


    Oda a La línea de Comandos por José Parada



    El reporaje del momento y los webcasts via David Cervión, nuestro "cronista de Spectra", que siempre cuenta alguna intimidad impudica de lo que pasa en las oficinas de la susbsidiaria en España.

    PD: Los que tengáis la suerte de haber cogido plaza (ya está completo) para el Evento de Getafe, podréis disfrutarle.

    PDD: ¿No os recuerda a Felix Rodriguez de la Fuente?

    Oda a la Línea de Comando por José Parada

    En el principio fue la línea de comando…. Desde que los primeros equipos informáticos empezaron a realizar tareas por nosotros, los administradores utilizaron el lenguaje escrito para establecer la comunicación con ellos. El teclado y la pantalla monocroma eran los únicos instrumentos para relacionarnos con el aparato, los comandos y la sintaxis el lenguaje, el idioma común que procuraba el entendimiento entre hombre y máquina. Construcciones gramaticales complejas con multitud de modificadores posibilitaban un control granular sobre el equipo al tiempo que brindaban una plataforma sin igual para la automatización de tareas repetitivas.

    Pero este mundo gris y efectivo donde las maquinas estaban especializadas en realizar una única tarea, dio paso a otro más rico y agradable donde dispositivos de señalización como el ratón nos guían en un mundo rico y sensual de ventanas emergentes, donde la maquina obedece sumisa a las indicaciones de nuestro dedo índice cuando este hace click, o, a lo que interpreta del artilugio que codifica nuestra voz, y tiene el deber de dedicar su potencia de cálculo a ejecutar múltiples tareas.

    Pero si bien esta nueva manera de entendernos con la máquina es más rica y agradable, más sencilla y natural, es también menos directa y explicita, generando en algunos administradores ese vértigo propio de lo incontrolado. Y así como el evolucionar, el avanzar y el investigar, son condiciones inherentes al ser humano, así también la nostalgia y el recuerdo son esenciales en nuestra existencia.
    Para los que mantiene entornos con equipos dedicados a usos específicos, para los amantes del lenguaje escrito, para los que gustan de poseer el control, para los que dedican su tiempo a automatizar tareas repetitivas, para los nostálgicos, para todos vosotros, presentamos hoy Server Core…… porque en el principio fue la línea de comandos.

    jueves, septiembre 20, 2007

    Si es culpable que pague

    La justicia debe ser para todos, así que si uno es culpable de algo tiene que responsabilizarse. La competencia desleal, la extorsión, las técnicas abusivas.

    Porque tengas más poder ¿puedes librate de la justicia? Hay que dejar claro que no, que todos deben ser juzgados iguales ante la ley, así que si eres el responsable debes pagar. ¡Basta ya de poderosos culpables en las calles haciendo de las suyas!

    Todos estaréis enterados del famoso juicio, y es que a mi este tipo de cosas me tienen siempre en tensión. Me pasa que como no entiendo bien de derecho, pues se me escapan algunos conceptos. Me hace gracia ver a un Técnicoless cuando habla de tecnología, pero también me hace gracia ver a un técnico hablando de derecho, economía, libre mercado, etc... Por eso procuro tocar poco esas cosas.

    Pero en este caso concreto me veo obligado a hablar del juicio, porque si es culpable, tiene que pagar. Además, con subsidiarias por todo el mundo y miles de millones de clientes y riqueza tiene dinero más que suficiente para responsabilizarse de las costas y las multas que se le impongan. Y si no, que empeñe algunas riquezas leñe, que hasta Kevin Smith tuvo que vender su colección de comics para poder hacer Clerks!.

    De momento, ya le han demandado, estaremos atentos a ver que como acaba esto. Ahí os dejo la URL de la noticia:

    - Senador demanda a ....

    Charlas en Pamplona en Abierto

    Si alguno se ha pensado que para asistir a las charlas que se realizan este viernes y este sabado en la Navarparty, tiene que pagar, que sepa que no es así. Las charlas son en abierto y se van a realizar en la Universidad. Así que si te apetece pasar no lo dudes y hazlo. El Viernes estaré yo junto con Iñaki, "el que había hecho una cosilla" y Rodrigo Salvador. Yo asistiré a las charlas y luego habrá un post-conf en la zona vieja.

    El Sabado continuarán las charlas y podréis asistir a tres nuevas, entre ellas la del señor ptarra, que alguna vez se pega por aquí con todos nosotros.

    Viernes:

    15:30-17:30: “SL para la gestion de la red educativa mas grande del mundo”
    Rodrigo Salvador de la Concha, Consejeria Educacion, Junta de Andalucia.

    17:30-19:30: “SIMAX”
    Iñaki Ayucar, NavarraDotNet

    19:30-21:30: “Técnicas de Inyección en Aplicaciones Web”
    Chema Alonso


    Sabado:

    15:30-17:30 Técnicas de posicionamiento en Google
    Antonio Javier Ortiz, IM specialist, Loquo Spain

    17:30-19:30 “De la era de la Información a la brecha Digital”
    Carlos Lizoain Mendoza y Mariano Aristu Aguerri, ISF Navarra

    19:30-21:30 SL en la empresa: sistemas de gestión libres
    Pedro Tarrafeta, Economista, Director Comercial de ACYSOS S.L.


    No tienes que registrarte, no tienes que pagar, solo tienes que pasarte y aprender, discutir, aportar o entretenerte.

    La info de las charlas la tienes en esta URL: Conferencias NavarParty.

    Dirección de las charlas: Está en el edificio de la UPNA justo en frente de dónde se celebra la party, así que si quieres ir, pasate por la party y pregunta la sala que es allí.

    miércoles, septiembre 19, 2007

    Cenorro & Cachondeo

    Hola, holita,

    el día 3 de Octubre, el día antes del Evento, vamos a organizar un Cenorro & Cachondeo, para lo cual hemos pensado (el Rodol & me) en el siguiente plan:

    - Cena Menú 5 tenedores en Casa Mingo: Typical Madriles Bar con Sidra importada, Cerveza de alto standing, pollo asado y Spanish Calimotxo. Tortilla de patatas y pinchos varios, precio estimado porper (por persona) unos 20 - 25 leuros.

    - Traslado en limusine: Exactamente en una de unos de 50 metros de largo, aunque para acortar su nombre la llamaremos simplemente METRO, que nos llevará directamente a dónde un dia acabaremos todos, a TRIBUNAL. Typical garitos area. Precio aprox: 1 leuro.

    - Degustación gargantual: Dónde se procederá a la cata y gusto de garrafón segoviano con agua dura mezclado con licor de multinacional americana ligeramente carbonatado, o el agua del gin-nasio con aguita tonificada, o sonido de gato con rabo (RON-COLA). Precio aprox: N * 5 leuros (N es lo que aguante tu cuerpo)

    - Regreso a casa: Como siempre, solos, borrachos, sin un leuro y contentos....

    Obligatorio reserva, por lo que se hace saber, por orden del señor alcalde, que todo aquel que quiera participar deberá enviarme un mail con el SUBJECT: ALTA, indicando, Nombre, "alias", mail, teléfono movil y lugar de referencia (amos que de dónde coño vienes). Se comunicará por mail privado a esta lista la hora y el lugar exacto del akelarre.

    NOTA: Si no consigues mi mail, no mereces venir. No es una invitación, CADA CUAL PAGA SU PARTE. No vale robar la plata de los garitos.

    Saludos!

    martes, septiembre 18, 2007

    El más master

    Uno de los pedos más importantes de mi vida fue cuando, haciendo panda como en la peli de los Warriors nos cruzamos Madrid para ir al estadio del Rayo a ver los Metallica. Los discos de Master Of Puppets, Ride the lightning y …And Justice for all! marcaron mi adolescencia.

    Hoy me he acordado de ellos al ver que la gente de ingeniería de Dell acaba de re-masterizar la versión de Ubuntu para sus portátiles. ¿ya? ¿Tan pronto? ¿Y eso?

    Tranquilos, no pasa nada, es solo que la nueva versión incluye

    “many of the fixes listed below”

    ¿many? Perdona, eh...., mi inglés es muy malo. Many …¿son todos? …o …¿significa alguno en concreto?

    Bueno, no pasa nada el resto de los many, hay que bajarlo como los drivers propietarios de otro sitio. ¿Algo más que deba saber sobre esta versión? Na, algún detallito nada más:

    DISCLAIMER:

    1.- These images are both unofficial Dell recovery media.

    2.- They are not officially Dell-supported.

    3.- Do not call Dell Technical support with questions about this image, or software installed by this image, as they will not be able to help you.

    4.- To get help, please send an email to the Dell linux-desktops mailing list.


    Vale, vale, no hay que ponerse así, que solo preguntaba. ¿Eso es todo?.

    NOTE:
    The CD image has been modified to remove components such as OpenOffice to make room for additional Dell specific drivers and fixes


    ¿Cómo? ¿Qué habéis quitado qué para hacer sitio? ¿OpenOffice lo quitais para hacer sitio a parches y drivers? Espero que esos parches que habéis metido no sean para OpenOffice.

    Bueno, si te has comprado tu PC con DELL y deseas perder el soporte y el OpenOffice, pero a cambio conseguir “many fixes” entonces puedes descargarla y obtener toda la información de la siguiente URL: Remastered Ubuntu

    Saludos Malignos!¡

    PD: No he podido resistirlo. Me he acordado cruzando la ciudad (no money for taxis, metro cerrado, no nada...) hasta la otra punta para coger el bus buho.... y tengo que poneros el video de la peli de The Warrriors.

    lunes, septiembre 17, 2007

    Hacking Hardened Oracle Databases

    A principios de Septiembre se realizaron las conferencias Hack In The Box en Malasia y allí se impartió una presentación digna de estudiarse con toda la atención. La sesión se llamó Hacking Hardened Oracle Databases o como hackear bases de datos fortificadas. La presentación la realizó Alexander Kornbrust y en 59 diapositivas hace un recorrido “de flipar” sobre fallos en Oracle. Os resumo la sesión, porque después de leerla 3 veces, los fallos son la caña.

    Sección 1: Basic Stuff

    En la primera parte de la sesión se centra en lo que ya está arreglado o es conocido, por eso de que siempre hay alguien por ahí con el Oracle sin parchear ¿o no? En el mundo real, por desgracia, se encuentran Listeners de versiones 8i y 9i inseguros, contraseñas no fortificadas, bases de datos sin parchear y paquetes PL/SQL de terceros con fallos de seguridad. Esperemos que esto empiece a cambiar y desde hace 1 año y medio Oracle está empezando a preocuparse en serio y de verdad por esta situación, pero este tipo de cambios no es fácil y más cuando tu producto está tan extendido y con una variedad de versiones brutal en producción.

    Comienza con un resumen de los comandos básicos para logar permisos, roles, crear usuarios, objetos, etc… y sobre cuál es el panorama en las instalaciones de Oracle en las empresas. En este panorama recorre la lista de herramientas utilizadas para atacar bases de datos Oracle, que tenéis en la lista siguiente:

    - checkpwd: Fastest Oracle dictionary password cracker
    - orabf: Fastest Oracle Brute Force cracker
    - Tnscmd: Control unprotected TNS Listener without Oracle Client
    - sidguess: Fastest Oracle dictionary password cracker
    - Oracle Assessment Kit: Useful tools, e.g. To exploit the alter session bug
    - Oracle Instant Client: Oracle Instant Client
    - Oracle SQL Developer: GUI Tool for Oracle in Java
    - Backtrack 2: Linux Live CD with many Oracle Security Tools

    Hasta la diapo 15 la sesión continúa haciendo ejemplos con estas herramientas y con exploits parcheados por Oracle durante el último año.

    Sección 2: Oracle Hardened

    Esta sección comienza con una pregunta ¿Qué pasa si Oracle está parcheado a la última versión, con contraseñas fortificadas, los usuarios funcionan con los menores privilegios y las características de Oracle están configuradas?

    - Ataque a los scripts de login del DBA : La idea es inyectar comandos que se ejecuten en el script de login de los usuarios dba. Estos comandos están generalmente almacenados en un ficherito que descansa en la estación de trabajo del DBA así que plantea como posibilidad modificar esos ficheros (vía USB, acceso a la máquina, etc…) y conseguir meter códigos en los ficheros login.sql, glogin.sql, o en los mismos scripts de inicio de herramientas como TOAD, que son comunes en los entornos Oracle.

    - Shellcode en Objetos de la base de datos: Esta es la parte más curiosa de toda la sesión. Se aprovecha de la posibilidad de crear nombres de objetos utilizando el entrecomillado del nombre. Aprovechándose de esta función inyecta:

    o Código Javascript en el nombre del objeto con lo que es posible ejecutar código en aplicaciones clientes a través de comandos inyectados en el nombre.

    o Código SQL para realizar elevaciones de privilegios.

    o Código SQL para borrar objetos de otros usuarios. Este es especialmente divertido. El funcionamiento es sencillo. Tenemos el usuario ramón con su tabla llamada dinero. El usuario pepe quiere borrar la tabla dinero de ramon (ramon.dinero), para ello se crea la tabla “ramon.dinero” (que realmente se llamará pepe.ramon.dinero, pero de forma abreviaba será llamada por ramon.dinero. Este objeto va al diccionario de datos con lo que estará referenciado en la vista user_tables. Bien, al hacer una llamada SQL con el siguiente comando:

    Select ‘delete from’||table_name||’;’
    from user_tablas where username like ‘%pepe%’ ;

    Se cepilla la tabla original de ramon.dinero. En palabras del Gran Ford Fairlane: Increibleble.

    o Código SQL para crear usuarios DBA mediante la inyección en el nombre de un role. Brutal.

    - Inyecciónes de código en scripts que usen el comando host para ejecutar código en el servidor sobre el que corre Oracle.

    Sección 3: Recomendaciones de Seguridad

    La presentación termina dando consejos para mitigar estos posibles ataques, y ofrece una genial: A la hora de generar scripts no confíes en los datos que te da el usuario ni en los datos que te da la base de datos. También recomienda filtrar los caracteres utilizados en la creación de objetos

    Sección 4: Audit & Antiforensic.

    En esta parte analiza cómo es posible saltarse la auditoría y borrar los pasos de un atacante para no dejar información a un posible auditor del sistema. Esta reportado el bug a Oracle y no hace público el exploit, pero da muuuchas pistas sobre los fallos.

    Sección 5: Transparent Data Encryption

    La idea de esta parte es que esta opción que provee Oracle permite a un usuario cifrar sus tablas, por lo que si alguien realiza una escalada de privilegios puede cifrar las tablas de otros usuarios o aplicaciones y dejarles jodidos. Así que si no lo estás usando, deshabilita esta función.

    Sección 6: Database Vault

    Termina la sesión con una recomendación. Database Vault, es un producto aparte que añade seguridad a las bases de datos Oracle. Este producto está pensado para el cumplimiento de regulaciones en bases de datos críticas y previene ataques internos. Esta opción puede ser atacada desde el sistema operativo, por lo que hay que tener cuidado con el acceso a la máquina.

    En fin, que la presentación es un punto de vista divertido y útil sobre la seguridad de bases de datos Oracle. La tienes disponible en la siguiente URL:

    Hacking Hardened Oracle Databases

    Saludos de Lunes!

    domingo, septiembre 16, 2007

    ¿Tienesacarina?

    - ¿Sí?, pues me pone "El Baúl de los recuerdos".

    "Nunca empieces una charla con un chiste malo". Decía un profesor en un curso de como hablar en público. "...salvo que sea tan bueno como el de la sacarina" apuntillamos los chicos malos de la clase.

    Hoy, aprovechando que es domingo y que todo tiene que ser ligerito (que tenemos un finde deportivo y no quiero descentraros) aprovecho para dejaros varias cosas que están en el baúl de los recuerdos.

    Time-Based Blind SQL Injection with Heavy Queries

    O lo que es lo mismo, hacer un ataque de Blind SQL Injection en base a tiempos usando consultas pesadas. Este artículo lo hice con Dani Kachakil, Antonio y Marta y nos lo ha publicado Spectra, así que lo tenéis en la Web de Technet. Información relativa en Castellano sobre este tema lo tenéis en este post: Blind SQL Injection (V). El tiempo.

    El peor evento de mi vida

    Hace ya unos meses os hablaba del peor evento de mi vida. Aquel de Vigo en el que se me fue un poco la mano con la fiesta la noche antes. En aquel evento un asistente tomo unos apuntes sobre la sesión que puso en Internet, pero por desgracia, no estaban disponibles. Bueno, pues os los dejo aquí, para que comprobéis la veracidad de la afirmación.


    Página 1

    Página 2

    La Wifi en el Aeropuerto de Barna

    "Alguien" jugando con cierta herramienta hizo un grafitti en el aeropuerto de Barcelona y bautizó un Access Point con un nuevo nombre. "No se quien habrá sido la perra mala", pero os dejo la captura... (ya te cogeré)


    Saludos malignos!

    sábado, septiembre 15, 2007

    Calendario Torrido

    En un arranque de aburrimiento llamé al chico maravillas y le dije: “Oye, ¿qué te parece si los MVPS hacemos un calendario torrido?” A lo que él me contesto: “¿Cuándo nos despelotamos?”. Y es que así es de ocupada y dura la vida de un MVP. Siempre con tiempo libre para ponernos en pelotas. En fin.

    El caso es que nos vamos a hacer, 12 mvps, 12 fotos tórridas (o algo así), el día 4 de Octubre por la tarde (justo después del eventazo con los crases más peligrosos de la comarca). Al principio pensamos hacerlo para luego ganar pasta y dársela a algún proyecto de software llamado “libre” u Open Source. Miramos las donaciones en Ubuntu, Apache, etc… pero al final hemos decidido que si nos bajamos los calzones que sea por una buena causa, así que estamos mirando con que ONG podemos colaborar (si es que alguien quiere el calendario).

    Así que chicas, estaís de enhorabuena. Vais a disfrutar de una visión única que os va a matar la libido de por vida. Vais a entender porqué los freaks informáticos no ligan, salen poco a la calle, llevan ropa ancha y oscura. Y algunos hasta toman cosas raras...

    No obstante, si eres chica y aún así, después de esto quieres tener el calendario cerca tuya, no te preocupes, yo te firmaré mi foto personalmente.

    Y encima nos despelotamos sin cobrar en lugar de ir al Interview. En fin, nunca debí mezclar aquellos medicamentos. No se como me presto a esto. Digo.. no se como los demás me hacen caso para hacer estas cosas cuando se me ocurre una tontería.

    ¡Buen finde!

    viernes, septiembre 14, 2007

    Al Sol que más calienta

    Estábamos hablando el otro día sobre lo contagioso que es el lado del mal cuando de repente me llega a la oreja que Sun ha firamdo para empezar a vender Windows Server. Vaya, que sorpresa. Va a ser que el software de Spectra no es tan malo para correr en tan buenos hardwares. Va a ser que Windows Server se ha hecho un buen hueco en el mercado de servers tradicionalmente controlado por los UNIX.


    Ya Sun daba soporte en su Hardware para Windows Server 2003 en 32 bits y 64 bits, y para Windwos XP en sus estaciones de trabajo. Esto es algo común, como hace por ejemplo IBM y otros vendedores de "hierro".


    Lo curioso es que ahora Sun VENDE Windows Server en OEM, es decir, que gana y ayuda a ganar dinero a Spectra. Y es que esto de apoyar cosas bonitas como la libertad, la igualdad y la fraternidad está debuti, pero no hemos de olvidar que IBM es una empresa con ánimo de lucro, igual que Sun Microsystem y Spectra. De hecho, creo que las tres han sido aspirantes a gobernar el mundo. Aunque creo que ahora hay un enemigo peor….

    Saludos malignos!

    PD: En la web de IBM no he visto el logo de Windows ni la bandera de Spectra, pero en la de SUN luce orgullosa y además el logo de Partner ¿será territorio conquistado?

    jueves, septiembre 13, 2007

    Reservate el Día!

    Estoy más contento que unas castañuelas, ya que por fin está cerrado. Llevaba tiempo con la idea detras de la oreja y está publicado.

    El próximo día 4 de Octubre de 2007 he liado a los más malos para que se animen a dar unas charletas, así que vamos a tener como ponentes, en un sólo evento a Pedro Laguna, Dani Kachakil, Mandigno, RoMaNSoFt, Andrés Tarasco y José Parada (el abuelo). Yo también estaré por allí, para dar la última charla junto con el abuelo.

    La sesión comenzará la noche del 3 de Octubre dónde es cena (fiesta) obligada para los ponentes, los puestos y los que se van a poner, así que aprovecharé para pagar a RoMaNSoFt su tan ansidado premio por el penultimo retohacking de una noche de fiesta y cachondeo.

    Después el día 4, a primera hora (es decir, los que menos tiempo tendrán para recuperarse de la resaca) los amigos Kachakil y Laguna nos hablarán de las técnicas de Blind SQL Injection, (esenciales para pasar el primer y el segundo reto Hacking).

    Después los "amigos de las webs" Mandingo y RoMaNSoft nos darán una sesión de como se joden las webs y cuales son las formas de detectar esos errores, justo antes de pasar a un desayuno pagado por la malvada Spectra (que para algo tiene dinero para conquistar el mundo).

    Despues del café, ya con más tiempo para recupernos de la resaca del día anterior, el señor Tarasco (Atar) [y si liamos al señor aramosf, que está un poco perrete
    ultimamente...] nos hablarán sobre como "auditar" los nodos de comunicaciones, cuales son los fallos de seguridad más comunes y nos enseñarán los últimos juguetes de la factoria 514.

    Ya por último, con toda la mañana pasada y habiendose podido recuperar, vendrá el Abuelo (José Parada) que éste es el que más tiempo necesita para recuperarse debido a la edad y yo le ayudaré a dar una sesión sobre seguridad en LDAP. Sí, el cuarto reto corre sobre LDAP. ;)

    El fiestorro será en el Auditorio de Getafe y el registro está limitado, así que, si quieres venir, reservate el día:

    Tienes la agenda y mas info en la siguiente URL: Asegurate!

    Saludos malignos!

    miércoles, septiembre 12, 2007

    No lo toques es contagioso

    Desde la caida al infierno de Miguel de Icaza, ya demonizado por la comunidad por sus acercamientos al lado del mal, son muchos, los que se van contagiando del mal, y creo que es a veces por lo que yo definía como "todo vale contra Spectra". Da igual si es mentira, si no hay pruebas o si es un error, si va contra Spectra vale.

    Ayer, oh, gran John Carmack creador de Doom, Quake y de la afición a matar monstuos que nació en mi. Decía que ya no estaba intersado en Linux (y OpenGL) y su próximo juego no tienes planes para Linux. [El link original es en alemán, así que os dejo un link en inglés]

    Ayer también, Morten Welinder, colaborador en el desarrollo de Gnome, critiba en su blog las conclusiones a las que se llega en un documento que denosta a OOXML con algunas frases muy curiosas:

    "But anyone who has worked with spreadsheet file formats will easily see that it was written by someone who, intentionally or otherwise, is deaf, dumb, and blind to the shortfalls of ODF."

    "Don’t complain that “ECMA 376 documents just do not exist” when the same can be said for ODF. As-of version 1.1 of the specification there still seems to no syntax for 2+2."

    "Of course, since ODF doesn’t actually have non-trivial formulas, we should probably just interpret it with respect to OOcalc’s format. I do not think ODF would fare well here."


    Allá, por Octubre de 2005, antes incluso de que la comunidad del bien me "tachara" de maligno, antes de que existiera este blog yo narré en un mail como fue mi caida al lado del mal. Os lo copio aquí, que nunca lo he puesto en este blog.

    Ten cuidado, es contagioso.

    PD: ¡Casi dos años! ¡Cuanto mal he hecho desde entonces!

    [Capitulo 1] Descenso al infierno

    Sí, lo reconozco, sé, que tras muchos años de estudio y autoevangelización en la cafetería de la universidad nunca debería haber pasado, pero es así, en mi ordenador personal tengo Windows XP y lo que es peor, en mis servidores Windows Server. Ya lo sé, va contra todo lo aprendido, pero no he podido remediarlo.

    Me vi atraido por una extraña sensación de vértigo, todo comenzó, un viernes, cuando quería acabar rápidamente para salir de copas y en mi casa estaba reinstalando una nueva versión de Red Hat, la 4.2, nunca lo olvidaré, pero de repente, mi tarjeta gráfica no era compatible. No pasa nada, un informático es capaz de saber arreglar eso y mucho más, frecuencías tipos de monitores, fabricantes, ¿que informático que se precie no tiene conocimiento de los voltajes, refrescos de reloj, etc.. .de todo su hardware? ¿que informático que se precie no es capaz de recitar de carrerilla todos los chips de su placa base?.

    Raudo y veloz arranque XF86config, y fui seleccionando las opciones, hice la prueba del monitor para comprobar mi maestría, cuando algo debió pasar, aun no se bien que, pero mi monitor se petó. Sí, petó, algo falló en la configuración que le dí, ¿tal vez erré el refresco horizontal? ¿tal vez el refresco vertical?, ¿como me pudo pasar a mi? ¡ Y encima tenía que preparar el trabajo de la práctica para la universidad!.

    Por suerte, como todo buen informático que se precie, tenía un monitor disponible, del ordenador antiguo, (quien no ha tenido dos ordenadores en su casa que deje de leer esto inmediatamente). Monté mi monitor y me dispuse a utilizar mi disquete de arranque de linux, con mi LILO (¡como me gustaba el nombre! Lililllo le llamaba yo) y de repente ahí estaba, encima de la mesa, como si hubiera aparecido de la nada. ¿como había salido el cd pirata de Windows 95 de la caja de cds? ¿Tal vez lo sacara para buscar los tgz de las tools para linux? ¿o fue buscando los compiladores? Ahí estaba, mirandome, con su agujerito y el rotulador serigrafiado que ponia W98. La W era como una sonrisa. ¿Plug and play? ¿petará monitores?. Fue un impulso loco de juventud, nunca debería haberlo hecho, pero me dije: ¡ Solo será una vez, luego lo desinstalo!. Así que así fue, meti el cd e instalé Windows 98. Fué letal, reconoció todo el hardware, bueno, no todo, la tarjeta de red tuve que configurarsela. Era como si W98 quisiera darme cariño y dejarme sentir como un informático configurando un driver, no quería hacerme daño. Pero lo demás lo reconoció todo, incluso el scanner qtronix de mano, que le pinché por los puertos serie, ¡ y era a color!.

    No cai al mal rápidamente, pues instalé el partition magic y le hice una partición para poner mi linux, un ext2 para Red Hat y otra para la swap. Un arranque dual y por defecto linux. Pero luego cada vez fui haciendo más trabajos para la universidad en Lotus AmiPro, luego en Access 2, mis amigos me miraban sospechosos cuando algún gráfico de barras iba especialmene bonito. Llegue incluso a quitar los acentos de alguna práctica y decir que había tenido problemas con el set de caracteres después de actualizar el kernel al arrancar el vi (¿!¡?) ¡Oye, un compi me dijo que le había pasado lo mismo una vez!. Al final cai, y cai en el office, y caí en Windows NT y Windows 2000 y XP y Server 2003. Es una droga. No puedo dejarlo.

    En mi última conferencia, en una party en Santander, me quedé a rememorar viejos tiempos a ver la charla que daban de linux antes que yo. Y allí estaba el ponente, durante 20 minutos, hablando sobre como se configura EL MONITOR. 20 minutos, en una conferencia, año 2005, sobre como se configura EL MONITOR. y me acordé, de que era necesario saber el refresco vertical, y el horizontal y …. fue tremendo.

    Además ser del lado del bien tiene sus ventajas, pues puedes cometer errores, que nadie te va a machacar. El ponente en mitad de la charla dijo que Windows Server 2003 había cambiado el standar TCP/IP y que por eso no le funcionaba su linux con Windows Server 2003. ¿Lo ha cambiado?. Levanté la mano y le dije: ¡Oye, ¿no crees que si widnows cambia el standar TCP/IP hubiera salido hasta en el telediario de tu pueblo? Al final la charla, me dijo: Perdona, ¿no lo ha cambiado? pues vaya, yo pensé que sí, como no me tiraba….

    Yo haciendo uso de mi estancia en el lado del bien, le dije: ¡Va, no te preocupes! ¿a quien le ha importado de todos los asistentes?

    Disclaimer:
    Todo lo que va en este mail lo escribo así por que me apetece y tengo tiempo libre. Si no te mola, lo tiras a la papelera de reciclaje o haces un rm desde la shell. Me importa poco si te ha gustado o no. Yo me lo he pasado fetén escribiendolo, si no quieres que te lo envien no abras tu mailbox o pon una regla contra mi dirección de correo que yo no la spoofeo para enviar estas chorradas. Un besoT o que te den. El mal informatizado.

    martes, septiembre 11, 2007

    Un Mapa para el Bazar

    Recuerdo que feliz de la vida salí a olisquear las calles de El Cairo con un mapa y que a la segunda vuelta de la esquina ya me había perdido. Cuando miré el mapa, tranquilo y contento de mi aventura de explorador, me percaté de un pequeño problemita, mi mapa tenía el nombre de las calles en inglés y las callejuelas dónde estaba perdido tenían todas el nombre en árabe. Fue graciosísimo la cara de pringao que se me quedó. Me perdí por un bazar en dónde era el único turista, y mira que ya es chungo eso en El Cairo, y encima el único con melenas, con lo cual me fueron tirando del pelo y tocando la cara. Fue una sensación de pérdida de control muy curiosa.

    El Bazar es una de las metáforas que se usan para definir el sistema de desarrollo en el software “libre” / open source y recuerdo que esto siempre fue muy divertido a la hora de montar algo que no fuera exactamente como lo que ponía en el manual, ya que en tu distribución o en tu versión podía haber cambiado algo que justamente hacía que “eso que querías” no rulase. Tras mi caída en el lado del mal me fui olvidando del bazar de babel para acostumbrarme a la MSDN y al Technet.

    Pero… los caminos del destino se retuercen y giran y me comprometí a escribir unas 25 hojitas sobre como fortificar Apache en un par de artículos, y como para eso hay que montarlo todo, pues nada, saqué la chilaba, me fume una pipa y me bajé de nuevo al bazar con mi Apache.

    Ayer me senté a las 8 de la mañana con mi Linux y mi Apachito y me hice un plan de trabajo. Vamos a configurar los logs, a montar el mod_ssl, luego el mod_chroot, luego congiguramos los sistemas de autenticación con fichero con el mod_authn_file, con base de datos con el mod_authn_dbd, también jugamos un poco con mi querido mod_authnz_ldap y mod_ldap para autenticar con árboles LDAP y luego tocamos configuramos un poco el mod_security.

    ¿Qué puedo tardar en montar esto? Buscando un buen mapa (documentación) me lo monto en unas horitas.

    Efectivamente, fueron unas horitas, de hecho una docenita de horas, ya que a las 9 de la noche estaba acabando de escribir sobre la configuración del mod_security y por el camino me pasaron algunas cosas curiosas, que os paso a relatar.

    Esta traducción podría estar obsoleta.


    Así, ale, la primera en la frente. Te vas a la documentación de la última versión de Apache en castellano y te dicen eso, qué podría estar obsoleta. A lo mejor sí, a lo mejor no. Si no te gusta, vienes tú y la documentas. ¡Por Dios! ¡Qué estamos en el siglo XXI! Tener esto y no tenerlo es exactamente lo mismo, pues como os imaginaréis ni se me ocurrió leer una línea más de esta documentación en castellano.

    Mod_chroot

    Con esto se hace una jaula para el sistema de ficheros en Apache. Antes había que montar un pollo copiando directorios y la leche para poder hacerlo. Sin embargo ahora, “You don't need to create a special directory hierarchy containing /dev, /lib, /etc...” ¡Qué guay! Vale, tengo una version Apache 2.2.54 sobre RedHat ¿Rulará? ¿alguna indicación sobre ello?
    Sí, esta es toda la info que tienes. ¿Tú crees que rulara?. Puedes creer, pero lo que es saber seguro que no. Ámplia documentación. Nada usemos Internet para buscar más info y todo lo que obtenemos son o copias de porciones de texto de aquí o manuales de cómo montar la puta estructura de directorios “que ya no es necesaria” para montarlo con mod_chroot, o para hacerlo con mod_security, etc…

    La doc

    Las aventuras con la documentación han sido muy divertidas, ¿no podría cambiar esto? La ingeniería es importante, pero la documentación es parte fundamental de la ingeniería. Esto me recordó el caso de Linux on a Laptop, un sitio que recoge las experiencias de los tipos que montan su linux en el portatil. Como mi primo de Caceres que tenía el IBM ThinkPack 390X y quería instalar su RedHat y lo que tenía era lo que encuentres ahí, es decir, un Debian con el proceso de instalación en Francés. O yo, que en mi DELL Inspiron 6400 al que voy a instalar Ubuntu, para ser más listo, no sé si le va a funcionar el lector de MMC, el modem, el Firewire o la lectora PCMCIA.

    De verdad, yo se que todos quieren ser el delantero centro para marcar goles, pero hacen falta defensas. Las estatus necesitan bases que suelen ser trozos de roca o metal gordos y sin forma que sujetan figuras estilizadas. Con los programas sucede lo mismo. La documentación debe ser buena, fuerte y robusta para que las cosas funcionen. Acabemos con el mensaje de: “a mí me rula así” o “en mi ordenador funciona”. En Spectra un jefe de proyecto se hizo famoso por poner en su puerta: “No me importa si funciona en tu ordenador, nosotros no vamos a distribuir tu ordenador”

    Saludos malignos!

    PD: En este trabajo he de romper una lanza por la documentación de Apache …en Inglés que es muy buena y por la de mod_security que es muy poco didáctica pero 100 % específica y si sabes que es lo que quieres te resuelve todos tus problemas.

    Entrada destacada

    10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

    Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

    Entradas populares