Copy Link
Add to Bookmark
Report

VR9: Estudio sobre Hackers

Por Dr. Williams

eZine's profile picture
Published in 
virus report
 · 2 years ago

¿Cómo se ve un hacker desde el punto de vista del administrador de un sistema? Un estudiante universitario se hizo esa pregunta y llegó a interesantes conclusiones, las que cuenta en esta nota.

En "Hacker's Handbook" (Manual del Hacker), en la página 123, Hugh Cornwall expuso su idea de instalar la PC que tiene en su casa para que parezca y funcione como un mainframe. Dejaría que los hackers trataran de acceder a dicho sistema mientras él monitoreaba los resultados. La intención era que su sistema hogareño emulara el M15, hasta el momento el objetivo más frecuentado por los hackers británicos. Ellos ingresarían al sistema emulado e intentarían acceder a los diferentes niveles de privilegio, cuando sin saberlo estarían en realidad tratando de ingresar al sistema de Cornwall. Hugh no llevó a cabo el plan, aunque había realizado una sofisticada emulación del M15. Justo en el momento en el que iba a comenzar a poner en práctica el plan en cuestión, un empleado disgustado con él abandonó el equipo de trabajo del M15 y acudió a la prensa, poniendo en descubierto todo el proyecto. Hugh pensó que si llevaba a cabo el plan después de este episodio se le presentarían problemas, o al menos más publicidad de la que quería, por lo que decidió abandonar ese proyecto. Llevé a cabo esta idea por mis propios medios y pensé que los resultados serían interesantes.

Había terminado recientemente un curso en sistemas operativos. En dicho curso se utilizó MINIX como modelo para estudiar y modificar. MINIX es un sistema operativo compatible con la versión 7 de UNIX, especificamente creado para correr en IBM y sus clones. Tiene más de 12.000 líneas de código fuente escrito en C. Después de finalizar las clases, decidí usar MINIX porque pensé que podría ser el que daría mejores resultados para simular un sistema de computación grande bajo el disfraz de UNIX. Me llevó cierto tiempo construir un "pseudo sistema" apropiado; es decir, un sistema que yo creyera que era capaz de hacer creer a usuarios con poca experiencia en UNIX que en realidad se trataba de un sistema UNIX. Por otra parte, hubiese excedido ampliamente las posibilidades de mi máquina si hubiera intentado llevar a cabo todas las operaciones necesarias para engañar a usuarios expertos en UNIX sin considerar, además, las limitaciones de tiempo que yo tenía. Primero debí reformatear mi disco rígido para el sistema operativo MINIX. Luego, debí escribir un device driver para usar el módem, tarea que me insumió bastante tiempo. Tuve que cambiar apariencias físicas: los nombres de los archivos, directorios, sintaxis de los diversos ítems y estilo de emulación. Agregué algunas características, incluyendo juegos, archivos con nombres interesantes, ítems que pudieran llamar la atención y recursos de correo adicionales. Finalmente, escribí un programa que sería el encargado de efectuar realmente la mímica y que además recopilaría las estadísticas de actividades de los usuarios. En total, utilicé seis meses de valioso tiempo libre para obtener un sistema satisfactorio. El programa fue pensado para imitar a UNIX en todo sentido. En varias oportunidades mostraría a distintos usuarios conectados al sistema, la ejecución de diferentes procesos, cupos de disco, estadísticas de terminales, espacios libres, estado de tareas de impresoras, etc. Mostraría también diferentes discos y disponía de la mayoría de los archivos que usa UNIX para efectuar funciones administrativas y del sistema, como así también, planificaciones de backups. Estuve tentado de incluir en la entrada una leyenda que dijese: "Nodo Boeing #2, por favor conéctese", o "General Dynamics Puesto 3, terminal 2". Sin embargo, pensé que esto sólo podría ocasionarme problemas o llamar demasiado la atención, por lo que decidí incluir una aproximación más genérica.

BN Puesto #2

Por favor conéctese:

Después de efectuar la conexión, la primera pantalla era:

*********************************************************

Se produjo una caída del sistema en /grupo3 el 8/6/89 a las 03:00 aprox. Se borraron algunos archivos de ese puesto de trabajo. Controle su cuenta para verificar la integridad de sus archivos. Llame a los operadores al Interno 3524 si necesita usar alguno de los archivos de backup. Se realizará una reunión en la cafetería el 24/6/93 al mediodía (durante el horario de almuerzo), para todos los empleados que deseen formar un grupo interesado en el tema de aviones y autos comandados por control remoto. Póngase en contacto con Jeff Smith llamando al interno 2146, para mayores detalles.
*********************************************************


Y el prompt del sistema era:

Junio[1]

Cada vez que se ingresara un comando, el número que está entre corchetes se incrementaría en uno. En el programa, dejé algunos bugs famosos de UNIX, esperando que alguien intentara manipular la cuenta para tratar de obtener más privilegios. Dejé los bugs del sistema de correo y la posibilidad de escribir comandos para la línea 25 utilizando el mismo sistema de encriptación para el archivo de passwords que usa UNIX, además de algunos otros ítems de menor importancia. Para tentar todavía más a los posibles hackers, incluí algunos juegos que sólo podrían ejecutarse con privilegios, y archivos con nombres tentadores como CAR.DATA, PRIVATE.DOC Y DOCUM.SECRT, los que sólo se podrían leer con privilegios. Cada vez que el que llamaba se desconectaba, volvía a colocar todos los elementos en su definición original; incluyendo algunas de las posibilidades o privilegios obtenidos durante la conexión. Por lo tanto, si una persona lograba conectarse más de una vez, debía comenzar desde cero cada vez. No me agradaba hacer esto, pero como pensaba que mucha gente utilizaría pocas cuentas, supuse que parecería menos creíble si la cuenta cambiaba drásticamente cada vez que la persona se conectaba a ella. Esto también me ayudó a obtener observaciones más precisas. En aquel momento, un amigo me prestó el teléfono de su habitación del dormitorio estudiantil por algunos meses, ya que estaría afuera durante cierto tiempo. Por lo tanto, instalé allí la computadora y la dejé correr.

Quería destinar las cuentas a tres objetivos diferentes: aspirantes a hackers, hackers experimentados y grupos universitarios. En los BBSs en los que tenía privilegios de hacker, ingresé un mensaje indicando a los usuarios que llamaran a este interesante sistema que había descubierto. El mensaje decía algo así:

"He descubierto una cuenta correspondiente a un sistema UNIX en el 555-5555.
El nombre de la cuenta es 'PAULS', y la contraseña es 'dog$car'. ¡Que se diviertan!"

Un día después, dejé el mismo tipo de mensaje en diferentes BBSs en los que sólo tenía priviliegios normales para conectarme, pero donde habían muchos chicos. Cambié el nombre y la password de la cuenta. Por último, una semana más tarde comenté verbalmente a algunos de mis amigos de la universidad que había descubierto este sistema, pero les di una combinación de cuenta/contraseña diferente.
Por supuesto, sucedió algo que había previsto, ya que varios sysops en cuyos sistemas yo había dejado el mensaje destinado a los chicos borraron dicho mensaje. Más de la mitad de ellos habían borrado el mensaje en cuestión en apenas unas horas. La otra mitad, borró el mensaje un día después. Igualmente, los mensajes cumplieron su cometido, porque ya habían sido leídos por gran cantidad de personas. Estuve tentado de decirle a los sysops en cuyos sistemas había ingresado los mensajes, que todo se trataba de una trampa, un experimento, pero pensé que algunos de ellos no serían capaces de mantener en secreto esta información. Algo que también esperaba fue que gran cantidad de sysops me enviaron notas de respuesta furiosos porque les había dejado ese mensaje. La mayoría de ellos pensó que los estaba poniendo en peligro legal (es comprensible). Otros dijeron que sus BBSs no estaban destinados a manejar ese tipo de información, amenazaron con informar a la policía sobre el particular y me advirtieron que nunca más dejara ese tipo de mensajes, e incluso borraron mi cuenta del BBS (no fue ninguna pérdida para mi). Ninguno de los mensajes destinados a los hackers se perdió. Envié 17 veces el mensaje destinado a los chicos, 6 veces el destinado a los hackers experimentados y le comenté mi descubrimiento a 4 amigos que sabía que se lo contarían a algunas otras personas.

Supongo que si alguien se hubiese detenido a pensar un instante, habría llegado a la conclusión de que era una incoherencia distribuir una combinación de cuenta/contraseña en un BBS público en el que cualquiera puede leerla. Una de dos, o yo habría sido realmente soberbio, o tenía motivaciones ulteriores. Transcurridas ocho horas de enviado el mensaje, el sistema recibió la primera llamada. En realidad, yo esperaba que fuese alguien que supiera lo que estaba haciendo. Quería saber si alguien era capaz de sortear los obstáculos que yo había establecido para alcanzar mayores privilegios. La primera persona no pareció estar familiarizada con el sistema operativo UNIX, estuvo un largo rato intentando ejecutar comandos MS-DOS. No pudo crear un directorio de disco ni efectuar otras operaciones básicas de UNIX. En rigor de verdad, para quien no está familiarizado con UNIX, este sistema operativo resulta sencillamente poco amigable. Las personas que llamaron después parecieron tener mayores conocimientos sobre lo que estaba sucediendo. Se conectaron bajo el número de cuenta destinado a los hackers más experimentados. Lograron encontrar los atributos de la cuenta, echaron un vistazo general para conocer el sistema en su aspecto global y analizaron cuál era el rango del sistema. Algunos otros consiguieron localizar unos cuantos objetivos de interés que yo había preparado a tal efecto, pero no accedieron a ellos. Luego, la cuenta de los chicos tuvo un pico de uso muy alto. La mayoría de las personas que se conectaron en esa oportunidad no estaban familiarizados con el sistema UNIX. Algunos de ellos tenían conocimientos superficiales sobre comandos básicos pero realmente no sabían cómo manejar la máquina.

Por último, comenzaron a ingresar algunos pocos llamados de la cuenta destinada al grupo universitario. La mayoría de ellos no perdieron demasiado tiempo en la cuenta. Como tenían mayores conocimientos sobre el tema, le dieron un vistazo general al sistema y lo abandonaron. Sólo uno o dos de ellos intentó utilizar algunos de los comandos más sofisticados que funcionan bajo UNIX pero no bajo MINIX. Durante un período de más de dos meses pude observar cuáles fueron los atributos de uso generales. No se cuántas personas individuales se conectaron a la cuenta, pero mantuve una estadística precisa de la cantidad de veces que se usó la misma. Observando el registro de comandos de la cuenta de los chicos y jóvenes, aproximadamente la mitad de su tiempo de uso fue empleado por personas que no estaban familiarizadas con UNIX. Fue una característica entre estos usuarios la utilización de comandos MS-DOS o comandos de otros tipos de PCs, su incapacidad para acceder al archivo de ayuda y la falta de experiencia con el entorno UNIX. Aproximadamente una cuarta parte del uso de esta cuenta fue efectuado por personas que sólo tenían conocimientos básicos de UNIX. Pudieron encontrar la estructura básica de la cuenta y del sistema y jugar un poco con el mismo, pero no fueron capaces de llevar a cabo ninguna operación sofisticada. La última cuarta parte estuvo compuesta por usuarios competentes, como mínimo; algunos de ellos con bastante experiencia. Pudieron descubrir los ítems de interés, encontraron la mayoría de los ítems importantes, pudieron obtener mayores privilegios de acceso y además intentaron ocultar la cuenta que habían utilizado.

De alrededor del 50 por ciento de los usuarios que pudieron manejarse de manera competente con UNIX, sólo un tercio de ellos intentó obtener privilegios. Los otros dos tercios debieron contentarse con permanecer en el nivel de privilegio que tenían. Entre los restantes, el método más popular que utilizaron para obtener mayores privilegios fue leer el archivo de passwords, que tal como sucede en UNIX, lo puede leer cualquiera sin inconvenientes, pero está encriptado. Esto no me sorprendió, ya que el Gusano de Morris utilizó básicamente el mismo método. Varios artículos trataron el tema y algunos de ellos hasta mostraron paso a paso, como si fuese un libro de recetas de cocina, el procedimiento a seguir. Los usuarios tratarían de desencriptar el archivo de contraseñas y obtener así la contraseña de la cuenta raíz. El siguiente método más común consistió en escribir comandos en la línea 25 de una cuenta con privilegio más alto. Esto tampoco me sorprendió, ya que mucho se ha hablado al respecto y el método es bastante conocido. El resto estuvo repartido de manera pareja entre los bugs de correo, la búsqueda de bugs en comandos que corren shells en modalidades privilegiadas, o bien probando algún otro método.

Del tercio de usuarios que quedó, el 32 por ciento de ellos logró elevar los niveles de privilegio que otorgaba la cuenta. Sin contar ese 32 por ciento, el 68 por ciento restante de las personas que pudieron ingresar lograron como mínimo privilegios de operador. Fuera de ese 68 por ciento mencionado, el 18 por ciento (25 personas) consiguieron acceder a privilegios de directorio raíz. Sin embargo, no sé si en realidad se trató de una sola persona que obtuvo 25 veces el privilegio de directorio raíz, o si fueron 25 personas diferentes que lo lograron solo una vez. El programa que escribí sólo simulaba dicho privilegio, pero no permitía el control total de la máquina.

La sofisticación y conocimientos de los usuarios estuvieron directamente relacionados con la cantidad de cosas tontas que cada uno de ellos hizo. Algunos de los chicos hicieron cosas realmente tontas, como crear archivos que decían algo así: "Ja, ja, ja. Soy un hacker y me metí en su sistema", borrando archivos y editando otros de manera obvia. Otros merodearon por todo el sistema, verificando cada uno de los archivos existentes en cada subdirectorio. En los casos de ítems que no eran tan obvios, utilizaron en exceso los archivos de ayuda, ingresando varias veces comandos incorrectos de manera reiterada y tratando continuamente de acceder a ítems para los cuales tenían privilegios insuficientes. La mayoría de los usuarios con buenos conocimientos, intentaron ocultar su presencia dentro del sistema. Algunos de ellos lograron con éxito editar el registro de usuarios sin dejar rastro alguno, mantuvieron un bajo perfil de actividades, no utilizaron los juegos, o si lo hicieron, fue por períodos cortos. Salvo aquellos que obtuvieron mayores niveles de privilegio, sólo se produjo un caso de alguien que borrara un archivo por el simple hecho de destruirlo y sin objetivo alguno. En resumen, en la cuenta destinada a los "chicos" se efectuaron 2.017 conexiones de usuarios. En la cuenta de los "hackers" se produjeron 1.432 conexiones de usuarios, y en la de los "universitarios" se registraron 382. No tengo manera alguna de conocer cuántas personas en forma individual utilizaron las cuentas. Me sorprendió la baja cantidad de conexiones registradas entre la comunidad universitaria. Se lo comenté a alguien a quien le había dado el número de la cuenta y, aparentemente, algunas de las razones fueron que ciertas personas no se dedicaban al hacking, tenían cuentas legítimas, no estaban interesados en otros sistemas o no deseaban correr el riesgo de tener algún problema.

En términos generales, la mayor parte del ingreso de usuarios incompetentes o con falta de experiencia provino de la cuenta de los "chicos". La cuenta de los "hackers" demostró que entre sus miembros se encontraban aquellos más familiarizados con todas las debilidades del sistema, pero carecían de un conocimiento completo y general del mismo. La cuenta destinada al grupo universitario fue exactamente lo opuesto; sus integrantes conocían perfectamente cómo funcionaba el sistema, pero no supieron sortear los obstáculos de seguridad impuestos por UNIX. Sin embargo, los mejores usuarios provinieron de la cuenta destinada al grupo de universitarios, en la que probablemente exista una élite de estudiantes que también son hackers.

Al poco tiempo de haber enviado el mensaje original en los BBSs, se produjo un efecto secundario. Rápidamente, otros usuarios comenzaron a dejar mensajes mencionando la combinación de cuenta/contraseña del los "chicos", indicando que habían obtenido esta información a través de un amigo o que ellos mismos la habían "hackeado". Ese es el motivo por el que no me preocupé cuando los sysops borraron mi mensaje, ya que ya lo había leído suficiente gente como para divulgarlo entre otros usuarios. Otra de las cosas que supuse que podría llegar a suceder, es que alguna agencia legal se sintiera sorprendida por este mensaje y tratara de investigar sobre el tema. Después de todo, yo había realizado algo bastante grotesco. Sin embargo, no recibí ningún tipo de preguntas al respecto, ni tampoco de la persona propietaria de la línea telefónica. Quizá alguien lo haya hecho, pero no tuve noticias al respecto.


Nota de la revista: Este artículo fue publicado por primera vez en la revista 2600, The Hacker Quarterly, publicada por 2600 Enterprises Inc, 7 Strong's Lane, Setauket, NY 11733 Estados Unidos de América. Reimpreso y traducido con permiso de su editor.

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT