-[ 0x0F ]--------------------------------------------------------------------
-[ Cisco 2500 - X25 Bouncer ]------------------------------------------------
-[ by NewJack ]-------------------------------------------------------SET-22-



				-------------
				 CISCO 2500
				-------------
				     THE
				 X25-BOUNCER
				-------------
				     POR
				   NEWJACK
				-------------




-------------------------------------------------
nasa> show version

Cisco Internetwork Operating System Software 
IOS (tm) 3000 Software (IGS-IN-L), Version 10.3(11), RELEASE SOFTWARE (fc1)
Copyright (c) 1986-1996 by cisco Systems, Inc.
Compiled Wed 24-Apr-96 15:22 by dschwart
Image text-base: 0x0301E6E0, data-base: 0x00001000

ROM: System Bootstrap, Version 5.2(8a), RELEASE SOFTWARE
ROM: 3000 Bootstrap Software (IGS-RXBOOT), Version 10.2(8a), RELEASE SOFTWARE (fc1)

nasa uptime is 2 weeks, 1 day, 51 minutes
System restarted by power-on at 06:07:31 UTC Mon Nov 16 1998
System image file is "flash:igs-in-l.103-11", booted via flash

cisco 2500 (68030) processor (revision L) with 6144K/2048K bytes of memory.
Processor board serial number 03041608
Bridging software.
X.25 software, Version 2.0, NET2, BFE and GOSIP compliant.
Primary Rate ISDN software, Version 1.0.
1 Ethernet/IEEE 802.3 interface.
2 Serial network interfaces.
32K bytes of non-volatile configuration memory.
8192K bytes of processor board System flash (Read ONLY)
Configuration register is 0x2102
-------------------------------------------------



nasa> [ INTRODUCCION ]


Como todos sabreis Cisco Systems, Inc. es el mayor fabricante mundial de
routers, seguro que estais cansados de encontraros con ellos en todas partes.

Pero seguro que muy pocos de vosotros habeis manejado uno, y muchos menos aun 
habeis manejado uno situado en una red X25.

No es que los routers de cisco sean maquinas excesivamente utiles, pero 
acostumbrados a los unix de toda la vida o a los nuevos y torpes NTs, siempre 
resulta interesante cambiar un poco de mentalidad y hackear una de estas 
maquinitas.

La mayoria de los modelos son muy similares y muchos los comandos son comunes 
entre ellos, sin embargo me voy a centrar en el modelo 2500, que es uno de
los routers mas habituales en mis redes favoritas, las X25.



nasa> [ HABITUANDONOS AL SISTEMA ]


La primera vez que entramos en un cisco 2500 siempre se siente una sensacion
agradable, la de entrar en una maquina potente y versatil.

-------------------------------------------------
nasa> pad XXXXXXX

Trying XXXXXXX...Open


User Access Verification

Password: 

newjack>
-------------------------------------------------

El sistema de comandos es el habitual, un pequeo prompt esperando ansioso 
nuestras ordenes.

Para ir haciendonos con el entorno empezaremos con el tipico comando:

-------------------------------------------------
newjack> ?

Exec commands:
  <1-99>           Session number to resume
  connect          Open a terminal connection
  disable          Turn off privileged commands
  disconnect       Disconnect an existing network connection
  enable           Turn on privileged commands
  exit             Exit from the EXEC
  help             Description of the interactive help system
  lock             Lock the terminal
  login            Log in as a particular user
  logout           Exit from the EXEC
  mrinfo           Request neighbor and version information from a multicast router
  mstat            Show statistics after multiple multicast traceroutes
  mtrace           Trace reverse multicast path from destination to source
  name-connection  Name an existing network connection
  pad              Open a X.29 PAD connection
  ping             Send echo messages
  ppp              Start IETF Point-to-Point Protocol (PPP)
  resume           Resume an active network connection
  rlogin           Open an rlogin connection
  show             Show running system information
  slip             Start Serial-line IP (SLIP)
  systat           Display information about terminal lines
  telnet           Open a telnet connection
  terminal         Set terminal line parameters
  traceroute       Trace route to destination
  tunnel           Open a tunnel connection
  where            List active connections
  x3               Set X.3 parameters on PAD
-------------------------------------------------

Parece complejo, sin embargo como veremos luego no lo es tanto.

Ahora veamos un poco de informacion sobre el sistema en el que estamos:

-------------------------------------------------
newjack> show ?
  
  clock     Display the system clock
  history   Display the session command history
  hosts     IP domain-name, lookup style, nameservers, and host table
  ppp       PPP parameters and statistics
  sessions  Information about Telnet connections
  snmp      snmp statistics
  terminal  Display terminal configuration parameters
  users     Display information about terminal lines
  version   System hardware and software status
-------------------------------------------------

Aqui tenemos mucha informacion, la mayoria no nos sera util por ahora.

-------------------------------------------------
newjack> show version

Cisco Internetwork Operating System Software 
IOS (tm) 3000 Software (IGS-IN-L), Version 10.2(7), RELEASE SOFTWARE (fc1)
Copyright (c) 1986-1995 by cisco Systems, Inc.
Compiled Thu 06-Jul-95 00:45 by rchiao
Image text-base: 0x0301BBAC, data-base: 0x00001000

ROM: System Bootstrap, Version 11.0(10c), SOFTWARE
ROM: 3000 Bootstrap Software (IGS-BOOT-R), Version 11.0(10c), RELEASE SOFTWARE (fc1)

newjack uptime is 19 weeks, 2 days, 3 hours, 3 minutes
System restarted by power-on at 04:06:05 UTC Sun Jul 19 1998
System image file is "flash:igs-in-l.102-7", booted via flash

cisco 2500 (68030) processor (revision F) with 8188K/2048K bytes of memory.
Processor board serial number 04814917
X.25 software, Version 2.0, NET2, BFE and GOSIP compliant.
Authorized for Enterprise software set.  (0x0)
1 Ethernet/IEEE 802.3 interface.
2 Serial network interfaces.
32K bytes of non-volatile configuration memory.
8192K bytes of processor board System flash (Read ONLY)

Configuration register is 0x2102
-------------------------------------------------

Un poco de informacion sobre la maquina en la que estamos...

-------------------------------------------------
newjack> show terminal

Line 2, Location: "", Type: ""
Length: 24 lines, Width: 80 columns
Baud rate (TX/RX) is 9600/9600
Status: Ready, Active, No Exit Banner
Capabilities: none
Modem state: Ready
Special Chars: Escape  Hold  Stop  Start  Disconnect  Activation
                ^^x    none   -     -       none         
Timeouts:      Idle EXEC    Idle Session   Modem Answer  Session   Dispatch
               0:10:00        never                        none     not set
Session limit is not set.
Time since activation: never
Editing is enabled.
History is enabled, history size is 10.
Full user help is disabled
Allowed transports are pad telnet rlogin.  Preferred is telnet.
No output characters are padded
No special data dispatching characters
-------------------------------------------------

Un poco de informacion sobre como esta configurada, y los "allowed
transports" un detalle muy importante.

-------------------------------------------------
newjack> show users

    Line     User      Host(s)               Idle Location
*  2 vty 0             idle                     0 XXXXXXX 
-------------------------------------------------

Vemos si hay alguien mas con nosotros. Parece que no, estamos nosotros
solos, ademas podemos ver nuestra direccion de origen XXXXXXX.

-------------------------------------------------
newjack> show hosts

Default domain is not set
Name/address lookup uses domain service
Name servers are 255.255.255.255

Host                     Flags      Age Type   Address(es)
NASA1                   (perm, OK) **   IP      14.3.6.29
NASA2                   (perm, OK) **   IP      14.3.6.23
NASA88                  (perm, OK) **   IP      14.3.6.25
-------------------------------------------------

Un poco de informacion sobre maquinas a las que podemos acceder. Lo que
parece debajo de 'Host' es el mnemonico de cada maquina, podemos acceder a
ella mediante su ip o su mnemonico.

Ya conocemos un poco mas nuestro cisco, ahora habra que empezar a sacarle
partido.



nasa> [ USANDO EL SISTEMA ]


Un router por si solo no tiene demasiada utilidad a menos que pretendamos
echar una red abajo, cosa muy alejada de nuestros objetivos.

El verdadero valor de un router es su capacidad de comunicacion, sobre todo
en 2 sentidos:
-Nos servira como pasarela a la red interna, si nuestro objetivo es ese.
-Nos servira de pasarela ante otras maquinas de las redes en las que se
encuentre, bien para ocultar nuestro origen, o bien para acceder a redes a
las que no teniamos acceso (muy util a la hora de ir botando de una red x25
a otra por todo el planeta...)

En internet es sencillo encontrar alguna maquina que nos sirva de proxy,
bien un wingate, bien un proxy socks, bien un unix mal configurado... pero
en x25 encontrar un buena infraestructura para ocultar tu direccion de
origen no es tan sencillo. Por eso disponer de maquinas como estas para ir
saltando de una a otra es extremadamente util.

Ademas si tenemos la suerte de que el router se encuentre conectado a dos
redes diferentes nos servira de pasarela entre ambas, por ejemplo de
internet a x25, de x25 a internet, o si tiene modems a cualquier red a la
que se pueda acceder mediante una llamada...

Veamos ahora los comandos que nos permitiran comunicarnos con otras
maquinas.

newjack> CONNECT => Nos conecta con la direccion indicada, este comando
tiene una relativa inteligencia y distinguira si lo que le hemos pasado es
una ip, un nua, un mnemonico, etc... decidiendo entre cual es el protocolo
mas adecuado a usar.

Es el comando por defecto, si en el prompt introducimos una ip, un nua o un
mnemonico obtendremos la misma respuesta que se realizamos un 'connect' a
esa misma direccion.

newjack> PAD => Este es uno de los comandos valiosos, sirve para establecer
comunicaciones x25. El parametro que recibe es el nua al que queremos
conectarnos, bien con prefijo o sin prefijo dependiendo de la red en la que
estemos.

Si el router no permite salir mediante x25, si lo permite pero esta mal
configurado o si simplemente no tiene enlaces x25 al emplear este comando
recibiremos la siguiente respuesta:

-------------------------------------------------
TASA-AR> pad 3106
X.25 is not available.
-------------------------------------------------

newjack> TELNET => El clasico telnet sobre tcp/ip. Normalmente sera el
protocolo de comunicacion por defecto. 

newjack> RLOGIN => El tambien clasico rlogin sobre tcp/ip. Si tenemos suerte
y dentro de la red interna hay maquinas unix, no sera raro que algunas de
ellas tengan al cisco en sus hosts.equiv o rhosts.

newjack> SLIP y PPP => Inician una conexion en estos protocolos. 



nasa> [ MODIFICANDO EL SISTEMA ]


Pero las sorpresas no acaba aqui, no lo he mencionado, pero todo este tiempo
hemos estado trabajando en el modo no privilegiado del router. Existe un
segundo nivel con mas opciones que ademas nos permite modificar la
configuracion del router y tener acceso a opciones antes no visibles.

La forma de acceder a este segundo nivel es mediante la orden enable, y
necesitaremos un segundo password, normalmente diferente del que usamos para
entrar a la maquina.

-------------------------------------------------
newjack> enable

Password:

newjack#
-------------------------------------------------

h0h0h0, somos root! :)

Para volver al nivel no privilegiado simplemente usariamos el comando
disable.

Veamos los nuevos comandos de que disponemos:

-------------------------------------------------
newjack# ?

Exec commands:
  <1-99>           Session number to resume
  bfe              For manual emergency modes setting
  clear            Reset functions
  clock            Manage the system clock
  configure        Enter configuration mode
  connect          Open a terminal connection
  copy             Copy a config file to or from a tftp server
  debug            Debugging functions (see also 'undebug')
  disable          Turn off privileged commands
  disconnect       Disconnect an existing network connection
  enable           Turn on privileged commands
  erase            Erase Flash memory
  exit             Exit from the EXEC
  help             Description of the interactive help system
  lock             Lock the terminal
  login            Log in as a particular user
  logout           Exit from the EXEC
  name-connection  Name an existing network connection
  no               Disable debugging functions
  pad              Open a X.29 PAD connection
  ping             Send echo messages
  ppp              Start IETF Point-to-Point Protocol (PPP)
  reload           Halt and perform a cold restart
  resume           Resume an active network connection
  send             Send a message to other tty lines
  setup            Run the SETUP command facility
  show             Show running system information
  slip             Start Serial-line IP (SLIP)
  systat           Display information about terminal lines
  telnet           Open a telnet connection
  terminal         Set terminal line parameters
  test             Test subsystems, memory, and interfaces
  tn3270           Open a tn3270 connection
  trace            Trace route to destination
  undebug          Disable debugging functions (see also 'debug')
  verify           Verify checksum of a Flash file
  where            List active connections
  write            Write running configuration to memory, network, or terminal
  x3               Set X.3 parameters on PAD
-------------------------------------------------

Muy interesante. Ahora veamos que nueva informacion podemos obtener.

-------------------------------------------------
newjack# show ?

  access-expression  List access expression
  access-lists       List access lists
  appletalk          AppleTalk information
  arp                ARP table
  async              Information on terminal lines used as router interfaces
  bridge             Bridge forwarding database
  buffers            Buffer pool statistics
  clock              Display the system clock
  cmns               Connection-Mode networking services (CMNS) information
  compress           Show compression stats.
  configuration      Contents of Non-Volatile memory
  controllers        Interface controller status
  debugging          State of each debugging option
  decnet             DECnet information
  dialer             Dialer parameters and statistics
  dnsix              Shows Dnsix/DMDP information
  flash              System Flash information
  flh-log            Flash Load Helper log buffer
  frame-relay        Frame-Relay information
  history            Display the session command history
  hosts              IP domain-name, lookup style, nameservers, and host table
  interfaces         Interface status and configuration
  ip                 IP information
  ipx                Novell IPX information
  line               TTY line information
  llc2               IBM LLC2 circuit information
  lnm                IBM LAN manager
  local-ack          Local Acknowledgement virtual circuits
  logging            Show the contents of logging buffers
  memory             Memory statistics
  netbios-cache      NetBIOS name cache contents
  ntp                Network time protocol
  processes          Active process statistics
  protocols          Active network routing protocols
  queueing           Show queueing configuration
  registry           Function registration information
  rif                RIF cache entries
  route-map          route-map information
  sdllc              Display sdlc - llc2 conversion information
  sessions           Information about Telnet connections
  source-bridge      Source-bridge parameters and statistics
  spanning-tree      Spanning tree topology
  stacks             Process stack utilization
  standby            Hot standby protocol information
  stun               STUN status and configuration
  subsystem          List subsystems
  tcp                Status of TCP connections
  terminal           Display terminal configuration parameters
  users              Display information about terminal lines
  version            System hardware and software status
  x25                X.25 information
-------------------------------------------------

wow! demasiada informacion de golpe, aunque la mayoria no nos interesa,
ademas los valores normalmente son los valores por defecto, raramente todas 
las posibilidades del router estan aprovechadas.

Si quereis echarle un vistazo a alguna opcion sois libres pero la mayor parte
de ellas estan en blanco o con los valores por defecto.

Aun asi, no podemos irnos sin mirar un par de cosas:

-------------------------------------------------
newjack# show configuration 

Using 615 out of 32762 bytes
!
version 10.3
service udp-small-servers
service tcp-small-servers
!
hostname TROLL
!
enable password cisco
!
!
interface Ethernet0
 ip address 192.111.125.145 255.255.255.240
!
interface Serial0
 ip address 192.111.125.115 255.255.255.240
 encapsulation x25
 x25 address 2312266
 x25 htc 1
 x25 idle 60
 x25 map ip 192.111.125.113 2471105
!
interface Serial1
 no ip address
 shutdown
!
ip host dcp 192.111.125.113
ip host dcpch 192.111.125.98
ip host cms 192.111.125.97
ip route 192.111.125.96 255.255.255.240 192.111.125.113
!
line con 0
line aux 0
 transport input all
line vty 0 4
 password cisco
 login
!
end
-------------------------------------------------

Aqui tenemos la configuracion completa del router, incluyendo interfaces,
passwords, etc...

Conociendo esto practicamente no necesitamos recurrir a ningun otro comando
para saber como funciona el router.

En este caso los passwords estan sin encriptar, en el caso de que esten
encriptados podemos usar el facilmente localizable ciscocrack.c o
ciscocrack.sh para desencriptar los passwords.

Aqui teneis un pequeo extracto de un fichero de configuracion con passwords
encriptados:

-------------------------------------------------
nasa88# show configuration

Using 1188 out of 32762 bytes
!
! Last configuration change at 11:34:20 UTC Mon Oct 26 1998
! NVRAM config last updated at 11:34:23 UTC Mon Oct 26 1998
!
version 10.2
service timestamps log datetime
service password-encryption
!
hostname nasa88
!
enable secret 5 $1$7lEQ$YmdJxZoyYuxUcnHRTaMR71
enable password 7 13061E010803
!
ipx routing 0000.0000.0488
x25 routing
!
interface Ethernet0
[...]
-------------------------------------------------

Y antes de continuar el ultimo show interesante:

-------------------------------------------------
newjack# show protocols

Global values:
  Internet Protocol routing is enabled
  Ethernet0 is up, line protocol is up
  Internet address is 192.111.125.145 255.255.255.240
  Serial0 is up, line protocol is up
  Internet address is 192.111.125.115 255.255.255.240
  Serial1 is administratively down, line protocol is down
-------------------------------------------------

Aqui tenemos los distintos protocolos de comunicacion soportados y algunos
datos de interes como direcciones, y si estan dados de alta o no.

Toda esta informacion esta contenida ya en el fichero de configuracion, pero
como vereis mas tarde sera de mucha utilidad, ya que solo es posible hacer
un 'show configuration' siendo usuario privilegiado.

Para terminar una pequea introduccion al comando terminal:

-------------------------------------------------
newjack> terminal ?

  autohangup              Automatically hangup when last connection closes
  data-character-bits     Size of characters being handled
  databits                Set number of data bits per character
  dispatch-character      Define the dispatch character
  dispatch-timeout        Set the dispatch timer
  download                Put line into 'download' mode
  editing                 Enable command line editing
  escape-character        Change the current line's escape character
  exec-character-bits     Size of characters to the command exec
  flowcontrol             Set the flow control
  full-help               Provide help to unprivileged user
  help                    Description of the interactive help system
  history                 Enable and control the command history function
  hold-character          Define the hold character
  ip                      IP options
  length                  Set number of lines on a screen
  no                      Negate a command or set its defaults
  notify                  Inform users of output from concurrent sessions
  padding                 Set padding for a specified output character
  parity                  Set terminal parity
  rxspeed                 Set the receive speed
  special-character-bits  Size of the escape (and other special) characters
  speed                   Set the transmit and receive speeds
  start-character         Define the start character
  stop-character          Define the stop character
  stopbits                Set async line stop bits
  telnet                  Telnet protocol-specific configuration
  terminal-type           Set the terminal type
  transport               Define transport protocols for line
  txspeed                 Set the transmit speeds
  width                   Set width of the display terminal
-------------------------------------------------

Desde aqui podeis jugar un poco con las configuraciones de la conexion,
sobre todo es interesante cambiar el caracter de escape: 

-------------------------------------------------
newjack> terminal escape-character ^X  
-------------------------------------------------



nasa> [ ALGUNOS TRUCOS ]


Veamos ahora algunos trucos:

-------------------------------------------------
newjack> sh term
show terminal

Line 2, Location: "", Type: ""
Length: 24 lines, Width: 80 columns
Baud rate (TX/RX) is 9600/9600
Status: Ready, Active, No Exit Banner
Capabilities: none
[...]
-------------------------------------------------

No es necesario teclear el comando completo el propio cisco se encarga de
completarlo si tecleamos solo las primeras letras de cada parameto.

-------------------------------------------------
newjack> show configuration

                  ^
% Invalid input detected at '^' marker.

newjack> show protocols

Global values:
  Internet Protocol routing is enabled
  Ethernet0 is up, line protocol is up
  Internet address is 192.111.125.145 255.255.255.240
  Serial0 is up, line protocol is up
  Internet address is 192.111.125.115 255.255.255.240
  Serial1 is administratively down, line protocol is down
-------------------------------------------------

Vaya! siendo usuarios no privilegiados si hacemos 'show ?' no nos aparece
la opcion 'protocols' sin embargo podemos hacer 'show protocols' sin problemas
de privilegios. Esta informacion nos sera muy util para el segundo truco.

Este truco se aplica tambien a otros parametros de show, aunque siendo 
usuarios no privilegiados al hacer un 'show ?' aparezcan muy pocas opciones 
sin necesidad de conseguir mas privilegios podemos consultar la mayoria de
parametros del menu ampliado que aparece tras usar la orden enable.

-------------------------------------------------
newjack> show protocols

Global values:
  Internet Protocol routing is enabled
  Novell routing is enabled
  Async1 is down, line protocol is down
   Internet address is 0.0.0.0/0
[...]
  Loopback0 is up, line protocol is up
   Internet address is 12.12.12.12/8
   Novell address is AAAAAAAA.0000.30e2.c8e2
  Serial0 is administratively down, line
  TokenRing0 is up, line protocol is up
   Internet address is 88.88.88.88/24
   Novell address is C69B59.0000.30e2.c8e2

newjack> telnet 88.88.88.88 2001
Trying 88.88.88.88, 2001 ... Open

User Access Verification

Password:
Password OK
at
OK
-------------------------------------------------

Si el router tiene modems, podemos usarlos. Normalmente estaran en puertos a
partir del 2000, normalmente el 2001 o el 2002.

Ademas normalmente no necesitaremos ser usuarios privilegiados para poder
usar los modems...



nasa> [ DESPEDIDA Y CIERRE ]


Bueno muchachos, esto ha sido todo por hoy, espero que la lectura de este
texto os haya aportado algo, o por lo menos os haya descubierto alguna
oculta opcion de aquel cisco que tenias abandonado desde hace tanto
tiempo, y del que apenas os acordabais...



				-NEWJACK-
