-[ 0x0D ]--------------------------------------------------------------------
-[ Domino Dancing  ]----------------------------------------------------------
-[ by Paseante ]------------------------------------------------------SET-23-


PROLOGO
=-=-=-=

La web. Para muchos, especialmente medios de comunicacion, web = internet,
para la mayoria de empresas el lugar donde competir, ofrecer cada vez mas
servicios, mas sofisticados, con mas efectos especiales.
Para ello utilizan software cada vez mas complejo, programas con millones
de lineas de codigo y manuales que suman otro tanto. Todo debe ser rapido
y facil, casi plug&play.
Hoy, aqui, ahora, estudiaremos el funcionamiento de la famosa pareja Lotus
Domino & Lotus Notes, el objetivo es comprender el sistema y despues
analizar sus implementaciones *reales* con la intencion de comprobar hasta
que punto se hallan correctamente configuradas y protegidas.
El articulo se divide pues en dos grandes partes:
La primera dedicada a aprender lo seguro que puede ser Domino.
La segunda dedicada a demostrar lo inseguro que puede ser Domino.

Y por supuesto. Yo no he sido y ademas nadie me ha visto. ;-)




NOTES TEORICO
=-=-=-=-=-=-=

 Introduccion.

   - Historia
   - Caracteristicas y Requisitos
   - Conceptos Basicos
 
 Seguridad en Notes/Domino.

   - User IDs y Certificaciones
   - Acceso al servidor
   - Bases de datos 
   - Domino en red


NOTES PRACTICO.
=-=-=-=-=-=-=-=

 Lotus Domino en la Web
     
   - Domino en el mundo academico
   - Domino en el mundo corporativo
   - Conclusiones


REFERENCIAS
=-=-=-=-=-=

  - Publicaciones
  - URLs


 


             -<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-

                             INTRODUCCION
                     Lotus Domino y Lotus Notes

             -<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-



Lotus Notes es hoy en dia uno de los paquetes de software mas populares,
segun la propia Lotus constituye uno de sus mayores exitos y se puede decir
que ha sido tan importante para el mundo de la informatica como Windows 3.0
o Pc Basket.
Notes ha sido siempre un producto adelantado a su tiempo, el software
introductor de lo que se denomina "groupware", el primero en ofrecer un
programa que integraba funciones de agenda, gestor de correo, discusiones,
navegacion por bases de datos, siempre con un elevado estandar de seguridad
y con una interfaz muy atractiva para el usuario.
Domino es la respuesta de Lotus a Internet, llego para "servir" a Notes en
Internet y con sus caracteristicas de servidor web, servidor de correo, news,
LDAP y soporte SSL se ha convertido en el "puente" entre el mundo Notes e
Internet. Aunque ambos productos no se necesitan solo es posible extraer
todo su potencial cuando se despliegan juntos, tiene merito que Lotus 
apostase por integrar su producto con Internet cuando M$ aun andaba
haciendo planes para que nos conectasemos a su red MSN por 39.95$ al mes.




HISTORIA
=-=-=-=-=-

Notes proviene del trabajo realizado en la Universidad de Illinois en un 
proyecto llamado Platon Notes, por aquel entonces corria el a~o setenta
y poco (los a~os de la polka mas o menos). Claro que entonces nadie sabia
que IBM iba a desarrollar el PC que dejaria obsoleta la arquitectura
del programa.
Asi nos plantamos en 1984 con los promotores de Platon Notes que llevan a~os
llamando a todas las puertas para pedir dinero que les permita crear una
version de Notes para PC, ya debian estar bastante hambrientos cuando el
CEO de Lotus, Mitch Kapor, acepto correr con los gastos.
Nuestros amigos, llamados Ozzie, Halvorsen y Kawell, fundaron una empresa
de nombre Iris Associates que quedo bajo el control de Lotus. 
A partir de aqui tenemos una etapa de varios a~os en que se dedicaron a
vivir del momio, pero a finales de los 80 cuando Lotus se dio cuenta de
que se estaba quedando atras en el mercado, Iris Associates se vio un
poco mas presionada y por fin presento algo tangible. La primera version
de Notes. Resulto que no se habian pasado todo el lustro durmiendo sino
que habian ido trabajando a ratos.
Tras esta primera version empezo el proceso tipico de "mejoras" y 
"nuevos lanzamientos". La version 4.0 fue liberada en 1996 y era el primer
Notes que tenia en cuenta la importancia de Internet, tanto que en
Diciembre de ese mismo a~o, al liberar la version 4.5 Lotus cambio el 
nombre del servidor que paso a llamarse "Domino 4.5. Powered by Notes"
Con esta version Notes paso a unirse a la nefasta moda de "lanzar mucho
y rapido". Ya no podian permitirse esperar cinco a~os. Internet lo
acelaraba todo, la web se reinventaba a cada dia, a cada hora.




CARACTERISTICAS Y REQUISITOS
=-=-=-=-=-=-=-=-=-=-=-=-=-=-


La familia Notes se ha ido ampliando con el paso del tiempo, Lotus Notes
es el cliente por excelencia, el uso cada vez mayor de Notes/Domino para
crear aplicaciones y soluciones propias ha dado lugar a un cliente especial
llamado Notes Designer pensado para desarrolladores, la complejidad de la
administracion de las cada vez mas numerosas opciones de Domino ha provocado
el lanzamiento de Domino Admin, un cliente centrado unicamente en la
administracion del servidor.

Puesto que este articulo se va a centrar en Domino sera util repasar sus
caracteristicas mas destacables.
Domino se presenta en diferentes versiones, como servidor de correo,
servidor web, para sistemas multiprocesador... Gracias a su naturaleza
de servidor de aplicaciones se han desarrollado, no solo por parte de
Lotus, multitud de extensiones para Domino como por ejemplo:

Domino.Connect          Extension para conectar a otras bases de datos
Domino.Action           Extension para crear sitios web mejorados
Domino.Merchant         Extension para crear sites de comercio electronico
Domino.Doc              Extension para publicacion y control de documentos
Domino.Broadcast        Extension para dotar a Domino de tecnologia Push

Como servidor HTTP Domino incorpora la capacidad de transformar los
documentos de Notes en HTML "estandar" ademas de ser capaz de interactuar
con clientes Notes o navegadores de Internet.
Soporta todas las opciones de un servidor web comun, incluyendo conexiones
SSL, ademas de integrar servidor de correo, servicios de Directorio LDAP y
servidor de News.
Domino incluye el Public Address Book que es como el registro de NT, no no,
como el NDS de Novell, no tampoco, pero es un directorio que sirve de base
a sus capacidades de conexion, almacenamiento de bases de datos, replicacion,
autenticacion y automatizacion de procesos administrativos.

Es un software muy portable, capaz de funcionar bajo los siguientes SO:

Windows NT     AIX
Solaris        HP-UX
Linux          OS/2 Warp

Entre los protocolos que soporta se encuentran:
AppleTalk, SPX, TCP/IP, X.25, X.PC... aunque no todos estan disponibles en
cada SO.

En cuanto a las recomendaciones de hardware varian, situandose en general
entre los 64-128 MB de RAM, alrededor de 1Gb de disco duro y un procesador
Pentium II o superior.




CONCEPTOS BASICOS
=-=-=-=-=-=-=-=-=

Algunos terminos sobre Domino.

Domino domain:

Un grupo de servidores Domino y sus usuarios que comparten un mismo
directorio (Public Address Book), normalmente solo suele haber un dominio
aunque en caso de grandes organizaciones se pueden crear varios.
La funcion principal de un dominio de Domino es el rutado de mensajes.

Domino named network:

Un grupo de servidores Domino que usan el mismo protocolo y se hallan
en la misma LAN o e una WAN accesible. Un servidor Domino puede formar
parte de varias siempre que use distintos protocolos.

Public Address Book:

La base de datos donde se almacena la informacion sobre el dominio:
Usuarios, servidores, conexiones, tareas planeadas, rutado de correo...


Certificacion:

Al a~adir usuarios a Domino (registration process) se crea un identificador
que debe ser certificado de manera que el ID del usuario (o de otro servidor)
sea "confiable". Podemos imaginarnos este proceso como la firma de una clave
publica PGP. A partir de ahora en cada dialogo entre un cliente Notes y un
servidor Domino ambos intercambiaran sus ID para comprobar que estan
certificados por alguien en quien ambos confian.
El certificador en una organizacion es el primer servidor Domino que se haya
instalado.





             -<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-

                      SEGURIDAD EN NOTES/DOMINO
                    Modelo de seguridad y accesos

             -<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-


En esta seccion daremos un repaso a las funciones y caracteristicas
relativas a la seguridad que implementa Lotus Domino.



USERS IDs Y CERTIFICACIONES
=-=-=-=-=-=-=-=-=-=-=-=-=-=

Toda la estructura de seguridad de Notes descansa en los identificadores (ID),
cada usuario y servidor posee su propio identificador "user.id" o "server.id"
que no es mas que un fichero donde Notes almacena la informacion del
propietario, el duo clave publica/privada y los certificados que se han
a~adido a dicho ID.
En ocasiones el ID se almacena en el PAB (Public Address Book) aunque
que por lo general se guarda en un fichero que se entrega al usuario
(Lotus recomienda guardarlo en diskette y no en HD)
Para 'abrir' este ID se necesita introducir la contrase~a adecuada.
Notes posee medidas que dificultan que un ID robado se pueda utilizar, asi
ralentiza los intentos de fuerza bruta al responder con retraso creciente a
contrase~as incorrectas e incluye medidas anti-spoofing en su dialogo de
peticion de contrase~as para evitar "pantallazos"

Si no te gusta hacer copias de seguridad la mala noticia es que si 
el fichero ID se corrompe estas frito y si olvidas la clave tambien
estas frito. Toca volver a registrarse y obtener otro ID, la informacion
cifrada con el antiguo ID deja de estar accesible.

La certificacion en Domino cumple el papel de demostrar que cada parte de
la comunicacion es realmente quien dice ser, habitualmente se usa una
estructura jerarquica de certificacion, cuando se instala el primer
servidor Domino automaticamente se convierte en certificador y se crea
el fichero "cert.id", al mismo tiempo el "server.id" y el ID del admin son
'firmados' usando este certificado.

Este certificado puede servir para crear otros subordinados, hasta un
total de cuatro niveles, de manera que el usuario:

RandomJoe/Marketing/NYork/BigCompany

Tiene tres certificados pertenecientes a distintos niveles, cuando este
usuario intente conectarse a:

RandomServer/Sales/Torrejon/BigCompany

El servidor encontrara el certificado comun y por las reglas de confianza
que gobiernan el proceso, mas adelante las veremos, aceptara el ID como
autentico.




ACCESO AL SERVIDOR
=-=-=-=-=-=-=-=-=-


Hay dos maneras muy diferentes de acceder a un servidor Domino, la primera
es usando el cliente Notes y el esquema de seguridad de Lotus.
La segunda usando un cliente 'normal' (navegador, lector de correo..)

 -*- Con Notes

Una vez que tenemos un ID abierto, que ocurre al intentar conectarnos con
un servidor Domino?.
El proceso de conexion se divide en dos grandes partes:
Validacion y Autenticacion.

Validacion:         Soy quien digo ser
Autenticacion:      Y ademas puede demostrarlo.

Las tres reglas de validacion que usa D/N para determinar que puede
confiar en un certificado son:

1- Confia en la clave publica de un certificador cuyo certificado
   se encuentre en tu propia ID
2- Confia en cualquier clave publica que este certificada por uno
   de los certificadores que se hallen en tu propio ID
3- Confia en las claves publicas firmadas por un certificador descendiente
   de otro en el que confies.

Suena algo mas liado de lo que es, ahora pasamos a la autenticacion:

Se trata de demostrar que somos capaces de 'abrir' la clave privada que
casa con la clave publica cuya autenticidad acabamos de demostrar, si no
lo hicieramos bastaria robar un ID para suplantar usuarios o servidores :->
Basicamente y por pasos funciona asi.

1- El servidor genera un numero aleatorio, lo cifra con la clave
publica del usuario y se lo envia.
2- El usuario recibe el mensaje, lo descifra usando su clave privada
y envia el numero de vuelta al servidor.


 -*- Con Navegador (Sin Notes)

Domino utiliza el metodo de HTTP Basic Authentication para requerir nombre
y clave de acceso a directorios protegidos, tambien puede usar SSL 3.0 bien
para establecer una sesion basandose en el intercambio de certificados o
bien para encriptar el trafico aunque la autenticacion llevada a termino
sea la basica. Por ultimo un usuario puede acceder anonimante al servidor.

Deteniendonos en el acceso anonimo hay que decir que se divide en dos tipos:
El acceso anonimo por usuarios de Internet
El acceso anonimo por usuarios de Notes

Todo el tema del acceso anonimo debe ser *cuidadosamente* evaluado ya que
como veremos posteriormente es clave para explicar las vulnerabilidades
encontradas en los servidores probados.




BASES DE DATOS
=-=-=-=-=-=-=-

En Notes las bases de datos constituyen el corazon del sistema, aqui
se guarda toda la documentacion, los mensajes, las configuraciones...
Las bases de datos tienen en Notes la extension .nsf que supongo es
un acronimo de Notes Storage File, aunque hay muchos terminos y conceptos
propios de las bases de datos nosotros analizaremos aquellos tocantes 
al acceso y seguridad.

Los permisos de un fichero .nsf dependen de la configuracion de su lista de
control de acceso (ACL). El administrador de una base de datos es el
encargado de establecer los niveles de acceso adecuados, cada nivel
incorpora todos los privilegios de los anteriores.

Manager
El manager tiene como prerrogativas exclusivas el modificar la ACL,
cambiar la configuracion de replicacion y borrar la base de datos.
Ningun otro nivel de acceso permite realizar estas tareas y por ello
Lotus recomienda asignar dos managers (o mas) a las bases de datos
cruciales.

Designer
El dise~ador puede modificar la apariencia de la base de datos, sus
campos, los formularios y vistas asociados...

Editor
Este usuario puede crear documentos y editar otros aunque hayan sido
creados por otros usuarios.

Author
El autor puede a~adir documentos a la base de datos y efectuar cambios
en aquellos que el ha creado pero no hacer cambios en los documentos de
otros usuarios.

Reader
Este nivel de acceso solo permite leer documentos en la base de datos.

Depositor
El usuario con este nivel puede crear documentos en la base de datos pero
no verlos, ni siquiera los documentos que el mismo ha creado.

No Access
Nivel de acceso sin acceso. :-)

La herramienta de administracion de Domino permite especificar los accesos
por usuarios/grupos, establecer los niveles de acceso por defecto, decidir
si se permite el acceso anonimo y limitar los privilegios de los usuarios
que acceden via Internet con la opcion "Maximum Internet name&password access"
que tiene precedencia sobre cualquier ACL individual.

Hay dos peque~os detalles a tener en cuenta, las ACL solo estan en vigor
cuando se accede a la base de datos desde los ficheros .DIR, es decir que
obviando Notes y usando el sistema operativo para acceder al fichero .nsf
no estaremos sujetos a los permisos de Notes. Se puede remediar en parte
cifrando la base de datos con la ID del server o cifrando las bases de
datos en las estaciones locales con la ID del usuario.

El otro hace referencia a las prioridades de permisos,

 -1- Si el acceso Anonimo o Default esta permitido toma precedencia sobre
     un acceso de usuario autenticado salvo que tenga asignado menos derechos
 -2- El acceso con nombre de usuario tiene preferencia sobre el acceso como
     miembro de un grupo, aunque tenga asignados menos derechos.
 

Por defecto al crear una base de datos la ACL incorpora entradas para el
creador (Database Creator) y para los siguientes grupos:
Default
LocalDomainServers  (1)
OtherDomainServers  (1)

(1) Las ACL aplicadas a servidores controlan la manera de replicar
    la base de datos.  


Es posible efectuar controles mas detallados limitando acceso a determinadas
secciones del documento, presentar algunos campos encriptados....




DOMINO EN RED
=-=-=-=-=-=-=


El servidor Domino que se pretende sea accesible desde Internet esta sujeto
a todos los ataques habituales contra cualquier servidor web, por ello
deben aplicarse las medidas de seguridad adecuadas sin olvidar la necesidad
de permitir que otros servidores Domino del mismo grupo accedan para
replicar bases de datos y rutar correo, para proteger estas conexiones se
puede usar un protocolo distinto, colocar otro firewall entre ambos sistemas,
usar un proxy...
El mismo problema se presenta al querer abrir sesiones de Notes a
traves de Internet, Notes utiliza el protocolo NRPC (Llamada a procedimiento
remoto de Notes) para su trafico con destino al puerto 1352.

Un servidor Domino puede actuar como 'passthru', en este caso permite
a un cliente Notes alcanzar otro servidor Domino con el que no podria
establecer conexion de otra manera, el servidor configurado como 'passthru'
actua de intermediario para realizar la conexion entre ambos.
Con un navegador web solo se pueden acceder a las bases de datos locales
del servidor pero no usar 'passthru' para llegar a otro servidor

Un problema de seguridad lo tenemos si hay un servidor passthru que se
puede alcanzar desde Internet por el puerto 1352, en caso de que los
niveles de acceso no esten bien configurados (acceso anonimo Notes permitido)
nos encontramos con el siguiente escenario.

 -------------       ---------------          ----------       -----------
  Atacante    ====>   Firewall que     ====>   Passthru   ===>  DominoServer
  con Notes           permite trafico          Server           en la red
                      Notes                                     interna
 ---------------      ---------------          -----------      -----------


Para la mayor parte de implementaciones de Domino/Notes en grandes redes
es interesante poder permitir el trafico de Notes a traves de Internet, no
tiene porque ser un problema de seguridad si se han configurado *correctamente*
los niveles de acceso al servidor y los niveles de acceso a las bases de 
datos. En caso de no estar seguro de saber hacerlo la solucion mas sensata
consiste en bloquear el trafico en el perimetro de la red.








             -<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-

                       LOTUS DOMINO EN LA WEB
                 Ejemplos practicos de la vida real

             -<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-



Hemos adquirido unos someros conocimientos acerca del producto de Lotus y
tenemos cierta idea de sus mecanismos de seguridad, hasta aqui podria ser
un articulo completo pero creo que quedara mas claro si incluimos un par
de ejemplos practicos.

El objetivo en general sera comprobar la correcta configuracion del servidor
Domino y determinar si este permite lo que los ""expertos"" consideran el
primer paso que da un intruso. Ganancia de informacion.

Los medios empleados, un ordenador con conexion a Internet y un navegador.
Por dos motivos:
  -1- Para dejar claro que todo esta al alcance de *cualquier* usuario sin
      utilizar "megaprogramas especiales".
  -2- Porque con la birria de ordenador que tengo ni pensar en poner el
      cliente Notes, solo funcionan el vi y el lynx-color. Asi no se puede
      trabajar con seriedad. ;-(


Para llevar a cabo la prueba necesitamos algun objetivo, nada mas facil
que encontrar algun .es con Domino, en este caso se trata de una
universidad y de un banco lo que es muy adecuado para comprobar los
diferentes niveles de seguridad.
Una aclaracion MUY IMPORTANTE es que se los objetivos probados son los
dos primeros encontrados, no ha habido "descartes".
El resultado por tanto no debe tomarse como "caso aislado" sino como una
indicacion muy seria de que hay problemas que pueden ser muy comunes.


Para los despistados indicar que las direcciones URL no son las reales,
por favor no envieis mensajes diciendo que www.univ.es no funciona :-DD




DOMINO EN EL MUNDO ACADEMICO
=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Encontramos una universidad, o euniversidad?, cualquiera del Norte de Espa~a.
Con sus servidores Domino ofreciendo las paginas web habituales y nos entra
la curiosidad de saber si podemos "hurgar en las entra~as" y sacar lo que
no esta a la vista.
Empecemos por lo basico.

http://www.univ.es/?OpenServer

Bienvenidos a una URL de Domino, este comando le pide al servidor que muestre
la lista de las bases de datos de que dispone. Lo habitual es la respuesta..

Error 403
HTTP Web Server: Database Browsing Not Allowed

No es problema, esta opcion no se activa por defecto asi que no indica una
preocupacion especial por la seguridad, ahora empezamos a probar el acceso
a las bases de datos y comienza el espectaculo multimedia.

  [ Al final de esta seccion incluyo una lista de las bases 
    de datos mas comunes y su funcion ]

Asi que no queria darme la lista de bases de datos eh?. Pues toma.

 AccesosD.nsf
   + accesos.nsf		 + Cronos.nsf 
   - acontab.nsf		 + dframes.nsf
   + 11/03			 + dfsdoc.nsf
   + AMREC001.NSF		 + diarioex.nsf
   + bbaa.nsf			 + docapl.nsf
   + busytime.nsf		 + docsistemas.nsf
   + buzondeb.nsf		 + docugp.nsf
   + catalog.nsf		 + doc/helpadmn.nsf
   + certsrv.nsf		 ...............	
   + clock.nsf
   + compl2.nsf
   + compl.nsf
   + Conconta.nsf
   + controlh.nsf

Ya tengo un listado por nombres, ahora tengo un monton de bases de datos
a las que puedo intentar entrar confiando en acceso anonimo/default generoso
pero como saber cual elegir?

# Base de datos          kBytes      % usado 		Usos / 7 das
   - l???02/UNIV       4.576.512        89 		   9211
1 Control horario        728.320        61 		   1400
2 Jxxxx Martinez Gxxx    270.080       100 		    164
3 Eduardo G* Soxxxno     179.712        99                  119
4 J?vxx E* Cundin        161.792       100 		     21
5 lgp???'s Statistics    110.080        81 	             14
6 DOCUMENTACION           92.672       100 		     88
7 Andoni J* L. 		  91.648       100 	             51
8 Guillxx Irasxx          87.552        98 		     45
9 Registro General UNIV   81.664        96 		      0
10 JR. Alzola G*          80.384        99 		    433
.......


Bonito todo esto pero necesito algo que me enlace un poco todo, algo como:

Archivo 	    Titulo 			Fecha
l??02/UNIV
REGHELP.NSF 	Ayuda de Registro 		N/D
helpupv.NSF 	Ayuda UPV 			N/D
bbaa.nsf 	Bellas Artes 			N/D
cig.nsf 	CIG 				07/x0/9x
circon2.nsf     Circulares Contabilidad 	17/x1/9x
p*/?unesco.nsf  codunesco 			N/D
reloj.nsf 	Control horario 		23/x2/9x
controlh.nsf 	Control Horario (Auxiliar) 	N/D
Cronos.nsf 	Cronos 				N/D
LfsLog.nsf 	DFS Log Database 		15/x2/9x
fax.nsf 	DFS Mail Database 		15/x2/9x
diarioex.nsf 	Diario de Explotacion 		28/x2/9x
dframes.nsf 	Docentes (frames) 		11/x1/9x
...................
...................

[ No hara falta que diga que esto es un resumen y que los datos aqui
  dispuestos han sido alterados cuando me ha parecido necesario ]


De momento la cosa no pinta muy bien para nuestra UNIV(ersidad), claro
que no es de extra~ar, siempre que leo las declaraciones de un 'hacker'
no falta la frase de "la seguridad de las universidades es patetica".
Igual tienen razon. ;-?.

Veamos que dice Domino acerca de ese tentador Registro General UNIV.

                         [Nombre del servidor aqui]   
                             [Fecha aqui debajo]
                       Registro General ???/UNIV [a~o]

   Ruta de acceso: reg_g_??.nsf
   Tama~o del archivo: 57,5 MBytes (94,50% del espacio utilizado)
   Tama~o de las vistas: 
   	1. Por Epigrafe   		    0 kBytes
   	2. Por Numero 			12052 kBytes
   	3. Por Tipo\Organo Destinatario     0 kBytes
   	3. Por Tipo\Organo Remitente 	    0 kBytes
   	4. Libro 			17381 kBytes
   Configuracion de la Aplicacion 9 kBytes
   (validacion numero) 0 kBytes
   
   Gerentes: OtherDomainServers, Manager LeiXX/UNIV, Administradores Notes,
             LocalDomainServers

   ...................................
   Uso en el periodo completo (x14 dia(s))
     Usos de la base de datos: 1400
     Documentos leidos: 24850
     Documentos escritos: 22862


Gerentes, Managers, si recordais son aquellos usuarios con poder absoluto
sobre la base de datos, no seria bonito saber que usuarios tienen mas
privilegios y sobre que bases de datos los tienen?. Tus deseos son ordenes.

Marchando una de listado de base de datos ordenadas por gerente.

 -Default-         // Nuestro amigo el acceso por defecto, mira que mono.

Servidor 	Titulo  	   Archivo 	         Fecha
lxxx02 		LogAgent 	   LogAgent.nsf 	27/0x/9x
lxxx02 		LSX for LManual    lsxlc.nsf 		09/10/9x
lxxx00 		SMTP MTA Tables    smtptbls.nsf 	03/02/9x
lxxxei 		ImagePlus LPx*     LOANPROC.NSF 	11/0x/9x
lxxxei          GW Admin's Guide   VIGWDOC.NSF 		13/xx/9x
lxxxei 		LPx* Admin	   LOANADMN.NSF 	x1/x3/9x

- Administradores Notes
lxxx02 		Ayuda de Registro  REGHELP.NSF 		N/D
lxxx02 		Ayuda UPV 	   helpupv.NSF 		N/D
lxxx02 		Bellas Artes       bbaa.nsf 		N/D
lxxx02    Circulares Contabilidad  circon.nsf 		1x/x1/9x
.............................

- FAX/UNIV    // Me hace gracia, que pasa?
....
lxxx02		In Fax Mailbox     infaxbox.nsf		 26/xx/9x

Y asi van desfilando uno tras otro todos los gerentes contandonos en que
archivo y servidor estan las bases de datos cuyo control poseen.
Ahora tenemos un par de cosas, miles de nombres y rutas a bases de datos
de Notes y la lista de usuarios con mayor numero de privilegios.

Con esto y un bizcocho nos paseamos por el server hasta encontrar por ahi,
la id de dos usuarios (uno de ellos el 'gran jefe indio') y la de un
servidor. Si no sabes que es eso de ID te has saltado la mitad del articulo.
Pero que carajo, cuantos servidores hay aqui dentro?


 Red 
   - TCPIP Network
       Servidor 	Titulo 			Administrador
       lxxx00/UNIV   Servidor de pruebas 	Administradores Notes
       lxxx02/UNIV   Notes produccion 		Administradores Notes
       lx?x00/UNIV   Notes Desarrollo 		Administradores Notes
       lxxxce/UNIV   Contabilidad 1 		Administradores Notes
       lxxxcg/UNIV   Contabilidad 2 		Administradores Notes
       ...........


Esto de ser hacker cada dia mas complicado, voy a pedir una pension como
las amas de casa, en fin a ver que estan haciendo los demas servidores.
Enchufo la URL pertinente en mi navegador del a~o del Titanic y vamos!


                Estadisticas del Servidor lxxxei        

Views

     * 1. Statistics Reports - 1. System
     * 1. Statistics Reports - 2. Mail & Database
     * 1. Statistics Reports - 3. Communications
     * 1. Statistics Reports - 4. Network
     * 1. Statistics Reports - 5. Clusters
     * 1. Statistics Reports - 6. Web Server & Retriever
     * 1. Statistics Reports - 7. Calendaring Scheduling
     * 2. Alarms
     * 3. Events
     * 4. Spreadsheet Export
     * 5. Graphs - 1. System Statistics
     * 5. Graphs - 2. System Loads
     * 5. Graphs - 3. System Resources
     * 6. Trouble Tickets - 1. Alarm
     * 7. Analysis Report
     * 8. File Statistics
     * 9. Single Copy Object Store Statistics


$$ Aqui eso de la "ganancia de informacion" ya me abruma.

Statistics Report
   for server:lxxx02/UNIV - Notes produccion - (Powered by Notes)
   Session Information:
   Boot ID: 5979215
   Server started at: 01/xx/xxxx 1x:xx:3x
   Statistics collected at: x5/0x/xxxx 1x:2x:x3
   Reporter task running for: x3 day(s), 2x:x2: x (hr:min:sec)
   Server Location:
   Server Administrator: Luis Ferxxxxx Escartin/Sistemas/UNIV
   
  $$ Me salto algo de info que viene en graficos (uso del disco, etc..)

   Memory Statistics (in bytes):
       Free memory:
       Memory allocated: 108.025.982
       Memory allocated as shared memory: 77.942.112
       Memory allocated by server processes: 30.083.870
       Memory availability: Plentiful
       Memory quota:
       Memory timeouts:
       Physical RAM memory: 268.435.456
       Swap file size: Not Applicable

Server Configuration Information:
       Number of volumes on file server:
       Server ports: TCPIP
       Coprocessor: Not Available
       Operating System version: AIX 2 4
       Notes version: Release 4.6.4a (Intl)
       Data file path: /datos/notes

 Server Load Statistics:
       Transactions in last minute: 402
       Peak transactions per minute: 10.235
       Time of last peak transactions per minute: 0x/xx/xxxx 20:05:58
       Total transactions processed: 1.174.330
       Number of current users: 35
       Peak number of users: 45
       Time of last peak number of users: 0x/xx/xxxx x1:33:06
       Number of sessions dropped in mid-transaction: 1
       Number of server tasks: 63
       Server Tasks: Database Server: Perform console commands
       Database Server: Listen for connect requests on TCPIP
       Database Server: Perform housekeeping chores
       Database Server: Idle task
       Database Server: 
   		Server for Jose Ramon Al* Garrido/Desarrollo/UNIV
                Server for Monica Jx Arana/Contabilidad/UNIV on TCP/IP
                Server for L* Mx Sierra/Desarrollo/UNIV on TCP/IP
                Server for Fx J* Gaztexxx Odri*/Sistemas
                Server for Isaxx L???auri/Academica/UNIV on TCPIP
                [...blah, blah, blah, blah...]

$$ No, no, todo esto no deberia estar a la vista, claro que la cosa empeora
$$ cuando accedemos a los logs del servidor

Fecha 		Usuario 	Direccion 	      
[Dia y hora] 	  -            pulgoso.ipb.csic.es      
Solicitud
GET  /proyectos/prcampo1.nsf/6292415a920634c0c125650e0037b536/$Body/0.f14?O
      penElement&FieldElemFormat=jpg HTTP/1.0

$$ Este pedazo de URL es una URL de Domino, ruta, nombre de base
de datos, identificador, comando y parametros. Tochisimo de meter en el ezine.

[Dia y hora]   Jose           lxxx06.lx.univ.es 
Solicitud
GET /reloj.nsf/horario HTTP/1.0

$$ Lo interesante del log no es tanto aprender peticiones sino aprender
$$ nombres de usuario desde Internet, repasando el log nos hacemos con unos
$$ cuantos.


Si alguno no lo ha cachado aun el resultado de esta evaluacion es un suspenso
sonoro, de acuerdo que a fin de cuentas en una Universidad no hay nunca datos
de interes :-> y que mas se perdio en Cuba pero esto no es de recibo.

Server < Filename >  DB Title >    Replica ID >        File Size >  Free ....
l*00     WEB.NSF     Navegador     C12565D3:005BFA0E   14.680.064   124.992
                     del Servidor  
l*02     WEBFAX.NSF  Domino Fax    C12566DB:0049C7DF      786.432   255.488
                     Server DB
l*02     UTILS.NSF  Utiles Varios  C1256472:0048C988       524.288  246.336


Finaliza el concurso, un breve repaso a nuestro zurron indica que tenemos
entre muchos regalos variados lo siguiente.

Listado completo de las bases de datos (nombre, ruta completa, tama~o, 
estadisticas de uso, gerentes, servidor...)
Informacion sobre el uso de los servidores ( carga, fecha de inicio,
espacio en disco, memoria, sistema operativo, usuarios actuales, logs de
uso...) 
Informacion variada ( id de usuarios, id de gerente, id de servidor, id
de replicas, configuracion de eventos y alarmas, log de errores fatales..)

Y eso en un rato con un navegador, no imagino que puede pasar si utilizo
la poderosisima herramienta hacker 'whois' XDDD.


Como inicio no da mucha confianza pero esto es una universidad, el mundo
de los negocios sera otra cosa?. Verdad?. Antes de verlo, lo prometido es
deuda.

 --**-- Algunas bases de datos interesantes de D/N --**--

WEBADMIN.NSF		Administracion remota del servidor
WEB.NSF			Cache de paginas web solicitadas por usuarios
LOG.NSF			Informacion sobre el servidor 
EVENTS4.NSF		Estadisticas y eventos
STATREP.NSF	  	Base de datos de estadisticas
CATALOG.NSF		Catalogo de bases de datos
CERTLOG.NSF             Log de certificaciones
ADMIN4.NSF              Base de datos de peticiones administrativas
DOMLOG.NSF		Actividades varias del servidor
NAMES.NSF		Public Address Book
NTSYNC45.NSF		Passwords generadas para el single sign-on con NT
COLLECT4.NSF		Para centralizar estadisticas de varios servidores
MAILW46.NSF		Base de datos de correo para el uso de navegadores web
......................
......................

Buena suerte :-)
 --**--**--**--**--**--**--**--**--**--**--**--**--**--*



DOMINO EN EL MUNDO CORPORATIVO
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


Solo nos queda encontrar un servidor Domino bancario, no es dificil
hacerlo, lo encontramos en un banco, o e-banco?, de esos que van "tan
rapido" por Internet. A toda pastilla y creciendo que es importante :->.

Vamos a conectar usando la probada tecnologia hacker:

http://domino.e-banco.com

En la frente. Me pide nombre de usuario y password para conectar. :-?.
No tengo ni una cosa ni otra y ademas ni idea de como conseguirlas.

Un hacker podria usar aqui lo que se llama "advanced kung-fu skillz" es
decir: brute forcing, spoofing, sniffing, hijacking, guessing, skating, 
skiing, surfing... (no se si todas son correctas, yo no entiendo de eso)

Pero yo solo tengo el navegador y un pincho tortilla. Y actitud. De sobra. 

Un minuto despues ya estoy abriendo bases de datos en el servidor bancario
Domino. Queda probado que los ordenadores 'sienten' la actitud. :-DD


    [  Siempre que no explico algo paso a paso me llueven los mailes
       de protesta, asi que ya lo explicare, al final. Mientras podeis
       tratad de adivinadlo vosotros, doy una pista en la parte teorica ]


O sea que aqui estamos, despistados como siempre y pensando que donde diantre
nos hemos metido?. Pues a preguntar que preguntando se llega a todas partes.

  Notes Licenses
   + Lotus Notes 	1929
   + Lotus Notes Server 3
   + Unlicensed/Unknown 54822
   		Total	56754

Dejando de lado las consideraciones eticas de tener cincuenta y pico mil
usuarios sin licencia (quiero creer que es porque no la necesitan), vemos
que el corralillo esta concurrido. Cincuenta y siete mil pollos, uno mas
no creo que se note.

      Name  		       Company  		E-Mail
CANELLAS S* , CARLOS            AEAT	         CARLOS C* SANCHEZ @ N??O
SANTIAGO P?, CESAR              ELECTROLUX       CESAR DE SANTIAGO*  @ N??O
* RODRIGUEZ, AR*		ELECTROLUX       ARS* RODR* @ N??O
CAB* ESCU??, BEGO??		FIAT IBERICA     BEGONA CAB* ESXX@ N??O
FDEZ G., JUAN JOSE		FIAT IBERICA     J.J.F.G @ N??O
LExx, PAOLO			FIAT IBERICA     PAOLO LEVI @ N??O
M. RUIZ, ESPA*			IDEAS FIJAS	 ESPAR* MAR* @ N??O
ALA* GOMEZ, Jx			LHYSA		 JO* ALAD* @ N??O
GENERALITAT VALENCIANA   			 GENE* VAL* @ N??O
................................
................................
................................


Hombre el primero de la lista tenia que ser de la agencia tributaria y 
ademas AEAT esta en TSAI (http://aeat.tsai.es), igual luego paso a darle
un poquito en los morros a Timofonica para no perder la costumbre ;->.
Vamos a ver que nos dicen de los usuarios, por ejemplo de ....

PERSON: GENERALITAT VALENCIANA
        GENERALITAT VALENCIANA @ N??O

   Name 					MAIL
   First name: GENERALITAT VALENCIANA           Mail system: POP or IMAP
   Middle initial: 				Domain: N??O
   Last name: 					Mail server: N??onet/N??o
   User name: GENERALITAT VALENCIANA            Mail file: CORREO\163\ 
              BI40824	                                   BI40824.nsf
   Short name: ggeneralitatg.gvalenciana        Forwarding address:
                                                Msg storage: Internet Mail
                                                Internet password:
            ......................................
            ......................................
                                             
Tate, aqui hay tomate, alguien se leyo el capitulo donde se explica que
los campos encriptados pueden aparecer en claro si se consultan en un
navegador. No?. Es solo algo a tener en cuenta, la encriptacion a nivel
de campo solo funciona con clientes Notes, ser pobre acaba teniendo sus
humildes ventajas ;-)
Digo yo que con tantos usuarios aqui dentro tendra que haber algun grupo
creado y se me ocurre que seria bueno enterarme de cuales son.

  
BESPEC_USR Usuarios Banca Espec
   BS001 6001 Andersen Consulting
   BS002 6002 Coopers & Lybrand
   BS003 6003 Zardoya Otis
   BS004 6004 Mc Kinsey
   BS005 6005 Musini-Bankers Trust
   BS006 6006 Asesores Bursatiles
   BS007 6007 B? ASEGURADORA DIRECTA (MADRID)
   BS010 6010 Andersen Consulting
   BS013 6013 Lilly
   BS014 6014 Ferrovial
   BS016 6016 Cefana
   BS021 6021 Fisher Rosemount
   BS022 6022 Ernst & Young
   BS023 6023 Interflora
   BS024 6024 Profit Gestion
   BS025 6025 Diario El Pais, S.A.
   BS026 6026 Sigla, S.A.
   BS029 6029 Norsistemas, S.A.
   BS030 6030 Refrescos Envasados, S.A. (Coca-Cola)
   BS031 6031 Union Electrica
   BS032 6032 Hospital San Rafael
   BS034 6034 Colegio Nacional de Opticos
   BS036 6036 Sociedad General De Autores
   BS037 6037 Securitas
   BS039 6039 Aena
   BS041 6041 Lucas Automotive
   BS042 6042 The Boston Consulting Group Ltd
   BS043 6043 Red Electrica Espa~ola
   BS044 6044 Microsoft Iberica SRL

   ...............  y sigue, y sigue, y sigue ....................

Mira tu donde se juntan todos, no sabia que hubiese tantas empresas en
el pais. Y hablando de pais, otra vez me topo con El Pais. :-!!.
Acaso me persigue Polanco!?. (Siento mencionar el nombre de Dios en vano)


GROUP: BS025

   Basics:
   Group name: BS025
   Group type: Multi-purpose
   Description: 6025 Diario El Pais, S.A.
   Members: Fra??isco Hernanz Garci?

   Administration
   Owners: SYSTEM            // Esto podria cambiar :->
   Administrators:
   Foreign directory sync allowed: Yes


Basta ya de perder el tiempo con la gente!. Somos o no somos autistas?.
Pues a por las maquinas, tres eran tres los servidores...


   Network 	Server 		  Title 		Administrator
   - Net1
             N??oNet/N??o 	Ban????net-N??o 	SYSSRV
             N??oWork/N??o 	Correo de empresas 	SYSSRV
             Pluton/N??o 	?ro? y N?x? 		SYSTEM

              .............................................

Correo de empresas, no me imagino que tarea puede desempe~ar un servidor
con ese nombre, no me queda otro remedio que prestarle atencion.

SERVER: N??oWork/N??o

   Basics
   Server name: N??oWork/N??o 		Server build number:
   Server title: Correo de empresas     Administrators: SYSSRV, SYSTEM
   Domain name: N??o 			Routing tasks: Mail Routing
   Cluster name: 			Server's phone number(s):
   Master address book name:

   Server Location Information  // seccion expandible 
   Network Configuration        

   Port  	Notes Network 		Net Address 		Enabled
   TCPIP           Net1 		194.x5.x.42 		ENABLED
   .......................................................
   .......................................................


  Security Settings
   Compare Notes public keys against those stored in Address Book: No
   Allow anonymous Notes connections: No   // da igual, no tengo Notes!!
   Check passwords on Notes IDs: Disabled

  Basics 			       Mapping
   Host name: *x*			Home URL: /?Open
   Bind to host name: Disabled 		HTML directory: domino\html
   DNS lookup: Disabled 		Icon directory: domino\icons
   Default home page: default.htm 	Icon URL path: /icons
   Allow HTTP clients                   CGI directory: domino\cgi-bin
   to browse databases: Yes             CGI URL path: /cgi-bin	
   Maximum requests over                
   a single connection: 5 
   Number active threads: 40

$$ Allow HTTP clients to browse databases = YES!!!. Que bonito valor.

Enable logging to                       Log file settings:
 Log files: Disabled 			 Access log format: Common
 Domlog.nsf: Disabled 		  	 Time format: LocalTime

Log File Names 				Exclude From Logging
 Directory for log files: 		 URLs:
 Access log: access-log 		 Methods:
 Agent log: agent-log 		         MIME types:
 Referer log: referer-log 		 User agents:
 Error log: error-log 	         	 Return codes:
 CGI error log: cgi-error-log   	 Hosts and domains:

$$ Y luego la gente se preocupa porque un cgi devuelva una ruta fisica
$$ o su servidor devuelva su nombre y numero de version. Patetico.
$$ De paso nos hacemos con la configuracion de los puertos de todos los
$$ servidores, este listado corresponde a N??oNet

                   WEB       LDAP      NEWS     IMAP      POP
Port Number:       80        389       119      143       110
Port status:     Disabled   Enabled   Enabled   Enabled   Enabled
Name & password:   Yes       Yes       Yes       Yes      Yes
Anonymous:         No        Yes       Yes       N/A      N/A
SSL port number:   443       636       563       993      995
SSL port status: Disabled   Disabled  Disabled  Disabled  Disabled
Cli* certificate:  No 	      No        No 	  No 	   No
Name & password:   Yes        No 	Yes 	  Yes 	   Yes
Anonymous:         Yes        Yes       No        N/A      N/A


Entre lo que yo cojo y lo que ellos me dan ya estamos abriendo hueco en
la estructura bancaria, seguimos con la potente tecnologia del lynx-color
y el tecleado de URLs. Asombrosa sofisticacion hacker a su alcance.

    Name                         Server              Database
   Envios Multiples             N??oNet/N??o         DISMAIL.NSF
   EST_INTER_BCORPORATIVA       Pluton/N??o     ban*\est_bcorporativa.nsf
   EST_INTER_CIBER???O          Pluton/N??o     ban*\estcf??o.nsf
   EST_INTER_CRISNOVA           Pluton/N??o     Ban*\f??onova.nsf
   EST_INTER_FFISCAL            Pluton/N??o     ban*\est_ffiscal.nsf
   EST_INTER_IMPN??O            Pluton/N??o     ban*\estn??o.nsf
   newsmanager            Distribucion/Ban*     internet\newsmgr.nsf
   N??oNet/N??o Stats           N??oNet/N??o    stats?x6.nsf
   Pluton/N??o Stats            Pluton/N??o     stats?3x.nsf


Por aqui y por alli siguen cayendo cosas.

 SERVER CONNECTION: Pluton/N??o to RedAgencial/banco

   Basics
   Connection type: Local Area Network 
   Usage priority: Normal
   Source server: Pluton/N??o 
   Destination server: RedAgencial/banco
   Source domain: n??o 
   Destination domain: banco
   Use the port(s): TCPIP
   Optional network address: 10.0.12x.x4

   Scheduled Connection Routing and Replication
   Schedule: DISABLED 	Tasks: Mail Routing
   Call at times: 08.00 - 22.00 each day 
   Route at once if: 5 messages pending
   Repeat interval of: 360 minutes
   Days of week: Sun, Mon, Tue, Wed, Thu, Fri, Sat

$$ Estupendo mas IPs, mas dominios, mas Domino Servers que explorar en busca
$$ de configuraciones erroneas, bases de datos, listas de usuarios...

Como dice el anuncio de Pirelli: "La potencia sin control no sirve de nada".
Tenemos un listado de dominios Domino, practicamente mapeada la red interna,
aliases de los dominios, IPs de la intranet, listado de programas que se
ejecutan en los servidores, certificaciones, rutas a bases de datos y los
inevitables datos sobre los usuarios, grupos y servidores del dominio.
El objetivo de ganancia de informacion se ha cumplido sobradamente, aunque
la seguridad en este caso fuese mas elevada.
Ha llegado el momento de dejar de escribir, los bancos no tienen mucho
sentido del humor y no quiero preocuparlos.

Por cierto, el dinero de los usuarios esta a salvo :-). Ni lo vi ni me
interesa.



CONCLUSIONES
=-=-=-=-=-=-

Que seria un estudio sin conclusiones?. La conclusion obvia es:  2 de 2
Es disculpable que una universidad se deja la cartera encima de la mesa,
no deberia ser la norma pero tampoco importa mucho.
En cuanto al banco claramente se han preocupado algo mas por la seguridad
pero como hemos visto no lo suficiente.

No hagais evaluaciones apresuradas, el problema no es que se pueda obtener
esta informacion, el problema es **como** se obtiene. Con un navegador.
Se podria disculpar si fuese necesario ser un 'guru' de Domino para llegar
a esto, lamentablemente a mi me basto dos dias de leer guias para comenzar
a encontrar huecos y sin ni siquiera usar o instalar Domino/Notes.
No hace falta decir que algo falla, quiza todos estos programas son
demasiados complejos para asegurarlos o puede que nadie este interesado en
hacerlo.

Al final fueron necesarios cinco dias de aprendizaje y un navegador,
los administradores internos, la empresa de seguridad que (supongo) audito
el site y todos aquellos cuyo trabajo era prever este tipo de incidentes
no debian disponer de tanto tiempo. O quiza no tienen ningun navegador.
Da que pensar.



Y recordad, hagais lo que hagais.
Tened cuidado ahi fuera.

Paseante


 [ Nota Final: Sobre el saltarse la clave de acceso, se~ores expertos en
   seguridad y administradores del e-banco, nos vamos al manual de Domino
   y nos leemos *atentamente*, con toda la *atencion*, la parte en la que
   habla de accesos al servidor y de como interactuan con las ACL de una 
   base de datos. Es un RTFM, pero RTFM con atencion ;-> ]






             -<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-

                             REFERENCIAS
                         Publicaciones y URLs
              
             -<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-


Guias electronicas en formato .pdf asi como direcciones web de
donde obtener completa informacion sobre Lotus Domino/Notes.


PUBLICACIONES
=-=-=-=-=-=-=

 Getting started with the Domino Server
 Planning the Domino System
 Notes Database Management
 Configuring the Domino Network
 Lotus Notes and Domino 5.0 Security Infrastructure Revealed
 The Domino Defense: Security in Lotus Notes and the Internet
  



URLs
=-=-

 http://www.notes.net
 http://dominodeveloper.net
 http://www.eurodomino.com
 http://www.lotus.com/home.nsf/welcome/redbook
 http://www.searchdomino.com



