Mostrando entradas con la etiqueta Redes. Mostrar todas las entradas
Mostrando entradas con la etiqueta Redes. Mostrar todas las entradas

Taller de redes #1


INTRODUCCIÓN

Este manual tiene como meta lograr enseñar los conceptos básicos sobre redes informáticas, pero la idea es que sea divertido y de amena lectura, analogías y chistes no faltarán para lograr el máximo entendimiento del mismo, sin dejar de lado los tecnicismos requeridos para la correcta comprensión del tema.

Por otra parte, el texto nace como una iniciativa de nuestra querida comunidad Underc0de hacia los usuarios más nuevos que recién inician su camino en este maravilloso mundo de la tecnología, para tratar de lograr darle los matices necesarios para comprender las toneladas de información que llenan nuestro foro.

Así, que sin más es  momento de comenzar.

1.- EN EL PRINCIPIO...

La comunicación siempre ha sido una necesidad de la humanidad, y podríamos aplicarle la definición que se nos dio desde que éramos niños, así que a grandes rasgos la comunicación es:


"La acción en la que dos o más sujetos (emisor y receptor) a través de algún tipo de canal intercambian información e ideas utilizando un código (lenguaje) en común."

Podríamos complicarnos la existencia y llenar media página con mucho más conceptos, pero esa no es la idea de "Underc0de", así que a partir de aquí esta es la definición que usaremos para ilustrarnos y es la que será citada a medida que avanza el manual.

En épocas pretéritas la comunicación solo necesitaba conocer la lengua (código)  de otra persona que hiciera de interlocutor, pues como se imaginarán hablar solo no tiene mucho sentido (risas). Pero como la humanidad  jamás deja de evolucionar, comenzamos a notar que solo podíamos comunicarnos con personas cercanas a nosotros y únicamente en el momento en que estábamos con esas personas; notamos así  que estábamos limitados por "el tiempo" y "el espacio";  y simplemente no podíamos dejarlo así.

1.1- Más allá del tiempo

Al darnos cuenta de que nuestras ideas no perduraban más allá de la muerte, buscamos de forma intensa algún método que nos permitiera vencer el tiempo; y fue entonces que  nació la escritura (hace más de 10.000 años) permitiéndonos dejar una huella que trasciende el tiempo. 

1.2- Más allá del espacio

Esta es la parte realmente interesante, esto es,  cuando descubrimos como lograr comunicarnos superando distancias considerables. Al principio fueron señales de humo que lograban transmitir mensajes completos de una atalaya a otra, y allá por el 1940 se produjo la primera transmisión de información por medios eléctricos/electrónicos, circunstancias que marcaron el inicio de la comunicación usando la tecnología;   en ese preciso instante fue cuando se vislumbró lo que hoy día es: "una red informática."


2.- REDES INFORMÁTICAS




Después de los duros inicios -y aproximadamente a mediados de la década de los ’60- comienzan a aparecer las primeras computadoras que usan la red telefónica para compartir archivos usando un modem, se cuenta que en los inicios las velocidades eran poco más de 1200 bps y las últimas conexiones por Dial-up alcanzaban la vertiginosa y asombrosa velocidad de ¡56 kbps! Si pasas de 28 años es muy probable que hayas tenido un modem de esos en tu casa, ¿recuerdan ese mágico sonido de dos máquinas negociando una conexión...? (se asoman lagrimas a mis ojos); pues con la llegada de las redes informáticas nos llegó una puerta a horizontes magníficos y nunca antes imaginados.


2.1- CÓMO FUNCIONA “ESO” DE LAS REDES INFORMÁTICAS

Al igual que en la antigüedad, hoy día necesitamos comunicarnos a través de los continentes y de los mares de una forma segura y confiable, y para ello necesitamos varios elementos:

a.- Una plataforma/infraestructura.

Necesitamos todo un conjunto de dispositivos que funcionen en un orden común, tarjetas de red, routers, modems, switches, cables, etc... Todos funcionan dentro de algún estándar previamente establecido.

b.- Hace falta un conjunto de reglas que estructuren la comunicación.

Si alguien de habla inglesa intenta entablar una conversación con alguien de su misma lengua lo más seguro es que no tendrán ningún problema para entenderse y el resultado será una comunicación exitosa, pero se imaginan alguien de habla hispana intentando entablar una conversación con alguien de nacionalidad rusa (creo que ni por señales de humo podrían comunicarse).

Dentro de las redes informáticas lo ideal es que todo el mundo hable el mismo idioma lo cual asegura la correcta comunicación.


2.2- TIPOS DE REDES

Las redes pueden clasificarse por varios factores, pero en esta entrega solo abordaremos dos:

a.- Tamaño.

De acuerdo a su tamaño las redes pueden ser:

I.-   Pequeñas (< 200 computadoras)
II.-  Medianas (200 - 1000 computadoras)
III.- Grandes (> 1000 computadoras)

b.- Topología.

I.-   LAN  (Red área local, esas cableadas que tenemos en nuestros hogares).
II.- WLAN (Red área local inalámbricas, son la tendencia ya que todos los modems hogareños vienen habilitados para servir conexión inalámbrica).

Existen más topologías, algo complejas, pero recuerden que esto es plato de entrada y la idea es no complicarnos ya que queremos darles los matices de cómo funcionan las redes, así que, sigan conmigo.


2.3.- ¿QUE “IDIOMA” SE HABLA EN LAS REDES DE COMPUTADORAS?


Pues al igual que en todo tipo de comunicación, aquí necesitamos un “idioma” común para que nuestras computadoras puedan comunicarse unas con otras y en el mundo de las redes ese idioma tiene un nombre, se llama "TCP/IP".  Cuenta la leyenda que fue diseñado por Vinton Cerf y Robert Khan en 1972, lo que significa que mientras nuestros padres estaban ocupados enamorándose y todo eso, estos señores estaban desarrollando algo que cambiaria al mundo por completo... y lo lograron.

2.3.1.- ¿CÓMO FUNCIONA TCP/IP?

Definir al señor TCP/IP como una sola cosa creo sería un error, así que considero mas idóneo decir que: "Es un conjunto de reglas y normas de funcionamiento que hacen posible la comunicación eficaz entre máquinas de una red"; podría dar una definición mas técnica y quizás mas compleja pero vuelvo y repito: esa no es la idea de este material, así que les propongo un ejercicio mental, vamos a contar una historia y les explico el resto luego.

"La carta"

"Hoy en la mañana me decidí enviarle una carta a mi madre que vive en Canadá, así que tome papel y escribí mi carta. Al terminarla la puse en un sobre y la deposité en el buzón del correo de mi ciudad. Pero resulta que los empleados que organizan los envíos en la oficina de correo me devolvieron mi carta por no haber especificado la dirección de destino, yo mismo quede sorprendido con mi nivel de estupidez y también triste porque al final mi carta no pudo llegar"

Muy bien, esa fue mi pequeña historia de cómo una carta no llegó a su destino, ahora surge la pregunta obvia: 

"¿Por qué no llego mi carta?"

Respuesta: No llego porque no le puse la dirección de destino.

Bien, en el mundo de las redes necesitamos especificar a quién le queremos hacer llegar las cartas (de aquí en adelante paquetes), y la forma favorita del señor TCP/IP es que los paquetes tengan una dirección de destino especificada, de lo contrario no llegara exitosamente a su destino y es así como aparece algo muy mencionado por estos rumbos: "las direcciones IP"

2.3.1.1 ¿QUÉ ES UNA DIRECCION IP?

"Pues una dirección IP es un conjunto de números por el que se puede especificar una red ó un ordenador dentro de esa misma red" es la forma en la que el gordo señor TCP/IP identifica destinos. Mientras que en la vida humana las direcciones constan de ciudad, sector, calle y número de casa; las máquinas no pueden entender de esas cosas, así que aquí las direcciones son de la siguiente forma:

192.168.1.1
172.16.1.1
10.0.0.1

2.3.2.- ¿CÓMO ES EL CAMINO DE LOS PAQUETES?


Bien, ya el señor TCP/IP sabe el destino de los paquetes, ahora surge la interrogante de cómo hacerlos llegar a su destino y aquí otra divertida historia:

"El señor Rutenio trabaja ordenando las cartas en la oficina de correo local. Todos los días va laboriosamente a su trabajo que consiste en ordenar los envíos de acuerdo a su [dirección de destino] y simplemente lo hace leyendo los sobres de las cartas, él nunca sabe el contenido, solamente se limita a leer los sobres para ordenar correctamente la correspondencia. De esa forma las cartas que van a Alemania se ponen en la caja de Alemania, las que van para Canadá en la caja de Canadá, y así sucesivamente, hasta el final del día cuando regresa a su casa a descansar."

Pues como se habrán dado cuenta gracias a "la dirección" el señor Rutenio puede determinar hacia dónde enviar cada carta;  y así mismo es lo que ocurre en el mundo de las redes.

El Router (familiar cercano del señor Rutenio) busca en cada paquete una dirección IP de destino que indique hacia donde enviar dicho paquete, pero quizás más de uno se esté preguntando: "ok Cloudswx, pero qué es eso del paquete".

2.3.2.1.- QUÉ ES UN PAQUETE

No sé, estoy pensando en si debo describirlo o es mejor contar una historia; la verdad me encantan las historias y también me encanta la tecnología, así que para mí no hay nada mejor que explicar la tecnología con una buena historia, vayamos a ella.

"En un día soleado de mi ciudad decidí abordar el bus que lleva al Centro de la ciudad, cuando de repente la tierra comenzó a temblar y el cielo se oscureció. Todos los que íbamos a bordo nos asustamos bastante y decidimos salir corriendo del bus, pero cuál fue la sorpresa al darnos cuenta de que no podíamos salir todos al mismo tiempo (por lo angosto de la puerta). En medio de la desesperación, un señor regordete llamado TCP/IP nos dijo que resultaría mejor si nos poníamos en turno y salíamos uno a uno. La sugerencia fue genial, ya que pudimos resolver nuestro terrible problema dado que el terremoto estaba por destruir nuestro bus"




Ufff, me salvé de suerte y gracias a TCP/IP, pues en las redes los paquetes no pueden pasar todos al mismo tiempo, por ser poco ideal y poco preciso; por esto la información se corta en trocitos más pequeños llamados paquetes, que toman turnos para salir a navegar a la red. 

Si en este momento estás oyendo música online y al mismo tiempo estas navegando podría parecer que lo haces todo al mismo tiempo, pero siento defraudarte al decirte que es una ilusión del mundo de las máquinas (esto es Matrix). Realmente tu red alterna tu conexión entre la música y tu navegación, pero lo hace tan rápido que no lo percibes, y a este fenómeno se le conoce como "multiplexación."


2.3.3.- ¿DE QUÉ ESTA HECHO EL CAMINO DE LOS PAQUETES?


Pues cada vez mas estamos comprendiendo al señor TCP/IP, ya sabemos que es una dirección IP, que es un paquete y como se encamina o enruta hasta su destino, pero un momento... 

Todavía no sabemos de que esta hecho el camino de nuestros paquetes...

Tampoco sabemos cuántas veces debe transformar su naturaleza nuestro paquete para viajar por esos caminos, así que vamos a explicar (esta vez sin historias, vamos a ponernos serios).

Como expliqué anteriormente las comunicaciones en el mundo digital tienen un alfabeto muy singular y limitado, basado en "unos" y "ceros"; pero no se confundan, esa simpleza también lo hace muy sencillo y cómodo de transmitir y de interpretar, así que vamos a hacer unos cuantos ejercicios mentales para asimilar el concepto:

1 =  ruido             voltaje                           luz               
0 = silencio     ausencia de voltaje        oscuridad


Ahora sabiendo esto, imaginemos que debemos encontrar la forma de transmitir "unos" y "ceros" por medio de un cable de cobre. Simplemente podemos asignar un valor de voltaje como "1" y la ausencia de este sería "0" y en el otro extremo, nuestro receptor está al tanto de la forma en que debe interpretar los cambios, pues ¡ya está! A grandes rasgos esa es la forma en que se transmiten los paquetes por un cable de cobre.

Ahora imaginemos que debemos hacerlo usando la luz... Ummmm.... Interesante, pues el comportamiento es el mismo: asignamos el "1" a un pulso de luz y el "0" a la oscuridad y ¡ya está! Así se transmiten los paquetes por una fibra óptica.

Y si tuviéramos que hacerlo usando los modems antiguos (lágrimas a mis ojos nuevamente) usaríamos una secuencia de ruidos y silencios para interpretar "1" y "0"

Así que podríamos decir que el camino de nuestros paquetes puede estar hecho de cualquier cosa, siempre y cuando logremos asignar estados para nuestros "unos" y nuestros "ceros". Cada vez que la humanidad encuentra una nueva forma de transmitir se crea un estándar


3.- PROTOCOLOS DE LAS REDES INFORMATICAS

Como escribí anteriormente, para la correcta comunicación es necesaria una serie de mecanismos y normas que definan y le den sentido a la forma en que las máquinas se saludan y se hablan, pero... un momento... 

¿Cómo es eso de que las máquinas se saludan?

Pues sí, las máquinas se saludan antes de establecer una conexión, y es así porque el señor TCP/IP es muy educado y antes de iniciar el envío de paquetes debe estar seguro que del otro lado alguien los está esperando; además debe establecer la velocidad a la que van a hablar y varias cosas más, y todo esto se logra con una serie de saludos que consisten en 3 pasos:

El emisor saluda con un:

-"Hola que tal, ¿cómo estás? ¿Podría enviarte algunos paquetes?" (SYN)

Y el receptor responde:

-"Ok, recibí tu saludo y estoy totalmente de acuerdo" (SYN-ACK)

A lo que el emisor finaliza diciendo:

-"Ok entonces, aquí van mis paquetes"  (ACK)


Así es como se establece una conexión entre dos dispositivos de una red.


3.1 LOS HIJOS DEL SEÑOR TCP/IP

El señor TCP/IP tienes dos hijos, uno es un tanto rebelde y descuidado pero muy veloz; mientras que el otro, es muy dedicado y atento a los detalles, vamos a conocerles después de explicar lo siguiente.

Las redes deben ser confiables y no me refiero a su seguridad, me refiero a que deben proporcionar mecanismos para asegurar la transmisión de los "unos y los "ceros”, así pues debe existir un acuse de recibo por cada paquete enviado (o por cada grupo de estos) y esa es la norma establecido por el señor gordo, pero veamos cómo son sus hijos y cómo funciona cada uno de ellos.




a.- TCP

Lleva casi el mismo nombre de su padre y sus iniciales significan "Transmission Control Protocol" y él es muy estricto en cuanto a las normas de su padre: él envía los paquetes de forma normal, pero exige un acuse de recibo por cada paquete y si no lo recibe no envía el siguiente paquete sino que reenvía el mismo hasta confirmar que el paquete fue entregado. Es muy confiable y preciso pero es lento ya que debe procesar cada paquete y esperar un acuse de recibo antes de enviar el siguiente.

b.- UDP

Es el hijo menor de TCP y no se preocupa mucho por esas cosas de asegurar cada paquete, no le importa, su único objetivo es enviar todos los paquetes de la forma más rápida posible sin preocuparse sobre si fueron recibidos o no. No es confiable ni preciso, pero es mucho más rápido que su hermano.


Podríamos preguntarnos entonces: "¿Y para qué necesitaría usar al rebelde de UDP?"  La respuesta depende mucho de nuestras necesidades, ya que por ejemplo, una descarga desde Internet necesita completarse con todos los paquetes, no se puede perder ninguno, de lo contrario la descarga seria en vano, y en este caso se usa TCP; pero si en lugar de eso necesitamos ver video online, escuchar música en línea y esas cosas... lo que más importante es la rapidez y no importa si se pierde un paquete (un milisegundo de música, un pixel menos en pantalla, etc...) en este último caso se utiliza UDP.

   
Creo que esta sencillo y claro, ¿no?


Esta historia continuará...
            
¡Hasta la próxima!


Versión PDF                                                                                                       Visítanos en Underc0de




IVRE: herramienta de reconocimiento de redes


Cuando escuchamos hablar de reconocimiento de redes usualmente se hace referencia a esa temprana etapa en un ataque en que un cibercriminal comienza una comunicación con los equipos de la red para recolectar información sobre ellos y develar las vulnerabilidades del sistema. 
La otra cara de esta historia es la utilización de estas técnicas en manos de profesionales de la seguridad informática dentro de un proceso de pentesting de redes para hallar puntos débiles en el sistema y solucionar las fallas antes de que caigan en manos de atacantes, creando una asociación entre el reconocimiento y la defensa de nuestros activos informáticos.

Realizando frecuentes exploraciones masivas de red

Cuando un ataque de reconocimiento proviene de redes exteriores al propio entorno corporativo, la detección y mitigación se vuelve un proceso centrado en la configuración de sistemas IPS y firewalls. Por el contrario, cuando este se origina en un equipo infectado dentro del perímetro de la red, la detección se torna un poco más complicada. La habilidad para detectar este tipo de tráfico constituye un punto de inflexión en sistemas de seguridad y se basa en la previa comprensión del tráfico que se genera dentro del perímetro. Comprensión que en parte puede formarse con la previa realización de reconocimientos internos.
Con esto en mente, la visibilidad del tráfico en los terminales de trabajo es de suma importancia para identificar este tipo de comportamiento: el sistema de seguridad podrá entonces reportar información que normalmente no está disponible en partes centrales del diseño de red.
El reconocimiento de redes es una potente herramienta para la administración y el mantenimiento de estas. Entre otras cosas, nos permite analizar el comportamiento de la red, identificar configuraciones extrañas en los equipos que en ella se encuentran y evaluar posibles vulnerabilidades en los sistemas organizacionales.
Más aun, el reconocimiento de la propia red brinda soporte a dos etapas esenciales en toda evaluación de riesgo. Una de ellas es la identificación de los recursos disponibles en la organización, los que pueden llegar a discrepar de aquellos presentados en el diseño original debido a una mala documentación de los cambios en la red.
Sobre la lista de recursos luego se deberá evaluar cuáles se corresponden a funcionalidad vital para la continuidad del negocio, determinando el nivel de seguridad que se espera de ellos. Algunos recursos pueden llevar datos sensibles de la compañía mientras que otros aplican controles de acceso y por tanto plantean diferentes escenarios de compromiso.
Lo que nos conduce a la siguiente etapa: la identificación de las amenazas. La materialización de cualquier riesgo en contingencia podría desencadenar en pérdida o robo de datos e interrupción del servicio con enormes pérdidas monetarias.

Herramientas flexibles para exploraciones rápidas

En este contexto surge IVRE: una herramienta que brinda soporte a procesos de reconocimiento. Su nombre proviene del francés Instrument de Veille sur les Réseaux Extérieurs, o «intrumento de vigilancia en redes exteriores», en español. Como su nombre lo anticipa, esta aplicación fue pensada para redes externas, pero bien puede ser utilizada dentro de los límites de la propia red.
IVRE se construye sobre otras aplicaciones de análisis de paquetes. Entre ellas, p0fBroNmap,ZmapTesseract y MongoDB. Con base en los escaneos de puertos realizados por Nmap o los eventos capturados por Bro cuando este se implementa como sistema IDS, IVRE construye una base de datos histórica que luego puede ser sondeada a través de numerosos filtros.
Además de gráficos sobre la distribución de direcciones IP, podemos utilizar bases de datos de locaciones geográficas para observar la ubicación estimada del dispositivo. GeoLite proporciona binarios gratuitos que nos permiten realizar este tipo de comparaciones, generando un mapa planisferio para obtener una vista mucho más gráfica.
La principal ventaja de este tipo de aplicaciones reside en la capacidad de analizar de manera rápida e intuitiva grandes cantidades de datos para perfilar fácilmente el tráfico de red, pudiendo enlazar diferentes dispositivos de maneras tal vez desconocidas por los administradores de red y ofreciendo una interfaz de usuario versátil para otras herramientas de escaneos masivos de redes.

Utilizando IVRE para el análisis de malware

Dejando atrás el reconocimiento activo o pasivo de redes con fines defensivos o de pentesting, esta herramienta nos permite analizar capturas previas de tráfico simplemente utilizando Bro o p0f de manera conjunta con los scripts de reconocimiento pasivo proporcionados. Podemos pasar como parámetro el archivo de captura en particular, o bien utilizar aplicativos como tcpreplay para reproducir estos paquetes nuevamente en las interfaces de red monitoreadas.
IVRE incorpora scripts en Python capaces de sondear la base de datos de manera sencilla y rápida. Con esto podemos acceder a las mismas prestaciones de filtrado y análisis de paquetes aplicados  al descubrimiento de equipos involucrados en canales C&C y mecanismos de infección.
Para conocer más sobre esta herramienta puedes dirigirte a la documentación del autor.
Fuente: welivesecurity.com

Conseguir acceso a router CISCO mediante fuerza bruta.


Pues husmeando con mi propio servicio me dio por probar que tan bien configurada estaba la cosa del lado del ISP que me proporciona el servicio, y la verdad me sorprendi mucho con la flojera que ciertos administradores de red configuran los accesos, valiendose simplemente de un password realmente debil y nada mas, por lo que me dejaron entrar por Telnet de la forma mas sencilla FUERZA BRUTA!!. Posteriormente lo reporte al departamento y me sorprendi de la amabilidad del tecnico que me tomo el reporte, el mismo dia me di cuenta que lo habian solucionado y como punto positivo me decidi a compartir como hacerlo y posteriormente a como evitarlo, aunque esta vez lo hare de forma virtual ya que el acceso real no existe mas (al menos para mi).

Primero la parte aburrida...

A estas alturas la mayoria de nosotros domina los conceptos basicos, pero por si las moscas aqui vamos a definir algunos conceptos valiendonos de Wikipedia.

¿Que es Telnet?

Citar
Telnet (Teletype Network1 ) es el nombre de un protocolo de red que nos permite viajar a otra máquina para manejarla remotamente como si estuviéramos sentados delante de ella.

¿Que es fuerza bruta?

Citar
Se denomina ataque de fuerza bruta a la forma de recuperar una clave probando todas las combinaciones posibles hasta encontrar aquella que permite el acceso.

¿Que significa un acceso remoto?

En informática, se considera administración remota a la funcionalidad de algunos programas que permiten realizar ciertos tipos de acciones desde un equipo local y que las mismas se ejecuten en otro equipo remoto.

Definidos los conceptos anteriores creo que nos queda super claro lo que vamos a hacer, asi que manos a la obra.

Conociendo la red.

Primero vamos a dejar claro que estas pruebas fueron hechas totalmente de forma virtualizada con GNS3 y una maquina virtual corriendo Kali Linux, asi que asumiré que saben como configurar todo y me saltare el Setting de las mismas.

Normalmente accedemos a internet a travez de un pequeño router instalado en nuestras casas, pero ese router pequeñito no tiene la capacidad de enrutar nuestros paquetes al gran Internet, asi que mas bien se los manda a un Router mas grande que tienes mas capacidad de routing, y es asi como nuestro Default Gateway tiene otro Default Gateway mayor que es realmente quien nos conecta al mundo (es posible que este segundo se los mande a otro aun mas mayor "Backbone Router"). Asi que nuestra red exibe la siguiente topologia:


En un entorno normal se habilitan los acceso remotos a los routers por necesidad de administrarlos de forma remota, lo que significa que cualquiera con un cliente que gestione las conexiones y sabiendo de antemano el password podría entrar a la configuración de los mismos, y una vez dentro todo es posible. En este caso vamos a realizar el post atacando a un router CISCO que hace de Gateway para nuestro router local, en la ilustración es el que llama ISP_Gateway.

Entorno

Host: Kali Linux, dirección IP asignada por DHCP
Victima: ISP_Gateway (Router CISCO), dirección WAN 192.168.11.2
Herramientas: crunch, CAT (Cisco Auditing Tool) y un poco de tiempo.
Entorno de pruebas: 100% Virtual, por lo cual tanto los diccionarios, como el pass solo funcionan para este caso. (Ya que por cuestiones de tiempo creare un diccionario corto para un password muy debil)

Pues ya sentados y con las cabezas frías lo primero es probar la conectividad a nuestro Default_Gateway y para ello bastaría con hacer ping a la dirección del mismo:

ping 10.0.0.1

Con lo cual obtendríamos algo parecido a esto:


Luego a la interfaz WAN de nuestro Default_Gateway:

ping 192.168.1.1

así conseguiríamos esto:


Cabe aclarar que para la prueba estoy utilizando bloques de direcciones privadas, ya que por error no quisiera apuntar mis pruebas a ningún host real en el espacio publico.

Bien, ahora vamos a confirmar la conectividad con la interfaz WAN del ISP_Gateway haciendo ping a la misma:

ping 192.168.11.2

Y se vería así:


Muy bien realizado esto, ya estamos seguros de que la conectividad esta funcionando al 100% asi que vamos a comprobar que si tiene telnet habilitado:

Código: [Seleccionar]
telnet 192.168.11.2

Y si nos responde con un lindo mensaje de bienvenida como este:


Entonces esta habilitado. (Fijense en texto del warning...)

Comprobado todo entonces vamos, manos a la obra!!

Afinando nuestras hachas.

Cuando se trata de hacer fuerza bruta muchas personas prefieren descargar diccionarios muy pesados desde Internet, en mi caso particular me gusta mas generar mis propios diccionarios de acuerdo al perfil del objetivo y también por puras vainas mías, esto
es relativo a cada cual, asi que mi primer paso es generar el diccionario usando Crunch, lo hacemos con el siguiente comando:

Código: [Seleccionar]
crunch 5 5 123456789 -o brake_Cisco.txt

5 5 ----> Significa la longitud del password expresado de menor a mayor.
-o  ----> Es el argumento para especificar que queremos guardar la salida en un archivo .txt
brake_Cisco.txt ----> Es el nombre del archivo, le pueden poner el nombre que mas les guste.

Lo cual nos deja algo como esto:


Talando el árbol.

Una vez ya tenemos todo en su lugar solo nos queda atacar, y para esto usaremos una herramienta incluida en Kali Linux que se llama CAT (Cisco Auditing Tool), algo que hay que tener claro es que es posible usar cualquier otra herramienta para fuerza bruta tales como hydra, medusa, jhonn, etc... En esta ocasión utilice esta ya que ademas permite averiguar cosas como la versión de IOS que corre, así como mas información interesante, también es bueno saber que el comando se escribe en mayúscula para que el sistema pueda diferenciar "CAT" de "cat" ya que este ultimo es una herramienta nativa de sistemas GNU para concatenar y comparar valores.

Así que en la consola escribimos el comando:

Código: [Seleccionar]
CAT -h 192.168.11.2 -a brake_Cisco.txt

-h ----> Especifica la dirección del host al que lanzamos el ataque
-a ----> Indica que tenemos un diccionario con el que queremos hacer fuerza bruta. (si no especificamos un diccionario entonces CAT usara un diccionario por defecto que trae de forma nativa)

Y si el password esta en nuestro diccionario, entonces VOILA!!!!

Y una vez sabemos el password valido solo nos queda entrar:


¿Pero como evitarlo?
Pues las medidas que se recomiendan para mitigar un poco los ataques de fuerza bruta son casi siempre los mismos:

<> Limitar el numero de intentos de login, asi como el temporizador para admitir nuevos intentos de login (para esto es necesario activar SSH en las lineas telnet)

<> Crear ACL (Acces List) que eviten la conexión de host no deseados, esto sumamente sencillo de hacer y el beneficio es enorme.

<> Se podría configurar un servidor RADIUS para la autenticacion del acceso.

Y fin!!

Si existen mas medidas de seguridad pueden hacer sugerencias, saludos y abrazos a todos mis hermanos de underc0de y hasta la próxima.

VLSM (Variable Lenght Subnet Mask) ¿Que es y como se come?


Pues en el mundo de las redes informaticas las cosas tienen que llegar desde "A" hasta "B" de la forma mas eficaz posible, y no aplica el postulados de la Geometría Euclidiana que dice:

"La forma mas fácil para llegar desde A hasta B es una linea recta"


Para cumplir esa misión los paquetes necesitan de enrutamiento (Routing), tarea que llevan a cabo los enrutadores (Routers) gracias a los protocolos de enrutamiento (Routing Protocols). La verdad no pretendo complicarles la vida explicando cada proceso en las diferentes capas del modelo OSI ya que la idea del material es abordar VLSM, simplemente se explica por ser necesario mas adelante.

ENRUTAMIENTO CON CLASE Y ENRUTAMIENTO SIN CLASE.

Las direcciones IP estan divididas en privadas y publicas y estas a su vez en  clases de acuerdo al valor de su primer octeto, asi:


Como bien dice el post de Expermicid cito textualmente:

Citar
Las direcciones IP están compuestas por 32 bits divididos en 4 octetos de 8 bits cada uno. A su vez, un bit o una secuencia de bits determinan la Clase a la que pertenece esa dirección IP.
Cada clase de una dirección de red determina una máscara por defecto, un rango IP, cantidad de redes y de hosts por red.

Podría decirse que la clase de una dirección de red determina su mascara de subred y por ende las direcciones de los host en la red. En el principio del networking cuando IPv4 estaba en pañales jamas se penso que podrian agotarse las direcciones ip, y los sabios de la epoca crearon los protocolos de enrutamiento (recuerdan esas palabras marrones de mas arriba?) para que basándose en los primeros bits de la dirección IP pudieran definir de forma automática la mascara de red. En ese entonces y a primera todo tiene mucho sentido, pero cuando comenzaron a agotarse las direcciones IPv4 se dieron cuenta que habia un desperdicio enorme de direcciones cuando se asignaban direcciones de red con clases, por ejemplo:

Una dirección 172.16.0.0 en binario se vería así:

1 0 1 0 1 1 0 0 . 0 0 0 1 0 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0

Y en el enrutamiento con clase de forma automática se asignarían los primeros 16 bit a la parte de RED y el resto a la parte de HOST, con lo que quedaria asi:

1 0 1 0 1 1 0 0 . 0 0 0 1 0 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0

Y aqui los listos levantan la mano y preguntan:

¿Pero y cual es el desperdicio en darle esa direccion a una empresa / entidad / institucion?

Pues vamos a imaginar que la ISP asigna este bloque de direcciones a una empresa mediana con 900 equipos finales (telefonos IP, impresoras de red, servidores, etc...)

Vamos a calcular la cantidad de hosts que puede albergar esa direccion (espero se hayan leido el material de Expercimid):

La cantidad de host es = 2^n - 2, siendo "n" el numero de bits en la dirección que pertenecen a host y en nuestro ejemplo tenemos 16 bits de host, así:

                             2 ^ n - 2
                          = 2 ^ 16 - 2
                          = 65,536 - 2
                          = 65,534 direcciones utilizables versus 900 host
                          = 64,634 desperdiciadas
                             :o  :o  :o  :o

Ahora imaginemos que la empresa abre una nueva sucursal y necesita direccionamiento para 150 host, la ISP podria proporcionar un nuevo bloque de direcciones, pero debido al agotamiento muy dificilmente lo haga, asi que el administrador de la red debera hacer uso de su arma secreta para redistribuir de forma mas eficiente el mismo bloque de direcciones proporcionado y eso es la tecnica de SUBNETEO (Subneting) explicada por Expercimid.

Y esto tiene dos consecuencias:

a) Los protocolos de enrutamiento mas recientes (recuerdan) no se llevan muy bien con el direccionamiento con clase.

b)Cuando se hace subneting en direccionamiento con clase todas las subredes resultantes tendrán la misma cantidad de host:

SUBRED 0



Max. Hosts    = 32766  (2^15 - 2)
Desperdicio   = 32766 - 900 = 31,866 direcciones
                     
SUBRED 1



Max. Hosts    = 32766   (2^15 - 2)
Desperdicio   = 32766 - 150 = 32,616 direcciones

Y ahora.... Justo ahora es cuando entra en función VLSM
(Por mas que intente no dar preámbulos al final lo hice)  :-\

¿QUE ES VLSM?

Para evitar el desperdicio de direccion IPv4 en el año de 1993  la IETF (Internet Engineering Task Force) introdujo CIDR (Classless Inter-Domain Routing ) que trajo como una de las mejoras principales VLSM (Variable Lenght Subnet Mask) Sub-mascara de red con longitud variable, suena complicado pero no lo es...

VLSM es "Tomar una sub-red y dividirla nuevamente cuantas veces sea necesario de acuerdo a las necesidades de la red"

Vamos a cumplir con las mismas necesidades anteriores y con los mismos recursos pero esta vez usando VLSM:

RED 0


Max. Hosts    = 1022   (2^10 - 2)
Desperdicio   = 1022 - 900 = 122 direcciones

RED 1


Max. Hosts    = 254   (2^8 - 2)
Desperdicio   = 254 - 150 = 104 direcciones

Lo que también significa que tendremos 64 subredes para soportar mayores demandas de la red en cuanto a direccionamiento, pero ¿Como que tenemos 64 subredes mas? Pues pasamos de tener 16 bits para la red a tener 22 en la mayor de las subredes:

22 - 16 = 6 bit de RED

Red = 2^n
        = 2^6
        = 64

Parece sencillo pero no lo es...

Túnel IPv6 sobre IPv4


Primero que nada definamos lo que es un túnel:

Wikipedia:

Cita:
Se conoce como túnel o tunneling a la técnica que consiste en encapsular un protocolo de red sobre otro (protocolo de red encapsulador) creando un túnel de información dentro de una red de computadoras. La técnica de tunelizar se suele utilizar para trasportar un protocolo determinado a través de una red que, en condiciones normales, no lo aceptaría. Otro uso de la tunelización de protocolos es la creación de diversos tipos de redes privadas virtuales.

En el siguiente aporte se va a detallar como hacer para crear un Túnel de IPv6 sobre IPv4, mediante la web https://tunnelbroker.net/ que nos provee Hurricane Electric.


Hurricane Electric además ofrece una certificación de IPv6 como lo menciona Cl0udswX aquí

Vayamos a lo nuestro.

Creación de una cuenta

El requerimiento para poder crear el túnel es estar registrado en la web. Por lo tanto el primer paso es registrarse. Nos va a pedir datos personales como el usuario, nuestro nombre, un mail, el lugar donde vivimos y un teléfono.
Si no ha habido ningún problema nos mostrará el siguiente mensaje:

Cita:
You have successfully registered for Hurricane Electric's free IPv6 tunnelbroker service.
Your account information should be arriving in your email (xxxxxxxxxxxxxx@gmail.com) shortly.

If you have not received your account information within the next few hours, please contact us at ipv6@he.net and include your username in the email.

Y recibiremos en un mail la contraseña.

Creando el túnel

Ya con nuestro usuario y contraseña nos logueamos.
En la parte centrar habrá un panel con las últimas noticias sobre actualizaciones y mantenimiento que se vayan produciendo en los túneles que ofrecen.
Del lado derecho podrán encontrar un conjunto de links sobre temas importantes
Y del lado izquierdo aparecerá un menú sobre la cuenta, que nos permitirá modificar los datos personales anteriormente ingresados y desloguearnos. Y abajo un menú de funciones de usuario, con las opciones Crear túnel regular, Crear túnel BGP y Escáner de puertos para IPv6. En nuestro caso vamos a centrarnos en “Crear túnel regular”.


Para la creación del túnel nos pide los siguientes datos:
  • IPv4, colocamos nuestra IP pública, que es la que nos especifica en el punto de abajo. En caso de colocar alguna IP errónea nos lanza una advertencia con la descripción del problema.
  • Servidor de túnel, tenemos la posibilidad de elegir de una lista amplia de servidores disponibles en diferentes lugares de Asia, Europa y América del Norte.
    
Cada uno elige según le convenga o le guste.
Y por último presionamos Crear Túnel.

Nuevamente si todo fue correcto se nos dirigirá a un nueva pantalla en donde en un primer plano vemos los datos del túnel creado.


Configuración del túnel

Por el momento solo hemos creado el túnel, ahora es necesario configurarlo en nuestra computadora.
La misma página, si ponemos en la solapa “Ejemplo de configuración” nos da la posibilidad de elegir nuestro sistema operativo y proveernos los comandos o pasos necesarios.


Por ejemplo para el caso de Windows no da una serie de comando para poner en consola. Para Ubuntu/Debian te da una serie de linear para agregar al archivo /etc/network/interface.

Testeando el túnel

Para testear nuestra conectividad vamos  a usar la página  http://test-ipv6.com/


Autor: Expermicid