
+------+-------------------------------------------+----------+--------------+
|  +-->|              AS/400 de IBM                |<---------|   GuyBrush   |
+->|<--> r17_09 <-+-----------+-----+--------->+--------------+----------->|-+
   +--------------------------------------------------------------------------



            ___________________
          // //             \\ \\ 
         <<-<< AS/400 de IBM >>->>
          \\ \\             // //
            ===================


1. A quien va dirigido este articulo
2. Un poco de culturilla
3. Encendido y apagado de la maquina
4. Configuracion basica para la seguridad del 400
5. Puertas traseras
6. Despedida


1. A quien va dirigido este articulo
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   No pretendo dar  un cursillo  de AS/400 porque  no tengo ni tiempo ni ganas
   para ello. Simplemente  explicare algunas  cosas basicas  de este  tipo  de
   sistemas y hablare  un poco sobre su seguridad. Por tanto, estas letras van
   dirigidas principalmente a usuarios de AS/400.


2. Un poco de culturilla
   ~~~~~~~~~~~~~~~~~~~~~
   No  quiero extenderme mucho  en este  tema porque considero  que este es un
   ezine  de hacking  y creo que la gente que lea este articulo ya conocera un
   poco el  funcionamiento de  esta maquina.  Pero me  veo obligado a explicar
   algunas cosas  basicas  para los  que estan  iniciandose en  este  mundillo
   de IBM.

   Bueno,  pues ahi vamos ... el AS/400 es el  hermano mayor del S/36 (Sistema
   36). A decir verdad  el S/36  y el AS/400 varian  tanto en  la arquitectura
   como en  el Sistema  Operativo. Dentro  del 36  tenemos varios  modelos  de
   maquinas y  dentro del  400 ocurre exactamente lo mismo. Hoy en dia en S/36
   esta  obsoleto pero  aun  hay muchas  empresas  que lo  utilizan ... si hay
   alguien  interesado, en  el proximo  numero  escribire  algun  texto  sobre
   configuracion y seguridad del S/36.

   El  progreso en  cuanto a las  redes de AS/400 se puede resumir mas o menos
   asi:
    1> Simples  pantallas conectadas  al AS/400  mediante  cableado  twinaxial
       (estas pantallas  no tienen  procesador ni disco duro ni nada, tan solo
       un  monitor  y un  teclado ... por  ello son  conocidas como 'pantallas
       tontas')
       El AS/400  tenia un  puerto de  comunicaciones en  el cual se conectaba
       una 'zapata' con 4 u  8 bocas pudiendo conectar un maximo de 7 maquinas
       en cada boca (7 direcciones).
       Logicamente, con un segundo puerto de comunicaciones podriamos conectar
       mas pantallas.
    2> Luego aparecieron las  emulaciones 5250 en PCs. Para ello necesitabamos
       unas tarjetas  de emulacion a las que conectabamos el cable twinaxial y
       actuabamos como si de una pantalla tonta se tratara. La ventaja de usar
       un PC en  lugar de  una pantalla  es obvia. Podemos  usar la maquina no
       solo para el AS/400. Ademas, en emulaciones de windows podemos realizar
       mas de una sesion de trabajo con el 400 (con las pantallas cada  sesion
       ocupaba una direccion).
       Las  conexiones a  traves  de emulaciones requieren el protocolo DLC de
       microsoft  puesto que  la conexion  con el AS/400 es mediante protocolo
       SNA.
    3> Mas adelante  el 400 incorporaba ademas un puerto ethernet a 10 Mbps lo
       que nos permitia realizar  conexiones por cable par trenzado y tarjetas
       de red en PCs, evitando asi  el uso de las tarjetas de emulacion 5250 y
       ahorrandonos ademas una pasta.
       Hay  que decir  que las  conexiones twinaxiales  tambien podian hacerse
       mediante cable par trenzado usando unos  conversores twiax-par trenzado
       llamados  balum permitiendonos  centralizar  el cableado  en  estrellas
       pasivas  (una  estrella  es  algo  asi  como  un  hub  para  400 ... el
       funcionamiento de la estrella es mucho mas simple que un hub, pero hago
       esta similitud para que os podais hacer una ligera idea de lo que es).
    4> Posteriormente IBM tuvo la gran idea de  incorporar el protocolo TCP/IP
       en sus maquinas permitiendonos asi  la conexion desde PCs usando TCP/IP
       en lugar de SNA, lo cual nos  ahorra algunos problemas y nos ofrece mas
       velocidad y mejores prestaciones.
       Ademas de  SNA y  TCP/IP hay  otros protocolos  que  cabe destacar como
       AnyNet (el  cual puede  encapsular  TCP/IP bajo SNA y a la inversa) que
       nos permite, por ejemplo, realizar conexiones  SNA a traves de routers,
       encapsulando el SNA bajo TCP/IP ... pero eso es otra historia.

    Hay  otros temas  interesantes sobre  el funcionamiento  del 400  como los
    controladores  remotos (para conectar redes LAN a un 400 de forma remota),
    configuracion de  lineas, controladores, dispositivos, etc pero  creo  que
    nos extenderiamos demasiado asi que me quedare aqui ...

   En  un sistema  de AS/400  cabe  destacar  una  maquina en  concreto ... la
   consola del sistema. Esta maquina ira conectada a la boca 0 direccion 0 (en
   caso  de ir  por  twinaxial) o  ira  con una  conexion RS-232 de un PC a un
   puerto de consola en caso de no disponer de twinaxial. Esta maquina sera la
   que primero  arranque y sobre  la que deberemos  conectar con el sistema en
   caso de  acceder en modo  restringido (solo esta maquina podra entrar en el
   400).

   Y hablando un poco de usuarios, solo decir que el administrador del sistema
   es el usuario QSECOFR (en un  principio con la  misma contrase~a, pero como
   el AS es una maquina muy segura, al realizar la primera conexion nos obliga
   a cambiarla).


3. Encendido y apagado de la maquina
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Normalmente y  dado lo  que tarda un AS/400  en arrancar todo  el sistema y
   crear una IPL, el administrador programara la maquina para  que se encienda
   y  se apague a una  hora y unos dias  determinados, pero  nunca esta de mas
   saber como funciona el panel de botones que trae el equipo.

   Normalmente, a  no ser  una  maquina muy  antigua,  el  display  tendra  el
   siguiente aspecto:

                  --------
                 | 01 B N |
                  --------

   Y tendremos varios botones:
   - Un boton blanco mas grande que el resto
   - Un boton azul que pone INTRO
   - Dos botones negros con unas flechas (hacla arriba y hacia abajo)

   Pues si le damos a las flechas (botones negros)  veremos como en el display
   nos desaparece la B y la N (puede que en lugar de estas letras hayan otras)
   y  nos incrementara  o  decrementara el  numero,  dependiendo  de  si hemos
   pulsado la flecha hacia arriba o hacia abajo.
   Para aceptar un numero deberemos pulsar el boton azul (el de INTRO)  con lo
   cual se nos quedara ese numero y nos volveran a salir las  dos letras. Pues
   bien, si el numero que escogemos  es el 02 y  luego le volvemos a dar a las
   flechas, podremos cambiar las letras. Estas siguen el siguiente orden:

                                A N
                                B N
                                C N
                                D N
                                A M
                                B M
                                C M
                                D M

   Que  son  todas estas  letras?  La de  la  derecha (M  o N)  significa  que
   realizaremos  el arranque  o apagado en (N)ormal o (M)anual. El significado
   de  las letras de  la izquierda  es algo mas  complejo. La  letra D es para
   arrancar desde  unidad de  cinta o CDROM  (en ese orden). La  C no tengo ni
   idea :)  y en cuanto a la A y B ...
   Resulta que el AS/400 es una maquina inteligente y  cuando nosotros metemos
   unos  parches  de  algun programa (conocidos  como PTFs) podemos hacerlo de
   forma temporal  o definitiva.  Pues al  arrancar en modo B cargaremos todos
   los  parches y  si lo  hacemos en  modo A  cargaremos solo  los  que  esten
   aplicados de forma definitiva. Esto nos permite volver  a una actualizacion
   anterior de un programa en caso de que con esos parches el programador haya
   metido la pata (algo que suele pasar con frecuencia :)

   En cuanto a la forma manual o normal solo decir que cada vez que la maquina
   se arranca debe realizar una IPL. Si escogemos normal  se realiara de forma
   automatica. Si elegimos manual nos pedira una serie de valores a medida que
   va cargando  el sistema. Ademas,  en modo  manual nos  permite entrar en un
   menu  de configuracion  llamado 'Herramientas  de Servicio'  o  DST.  Estas
   herramientas  nos permiten  acceder a  la configuracion  de hardware  entre
   otras cosas.

   Resumiendo, normalmente arrancaremos la  maquina como '01 B N' para  que se
   cree la IPL automaticamente y la  apagaremos como '01 B M' ... porque la M?
   pues porque la estamos apagando de forma manual y eso hay que 'decirselo' a
   la  maquina.  Para  apagarla  desde  una  pantalla  o  un PC  deberemos ser
   administradores y escribir:
                PWRDWNSYS *IMMED
                      o
                PWRDWNSYS *CTLD
   donde:
        *IMMED = Inmediato (apagado rapido)
        *CTLD  = Controlado (apagado con chequeo)

   Y ahora la pregunta del millon ... por que he soltado todo este rollo?
   pues porque nos va a servir para el punto 5  :PP


4. Configuracion basica para la seguridad del 400
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   El AS/400  tiene varios  niveles de  seguridad:  10,  20, 30,  40  y en las
   maquinas mas modernas nivel 50. Por defecto  esta configurado como nivel 30
   o 40 y el significado de cada nivel es:

   Nivel 10 -> En  este nivel  la  palabra seguridad  no tiene ningun sentido.
               Cualquier  cosa que escribas como  usuario te sirve para entrar
               al sistema en modo privilegiado (tal y como ocurre en los S/36)

   Nivel 20 -> La seguridad del sistema se limita a validar a un usuario y una
               contrase~a  pero una  vez dentro todo el mundo tiene los mismos
               privilegios.

   Nivel 30 -> Aqui la palabra  seguridad ya comienza a tener algo de sentido.
               Ademas de necesitar  un usuario  valido para entrar al sistema,
               podremos asignar distintos privilegios entre los mismos.

   Nivel 40 -> A~adiendo lo  que permite el  nivel anterior, ademas la maquina
               actuara  de  forma  algo  mas  atenta  realizando  chequeos  de
               integridad y seguridad algo mas estrictos.

   Nivel 50 -> Este es  el nivel  paranoico. Ademas de lo que hace el nivel 40
               hay que a~adir  mucha mas  seguridad, chequeos,  restricciones,
               etc. No hace falta decir que  cuanto mayor es la  seguridad mas
               lento ira el sistema ...

   Independientemente del nivel de seguridad el administrador del sistema debe
   tener en cuenta  varios detalles antes de conectar su AS/400 a la red. Para
   configurar  los valores  del sistema  escribiremos  WRKSYSVAL (WoRK  SYStem
   VALues).

   NOTA: si  el nivel de  seguridad no  es muy alto, con un usuario normalillo
   podremos visualizar la configuracion aunque sin poderla modificar.

   Nos aparecera un  listado  con un  monton de valores a configurar entre los
   que cabe destacar:

   QMAXSIGN -> Numero  maximo  de  intentos nulos  antes de bloquear el acceso
               al sistema (normalmente configurado a 3 intentos).

   QMAXSGNACN -> Accion a  seguir por  el sistema  en caso  de que  el usuario
                 introduzca  la contrase~a mal  mas de X veces. Por defecto el
                 sistema deshabilita el dispositivo desde donde hayamos metido
                 mal el pass y ademas bloquea  el usuario lo cual es peligroso
                 si todos los de la empresa entran con el mismo usuario  :)
                 Hay  posibilidad  de  configurar  el  sistema  para  que solo
                 bloquee el dispositivo (con lo que el administrador te pilla)
                 o para que solo bloquee el usuario.

   QAUTOCFG -> Premite  configurar los  nuevos  dispositivos  automaticamente.
               Activando esta  opcion, si una pantalla o un PC (nuevos para el
               sistema) intentan  conectarse  al  400  les sera  permitida  la
               entrada y ademas se creara  un dispositivo  nuevo en el sistema
               correspondiente a  ese PC o pantalla. Por motivos de  seguridad
               es  mejor tener  que habilitar  los nuevos  dispositivos a mano
               pero como los administradores son  bastante vagos  suelen tener
               esto habilitado.

   QAUTOVRT -> Marca el numero de dispositivos virtuales que pueden conectarse
               Esto  sirve  para  el protocolo TCP/IP y delimita  el numero de
               maquinas que puede haber a la vez en el sistema.

   QPWDEXPITV -> Determina  el numero  de dias tras los cuales el usuario debe
                 cambiar la  contrase~a. En  niveles bajos  de seguridad viene
                 por defecto para que no pida nunca cambiarla.

   Ademas podremos ver/configurar los usuarios del sistema escribiendo:
   WRKUSRPRF (WoRK USeR PRoFiles) o CHGUSRPRF (CHanGE USeR PRoFiles).

   Editando  la informacion  de usuario  veremos si pertenece al grupo *SECOFR
   (administradores) o *USER (usuario normal).

   Otros comandos interesantes son:
        WRKDEVD -> Para ver los dispositivos creados en el sistema (pantallas,
                   PCs, impresoras, etc.
        WRKCTLD -> Para ver los controadores (locales o remotos) desde los que
                   cuelgan los dispositivos.
        WRKLIND -> Para ver las  lineas creadas  en el sistema, pro ejemplo la
                   ethernet.
        GO POWER -> Nos permite ver la planificacion de encendido y apagado de
                    la maquina.
        GO BACKUP -> Para ver la planificacion de las copias de seguridad.
        WRKJOBSCDE -> Para ver las tareas planificadas.
        WRKSPLF -> Para  acceder al  spool (siempre  es  interesante  ver  los
                   listados de los demas  :)
        PRTDEVADR ctlXX -> Para listar la  configuracion de  los  dispositivos
                           twinaxiales conectados al sistema (donde XX indican
                           el numero de controlador a  donde esta conectada la
                           zapata de bocas ... 01, 02, etc)
        WRKACTJOB -> Para ver los trabajos que estan ejecutandose (como  un PS
                     en Unix).
        WRKHDWRSC -> Para ver los recursos de hardware.
        GO LICPGM -> Para ver los programas que hay instalados en la maquina.


5. Puertas traseras
   ~~~~~~~~~~~~~~~~
   Supongo  que mucha  gente habra  venido directamente a leer este punto y se
   habra  saltado todo  el rollo .... pues  que  sepa  esa  gente  que  si  no
   entienden los puntos 2 y 3 esto no les servira de nada  :PP

   Bien, pues como todas las maquinas el 400 tambien tiene una (o mas)  puerta
   trasera. Si lo pensais, es algo logico, sino  como recuperarias un servidor
   del que has perdido la contrase~a del  administrador? Pues hay una forma de
   resetear  la  clave  del  administrador  y  volverla  a  poner  por defecto
   (recordar que el administrador es QSECOFR y su contrase~a por defecto es la
   misma).

   Para ello deberemos tener acceso fisico al servidor, arrancar la maquina en
   modo  manual (01 B M) y  antes de crear la IPL,  cuando nos aparece el menu
   escogeremos:
        opcion 3 (Herramientas DST)
                   - ponemos como user/pass: QSECOFR y QSECOFR
        opcion 5 (Trabajar con el entorno DST)
        opcion 3 (Perfiles de usuario DST)
        opcion 4 (Restaurar contrase~a del sistema por omision)
                   - pulsamos INTRO
                   - pulsamos F3
        opcion 1 (Efectuar IPL) -> para que arranque el sistema

   De  esta forma  cuando termine de  arrancar la maquina, podremos entrar con
   el usuario administrador  poniendo la  contrase~a por  defecto y  tendremos
   acceso total al servidor.

   NOTA: estas  opcines del  menu DST corresponden  a una  maquina con Sistema
   Operativo  version  V4R4. En  las versiones  mas antiguas  e incluso en  la
   reciente   V4R5  tambien   esta  permitido   resetear  la   contrase~a  del
   administrador pero aviso que las opciones del menu pueden variar.


6. Despedida
   ~~~~~~~~~
   Espero que  este articulo  haya servido  a alguien y que la gente que lo ha
   leido  lo haya  encontrado interesante. Mi  intencion era  no incluirlo  en
   este ezine dado que se me ha echado el tiempo  encima pero al final,  me he
   quitado unas cuantas horas de sue~o y lo he terminado a tiempo.

   Saludos a todo el TeaM de RareGaZz (a los actuales miembros, a  los nuevos,
   a los ya desaparecidos, a sus novias, mujeres, hijos, perros, incluso a los
   superjaquers  del IRC). Saludos  tambien a mis amigos de SET, en especial a
   NetBul  por haber conseguido  en Irlanda lo  que tanto tiempo buscamos  por
   aqui ... jodida telefonica!!! ... por cierto Net, a  mi tambien me  cayeron
   lagrimas al  ver la foto ...  snif ... lastima  no  haber  compartido  esos
   momentos de gloria ...

   Pues nada ... hasta otra  ;)

