Está en la página 1de 34

Capítulo 4

MÉTODOS DE ATAQUE A EQUIPOS Y REDES


ESQUEMA

4.1. Introducción
4.2. Taxonomía de los tipos de ataques
4.3. Ataques orientados a la obtención de información sobre el objetivo
4.4. Ataques, orientados a la obtención no autorizada de información
confidencial, basados en la mala administraciónde sistemas
4.5. Ataques. orientados a la obtención no autorizada de información
confidencial, basados en vulnerabilidades del software
4.6. Ataques de tipo denegación de servicio (dos)
4.7. Ataques @creativos*
4.8. Conclusiones
4.9. Evaluación
Conviene recordar lo citado en el capítulo 1 sobre el parecido entre los
ataques a redes y servidores y los ataques» o amenazas a la seguridad del
.mundo real,,. Los ataques dirigidos a los dispositivos de red que se desea
proteger están, finalmente, realizados por personas. Se puede pensar en algu-
nos: robos de bancos, malversaciones y fraudes, invasión de la confidenciali-
dad, sabotaje, espionaje, etc. Todo este tipo de problemas existen, también,
en las redes de las organizaciones actuales.
Por ejemplo, se puede decir, sin temor a equivocarse, que donde hay dine-
ro, hay criminales, con lo que asuntos como el sabotaje remoto al control de
cajeros automáticos o la pornografía infantil, pasan a ser perfectamente fac-
tibles también en las redes.
Pero, desde un punto de vista más técnico, sí hay diferencias, se podría
decir que el ciberespacio cambia las formas de los ataques y, como conse-
cuencia, se deben adecuar las formas de las defensas. La red Internet tiene
vanas características que hacen que los citados ataques puedan ser mucho
peores, en cierto sentido. Esas características son:
- El aspecto automático de los ataques. Si en algo son potentes los
ordenadores, es en las tareas repetitivas. Se puede dejar una máquina
tratando de descifrar contraseñas de manera automática, mientras el
atacante se va a pasar el fin de semana a esquiar, con la tranquilidad
de que su .trabajador. no se va a cansar, ni se va a quejar.
- El aspecto remoto de los ataques. Es casi tan fácil conectarse a un
ordenador en Paris desde Madrid que desde Tokio. En ese sentido, se
dice que Intemet «notiene fronteras,>.Lo grave es que los aspectos lega-
les de todo esto no están, aún, controlados. Como dijo John Gilmore:
~ T h eInternet treats censorship as a darnage and routes around itm
(Intemet trata a la censura como algo dañino y lo rodea).
La aún escasa legislación internacional al respecto ayuda en gran
manera a los atacantes.
88 SEGURIDAD EN LAS COMUNICACIONES Y EN LA INFORMACIÓN

- La velocidad de propagación de los ataques. Cualquier atacante


puede conseguir, con mucha facilidad, y en un tiempo record, muchas
de las herramientas de ataque que necesitará. Si es un amateur, le bas-
tará con conseguir las aplicaciones y empezar a usarlas. Si se habla de
un profesional, seleccionará entre las mejores aplicaciones, buscará,
incluso, aquellas de las que se dispone del código fuente (para modifi-
carlo a su gusto), pero, unos y otros, podrán disfrutar de ellas en un
tiempo incomparablemente menor del que necesitarían en el mundo
no cibemético.
En este capítulo se va a tratar de clasificar los distintos tipos de ataques,
atendiendo a criterios diversos, pero analizándolos después, en detalle, desde
el punto de vista del atacante «profesionalu. Tal atacante necesitará uno o
varios tipos de herramientas para llevar a cabo, con éxito, su proyecto con-
creto. Estas herramientas (algunas más bien metodología que herramientas)
se dirigen siempre a alguna (o varias a la vez) de las siguientes actividades, ya
citadas en el capítulo 1 del libro:
- Obtención de información sobre los equipos y redes que se pretende
atacar.
- Acceso, no autorizado a información, con intención de verla, elimi-
narla, cambiarla o una combinación de alguna de tales actividades.
- Denegación de servicio, sea de la red, del acceso a Internet, de un ser-
vidor, etc.
Este capítulo es fundamental para entender el resto del libro, que va enfo-
cado a cómo parar (o intentarlo) todos y cada uno de los ataques enumerados
en el. Para entender bien cómo defenderse de un ladrón, hay que *pensar>>
como un ladrón y, aunque, obviamente, no se pretende hacer ninguna apolo-
gía de la inseguridad de las redes, si se va a hacer un análisis, suficientemen-
te exhaustivo, de sus debilidades y problemas de seguridad.

4.2. TAXONO&I~A
DE LOS TIPOS D E ATAQUES
Una buena clasificación no se puede hacer sin un buen criterio. En este
caso, existen vanos buenos criterios, dependiendo de lo que se quiera anali-
zar. Atendiendo a un criterio de completitud, se van a utilizar vanos de ellos.
Se empieza por uno sencillo, pero interesante. Desde el punto de vista del
origen del ataque, se puede decir que los ataques son:
- Externos. Cuando el atacante origina su ataque desde el exterior de
una organización concreta, se dice que el ataque es externo. Esto pue-
de ser desde un sitio desconocido de Internet o desde una dirección en
la que se confía, pero que ha sido suplantada. Como se verá, esta
MÉTODOS DE ATAQUE A EQUIPOS Y REDES 89

caracteristica es esencial para cierto tipo de ataques a una red, que


realiza el control de acceso basado en direcciones IP.
- Internos. Por muchas de las razones expuestas hasta ahora, y muchas
que vendrán más adelante, es obvio que estar dentro de la organiza-
ción facilita mucho el ataque. Tal ataque ha de ser visto, además, des-
de un punto de vista amplio. Puede haber ataques sprofesionalesn
internos, pero, también, por mala aplicación de la política de seguri-
dad (o por una mala política de seguridad), ataques no maliciosos de
usuarios internos que, simplemente, .prueban» herramientas con
toda su buena intención.
Otro criterio que conviene utjljzar, para una mejor caracterización de
cada ataque, es la complejidad del ataque. En este sentido, se puede hablar
de ataques:
- No estructurados. Son ataques, habitualmente, inocentes, ataques
basados en herramientas bastante normales, que pueden tener distin-
tos tipos de objetivos, y ser muy peligrosos, pero, en general, fácil-
mente reconocibles. Por ejemplo, un ataque interno, para %probar.la
corrección de los elementos de seguridad, basado en una herramien-
ta, de libre distribución, de denegación de servicio. Una característica
típica de estos ataques es que o bien es una sola herramienta la pues-
ta en marcha o son varias, pero sin ninguna estructuración entre ellas.
- Estructurados.Aquí se está ante los más peligrosos. Son ataques que
se enfocan como un proyecto. En ellos se emplean muchos de los
métodos concretos y herramientas de las que se va a hablar más ade-
lante en este capítulo. Además, son ataques ~procedimentadosn,es
decir, que tratan de no dejar cabos sueltos, en los que se trata de
borrar las huellas del ataque, en los que se tiene en cuenta distintos
puntos de ataque y de retirada. Habitualmente, aunque sean los más
peligrosos, son los menos habituales.
Otro criterio, verdaderamente relevante, tiene que ver con la personalidad
del atacante. Su formación, experiencia y capacidad de comunicación pueden
ser fundamentales a la hora de desarrollar un ataque, especialmente si es uno
estructurado y se usa en la fase de obtención de información. De estos atacan-
tes se habla más adelante, en tomo a la Ingeniería Social, verdadera ~disci-
plina., en la que están basados algunos de los casos más espectaculares de ata-
ques, por ejemplo, a bancos. Tales .ingenieros. demuestran que no tiene
ningún sentido invertir millones de euros en una gran inFraestructura, Física y
lbgica, de seguridad, si no se ha tenido en cuenta, en la política de seguridad,
la formación y entrenamiento del personal de la empresa u organización.
Finalmente, si se catalogan por el objetivo que persiguen, y sin perjuicio
de que tal catálogo tenga, después, una necesidad de clasificación más gra-
nular, se puede hablar de los siguientes tipos de ataques:
- Ataques encaminados a la obtención de información sobre los obje-
tivos a atacar.
- Ataques encaminados a ver, cambiar o borrar información para la
que no se está autorizado, aprovechándose de la mala administra-
ción de las herramientas, máquinas y sistemas de la red.
- Ataques encaminados a ver, cambiar o borrar información para la
que no se está autorizado, aprovechándose de las vulnerabilidades
del software de los sistemas, aplicaciones y protocolos de la red obje-
tivo del ataque.
- Ataques encaminados a sabotear un servicio, como un servidor web,
un servidor SMTP, el espacio libre en disco de un ordenador, el acceso
a (O desde) una red. A todos ellos, se les denomina ataques de dene-
gación de servicio.
Teniendo en cuenta que, si se utiliza este último criterio, es muy fácil
resaltar, a la vez, los otros criterios citados, será éste el que se va a usar en el
resto del capítulo.

Para obtener información sobre el objetivo a atacar hay 2 metodologías,


que, muchas veces, suelen combinarse, pero que se tratan aquí de manera
independiente: la ingeniería social, en la cual no suele usarse ningún ele-
mento informático y lo que se podría denominar técnicas informáticas de
obtención de información.
Para hablar de la primera, de la ingeniería social, se describen dos casos
reales:
1. En 1994, un hacker francés, llamado Anthony Zboralski, llama a la ofi-
cina del FBI en Washington, haciéndose pasar por un representante
del FBI, trabajando en la oficina de EE. UU. en París. Persuade a la
persona al otro lado del teléfono de que le explique cómo conectarse al
sistema de conferencias telefónicas del FBI. Después se gasta 250,000$
en 7 meses.
2. En 1999, todos los clientes de AOL, en EE.UU., recibieron vanas veces
mensajes como éste:

NSYSTEMADMINISTRATOR: A database error has deleted the infor-


mation for over 25,000 accounts, and yours is one. In order for us to access
the hackup data, we da need your password. Without your pissajord, ive
will NOT be able to allow you to sign onto America Online within the next
24 hours after your opening of this lettern
MÉTODOS DE ATAQUE A EQUIPOS Y REDES 91

Nadie supo cuántas cuentas Eueron «abiertasx hasta que se tuvo la


seguridad de que era un truco para obtener información.
Es una táctica común, en este tipo de ataques, llamar por teléfono a
empleados de una compañía, haciéndose pasar por un administrador de red,
oficial de seguridad o personal de mantenimiento. Si el atacante sabe sufi-
ciente de la red de la compañía como para sonar convincente, puede obtener
contraseñas, nombres de cuentas, etc. Muchas veces, todo consiste en pre-
guntar. Nada más. La gente, en general, quiere colaborar y suele fiarse de otra
gente que sabe de qué habla, más si le da datos de su lugar de trabajo.
En realidad, el término ingeniería social es equivalente a engañar, mentir,
consiguiendo que otra persona haga cosas que el atacante quiere que se
hagan. Es difícil de parar, al menos técnicamente, pues no usa (o apenas usa)
métodos informáticos. Va al eslabón más débil de la cadena de seguridad: usa
(O abusa) del factor humano.

A la hora de tenerlo en cuenta en la política de seguridad, habrá que


hacerlo en la parte de formación general para todo el mundo. Aunque hay
alguna cosa que se puede hacer para frenar este tipo de ataques, nunca con-
seguiremos pararlos del todo con herramientas informáticas, pues se aprove-
chan de la buena voluntad de la gente.
En cuanto a la otra opción, las técnicas informáticas de obtención de
información, se habla, generalmente, de cómo usar comandos y herramien-
tas, no diseñadas específicamente, para un ataque, como medios de obten-
ción de información.
Por ejemplo, el comando ping, que permite obtener información de qué
direcciones IP tienen las máquinas de la red a la que se quiere atacar. Hay una
modalidad, consistente en hacer ping a la dirección de broadcast de la red,
que permite obtener información de qué direcciones IP se están usando en
una red y cuáles no.
Una vez se conocen las direcciones IP, el atacante puede utilizar una
herramienta de tipo <portscanner,>.Tales herramientas, como WINstrobe,
para Windows o portmap para U N E , permiten, una vez elegida una direc-
ción IP, ver qué aplicaciones o servicios están activos en la máquina, a base
de tratar de crear sesiones (en el caso de TCP) o de enviar mensajes sencillos
de tipo UDP, haciendo variar uno a uno, el número de puerto destino de cada
mensaje. Quizás el más conocido es el nmap, que incluye varias funciones
para realizar búsquedas de puertos abiertos difíciles de detectar. Además,
permite identificar el sistema operativo que se está atacando por medio de un
algoritmo que identifica patrones en los paquetes que devuelve la máquina
víctima.
Una vez se conoce qué aplicaciones hay en cada una de las máquinas, se
puede ir aplicación por aplicación (de las que interesan) creando conexiones
para obtener la información de la versión que están utilizando. Por ejemplo,
si se crea una conexión TCP con un servidor ftp, el propio servidor se epre-
senta,,, diciéndonos qué versión de servidor ftp se está usando.
Hay que resaltar que el uso combinado de varias de estas herramientas
permite tener una idea bastante completa de una red objetivo del Futuro ata-
que, llegando a obtener:
- Las direcciones IP de cada máquina.
- Por cada máquina, qué sistema operativo utiliza y qué versión del mismo.
- Por cada máquina, qué servicios (servidores) están activos.
- Por cada servicio, qué versión se está utilizando.
Como se verá más adelante, conocer este último dato (la versión de la
aplicación) es fundamental para poder ejecutar alguno de los ataques más
peligrosos, pues basta con estar al tanto de las vulnerabilidades que van apa-
reciendo, para poder saber qué aplicaciones son más vulnerables y cuáles no.
También hay que recordar si el ataque es interno o externo y quién lo lle-
va a cabo, pues, hoy en día, un ataque interno puede, además, utilizar alguna
de las herramientas (de las que se habla en el capítulo 10) de defensa de la
red, que se denominan <<analizadores de vulnerabilidades., como el ZSS Znter-
net Scanner o el Cisco Secure Scanner, herramientas muy potentes, pero que,
en este caso, estarían siendo usadas de manera .perversa*.
Otras técnicas del mismo estilo consisten en aprovechar comandos como
elfinger de UNM, que da información de los usuarios de un sistema o como
primitivas de algunas aplicaciones IP. Por ejemplo, en el caso de SMTP, las
primitivas VRFY y EXPN dan información sobre usuarios y direcciones de
correo electrónico de la máquina donde Funciona el servidor SMTP.
Hay que remarcar que cuanto más conocimiento se tenga del lenguaje
interno de cada una de las aplicaciones y sus protocolos, más fácil será apro-
vecharse de cada una de las distintas vulnerabilidades que van apareciendo y
poniendose en conocimiento de todo el mundo, a través de cada fabricante o
de servicios independientes. Veáse, por ejemplo:
http.l/www.hispasec.comio http:llwww.cert.orgl
Finalmente, hay que citar las herramientas de tipo nsniffer., que permi-
ten, si se dispone de un enlace a una red sin conmutadores, obtener todo el
tráfico que circula por la red. Esto incluye todos los datos que no vayan
encriptados, pero también toda la información de identificación de usuario
que viaje en texto claro. Se puede citar, aunque hay cientos, el clásico Sniffer,
de Network Associates o el tracedump de UNIX.
En la figura 4.1, se ve una captura típica de uno de ellos, en la que se pue-
de observar cómo cada mensaje aparece como una línea resumida en sus
METODOS DE ATAQUE A EQUIPOS Y REDES 93

datos más importantes, en la parte superior de la ventana. En la parte central,


se puede ver la estructura de cabeceras del mensaje, pudiendo entrar a ver
cada parte de la cabecera. En la parte inferior, se muestra la traducción a
hexadecimal y en ASCII, del mensaje seleccionado previamente.

I D ~raqinent ID:
58970
Flaqs: May be fragmented.Last fragment.0f fset=0 ( 0 x 0 0 )
Time to live 255 seconds/hopa
1--D
IP protocol type: UDP (0x11)

FIGURA 4.1. Ventana del sniffer, de captura de rnensaies IP.

Suelen ser éstas las técnicas utilizadas para preparar un ataque mucho
más peligroso, al disponer el atacante de mucha información sobre el entorno
infomático y, a veces también, humano y organizativo, del objetivo a atacar.

4.4. ATAQUES ORIENTADOS A LA O B T E N C I ~ NNO


AUTORIZADA DE INFORMACI~NCONFIDENCIAI,,
BASADOSEN I,A MALA ADMINISTRACI~N
DE SISTEMAS
Realmente no se puede hacer una separación muy estricta entre algunos
de los ataques que se van a ver en este apartado con los del apartado siguien-
te. Desafortunadamente para los que se dedican a establecer seguridad en
94 SEGURIDAD E N LAS COMUNICACIONES Y EN LA INFORMACIÓN

redes, los ainventores,, de ataques no se atienen a un criterio muy estricto. Aún


así, se tomará el riesgo, en este apartado, de tener que hablar de ataques ~ m i x -
tos., que se aprovechan de vulnerabilidades de software y de mala adminis-
tración a la vez, y se puede hablar, entonces, de los siguientes tipos de ataques:
- Robo de nombres de usuario y de contraseñas asociadas.
- Acceso basado en relaciones de confianza mal administradas.
- Obtención de información por aplicaciones de compartición de disco.
- Obtención de información por mala configuración de protocolos
mal autenticados.
- Mala administración en los filtros de paquetes, lo que da lugar a posi-
bles ataques de tipo suplantación o spoofing.
- Mala administración de programas anti-virus, lo que permite la entra-
da de virus informáticos y de gusanos o womzs.
- Mala administración de sistemas de detección de vulnerabilidades,
lo que hace más sencilla la introducción de caballos de Troya en los
sistemas.
La gente tiende a usar contraseñas fáciles de recordar, lo que Ias hace
más fáciles de averiguar.
Por otro lado, si se obliga (como parte de la política de seguridad) a tener
contraseñas difíciles de recordar, es muyprobable que el usuario la escriba (o
la registre) en algún sitio, lo cual no parece muy adecuado, desde el punto de
vista de la seguridad. Una opción, facilitada ya por algunos sistemas operati-
vos, es ayudar a los usuarios a elegir contraseñas fáciles de recordar, pero
difíciles de obtener por el atacante. En este sentido, se hablará de este asun-
to otra vez en el capítulo siguiente.
Además, las contraseñas se almacenan en ficheros en el sistema, eso sí, se
almacenan xencriptadasn. Como se verá en el capítulo 14, las contraseñas de
las cuentas de usuario usan uno u otro método de una sola vía (cone-way
hashn), que consiste, esencialmente, en aplicar un algoritmo de este tipo, de
manera que el resultado (al que suele llamarse hash o digest) no sirve para,
aplicando un supuesto algoritmo inverso, obtener el original. No existe tal
tipo de algoritmos inversos, de ahí el nombre de <<unasola vían. Lo que se
almacena es el hash de la contraseña para cada usuario.
Dependiendo de la seguridad del sistema operativo, de cómo esté admi-
nistrado, tal información (residente en Ietclpasswd o en letclshadow en UNIX
o en un fichero SAM en los sistemas Windows) puede estar accesible al ata-
cante. Un sistema, con mala administracion del sistema de ficheros y una
cuenta de invitado (que no debería existir nunca), puede facilitar el que se
obtenga esa información.
MÉTODOS DE ATAQUE A EQUIPOS Y REDES 95

Una vez se dispone de esa información, solo hay que aplicar un programa
cracker, que lo que hace es aplicar el algoritmo de hash a toda una lista de
palabras (más o menos extensa) y comparar el resultado con el hash del que
se dispone para cada cuenta de usuario. Normalmente, las listas son o un dic-
cionario (en el idioma deseado) o una lista de todas las combinaciones posi-
bles de todos los caracteres del estándar ASCII extendido. En el primer caso,
se habla de un cracker de tipo diccionario y, si la contraseña era sencilla, en
minutos se dispone de ella. En el segundo caso, se habla de un cracker de tipo
ufuerza bmtan, que es, por definición, infalible. Solo tiene un problema:
puede tardarse mucho en obtener la contraseña buscada. Por eso, como se
verá, es esencial cambiarla con cierta periodicidad.
Basta con ir a un buscador, por ejemplo Google, y buscar «password crac-
ker>>para obtener cientos de ellos diferentes. No obstante, por completitud, se
citan algunos de los más típicos:
- xcrack.zip: Última versión del Manics Unix/Linux Password Cracker,
codificado en Pearl. Es rápido (300.000 comparaciones por minuto en
un Pentium 133 MHz).
- John the Ripper: Aplicación que permite trabajar contra ficheros sha-
dow o passwd de distintos sistemas UNIX, desde sistemas Windows.
- LOphtcrack: Quizás el más Famoso y potente. Con un Pentium II a 400
MHz, puede aprobar» todas las contraseñas alfanuméricas en 5 horas,
las contraseñas alfanuméricas con algún símbolo típico en 50 horas y
cualquier combinación en algo más de 500 horas.
Hay aún dos aspectos más a remarcar:
- Si el usuano que tiene una contraseña fácil, la repite en todos los sis-
temas para los que tiene acceso, el ataque puede ser mucho más
demoledor.
- Si, además, en la red estamos utilizando aplicaciones como Telnet o
ftp, y no hay conmutadores, por muy difícil que sea la contraseña, bas-
ta con disponer de un sniffer, del que ya se ha hablado, para obtener,
con suma facilidad, nombres de usuario y contraseñas. El atacante
puede pensar que la contraseña es muy «rara>>, pero lo importante es
que ya la tiene.
Cuando se habla de relaciones de confianza mal administradas, se está
haciendo referencia, esencialmente, a los comando remotos de Berkeley, que
~ -
permiten ejecutar, remotamente, comandos en sistemas. En este caso, un sis-
tema A, que conHa en un sistema B (y en sus usuarios), permite (gracias a la
configuración de ficheros como letc/hosts.equiv y 1.rhosts en UNIX) que un
usuario del sistema B, con un nombre de cuenta común (o permitido por la
configuración de los ficheros citados) ejecute cualquier cosa, bajo esa cuenta
de usuano, en el sistema A. La ~confianzaxse basa en las direcciones IP de
96 SEGURIDAD EN LAS COMUNICACIONES Y EN LA INFORMACIÓN

los equipos, que es lo que suele aparecer en estos ficheros, junto con los nom-
bres de usuarios permitidos.
Hay dos puntos que suelen hacer la situación más grave: lo normal es que,
también, B confie en A (y que la situación se extienda a otras máquinas) y
suele pasar que una de las cuentas para las que esto funciona, sea la del admi-
nistrador del sistema (root en UNIX o administrador en Windows NT o 2000),
con lo que el peligro es mucho mayor. La razón de estas configuraciones tan
peligrosas es sencilla: la comodidad de trabajar de sistema a sistema, sin el
.engorro. de las contraseñas. Los comandos más típicos y extendidos en este
tipo de aentornos de confianzar son:
- rlogin. Comando que permite hacer log-in de un sistema a otro sin
contraseña, si se parte de un sistema en el que el sistema remoto «con-
fía,,. La sintaxis es muy sencilla:
rlogin nom-sis-remoto (o dirección ZP sistema remoto)
- rcp. Comando que permite copiar ficheros de un sistema a otro, en
iguales condiciones que el anterior. Su sintaxis es:
rcp especificaciólz-fichero-local
especificación-fichero-remoto
o
rcp especificación-fichero-remotoespecificación-fichero-local
por ejemplo:
rcp /home/prog/proyecto.dat 122.44.1.3:/oculto/secreto
- rsh. Comando que permite ejecutar cualquier comando de la shell
remota, en el sistema remoto. Su peligrosidad depende, grandemente,
de la cuenta que se haya suplantado. Su sintaxis es:
rsh (nombre o dir-ZP sistema remoto) ejecutable
Si, por ejemplo, se está en la cuenta root de un sistema en el que
se confía, el comando:
rsh 122.44.1.1'cd 1; rm -r *'
borraría todo el contenido de todos los discos del sistema U N E
remoto.
Si se trabaja en una red con sistemas UNIX, es típico disponer de servi-
dores NFS (Network File System), que permiten acceder a directorios y dis-
cos de sistemas remotos, como si fueran locales, lo cual, una vez más, es real-
mente cómodo. Esta configuración, mal administrada, puede resultar muy
peligrosa. Toda la información de configuración reside en un fichero conoci-
do como letclexpo~s,en el que se configura qué directorios se <<exportan,, y,
para cada uno de ellos, con qué permisos: permiso solo para leer la informa-
ción o permiso para leer y escribir (con lo que se puede también borrar en
UNIX). Suele haber, típicamente, dos problemas graves:
MÉTODOS DE ATAQUE A EQUIPOS Y REDES

- Hay una configuración por defecto, en muchos sistemas, que hace que
una vez elegidos los directorios a servir por la red, se exporten con per-
miso de lectura y escritura, dejando un gran agujero de seguridad.
Este .agujero>)resulta aún mayor si se trabaja, en los clientes, con un
entorno gráfico UNIX típico, en el que hay una opción para <<pedir,>,
desde el cliente, la lista de servidores y qué exportan cada uno y cómo
lo exportan.
- Si el administrador no se toma en serio los posibles problemas, puede,
además, permitir que el administrador del cliente trabaje en su siste-
ma, también, como administrador, con lo que cualquiera trabajando
en una cuenta de administrador, y que acceda a un directorio en el ser-
vidor, exportado de esta manera, puede trabajar como administrador
en ese servidor.
Si se cambia el entorno y se piensa en el entorno Windows de comparti-
ción de directorios, aparecen los mismos problemas que en el caso anterior.
En este caso, la administración es particularmente sencilla. Se pincha en el
directorio a compartir, en sus propiedades, se comparte el directorio y ya
está. No hay posibilidad sencilla de permitir acceso solo a determinados
usuarios y solo en determinadas condiciones. Es particularmente peligroso
en sistemas Windows .antiguos. como Windows 95 o Windows 98, en los que
no se exige autenticación en el dominio de Windows. Esto se complica, aún
más, cuando se tiene en cuenta la multitud de bugs encontrados en el proto-
colo SMB (Sewer Message Block) de Microsoft, protocolo responsable de tales
transferencias de ficheros.
Otra «vía de entrada,, a sistemas y redes es a través de protocolos con
una mala administración de su autenticación.
Quizás el caso más extendido sea el del protocolo SNMP (Simple Network
Management Protocol). Este protocolo, encargado de la gestión remota de dis-
positivos en red tiene diferentes versiones. En las más <<antiguas>>, versiones
1 y 2, el mecanismo de autenticación entre los agentes y la estación de gestión
es un «community string., que se transmite sin encriptar de ninguna manera
y que suele ser el valor por defecto, public, haciendo a todo el mundo, inclui-
do el atacante, más fácil el acceso al dispositivo objetivo, pudiendo ser éste,
incluso, la estación de gestión de red. Así, sin más que ssniffarn se puede
obtener mucha información de la red y de la gestión SNMP de cada equipo.
Se dispone de una versión 3 mejorada, con encriptación implícita, pero es,
desgraciadamente, muy normal, ver habilitado por defecto el comportamien-
to de la versión 1 en muchas redes.
Otro caso típico es el de las organizaciones, habitualmente grandes, que
administran toda la información de encaminamiento de su red mediante pro-
tocolos como OSPF (Open Shortest Path First) o EIGRP (Enhanced IGRP),
que disponen de un mecanismo de autenticación, más o menos sofisticado,
98 SEGURIDAD EN LAS COMUNICACIONES Y E N LA INFORMACIoN

que hace que los mensajes de actualización de rutas, enviados entre los dis-
tintos encaminadores, se hagan con tal información de autenticación, que,
además, suele ir encriptada. Esto es así, si está configurado, pues si no lo está
(caso muy habitual), cualquier encaminador se creen cualquier mensaje de
actualización de cualquier otro encaminador del mismo protocolo, haciendo
muy sencillo <<colocar,> uno falso en medio (que puede ser, incluso, un siste-
ma Windows 2000 o LINUX configurados como encaminador OSPF) y <<obli-
gar. a los otros encaminadores a que toda (o solo determinada) información
pase a través de ellos. Esto por no hablar en detalle (que se hará en el aparta-
do de denegación de servicio) de que el atacante puede .volver loca,, a la red,
implantado rutas falsas desde su <supuesto>,encaminador.
Llegados a este punto, hay que definir, para seguir adelante, lo que se
entiende por ~spoofingao suplantación: pretender ser salgo» o <<alguien),
que
no se es. En realidad, usar una cuenta ecrackeada,, es una suplantación de
personalidad.
El caso más extendido es el conocido como IP spoofing, en el cual una
máquina <<suplantan la dirección IP de otra (veáse la figura 4.2). La intención
resulta obvia: la máquina a la que se suplanta tiene disponible accesos (o rela-
ciones de confianza), que están vetados para el atacante.

Atacante

FIGURA 4.2. Esquema de un ataque de tipo IP spaofing

Tales ataques suelen tener 3 objetivos:


- Como parte de un ataque en el que, además, se dispone de un medio
(sniffer, encaminador suplantado) para obtener todo mensaje de vuel-
ta del equipo atacado, con la obvia intención de hacerse con toda la
información.
M ~ T O D O SD E ATAQUE A EQUIPOS Y REDES 99

- Como parte de un ataque muy sofisticado, en el que se trata de [[con-


vencer,, al objetivo que cree una sesión TCP con nosotros (como se
verá, por ejemplo, el ataque Mitnick-Shimomura).
- Como parte de un ataque de denegación de servicio, en el que, para
tener éxito, basta con que el atacado acepte paquetes de la dirección
IP «suplantadas.
¿Cómo triunfan tales ataques? En muchos casos, por mala administra-
ción de encaminadores intermedios. Como se verá en el capítulo 8, es muy
sencillo ,<parar. muchos de ellos sin más que colocar filtros en los encamina-
dores, siguiendo los criterios del RFC 2827, consistentes en no permitir que
ningún usuario, de la red que se administra, envíe mensajes con una direc-
ción IP fuente que no esté en el rango de direcciones de la red interna. Desa-
fortunadamente, para acabar del todo, habría que conseguir que esto fuera
así en todos los encaminadores de los proveedores de acceso a Intemet, y, por
ahora, parece muy complicado.
Otra suplantación que se puede encontrar es la de DNS (Dornain Name
System), de la que se hablará en el siguiente apartado.
Otro tipo de ataque muy peligroso, y extendido, es el de los llamados
virus informáticos. Tales ataques son de muy distinta naturaleza, pues no
aprovechan todos los mismos problemas. Unos pueden aprovecharse de vul-
nerabilidades de aplicaciones concretas (como se verá en el próximo aparta-
do), para obtener información o para dejar un troyano, del que luego se
hablará. Otros pueden tener como objetivo, simplemente, hacer inoperativo
un sistema, una red o una aplicación. Pero ¿qué son los virus?
Los virus informáticos son programas con la capacidad de replicarse a sí mis-
mos sin el consentimiento del usuario. Existen muchos tipos de virus, de acuer-
do al lugar donde se alojan en el ordenador o para lo que están programados:
a) Sector de arranque (o arranque maestro): Estos se alojan en el sector
del disco que se carga al encender el ordenador; fueron los primeros
virus que se desarrollaron y si tienen capacidades estealthm, pueden
ocultarse de programas antivirus ya que es el primer código que se eje-
cuta en el ordenador.
b) Infectan archivos: Estos se alojan en ficheros del sistema, que pueden
ser programas ejecutables, o bien en archivos de datos como scripts
(secuencias de comandos que se ejecutan por algún intérprete en algu-
na aplicación). Tal es el caso de los virus de macro.
C) De propagación automática desde el receptor: Empezaron a aparecer
a mediados del año 2001. Aprovechan malas funcionalidades en los
sistemas de correo electrónico para expandirse como =gusanos.
(xwormsn) y atacar a todos los ordenadores correspondientes a los
usuarios cuya dirección de correo electrónico aparece en las listas del
100 SEGURIDAD EN LAS COMUNICACIONES Y EN LA INFORMACI~N

receptor del ataque. El ataque se ejecuta cuando, al llegamos un men-


saje de correo electrónico, abrimos el fichero adjunto al texto. Entre
los que se han hecho, tristemente, más famosos se debe citar al Code-
Red y al NIMDA.
No se va a hacer una exposición muy detallada, debido a la extensión de
los tipos de ataques de los que se debe de hablar. Además, sería inútil tratar de
ser exhaustivos, pues todos los meses aparecen miles nuevos. Pero en este
apartado si es pertinente citarlos debido a que muchas veces han tenido un
gran éxito en sus ataques, por la mala (o nula) configuración de los programas
antivirus. Como se remarcará en los capítulos 5 y 6, se ha de tener un antivi-
rus instalado en cada equipo, actualizado de manera periódica, pero perma-
nente y el personal de seguridad ha de estar al tanto de todas las .novedades..
Si esto no se hace así, es solo cuestión de tiempo que se reciba un .regalito.,
por vía física (un CD, un diskette) o por un correo electrónico y que, además,
se expanda por la organización, gracias al desprevenido receptor.
Hay que remarcar, además, que muchas veces esa administración inco-
rrecta es la que permite que se instalen en el sistema los famosos caballos de
Troya, llamados así por la similitud con el famoso caballo de madera de la
batalla de Troya, contada por Homero. Tales <<troyanosnpueden ser destruc-
tivos, poniéndose en marcha en un momento predeterminado por el propio
programa o pueden ser no destructivos. En este último caso, se han observa-
do dos tipos de comportamiento en alguno de los conocidos:
- Programas con capacidad para buscar, y obtener, por sí solos, como
servicios en Windows o daemons en UNIX (que son los procesos de sis-
tema en UNIX), información relevante almacenada en ficheros, como
el ratc.c.
- Programas que a b r e n puertas., creando puertos s e ~ d ode
r Telnet o
ssh, como p0rtd.c. al que conectarse en remoto, o que ahibeman,, a la
espera de ser activados en remoto en un ataque de tipo DDOS (<<Dis-
tributed Denial Of Service.).
En cualquier caso, también existen analizadores de vulnerabilidades
(como los descritos en el capítulo 10) que permiten descubrir muchos de
ellos, pero se está en el caso anterior: hay que tenerlos instalados, actualiza-
dos y vigilados, como en el caso de los antivirus.

4.5. ATAQUES ORIENTADOS A LA O B T E N C I ~ NNO


AUTORIZADA DE IIVFORMACI~N CONFIDENCIAL,
BASADOS EN VULNI3RABILIDADES DEL SOFTWARE
No se van a repetir otra vez los argumentos del capítulo anterior, con res-
pecto a las razones por las que todo el software que se utiliza puede tener vul-
MÉTODOS DE ATAQUE A EQUIPOS Y REDES 101

nerabilidades. Simplemente, se va a examinar cómo puede un atacante apro-


vecharse de ellas. En ese sentido, se empieza por tratar de clasificar, también
aquí, los ataques:
- Debidos al diseño de protocolos: TFTP, SMTP, DNS, RIP (e IGRP),
ICMP.
- Debidos al diseño de aplicaciones:Macros, postscript, Java, ActiveX,
Autoplay, cookies.
- Debidos a la implementación de protocolos y aplicaciones:buffer
overflows, software complejo, puertas falsas.
Como ya se comentó, muchos protocolos IP están diseñados pensando en
un ambiente <<amigable,>, en el que no hay por qué esperar ningún tipo de
actuación maliciosa o criminal. Tal es el caso del protocolo TFTP (Trivial File
Transfer Protocol), que, como se sabe, permite hacer copias de ficheros entre
cliente y servidor, sin autenticación ninguna, con lo que cualquiera que sepa
en qué dirección IP hay un servidor tftp puede, con suma facilidad, conseguir
una copia de los ficheros almacenados en el servidor (habitualmente, versio-
nes de sistemas operativos de conmutadores o encaminadores, o ficheros de
configuración de tales dispositivos o de cortafuegos) y puede, también,
.poner. sus propios ficheros, con lo que esto puede significar de conoci-
miento, y posible alteración, de la estructura administrativa de la red.
Otro protocolo que tampoco exige autenticación es el SMTP (Simple Mail
Transfer Protocol), lo que permite, conociendo el lenguaje interno del proto-
colo, enviar un mensaje de correo electrónico a cualquiera, poniendo como
dirección de correo saliente la que se desee y como nombre de máquina tam-
bién el que se quiera, haciendo lo que se podría llamar suplantación de
correo electrónico. Esto no solo se puede utilizar para <<hacersepasar por
otro),,pidiendo que se conteste a una dirección real del atacante, sino que sir-
ve, de la misma manera, para hacer un ataque con un objetivo intimidatono
o, simplemente, de ~tomadurade pelo,). Realmente, para hacer el ataque solo
es necesario un cliente Telnet, pedir que se conecte al puerto 25, que es el
puerto por defecto del protocolo SMTP y conocer las primitivas más relevan-
tes del protocolo (HELO, MAIL FROM, etc). Así sena un ataque desde un
cliente telnet:

$ teinet servidor-smtp.com25
aquí habría un texto de presentación del servidor indicando nombre y versión
HELO satanas.cadiz.com" presentación de qué dominio viene el mensaje
aquíse obtiene u n mensaje de OK
MAIL FROM: fantomas@satanas.cadiz.com la identificación .falsa.
''

otro mensaje de Sender OK


RCPT TO: mailto:rgarcia@sen,idor-smtp.com dirección correcta del
''

receptor del correo


Olro ~nensajede Recipienr OK
DATA
Aquí se escribiría el mensaje que se quiere enviar,
acabándolo con un carácter =.n en una línea

otro mensaje de DATA OK


QUIT
$

Realmente, es muy sencillo y da una buena idea de la relevancia de tra-


bajar o no con autenticación sobre SMTP. Si no se hace (como por otro lado,
es lo general), se está expuesto a recibir correo electrónico, sin saber muy
bien quién lo envía.
Otro método de ataque es el basado en hacer <<suplantaciónde un servi-
dor DNS.. Este servicio tampoco requiere autenticación, con lo que es típico
enviar mensajes de respuesta de traducción DNS, no solicitados, causando
que una máquina crea., y use, que la dirección IP de un servidor web, por
ejemplo, es una distinta de la que, realmente, es.
En el apartado anterior se ha hecho referencia a los .engaños. a encami-
nadores, variando su tabla de encaminamiento, mediante mensajes falsos de
actualización de rutas, aprovechándose de la falta de configuración de la
autenticación de los protocolos de encaminamiento como OSPF o EIGRP.
Hay otros protocolos de encaminamiento, como RIP (Roufing Intemet Proto-
col) o IGRP (Intemet GafewayRouting Protocol), que no disponen de ningún
método de autenticación, siendo especialmente sencillo realizar las mismas
operaciones citadas antes, y obligando, muy seriamente, a plantearse en la
política de seguridad de la red que lo mejor es no usar ninguno de ellos.
Otra manera de .engañar>>a un encaminador (o a un servidor) y hacerle
que envíe sus mensajes a través de rutas diferentes de las correctas es generar
mensajes de ICMP (Intemet Control Message Protocol) de tipo xredirect,,
incorrectos, indicando que la ruta a usar es la que interese para recibir el trá-
fico deseado. La base de estos ataques es la misma que en el caso anterior: la
falta de autenticación entre el receptor y el emisor del mensaje ICMP.
Otra serie de ataques se aprovechan de que las características de uso de
algunas aplicaciones, es decir, el para qué están diseñadas, se convierte en
vulnerabilidades.A menos que estas aplicaciones realicen un gran esfuerzo
en el chequeo de los datos de entrada (como es en el caso de Java, aún con
problemas), tales características nuevas se pueden usar para, a veces sin
intención, incluso sin saberlo el usuario que realiza el ataque, modificar la
información del equipo atacado.
Es el caso, por ejemplo, de las macros de arranque de algunas aplicacio-
nes, que permiten realizar modificaciones de ficheros y10 modificar la propia
aplicación, para, incluso, autoreplicarse, como en el caso de los virus macro
de Microsofi Word.
El lenguaje de programación de Postscript tiene una serie de primitivas,
que permiten que, al arrancar el <<visor,,
de postscript, se busquen ficheros,
para modificarlos o borrarlos.
Los applets de ActiveX se pueden descargar en el ordenador de un clien-
te, con muy poca seguridad, de forma que, al ejecutarse, realicen tareas no
deseadas. Por ejemplo, cambiar transacciones financieras (si el ordenador
dispone de tal posibilidad), transfiriendo dinero donde no debería ir.
Se podría llamar .efecto autoplay,>a este conjunto de situaciones, recor-
dando otra más, quizás la más tonta de todas: la característica de poder
arrancar, automáticamente, una aplicación, residente en un CD, nada mas
introducirlo en su lector, lo que ha provocado todo tipo de situaciones desa-
gradables a los propietarios de los equipos en donde se leen tales discos, pre-
parados con el software de ataque.
Siguiendo con este tipo de ataques, basados en vulnerabilidades por dise-
ño de software, hay que comentar el asunto de los cookies. Básicamente, un
cookie es un pequeño trozo de datos que un servidor web le da a un navega-
dor. Éste, a su vez, lo almacena en el equipo del usuario y se lo devuelve al
servidor, cuando el navegador vuelve a conectarse con el servidor. Sirven para
realizar tareas muy útiles, pero, también, para otras no demasiado correctas.
Se conocen, por ejemplo, los casos de cookies usados para <<perseguir.a los
usuarios de sitio en sitio de la red, para hacerse un perfil de su qersonali-
dad,, como navegador de Intemet y, también, para descubrir la identidad de
un usuario concreto.
Para acabar este tipo de vulnerabilidades hay que hablar un poco de Java,
quizás el único lenguaje de programación diseñado específicamente para
código móvil y con una estructura de seguridad en su diseño. Su seguridad
depende de qué versión se use, pero baste decir que, en la versión 1.1, imple-
menta un modelo de confianza parecido al de ActiveX, teniendo, así, el mis-
mo tipo de problemas, al descargarse applets escritos en esa versión.
Se ha de abordar ahora las vulnerabilidades provocadas por una mala
implementación de protocolos y aplicaciones, y sus ataques asociados. Qui-
zás la más conocida, famosa y persistente es la que se denomina buffer over-
flow o .desbordamiento de memoria,,. Puede provocar ataques de 2 tipos
diferentes:
- Ataques de tipo denegación de servicio, tratados más adelante en este
mismo capítulo.
- Ataques para obtener acceso a un sistema.
Estos últimos, que pueden causar un gravísimo problema por dejar
.abierto. el sistema son los que se tratan aquí. Tienen que ver con variables
del programa, que no se han cbequeado correctamente, ni su longitud ni su
tipo de datos. El atacante coloca» (o envía por la red) una secuencia (string)
de bytes mayor que el espacio de memoria reservado para la variable, sobres-
cribiendo en las siguientes posiciones de memoria, como se puede ver en la
figura 4.3.

Buffer de entrada de longitud fija Pila

FIGURA 4.3. Ataque por desbordamiento de memoria

En tales posiciones, a menudo, están los valores de punteros a la pila, que


indican por qué parte del programa hay que continuar la ejecución. Ade-
cuando, cuidadosamente, los bytes de información de entrada, el atacante
puede redirigir al programa para que ejecute las instrucciones embebidas,
previamente, en los datos de entrada. Es decir, el atacante consigue que el
programa ejecute su propio código. A tales datos suele denominárseles como
datos maliciosos.
Quizás el más famoso, y estudiado, es el usado por el <cworm»de Monis,
que provocó, en 1988, que el 10% de Intemet (alrededor de 6.000 servidores,
entonces) dejará de funcionar. Explotaba un bug del programa fingerd de
UNIX, que, simplemente, devuelve la identidad de un usuario; era (y es) un
programa *benigno,,, pero tenía (afortunadamente ya no) un bug, que con-
sistía en que no limitaba el tamaño de los datos de entrada de petición de
identidad. Si se usaban tamaños mayores de 512 bytes, desbordaba la memo-
ria. Morris escribió una «entrada>,de datos, que le permitía a su programa
ejecutarse como root e instalarse en la máquina atacada.
Lo que hace esta historia, ya sobrepasada, más descorazonadora, es el
hecho de que, desde entonces, los ataques debidos a este tipo de problemas
no han hecho sino aumentar mucho. Cada año hay varios avisos del CERT o
de fabricantes (Cisco, Sun, Nortel, HP, Microsoft, IBM, etc) avisando de dis-
tintos problemas similares en sus productos.
Bajo este mismo criterio entrarían los problemas debidos a las llamadas
.puertas falsas,,.Se conoce con este nombre a la parte del código solo cono-
cido por sus fabricantes. Para entenderlo, hay que pensar que. raramente, se
dispone del código fuente de las aplicaciones comerciales. Se tiene el ejecu-
table, pero nada más. Esto ha permitido (y permite) que haya opciones del
software solo conocidas para quien lo ha construido. Habitualmente, es
imposible reconocer este tipo de ataques, pues hablamos de algo de lo que no
se conoce su existencia. Aprovechándose de esa circunstancia, Dennis Rit-
chie y Ken Thompson, creadores del sistema UNIX primitivo, estuvieron
años disponiendo de una entrada, como administradores, a cualquier siste-
ma UNIX, usando un comando del depurador de código dbx, solo conocido
por ellos dos. La .puerta. se descubrió cuando, como consecuencia de una
gran operación de compra de equipos VAX con sistema UNIX BSD, en los
años 80 del siglo pasado, el departamento de estado de los EE.UU., realizó
una auditoria completa (hay que pensar en el dinero empleado en tal opera-
ción, imucho dinero!) del código del sistema operativo, comparando, línea a
línea, el código fuente .en papel>>
con el código fuente en las máquinas y des-
cubriendo código no documentado.
Hoy en día, con el movimiento del <<free software,,, los usuarios de siste-
mas como LINUX o FreeBSD sí disponen del código fuente de sus sistemas y
aplicaciones, pero, aún así, hay que remarcar dos aspectos importantes:
a) La mayor parte del software que se utiliza (alrededor del 80% por lo
menos) no está incluido en ese movimiento, con lo que la situación de
~oscurantismo~~ es tal como la comentada.
bj Incluso en el caso del resto del software es difícil asegurar que no exis-
ten tales puertas, hasta que alguien las detecta. El usuario normal (es
decir, casi todo el mundo) usa el software, no lo analiza en busca de
problemas. Ésta es una tarea de programadores únicamente.
No se podría acabar este apartado sin decir que, además, el software es
cada vez más complejo, con una infinidad de dependencias entre módulos
que hacen que, aún siendo suficientemente seguros cada uno de los módulos
individuales, no se pueda asegurar lo mismo del conjunto como unidad. En
este sentido, aplicaciones extensas y complejas, como el programa Sendmail
de correo electrónico de UNIX, el servidor web Internet Infomation Sewer de
Windows o cualquiera de los sistemas operativos modernos de hoy en día, no
dejan de tener bugs del tipo citado, que hacen que la vigilancia, en la política
de seguridad, sea cada vez más relevante.
Siguiendo estimaciones de la Universidad de Carnegie Mellow, puede afir-
marse que, en cada mil líneas de código, hay entre 5 y 15 bugs. La mayoría
son simples, no afectan al rendimiento y no se notan nunca, pero todos pue-
den poner en peligro la seguridad.
Se suele pensar que, al ser anunciados los bugs de seguridad, junto con su
correspondiente aparche~,,no hay más que aplicar el parche. Para empezar,
la mayor parte de las veces, el fabricante que anuncia el problema, y la solu-
ción, no es el que la ha descubierto. Reacciona frente al problema, pero ha
106 SEGURIDAD EN LAS COMUNICACIONES Y E N LA INFORMACI~N

habido una ventana de vulnerabilidad entre el momento en que se descubre


el problema y el momento en que se anuncia. Esta ventana, en realidad, es
mayor, pues la aplicación del parche, aún conocido, no es automática. Hay
más cosas que hacer, así que, aunque los parches estén disponibles, la vulne-
rabilidad persiste.
Se puede incluso leer que, si se usarán las últimas versiones de cada sis-
tema y aplicación, se evitarían el 99% de los ataques. Ésta es una buena razón
para decir lo buenas herramientas que son los analizadores de vulnerabilida-
des, pero tanto para los que defienden como para los que atacan.
Realmente, la situación es peor: se instala la versión 1.0 de un software,
pasan los meses o años, se reportan cientos de bugs, con sus parches, y llega
la versión 2.0. La versión 2.0 es más extensa, tiene nuevas caractensticas y
mucho código nuevo, lo que implica muchos bugs nuevos.

4.6. ATAQUES DE TIPO DENEGACIÓNDE SERVICIO (DOS)


Estos ataques, generalmente bastante destructivos, conocidos en inglés
por sus siglas Denial OfSeívice, tienen como objetivo que se pierda el acceso
a un recurso. No están dirigidos a obtener ningún acceso no autorizado, sino
a no permitir el uso de un recurso concreto, sea éste un servidor, un encami-
nador, un conmutador o una red. Habitualmente lo consiguen sobrecargando
el uso de un recurso interno, entre los cuales los más típicos son el disco, el
ancho de banda, alguna de las muchas tablas internas de gestión de aplica-
ciones y sistemas o buffers de memoria.
Se pueden clasificar, desde los más simples a los más sofisticados, de la
siguiente manera:
- Ataques DOS basados en peculiaridades de protocolos.
- Ataques DOS basados en malas implementaciones de aplicaciones.
- Ataques DOS basados en ~SYNfloods,,,
quizás los más típicos.
- Ataques DOS distribuidos o DDOS.
Una vez más, hay que referirse a la poca importancia dada a la seguri-
dad en el diseño de muchos protocolos como causa última de algunos ata-
ques DOS. En ese sentido, se puede hablar, por ejemplo, de los ping floods,
consistentes en enviar muchos más mensajes ICMP de los que el host destino
(o la red destino) puede gestionar normalmente. Existen, para ello, aplicacio-
nes especialmente diseñadas como el fping, que envía mensajes ICMP a la
velocidad máxima que la tarjeta de red del equipo pueda aguantar.
Otro ataque típico de este estilo es el causado por aplicaciones de tipo
smurf, en el que se envían pings a la dirección de broadcast de la red donde
MÉTODOS D E ATAQUE A EQUIPOS Y REDES 107

reside la víctima, habiendo colocado como dirección IP fuente del envío la del
equipo que se quiere atacar. Esto provoca que todo el resto de equipos de la
red colaboren, inocentemente, en sobrecargar la tarjeta de red de la víctima.
También se pueden utilizar peculiaridades del protocolo de transporte
TCP como herramientas de ataque. En este sentido, sobresalen ataques como
los de las aplicaciones land, en las que se envía un paquete TCP con los puer-
tos y direcciones IP modificados con los mismos valores, lo que hace creer al
equipo víctima, que está hablando consigo mismo, hasta que esta situación
provoca una sobrecarga en las tablas internas de IP, TCP o ambos.
Otra forma de aprovecharse de cómo funciona IP es empleando ataques
de tipo teardrop, en los que se envían Fragmentos IP con longitudes, y des-
plazamientos desde el inicio del mensaje, que solapan, provocando un gran
uso de recursos (en vano) para tratar de <<arreglar,,tales fragmentos. Esto
deja, en el mejor de los casos, en rendimiento muy bajo al proceso que con-
trole IP en el equipo atacado.
Dentro de los ataques DOS no es pequeño, además de especialmente vim-
lento, el subtipo de los provocados por malas implementaciones de aplica-
ciones o protocolos. Quizás el más famoso, que afectó a equipos Windows NT
y Solaris entre otros, es el ping de la muerte. No es más que un caso especial de
los ya citados ataques por desbordamiento de memoria, en el cual basta con
enviar mensajes ICMP de tipo ping con una longitud de datos del ping mayor
que 65510 bytes o más. Esto provoca, en estos casos, la sobre-escritura en posi-
ciones de memoria ocupadas por el sistema operativo, haciendo, en la mayoría
de los casos, que el equipo sufra un crash y deje de Funcionar. Afortunadamente,
hay una actualización para cada sistema en el que se ha conocido el problema.
Otro ejemplo sería un ataque .Out Of Band (OOB) data crash., en el
que el atacante envía un paquete TCP con el bit Urgent Pointer a 1, el ordena-
dor víctima no lo puede gestionar correctamente y el equipo deja de Funcio-
nar y rebota.
También entraría en esta categoría la vulnerabilidad sufrida por todos los
encaminadores de Cisco con versión del sistema operativo inferior a la 12.0,
en la que, si el encaminador tenía habilitado el servidor web (situación habi-
tual para hacer su gestión en remoto) y el atacante conocía una de las direc-
ciones IP de la víctima, bastaba con abrir el navegador, indicar como URL a
conectarse el siguiente:
http:l/dirección-IP-encaminador/%%
y esperar. En segundos, el encaminador había sufrido un crash.
Es importante señalar que solo durante los 7 últimos meses de 2002, las
principales compañías de dispositivos de red (Cisco, Juniper, Nortel, 3Com) y
de sistemas (IBM, HP, SUN, Microsoft) han avisado de este tipo de vulnerabi-
lidades. Hay que contar con ellas y no pensar en que se conocen todas, ni
mucho menos.
108 SEGURIDAD E N LAS COMUNICACIONES Y EN LA INFORMACI6N

Otro tipo de ataques DOS muy extendido, al punto de que a veces se


confunde DOS con únicamente este subtipo, es el de los SYN floods. Para
entenderlos correctamente, hay que recordar el mecanismo de a 3 step
handshake,~comentado en el capítulo anterior (Figura 3.3). en el que por
cada petición de conexión del cliente a un servidor éste .crea una entrada
en la tabla de sesiones semi-establecidas de TCP, una tabla que lleva la
cuenta de qué sesiones están "a medio hacer"),. Solo cuando le llega al ser-
vidor un mensaje de aceptación del cliente (mensaje número 3 del ~3 step
handshaken), se borra la entrada. Si a eso se le suma que tales entradas tie-
nen un tiempo de vida relativamente grande y que la tabla de conexiones en
estado embriónico tiene una longitud, en general, bastante corta, se enten-
derá el ataque.
Para ello, se ilustra el ataque en la figura 4.4.

p,
Atacante

De "NADIE" a Víctima, SYN, puerto 80

Tabla de
CO".X~O."
embnbnic.,

...
De Victima a "NADIE", ACK, SYN

.. 1 l

FIGURA 4.4. Ataque de tipo SYN FLOOD TCP.

Habitualmente, basta con enviar 10 paquetes de tipo SYN (mensaje 1 de


la creación de una sesión TCP) cada dos minutos a un servicio en la víctima,
para bloquear el servicio. Cuando la tabla de conexiones semi-establecidas se
llena, ya no admite más entradas. La dirección IP Fuente del ataque es una
dirección suplantada (indicada como *NADIE. en la figura 4.4). de forma
que las contestaciones del servidor (mensajes de tipo 2 de creación de sesión)
se pierden. No va a haber ningún mensaje de tipo 3.
Además, se puede seguir enviando mensajes de ataque al mismo puerto y
a distintos puertos. Esto deja todo TCP deshabilitado, incapaz de funcionar
MÉTODOSDE ATAQUE A EQUIPOS Y REDES 109

normalmente para las conexiones legítimas y ha sido la fuente de descone-


xiones de redes enteras de Intemet, en casos en los que la víctima era un
encaminador de conexión a Internet. Una herramienta que permite este tipo
de ataques (ni mucho menos única, pero muy fácil de usar) es el programa
neptune, que funciona en muchas plataformas U N E y LINUX. Es un ataque
muy difícil de combatir, aunque, como se verá en el capítulo 9, hay solucio-
nes, si tenemos entre el atacante y la víctima un cortafuegos. sofisticado, sufi-
cientemente bien configurado.
Como final de este apartado, se va a explicar qué se conoce como ataques
DOS distribuidos. Es sencillo: se trata de ataques DOS como los ya citados,
pero que no tienen una única fuente del ataque, sino cientos o miles.
En estos ataques, primero se «infectan* cientos (o miles) de ordenadores
inseguros (algo relativamente fácil ahora, con cientos de miles de ordenado-
res conectados permanentemente a Intemet vía ADSL, con una dirección IP
estática), a los que, dependiendo del programa que se utilice, se denomina
.zombies~o «agentes, del ataque. Tal .infección. consiste en un troyano, un
programa de ataque, que se instala en los agentes. Es un programa *benigno.
para ellos, no les hace ningún daño, pero los convierte en .soldados. a la
espera de órdenes del atacante. Suele haber, además, dos tipos de <<colabora-
dores.: los «handlersn,desdelos cuales se infecta a los agentes y los agentes,
desde los cuales se ataca (Figura 4.5).

FIGURA 4.5. Esquema de un típico ataque DOS distribuido.


110 SEGURIDAD EN LAS COMUNICACIONES Y EN LA INFORMACIÓN

Esta diferenciación hace aún más difícil la búsqueda hacia atrás de la


dirección IP real, desde la cual se ha preparado, y lanzado, el ataque.
Finalmente, el atacante los coordina, cuando lo considera necesario, para
lanzar, desde todos ellos a la vez, el ataque sobre la víctima. Las defensas tra-
dicionales (y muchas de las no tradicionales, de las que se hablará en el capí-
tulo 9) no suelen funcionar con tal cantidad de mensajes de DOS y el ataque
tiene éxito en muchos casos.
Hay mucha información, y muy completa, sobre algunos de los más estu-
diados (trinO0, tribe flood network, stacheldrath, mstream) en el web del
CERT (http:/lwww.cert.org), pero hay que resaltar que, en el momento de la
publicación de este libro, no hay un método completamente fiable de parar-
los y, a la vez, mantener funcional el recurso atacado.
Las soluciones reales pasarían por hacer seguros, por «vacunar»,como si
de una epidemia se tratara, todos los ordenadores individuales conectados a
Internet. Pero, incluso en el caso de que los cortafuegos personales tuvieran
un 99% de penetración del mercado y estuvieran instalados y configurados
perfectamente, existinan todavía suficientes ordenadores individuales inse-
guros, como para probar con tal tipo de ataques.

4.7. ATAQCES 4REATIVOS>)


No se sería suficientemente exhaustivo en una clasificación de tipos de
ataques sin citar los que son novedosos, en distintos sentidos, los que no tie-
nen su único apoyo en algo de lo dicho hasta ahora, sino que crean. nuevas
formas. En ese sentido, se van a citar dos particulares, que ilustran bastante
bien la palabra utilizada, son realmente acreativosn e innovadores:
- Ataques que utilizan varias de las técnicas citadas para un objetivo
muy específico, como el llamado ataque MitnicWShimomura.
Ataques realizados mediante aplicaciones nuevas, que hacen tunne-
ling de información de comandos, dentro de protocolos <<benignos..
El primero de ellos, MitnicWShimomura, es el usado por Kevin Mitnick
para tener <<abierto», durante meses, el equipo de Tsutomu Shimomura,
experto de seguridad de la National Security Agency (NSA, .No such
Agency,,, según algunos). Durante ese periodo, cada nueva aplicación de
seguridad, o comunicación, de Shimomura era, previamente, conocida por
Mitnick, que las utilizaba de forma verdaderamente curiosa, como puede
leerse en alguno de los libros de la bibliografía.
El ataque se basa en una serie de premisas:
1 . Mitnick, mediante técnicas de ingeniería social, obtuvo las direccio-
nes IP de una serie de ordenadores de colaboradores de Shimomura,
direcciones en las que confiaba. el ordenador de la víctima.
MÉTODOS DE ATAQUE A EQUIPOS Y REDES 111

2. El atacante intentó abrir varias sesiones TCP sucesivas con la víctima,


para determinar cómo se elegía, cada vez, el número de secuencia
con el que contestaba el ordenador víctima, descubriendo que, en casi
cualquier implementación de TCP, tal número se incrementa en una
cantidad fija. En el caso que nos ocupa, se incrementaba siempre en
128000.
3. El atacante sabía (o estaba bastante seguro) que Shimomura utilizaba
un sistema UNIX con posibilidad de utilizar comandos remotos de
Berkeley.
Con estas premisas pudo lanzar el ataque, cuyo objetivo era hacerse con
un acceso al sistema víctima, que tiene 5 partes diferenciadas (como se pue-
de ver en la Figura 4.6) y que se detallan a continuación:
1. El atacante envía un TCP SYN flood a un equipo, llamémosle A, en el
que confía la víctima.
2. El atacante envía un paquete, con suplantación de dirección IP fuen-
te, a la víctima, pretendiendo ser A, con el bit SYN habilitado, un típi-
co mensaje número 1 de creación de sesión TCP.
3. La victima envía un paquete SYN, ACK (mensaje número 2 de crea-
ción de sesión TCP) a A, pero A no se puede enterar. No contesta. El
atacante tiene que saber cuál es el número de secuencia de ese paque-
te, para poder continuar, pero, previamente, ya lo ha deducido.
4. El atacante <<simulanel mensaje número 3 de creación de sesión
correspondiente, es decir, haciéndose pasar, otra vez, por A, termina de
crear la sesión TCP. Además, envía un comando a la víctima, pidién-
dole que añada una entrada ,<comodínn('++') al fichero I.rhosts, de
forma que el equipo de la víctima pase a confiar en cualquier dirección
IP, para permitir el uso de comandos remotos.
5. Para acabarlo limpiamente, el atacante envía un paquete TCP con el
bit RST (de reset) habilitado, para romper la sesión, y usa rlogin para
acceder a la víctima, ya sin ningún problema.
Este ataque sirvió, como se verá, para señalar dos aspectos importantes
para evitarlo:
- Hay que filtrar bien las direcciones IP en los encaminadores, para evi-
tar el famoso spoofing.
- Hay que cambiar el software de implementación de TCP en muchos sis-
temas, para que no sea fácilmente predecible el número de secuencia.
Aún así, hay que decir que ninguna de estas dos recomendaciones se
sigue habitualmente, con lo que, aunque el ataque es difícil de lanzar, no sería
extraño que se detectarán ataques así o parecidos durante mucho tiempo.
112 SEGURIDAD E N LAS COMUNICACIONES Y E N LA INFORMACIÓN

2- "A-falso" envia un mensaje


TCP SYN a la victima
1- El atacante

A, con un SYN
FLOOD
4- "A-falso" envia un
l'<:P ACK y un
"echo ++ zz/.rhosts"

~ -

u Equipo A

FIGURA 4.6. Esquema del ataque Mitnick/Shimomura.

Finalmente, hay que decir que los ataques pueden implicar toda una
creación de código nuevo, que utiliza aplicaciones ya existentes, para c o l a r -
se. en nuestros sistemas. Como ejemplo, que se lleva detectando (difícil-
mente) durante varios años, hay que citar a los programas de tipo LOKI. En
este tipo de ataques, es Fundamental, mediante alguno de los métodos cita-
dos hasta ahora, colocar un troyano en un equipo en la zona interna de la
red, si existe un cortafuegos (si no, es mucho más sencillo). Tal troyano es el
daemon de LOKI, que recibirá, entenderá y ejecutará el código que le llegue.
El interés, como ataque nuevo, está en cómo le llega el código al daemon: le
llega como ,<datos,,de un mensaje ICMP de tipo 8, código O (echo-request) o
de tipo 0, código O (echo-reply), es decir, que para un encaminador interme-
dio o para un cortahiegos, este tráfico es, simplemente, tráfico ICMP de tipo
ping. Realmente, lo que llega son comandos, scripts o cualquier cosa, que la
implementación de LOKI que se esté utilizando, permita. Por ejemplo
(http:liwww.phrack.org/)podrían llegar comandos imposibles de identificar
(por ejemplo, con un analizador de protocolos) por ir encnptados mediante
alguna de las técnicas criptográficas, de las que se hablara más adelante. Este
tipo de programas de tunneling de información criptografiada dentro de
mensajes ICMP no solo se ha observado para protocolos como ICMP, sino
también con protocolos de aplicación como el DNS. Se puede obtener mucha
más información en los servidores web de soporte de los sistemas más típicos
en los que está soportado LOKI, concretamente para OpenBSD, FreeBSD y
MÉTODOS DE ATAQUE A EQUIPOS Y REDES 113

Sohris 2.5, aunque, en este último caso, el soporte no se pueda buscar, obvia-
mente. en el sitio web de Sun.

4.8. CONCLUSIONES

Como se ha visto, éste de las redes puede ser un mundo realmente peli-
groso. Se remarcan los aspectos más relevantes del capítulo:
Las características que hacen los ataques en red diferentes a los simila-
res del mundo real son su aspecto automático, su aspecto remoto y la
gran velocidad de propagación de los medios de ataque.
Los ataques pueden ser realizados desde dentro de la organización
(internos) o desde fuera (externos).
Los ataques pueden ser no estructurados o estructurados, siguiendo un
esquema de tipo proyecto.
De entre los ataques para obtener información sobre el objetivo del
ataque, se ha de recordar la existencia de:
- Ataques de tipo Ingeniería Social
- Ataques basados en herramientas informáticas básicas (como el
ping) o más sofisticadas, como el nmap o los analizadores de vulne-
rabilidades
- Ataques que usan analizadores de protocolos o sniffers.
De entre los ataques que se aprovechan de la mala administración, y de
la mala configuración, de sistemas, se ha de recordar la existencia de:
- Ataques de robo de contraseñas y nombres de cuentas.
- Ataques basados en relaciones de confianza de sistemas, relaciona-
dos con los comandos remotos de Berkeley.
- Ataques basados en aplicaciones de compartición de disco, como
los de NFS.
- Ataques por autenticación mal administrada en protocolos.
- Ataques basados (o que usan) las técnicas de suplantación o spoofing.
- Ataques que se aprovechan de la inexistencia (o mala configura-
ción) de sistemas antivirus o de analizadores de vulnerabilidades.
De entre los ataques que se aprovechan de las vulnerabilidades del
software, conviene recordar los siguientes:
- Ataques debidos al ineficiente diseño de protocolos, como los
provocados por RIP.
SEGURIDAD E N LAS COMUNICACIONES Y E N LA INFORMACIÓN

- Ataques debidos al ineficiente (desde el punto de vista de la seguri-


dad) diseño de las aplicaciones, como los provocados por ActiveX.
- Ataques debidos a la mala implementación de protocolos y aplica-
ciones, como los de desbordamiento de memoria.
De entre los ataques de tipo denegación de servicio, conviene recordar
los siguientes:
- Ataques basados en peculiaridades de protocolos, como el del fping
o los de tipo smurf:
- Ataques basados en malas implementaciones de aplicaciones, como
el del xping de la muerte,,.
- Ataques de tipo SYN FLOOD, como los de la herramienta neptune.
- Ataques de tipo DOS distribuidos.
Puede haber ataques que sean combinación de varios, como el
MitnicWShimomura, o ataques que <<innoven,), como los de tipo LOKI,
contra los que, en principio, no hay nada dispuesto como defensa.
Finalmente, un comentario importante: casi todos los ataques tienen su
correspondiente defensa a utilizar. El marco de una política de seguridad
correcta debe indicar cómo utilizar, configurar y mantener, cada una de esas
defensas.

1. La utilización de cualquier protocolo de encaminamiento en una red es


suficientemente segura.
a ) Falso, pues solo algunos permiten autenticación (OSPF, EIGRP) y, aún
así, ésta debe estar correctamente configurada.
b ) Verdadero, pues hoy en día todos encriptan sus mensajes.
C) Verdadero, siempre que sean protocolos de nivel de aplicación
d ) Falso, solo es verdad para RIP e IGRP.

2. Se puede estar seguro con cualquier bug de aplicación, pues éste es comu-
nicado primero siempre a sus usuarios.
a) Verdadero, si no fuera así no les compraría nadie.
b ) Verdadero, pues tienen sus equipos de seguridad siempre trabajando.
c ) Falso, habitualmente uno se entera con bastante tiempo de retraso
d ) Falso, es imposible que los detecten.
3. ¿En qué se basa un ataque de tipo TCP SYN FLOOD?
a ) En el algoritmo de Dijkstra aplicado al protocolo TCP.
b ) En la obtención de mensajes SYN mediante desbordamientos de
memoria.
C ) En poder hacer correctamente un reset a sesiones TCP establecidas
d) En la existencia de una tabla, de dimensión finita, de sesiones TCP en
estado embriónico.

4. ¿En qué se basa un ataque de tipo desbordamiento de memoria?


a) En la escasez de memoria del equipo atacado.
b ) En la escasez de memoria de la aplicación atacada.
C) En que no se chequea. desde la aplicación, ni la longitud de los datos
de entrada de una variable, ni su tamaño.
d) En que no se chequea, desde la aplicación, la conexión IP creada con el
equipo del atacante.

5. Una política de seguridad, correctamente aplicada a todos los dispositivos


y sistemas de la red, es suficiente para asegurarla.
a) Falso, si no se tiene en cuenta la <<Ingeniería
Social,, los datos iniciales
para un ataque se pueden conseguir sin el uso de ninguna herramienta
informática.
b) Verdadero, para eso sb construye la política de seguridad
C ) Falso, pues no hace falta tener en cuenta todos los dispositivos, solo
algunos de ellos.
d ) Verdadero, siempre que entre ellos estén los sistemas servidores.

También podría gustarte