-[ 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 pequeño 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 pequeño 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 pequeña 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-