Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - Cl0udswX

#1
Saludos comunidad que siempre quiero, siempre ando buscando formas de compartir conocimiento y hace un tiempo pase del material escrito (sip en underc0de hay muchas cositas mias) a exponerme en video y mostrar de una forma más practica como hacerlo así que en esta ocasión les quiero compartir contenido relaciona a Local File Inclusion o #LFI que es una #vulnerabilidad que permite saltar de un directorio a otro y ver los ficheros que se encuentran en él, este ataque es mejor conocido como #PathTraversal o #DirectoryTraversal.



Un atacante podría mediante esta #vulnerabilidad encontrar información valiosa que pudiese serle util para conseguir acceso a un sistema o servidor, y dada su sencillez y su gran impacto es uno de los vectores más utilizados (o al menos de los que más se intentan) al iniciar cualquier prueba de penetración. El origen de esta vulnerabilidad viene dada a una mala programación de la aplicación, es decir vulnerabilidad en el código al aceptar una entrada del navegador como una ruta valida sin depurarla previamente con algún tipo de condición que evite ciertos strings en particulares. Esta vulnerabilidad se conoce comúnmente como #LFI y el ataque como #PathTraversal.
#2
Presentaciones y cumpleaños / Hola de nuevo...
Octubre 03, 2017, 09:51:12 PM
Saludos y abrazos a los que me recuerdan y a los que no he tenido el placer de conocer un inmenso hola...

Espero aportar y aprender cada dia un poco mas...
#3
Saludos,

Antes que nada vengo a romper el famoso mito de que los moderadores globales no podemos preguntar nada, ya que de alguna forma se supone que los sabemos todo (a saber de donde a salido tal rumor), asi que como dice el titulo esta es mi duda:

Mi laptop tiene Debian 8, y el gestor de energia que se supone debe "gestionar la energia" solo sirve para poner el equipo en reposo por inactividad, controlar el brillo de la pantalla y otros aspectos del hardware. Sucede que cuando la bateria se esta descargando cerca de un 10% restante no me sale ningun tipo de notificacion para avisarme de la situacion (el usuario no debe estar atento a esas cosas, para eso tenemos un sistema operativo) y cuando llega a 0% sin mas ni mas y como es de esperarse simplemente se apaga (me conformaria con que se ponga en modo hibernacion).

Asi que el problema es doble:

1.- No me avisa cuando tiene un porcentaje critico de bateria.
2.- Cuando llega a 0% se apaga, y deberia ponerse a hibernar.

La pregunta es la siguiente:

Conocen algun gestor de energia alternativo que hayan probado y que de la talla?
Algun gestor que no sea el nativo de Debian 8?

Aca dejo las especificaciones del equipo:


Saludos.
#4



Saludos herman@s de underc0de, en vista de que ultimamente hemos visto la llegada de Fluxion (sucesor de Linset) me he decidido a recopilar todos los buenos post de la seccion "Seguridad Wireless" referentes al tema, asi que sin mas aqui se los dejo:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Esto es todo por ahora, a medida que sigan llegando mas material seguire actualizando el post.

Saludos.
#5
Buscando por la red encontre esta pagina muy buena con retos de programacion en los mas populares lenguajes de la actualidad, especificamente quiero compartirle estos de bash para los distintos niveles que los participantes puedan tener, se las comparto para los interesados en aprender de una forma sencilla y divertida.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Hay muchos retos mas, pueden navegar y seleccionar tambien los que mas les parezcan.


Saludos.
#6
GNU/Linux / Contenedores Docker for dummies.
Mayo 26, 2016, 08:30:08 PM
Introducción

Saludos queridos underc0ders, primero aclarar que lo "dummy" esta en el sentido cariñoso de la palabra, ya que yo no soy ningún experto en la materia, simplemente me ha tocado unos trainings en el área y que mejor forma de reforzar lo aprendiendo que enseñando. En esta ocacion quiero presentarles un post que considero necesario, ya que en muchos ambientes se suele hablar de contenedores, de Docker, se suelen usar conceptos como "desplegar aplicaciones" ó "entrega de aplicaciones en un entorno funcional" y muchas veces creo que no todo el mundo sabe y conoce del tema en realidad, asi que por eso decidi escribir sobre el tema en mi estilo sencillo y "funcional".

¿Que es un contenedor Linux?


Para definirlo de forma sencilla digamos que es un espacio donde se empaquetan las aplicaciones junto con todo lo que necesitan para funcionar de forma correcta, sin necesidad de instalar mas cosas (dependencias, librerias, plugins, etc..)

Supongamos que Juan Luis Guerra (pudo haber sido cualquier otro, pero como soy dominicano...) hace conciertos de ciudad en ciudad, y en cada ciudad los técnicos deben instalar las luces, el sonido y los instrumentos musicales, en algunos casos deben solicitar cosas extras para poder funcionar de forma correcta, esto es asi en la vida real, y la logística resulta un poco compleja.

Ahora supongamos que de alguna forma los técnicos logran empaquetar las luces, el sonido y los instrumentos musicales en un contenedor gigante, en el que solamente se debe pinchar un botón para que todo se despliegue sin mas complicaciones, no seria esto mas sencillo?

Pues básicamente esto es lo que hace un contenedor, virtualizar una aplicación a nivel del sistema operativo.

Ventajas de los contenedores:

Potabilidad
Es posible desplegar la misma aplicación en diferentes entornos de sistemas Linux de forma rápida y precisa

Viajar ligero.
Por razones que explicare mas adelante, se daran cuenta que un contenedor es mucho mas ligero que una VM, tanto en el aspecto del procesamiento, como del almacenamiento.

Autosuficiencia.
Podemos desplegar aplicaciones libres del tedio de tener que instalar cualquier dependencia, librería ó plugin necesario para el buen funcionamiento de la misma.

Supongamos que elijo 10 sistemas al azar entre todos los underc0ders, para instalar linset. Me descargo el tarball, descomprimo, compilo, doy permisos y ejecuto... Lo mas seguro es que consiga algo como esto:


Y en cada sistema me faltarían distintas cosas, quizás podría crearme un script para que después de analizar las herramientas faltantes las instale por si mismo, pero hay cosas que no serán iguales de un sistema a otro (repositorios, manejador de paquetes, conexiones, etc...) con lo cual no creo que llegue a instalar linset en mas de 4 equipos.

Ahora imaginen que previamente empaqueto linset con todas las herramientas que necesita para funcionar en un contenedor, y que posterior a eso me voy a cada equipo con el contenedor, desplegando asi de forma sencilla y eficaz esta aplicación. Seria mas sencillo no?

¿Que es Docker?


Vamos a wikipedia:

Docker es un proyecto de código abierto que automatiza el despliegue de aplicaciones dentro de contenedores de software.

Con lo cual podriamos deducir que docker es el software con el que se gestionan los contenedores, es el motor que actua entre las aplicaciones y el sistema operativo.

Las principales partes de Docker son:

1.- El demonio Docker: Usado para manejar los contenedores en el sistema host.
2.- La CLI (Command Line Interface) de Docker: Aqui es donde nos comunicamos con los demonios Docker que manejan los contenedores
3.- Indice de imagenes Docker: Es un repositorio publico ó privado para imagenes docker


Los principales componentes de Docker son:

1.- Contenedores Docker:

Realmente esto no es mas que un directorio donde se empaqueta todo lo necesario para desplegar una aplicación en cualquier otro sistema que sea necesario. El único requerimiento necesario para desplegar un contenedores es tener instalado en el sistema anfitrion el software que gestiona dichos contenedores, en este caso Docker.

La magica oculta detras de esta increible tecnologia se consigue gracias a los LXC (Linux Containers).


Según wikipedia:

LXC (Linux Containers) es una tecnología de virtualización en el nivel de sistema operativo (SO) para Linux.


Dicho de otra forma podríamos decir que es un conjunto de características que aprovechan directamente el kernel de un sistema operativo y eso le permite manejar aplicaciones asi como los recursos que consumen dentro de un único entorno virtualizado. (Trato de simplificarlo, creanme...)

Características de un contenedor:

Que permiten?

- Potabilidad
-Aislamiento de procesos
-Evitan modificaciones externas
-Administración directa en el consumo de los recursos

Que NO permiten?

-Interferir a otros procesos
-Infierno de dependencias (cuando un paquete de software depende una libreria ó de otro paquete que no funciona con la version que estamos instalando)
-No son vulnerables de ataques a nivel de aplicación.
-No pueden abusar en el consumo de los recursos del sistema.

2.- Los docker_images:

Esto es la base sobre la que se construye un contenedor, es un sistema de archivos sazonados con los parametros correctos para que una aplicacion pueda funcionar dentro de dicho contenedor, podriamos imaginarlo como un sistema base linux, construido de una forma en la que ya no es posible actualizarlo ni modificarlo.

3.- Y los Dockerfiles: Son scripts que automatizan el proceso de construir, mantener y manejar una Docker_image.


Ok filosoforaptor, tranquilo, a continuacion explicare en que se diferencian.

Diferencias entre un contenedor y una maquina virtual?

Digamos que tienen dos diferencias basicas muy marcadas:

1.- Los contenedores ocupan menos espacio en disco.
2.- Funcionan mas rapido que una maquina virtual.

La razon?

Vamos a mirar con detenimiento esta imagen:


Como podemos ver en la imagen, el funcionamiento de la app1, app2 y app3 se apoya en sus propios binarios y librerias, lo que a su vez necesita correr sobre algun sistema operativo, de esa forma cuando virtualizamos un sistema operativo es necesario que algo haga de "falsificador" y le haga creer al sistema operativo que esta corriendo sobre un hardware real, y es ahi cuando necesitamos el hypervisor para que cumpla con su funcion. Asi tenemos una app y sus binarios+librerias corriendo sobre un SO, que a su vez corre sobre el hypervisor.

Todo lo anterior se traduce en mas recursos consumidos (almacenamiento y procesamiento) con lo cual para desplegar una aplicacion deberiamos migrar todo el sistema operativo.

En la otra esquina esta el esquema de los contenedores, y como podemos ver se elimina la necesidad de tener un SO funcionando sobre un hypervisor, mas bien tenemos que las aplicaciones se basan en sus binarios y librerias y estas sobre el motor de Docker, y ya..!!!

So Simple..!!


¿Como instalar Docker?

Hare la instalacion tomando como distro de referencia a Debian, ya que es la que tengo en mi portatil.

Primero agregamos la llave para el repositorio:

Código: php
sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D


Luego  abrimos el /etc/apt/sources.list.d/docker.list con nuestro editor favorito, en mi caso "nano" (de no existir el archivo entonces sera creado)

Código: php
sudo nano /etc/apt/sources.list.d/docker.list


Y dentro del fichero agregar las lineas de acuerdo a la version que corresponda:

Debian Wheezy
deb No tienes permitido ver los links. Registrarse o Entrar a mi cuenta debian-wheezy main

Debian Jessie
deb No tienes permitido ver los links. Registrarse o Entrar a mi cuenta debian-jessie main

Debian Stretch/Sid
deb No tienes permitido ver los links. Registrarse o Entrar a mi cuenta debian-stretch main


Ahora damos un update a la lista de paquetes:

Código: php
sudo apt-get update


Cabe aclarar que para poder usar los repositorios de Docker es necesario que APT trabaje con https y certificados CA, de conseguir algun error al hacer un update seria necesario instalar:

Código: php
apt-get install apt-transport-https ca-certificates

Si todo va bien ya solo tendriamos que hacer un:

[code]sudo apt-get install docker-engine

Y conseguiriamos una pantalla como esta:

[center][img width=481 height=400]http://fotos.subefotos.com/1370bf73703de455693d26105d1df3e2o.png[/img]

Bueno seria una pantalla parecida, ya que dudo que alguno de ustedes tenga a Rust Cohle (True detective) como fondo en su terminal  ;D

Y al aceptar iniciaría todo el proceso de instalación de la tecnología docker, luego de instalado iniciamos el demonio:

[code]sudo service docker start


Verificamos la instalacion con un amistoso:

Código: php
sudo docker run hello-world


y conseguiriamos algo asi:



Y con eso mi trabajo estaria listo por ahora, quizas mas adelante les preparare algo mas ambicioso, pero vayan masticando algo y practicando por su cuenta un poco.

Les dejo algunos enlaces de interés referentes a los contenedores.

Documentos Docker
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Entrenamiento oficial
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#7
Saludos hermanos.



Desde hace un tiempo publique No tienes permitido ver los links. Registrarse o Entrar a mi cuenta de un material en el que se trataba de explicar de forma sencilla cómo funcionan las redes inalámbricas partiendo desde el cero absoluto, tambien deje la intención de que escribiría una segunda parte explicando cada uno de los estándares 802.11 de forma detallada y clara, asi que aqui esta la segunda parte dejando saber desde ahora que me queda una 3era y última entrega del material, la cual sera publicada a mediados del próximo mes. Así que espero les sea de provecho a más de uno y pueda ser de mucha utilidad para cualquiera que se interese por estos temas.

Como siempre saludos inmensos a todo el staff de esta inmensa comunidad en la que todos tratamos de aportar nuestro granito de arena, sobre todo saludos a cada uno de los usuarios que forman parte de underc0de ya que para ellos es que se hacen estas cosas.


ANTES QUE NADA... ¿QUE ES UN ESTÁNDAR?

Vamos a darle un poco de cultura al texto,

La palabra estándar proviene del inglés "Standard", que a su vez se originó en el francés "standort", palabra integrada por "stand" que significa parado, y "ort" = lugar alto, que es donde los francos colocaban su bandera para que no la tomarán los enemigos en la época de las invasiones bárbaras. Este también es el origen del vocablo estandarte.

Así estandar pasó a significar un modelo, norma, regla o patrón a seguir, en referencia a esa bandera que guiaba a los ejércitos.
Fijan pautas mínimas a lo que se deben ajustar las conductas o productos para ser eficaces, positivos, útiles o confiables.

Los estándares son construcciones culturales, efectuadas por quienes poseen autoridad ética, técnica, teórica o científica

Dicho esto es lógico pensar que en un mundo tan diversificado con tantos fabricantes es más que necesario que alguien defina una norma común para el desarrollo de las diferentes áreas del ámbito tecnológico, y es así como la IEEE (Instituto de Ingenieros Eléctricos y Electrónicos) definió las comunicaciones inalámbricas para una WLAN en una familia de estándares mejor conocido como 802.11, de las cuales vamos a intentar explicar de la forma mas clara posible a continuación.

QUE ES UNA TRAMA 802.11

Pues si tuviéramos que decirlo de una forma difícil podríamos decir que es el saco ó la forma en la que se manejan los datos en la capa 2 (Enlace de datos) y la capa 1 (Física) del modelo de interconexiones creado por ISO.

Pero dicho asi me pareceria que este texto no seria fiel a mi ideal de "escribir claro" así que lo definire de una forma un poco mas sencilla:

Una trama es la forma en que la que se empaquetan los datos para ser transmitidas por un medio, una trama que se transmita por un cable físico sera una trama ethernet 802.3 y una trama que se transmita por un medio inalámbrico será una trama 802.11.


La idea del concepto "empaquetar" no es mas que tomar los datos y meterlos en paquetes con información necesaria para su correcta transmisión y recepción, para su control y para que exista cierto orden en el universo de las comunicaciones.

Que tal si hacemos un loco ejercicio mental para ilustrarnos mejor:

Quiero que piensen en una cafetería muy especial, una en la que ordenas la bebida enviando un globo con tu orden dentro
y que del mismo modo te envían la bebida en un globo mágico lleno de lo que hayas ordenado (a mi particularmente me gusta el cafe) asi que pongo en un trozo de papel la palabra "café" y en asunto de segundos un globo cargado de rico café vuela hacia mi mesa, el asunto es que en mi mesa estoy acompañado de alguien que también ha ordenado café, pero este lo pidió descafeinado, así que vienen flotando hacia nosotros dos globos llenos de café y he aquí el problema:

¿Como sabemos cual es el globo de cada cual?

Pues a sabiendas de que no podemos averiguarlo probando, los ejecutivos de la cafetería se han puesto de acuerdo en agregar unas etiquetas ó encabezados a cada globo, para que de esta forma nadie se confunda y todo funcione en orden.

Fin del ejercicio.

Si han logrado entenderlo puedo decir que agrandes rasgos han logrado comprender como funciona este asunto de las tramas, el significado de la analogía es:

Los globos          <-------->     Las tramas
Las etiquetas     <--------->     Encabezados de trama
El café                <---------->    Los datos ó la carga
La cafetería        <-------->      El punto de acceso

Y los clientes somos... eso, los clientes de un punto de acceso inalámbrico.

PARTES DE UNA TRAMA INALÁMBRICA 802.11
[/size]

Pues basicamente una trama a groso modo esta compuesta de 3 partes:



Pues como se muestra en la imagen tenemos tres partes:

El contenido son los datos que se transmiten, son la carga (bits de un video, de un audio, etc..)
, recordando nuestro ejercisio el contenido seria el cafe de nuestros globos,

El FCS es una forma de controlar que las tramas no esten dañadas, y que esten completas es decir, se le asigna un valor a la trama mediante un calculo matematico y se adjunta el resultado al encabezado, cuando este llega se hace el calculo nuevamente y si no coincide se descarta la trama...

Alguna vez se dieron cuenta que mientras mas se alejaban del punto de acceso mas lenta iba la conexion? Esto es porque a mayor distancia mayor cantidad de tramas dañadas y estas se descartan y deben reenviarse nuevamente.

Por último me toca explicar el encabezado, el encabezado es la parte de la trama que contiene toda la información necesaria para su correcto funcionamiento en el ambiente de redes inalámbricas LAN, el encabezado son trozos de información para que determinado protocolo de red pueda leerlos y tomar una decisión en base a esa información. Dentro del encabezado están los siguientes campos:



De todos esos campos el más relevante para el tema que estamos tratando es el de control de trama  ya que es donde se especifican cosas como el tipo de trama inalámbrica (Ohh Si..!! Hay mas de un tipo de trama..!!) la versión del protocolo y la configuración de seguridad, en realidad no me gusta alargar las cosas pero hay puntos que no deben escapar a una breve explicación, ya que mas adelante nos serán necesarios, asi que viene tanda de aclaraciones:

Versión del protocolo:

Nos indica que versión del estándar 802.11 es la que se esta usando en la interfaz, por ello es que una tarjeta de red que funcione con 802.11a jamás podrá comunicarse con un punto de acceso que solo soporte 802.11b (ademas de que ambos estandares trabajan a distintas frecuencias).

Tipo de trama:

Una trama inalámbrica puede tener 3 naturalezas, es decir puede ser de 3 tipos:
   
Trama de administracion.- Esta es la que administra la comunicación entre un dispositivo y un punto de acceso, tiene que ver con la detección de un AP, la autenticación y la asociacion (aqui es donde se busca el Handshake) en su generalidad
suelen ser broadcast, es decir que se transmiten para todo el que pueda escuchar, por eso son tan interesantes en la seguridad informática.

Trama de control.- Estas son las que hacen que el intercambio de tramas entre dos puntos sea mas eficaz y funcional, acuses de recibos, chequeo de tramas, etc..

Tramas de datos.- Estas son las que llevan la carga, es decir el contenido a transportar (video, audio, paginas web, etc..)


Dicho todo lo anterior creo que ya podemos hacernos una idea de las partes de una trama, si alguno se anima pueden descargar estas capturas que hice hace unos meses con kismet y abrirlas con wireshark, el reto es poder diferenciar una trama de administración de una de control y de una de datos.   ;)

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Después de tanto tratar de dar color a una trama creo que es momento de centrarnos en el porque de este tema que busca detallar la familia de estándares 802.11.

El GÉNESIS DE 802.11

Pues cuenta la leyenda que por allá por el 1997 el instituto de ingenieros eléctricos y electrónicos (IEEE por sus siglas en ingles) crearon la primera versión del protocolo 802.11 para comunicaciones inalámbricas, tenia una velocidad "teórica" de 1-2 megabits por segundo y se transmite por señales infrarrojas, con lo cual a la larga no encontró muchas aplicaciones en la vida real (recuerdan cuando pasabamos datos de un cel a otro usando el puerto infrarrojo?).



También se le conoce como 802.11 Legacy y cabe mencionar que fue cuando se implemento por primera vez el CSMA/CA (Carrier Sense Multiple Access / Collision Avoidance) en serio no me hagan explicarlo, ya esta explicado en la primera parte.

802.11a

Pues más tarde en el 1999 y dándose cuenta de que en verdad la humanidad necesitaba de alguna forma poder expandir las redes más allá de los cables, estos tipos crearon la nueva versión de 802.11 y lo hicieron simplemente agregando la primera vocal al final de los números...

No.. que va... Es broma!!

Pues además de agregarle una hermosa vocal esta vez trajeron mejoras increíbles, como el hecho de que que ahora las tramas surcarian por el aire a una frecuencia de 5 Ghz, levantando el vuelo más allá de la luz infrarroja, y esta vez las velocidades teóricas serian de 54 megabits, aunque en la vida real y debido a muchos factores no siempre es asi, algo a destacar es que se usó por primera vez una tecnología denominada "Acceso múltiple por división de frecuencias ortogonales" ???

Joder que eso si que suena complicado...  :o

Vamos a llevarlo al buen español, sería como tomar una autopista de 5 carriles y transformarla en 5 de 1 solo carril, el tamaño seguiría siendo el mismo, pero ahora los vehículos no pueden interferir con los demás carriles, logrando así una mayor integridad y haciendo que estos puedan correr más rápidos, (en realidad es muchísimo mas complejo, pero fue la forma más sencilla que logre imaginar para explicarles).

802.11b


Digamos que 802.11b fue creado meses más tardes que su anterior familiar, es decir en el mismo 1999, y este utiliza la frecuencia de 2.4Ghz con una velocidad máxima teórica de 11 mbit/s, quizas muchos se encuentren curiosos sobre porque el cambio, pues los que leyeron la primera parte recordarán que en transmisiones inalámbricas la frecuencia es directamente proporcional al ancho de banda e inversamente proporcional a la distancia que puede alcanzar, en buen español diríamos que mientras más alta es la frecuencia menor alcance tiene pero puede llevar mas data y mientras mas baja sea la frecuencia esta llega más lejos pero puede llevar menos data (mas tarde se logró romper esta regla usando magia).

La razón de cambiar?

Digamos que era mas barato instalar una estructura de dispositivos compatibles con 2.4Ghz, habia mas alcance, y por alla por 1999 11 mbit/s de velocidad en conexiones punto a punto era la ultima coca-cola del desierto. Aunque en la vida real las cosas nunca llegaron a esa velocidad (segun wikipedia se alcanzaron velocidades de 5 mbit/s usando TCP y 7 mbit/s usando UDP)

802.11c

Estándar que define las características que necesitan los APs para actuar como puentes (bridges). Es así de sencillo, no tiene aplicaciones prácticas para los usuarios comunes, aunque para la seguridad informática creo que hay mucho por explorar en esta versión del estándar.

802.11d Estándar que permite el uso de la comunicación mediante el protocolo 802.11 en países que tienen restricciones sobre el uso de las frecuencias que éste es capaz de utilizar, es decir, las regulaciones para las frecuencias en las que operan las redes inalámbricas no son iguales en todas partes del mundo, ya que en algunos lugares como españa ó china el gobierno utiliza parte del espectro para sus comunicaciones.

802.11e Es una versión del estándar que tiene como prioridad algo llamado QoS (Quality of Service) y está enfocado directamente a aplicaciones sensibles al retraso en la transmision y recepcion de data tal como audio y/o video, para ponerles un ejemplo práctico y personal, yo laboro en una planta televisora y debido al constante deterioro de los cables que manejan el audio de los estudios y el video de las cámaras, se esta pensando en implementar este estándar para enviar y recibir simultáneamente este tipo de data a los controles.

Cabe mencionar que también es compatible con 802.11a y 802.11b.

802.11f Este estándar tiene como funcionalidad establecer la itinerancia entre puntos de acceso y estaciones apoyándose en Inter Access Point Protocol (IAPP). En un entorno de red conformado por varios AP y todos manejados por un servidor RADIUS seria posible que un usuario pueda moverse por toda la red sin necesidad de autenticarse una y otra vez, y en el lado del servidor tendríamos incluso un mapeo físico por direcciones MAC.

802.11g Pues aquí la cosa se ponen muy buenas, ya que desde el estándar 802.11b no se había producido un cambio significativo en las redes inalámbricas que normalmente pueden encontrarse en un entorno domestico o empresarial, y es que en junio del 2003 se aprobo el estandar 802.11g con velocidades teoricas de hasta 54 mbit/s y velocidades de 22 mbit/s en la vida real, lo cual es similar a las velocidades del estandar 802.11a a diferencia que estas funcionan en la frecuencia de 2.4Ghz.

Pero que significa esto realmente?
Cual fue el verdadero impacto?

Pues desde mi punto de vista este fue el verdadero despertar de las redes inalámbricas, ya que ahora teníamos una velocidad muy buena y un alcance bastante bueno también, del mismo modo los dispositivos compatibles con este estándar llegaron muy rapidamentes al mercado, ya que los fabricantes tomaron los mismos diseños que tenían para el estándar 802.11a y los adaptaron rápidamente para la nueva tecnología (recuerden que funcionaban a la misma frecuencia).

pero...



Pues recuerdan cuando dije que lograron romper la regla usando magia? Pues en el estándar 802.11g fue donde desplegaron una magia asombrosa, ya que usando técnicas avanzadas de modulación como CCK/OFDM/DSSS lograron eficientizar de forma asombrosa el ancho de banda del espectro electromagnético.



CCK (Complimentary Code Keying) y DSSS (direct sequence spread spectrum)

Digamos que mediante un calculo matematico el emisor le asigna un pseudo-ruido a una señal, y que en el lado receptor este hace el calculo de forma inversa para eliminar dicho pseudo-ruido. Ahora imaginemos que tenemos 64 patrones de ruido para asignar usando la misma frecuencia y canal, esto sin lugar a dudas aumenta y eficientiza de forma considerable el ancho de banda sin tener que aumentar la frecuencia y esto amigos mios es simplemente magia...!!!

OFDM (Orthogonal Frequency Division Multiplexing)

Y que tal si aumentamos un poco mas el poder multiplexando las señales en funcion de la frecuencia, todo lo explicado anteriormente funciona en un canal dado de una frecuencia y si tomamos ese mismo canal y lo dividimos en fracciones aun menor, entonces tendriamos algo asi como sub-canales en donde podriamos aplicar CCK y DSSS. Ya esto no seria magia, seria brujeria cosmica.


Compatibilidad de 802.11g con 802.11b.

El estandar 802.11g es compatible con el anterior 802.11b ya que ambos funcionan a 2.4ghz, es lo que suele conocerce como modo mixto en los puntos de acceso, pero esta compatibilidad tienen un punto debil y es que las velocidades decienden a casi la mitad ya que 802.11b no entiende de DSSS y es necesario agregar agregar encabezados extras que genera carga en las tramas, por lo cual es recomendado que si en nuestro entorno no tenemos dispositivos del estandar B jamas se habilite el modo mixto y se configure exclusivamente el modo G.

802.11h
Tiene que ver con solucionar incovenientes entre las rede inalambricas y sistemas de radares y/o satelitales, principalmente en europa donde parte de los cuerpos militares usan la frecuencia de 5Ghz.

802.11i Pues me gusta mucho la explicacion que da wikipedia:

Citar"Está dirigido a batir la vulnerabilidad actual en la seguridad para protocolos de autenticación y de codificación. El estándar abarca los protocolos 802.1x, TKIP (Protocolo de Claves Integra – Seguras – Temporales), y AES (Advanced Encryption Standard, Estándar de Cifrado Avanzado). Se implementa en Wi-Fi Protected Access (WPA2)."

Aqui fue donde se dibujaron las fornteras en la seguridad inalambrica, ya que posterior a WPA2 nada fue lo mismo y los que nos gusta romper la seguridad tuvimos que tirar de otras tecnicas como ingenieria social, MitM, fuerza bruta y demas cosas.

802.11j Es lo mismo que 802.11h pero para los samurais, es decir para la tierra del sol naciente, es decir para los nipones, es decir para japon..!!

802.11k Esta version permitiria gestionar los recursos de una red inalambrica y aprovechar al maximo sus capacidades, esta diseñado para ser usado a nivel de software, los puntos de acceso mas modernos ya vienen con un monitor de canales que analiza automaticamente el espectro y selecciona el canal de menor congestion.

802.11n Magia..!!!! Pues esta es la version mas moderna y actual del estandar que se enfoca en las WLAN y fue en septiembre del 2009 cuando quedo ratificado como la siguiente generacion, con unos asombroso 600 mbti/s de velocidad en la vida real este estandar utiliza simultaneamente las frecuencias de 2.4Ghz como las de 5Ghz, es capaz de utilizar todas las tecnicas de modulacion descritas anteriormente y le suma varias mas como son:

MIMO (Multiple In Multiple Out) Que son multiples antenas para transmitir y multiples antenas para recibir, lo que significa que este estandar es capaz de aprovechar de formas mas eficiente el ancho de banda, ademas se apoya en tecnologias como MRC (maximum-ratio combining) que logra combinar señales de distintos canales en una sola, minimizando el ruido y por ende las tramas dañadas, eficientizando la velocidad.

Imaginen un gato con 4 orejas...



Ahora imaginen que este toma todo lo que escucha lo procesa mediante un procesador llamado DSP (Digital Signal Processor) y en base a eso saca una señal final mas nitida y limpia de errores.

802.11p Destinado a la comunicación entre automóviles modernos, usa la frecuencia de 5,90 y 6,20 Ghz respectivamente. el objetivo es permitir la comunicación M2M (Machine to Machine) en el venidero IoT (Internet of Things) con lo cual los vehiculos podran comunicarse con otros vehículos, con las autopistas, incluso con los semáforos, es una forma del NFC (Near Field Comunnication) ya que solo funcionara en rangos de alcance medianamente cortos.

802.11r Aquí una vez más me apoyo en wikipedia, ya que su definición me parece muy clara y precisa:

También se conoce como Fast Basic Service Set Transition, y su principal característica es permitir a la red que establezca los protocolos de seguridad que identifican a un dispositivo en el nuevo punto de acceso antes de que abandone el actual y se pase a él. Esta función, que una vez enunciada parece obvia e indispensable en un sistema de datos inalámbricos, permite que la transición entre nodos demore menos de 50 milisegundos. Un lapso de tiempo de esa magnitud es lo suficientemente corto como para mantener una comunicación vía VoIP sin que haya cortes perceptibles.

Eso es grandioso, ya que los AP actuales tienen un tiempo que excede los 3 segundos mientras nos desconectamos de uno y nos identificamos en otro, sin tomar en cuenta que de acuerdo al pool de DHCP casi siempre se nos modifica la dirección IPv4.

802.11v Este estándar busca poder configurar, supervisar, gestionar y modificar la forma en que las estaciones funcionan a lo largo de una red wireless. Pudiendo manejar datos como la ubicación física, la configuracion de energia, QoS (Calidad de servicio), entre otros datos...

802.11w Aún sin concluir, busca fortalecer la seguridad de las tramas inalámbricas y la forma en la que estas funcionan, se busca de alguna forma evitar las denegaciones de servicios causadas por aplicaciones como MDK3 y la monitorización de las tramas por aplicaciones como Kismet y Wireshark.


Pues hasta aquí esta segunda entrega del material, tal y como dije al inicio espero poder escribir una tercera entrega explicando a fondo el asunto de los canales en las frecuencias de 2.4Ghz y 5Ghz, y asi quedara concluido el tema. Saludos inmensos y espero le sea de provecho a más de uno.

Hasta la próxima.
#8
GNS3 es el emulador por perfeccion de los administradores y estudiantes del maravilloso mundo del networking, generalmente esta disponible en los repositorios de la mayoria de distros linux, el asunto es que no siempre esta en su ultima version, asi que con poca cosa podemos instalar la ultima version en nuestros sistemas, a continuacion les explico:

Fedora

Ejecutar lo siguiente en una terminal:

Código: php
 yum install python3 python3-devel python3-setuptools
yum install python3-pyqt4
sudo pip3 install gns3-server
sudo pip3 install gns3-gui


Tambien es necesario instalar las dependencias para VPCS, iouyap & Dynamip que estan en el paquete del source que pueden descargar desde aqui:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Ubuntu-based  (64-bit only)


En una terminal:

Código: php
sudo add-apt-repository ppa:gns3/ppa
sudo apt-get update
sudo apt-get install gns3-gui


Si quieren soporte para  IOU:

Código: php
sudo dpkg --add-architecture i386
sudo apt-get install gns3-iou


Debian-based  (not tested 64-bit only)


Agregar las siguientes lineas a tu /etc/apt/sources.list:
Código: php

deb http://ppa.launchpad.net/gns3/ppa/ubuntu trusty main
deb-src http://ppa.launchpad.net/gns3/ppa/ubuntu trusty main


Por ultimo solicitamos las llaves, actualizamos e instalamos con:

Código: php
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A2E3EF7B
sudo apt -get update
sudo apt-get install gns3-gui


Arch Linux


Estos paquetes son mantenidos por terceros, ejecutar lo siguiente en una terminal.

Código: php
pacman -S gns3-gui gns3-server


Gentoo

Estos paquetes son mantenidos por terceros, ejecutar lo siguiente en una terminal.

Código: php
emerge -av net-misc/gns3-gui


Sabayon


Estos paquetes son mantenidos por terceros, ejecutar lo siguiente en una terminal.

Código: php
equo i net-misc/gns3-gui net-misc/gns3-converter net-misc/gns3-server 


Fuente:GNS3 Technologies Inc.
#9
Hermanos resulta que me he instalado el sistema base debian 8 + Openbox y todo va genial, a excepcion de que no tengo gestor de sonido, ni de gestor de red (en realidad se que estan por ahi, pues recuerdo haber instalado ALSA & gnome-network-manager) lo que sucede que no tengo instalado ningun programa para gestionar los paneles (y no quiero tenerlos)  y pues me parece que es ahi donde se puede interactuar con esos controles.

La pregunta es: ¿Cómo consigo gestionar e interactuar con el sonido y la red sin tener que instalarme paneles?

Gracias de antemano.
#10
Hacking / Aprende a usar CRUNCH paso a paso.
Diciembre 22, 2015, 08:52:03 PM


INTRODUCCIÓN

Saludos herma@s.

En el mundo del hacking tenemos una técnica llamada fuerza bruta, bien vista por algunos y mal vista por otros, pero no es este el lugar de debatir sobre la calidad de la técnica, pues según wikipedia la fuerza bruta es:

"La forma de recuperar una clave probando todas las combinaciones posibles hasta encontrar aquella que permite el acceso."

Muy bien, para orquestar este tipo de ataque necesitaremos un archivo que contenga dentro de si cientos, miles e incluso millones de palabras para ir probando 1 por 1 hasta dar con el valido, estos archivos en buen español se llaman diccionarios y los gringos para que nadie se confunda les dicen wordlists (listas de palabras).

Ahora quiero que se imaginen que tengamos que crear un diccionario escribiendo todas las posibles palabras 1 por 1, no tendría sentido y tampoco sería práctico, así que existen programas que generan diccionarios automáticamente simplemente especificando algunos parámetros de entrada, entre esos programas podrían decirse que el más conocido es Crunch, una aplicación sin interfaz gráfica que tiene una gran flexibilidad al momento de generar diccionarios/wordlists, existe mucha documentación sobre el mismo, pero generalmente se explican 1 ó 2 ejemplos sobre su uso, dejando al usuario descubrir el resto, pues aqui en underc0de les vamos a regalar un manual completo con todas las opciones y usos prácticos para que no quede duda alguna, esto sera algo asi como un taller de Crunch, asi que aborden el loco barco del conocimiento y vamos a ello.

QUE ES CRUNCH

Crunch es un programa que basandose en criterios establecidos por el usuario (input) es capaz de generar diccionarios para ser usados en fuerza bruta (output), el resultado de Crunch puede ser visto en pantalla, puede ser guardado en un archivo .txt ó puede enviarse a otro programa en tiempo real para su uso.

La version 1.0 fue creada por mima_yin (mimayin@No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.ath.cx) y todas las versiones posteriores fueron actualizadas y desarrolladas por bofh28 ([email protected]) a ellos todo el agradecimiento y el respeto por tan maravillosa herramienta.

La pagina oficial es:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

COMO INSTALAR CRUNCH
[/b]

LINUX

Pues en cualquier distro Linux bastaria con tirar de la terminal y escribir:

Código: php
sudo apt-get install crunch


Dependiendo de la distribución podríamos tener uno que otro gestor de paquetes, así que cada cual podría modificar el comando de acuerdo a sus sistemas (yum, pacman, aptitude, etc..)

Imaginando que no este en los repositorios de software podriamos bajarnos el tarball e instalar nosotros mismos:

Código: php
git clone http://git.code.sf.net/p/crunch-wordlist/code crunch-wordlist-code
cd crunch-wordlist-code;
sudo make && sudo make install;


Windows

Pues el creador no ha liberado una version oficial para los usuarios de windows, pero venga que aqui llega la magia del software open-source, y es que un usuario, mejor dicho una usuaria (maripuri) ha compilado la version 3.2 de crunch para windows, asi que a ella muchas gracias por su esfuerzo y trabajo, los interesados pueden bajarse el fichero desde aqui:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

COMO USAR CRUNCH NIVEL 1

Muy bien herman@s ha llegado el momento de la verdad, ha llegado el momento de desnudar esta maravillosa herramienta y poder hacer uso de ella de una forma eficiente, a continuacion veremos su uso, desde la ejecucion mas sencilla hasta la ams compleja.

Bastaria con escribir "crunch" en una terminal para conseguir informacion:


Donde podemos ller claramente la forma sencilla en que podemos hacer uso de ella:

Código: php

Usage: crunch <min> <max> [options]
where min and max are numbers


Es tan sencillo como decirle la cantidad de caracteres que estamos buscando seguido de alguna opcion, vamos a lanzarlo de una forma basica a ver que tal, probemos con generar todas las posibles combinaciones para una palabra de 4 caracteres:

Código: php
crunch 4 4



Como se aprecia en la imagen crunch avisa de una froma muy educada cuantas lineas seran generadas y cuanto espacio ocupara, a continuacion les comparto las primeras 50 lineas de la salida en pantalla:

Código: php
aaaa
aaab
aaac
aaad
aaae
aaaf
aaag
aaah
aaai
aaaj
aaak
aaal
aaam
aaan
aaao
aaap
aaaq
aaar
aaas
aaat
aaau
aaav
aaaw
aaax
aaay
aaaz
aaba
aabb
aabc
aabd
aabe
aabf
aabg
aabh
aabi
aabj
aabk
aabl
aabm
aabn
aabo
aabp
aabq
aabr
aabs
aabt
aabu
aabv
aabw
aabx


Vamos a analizar esto unos segundos...

Tenemos que crunch ha generado todas las posibles combinaciones para una palabra de 4 caracteres, pero notan alguna particularidad?

No se han usado numeros, simbolos, mayusculas ni espacios en blanco. La razon se explica a continuacion:

Crunch utiliza una variable llamada charset (character setting) y es como el conjunto de caracteres que serán usados para la generacion del diccionario/wordlist, por defecto el chardset es lalpha (lower alphabet) pero que tal si probamos a configurar otro chardset.

Código: php
crunch 4 4 -f .charset.lst numeric 


Como siempre, al presionar enter crunch nos indicara cuantas lineas y cuanto espacio sera usado, analicemos las primeras 50 lineas:

Código: php
0000
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049


Todo ha ido bien, pero ahora notamos una pequeña diferencia, y es que solo ha generado numeros, pero eso es justo lo que queríamos no? Y como lo hemos logrado pues con la opción -f y listo!!

Esta opción le indica dónde buscar el fichero de variables, es decir, donde están preestablecidas todos los charset, es decir que debemos especificar la ruta al archivo así como nuestra selección dentro del mismo, en mi caso tengo el charset.lst en mi directorio home, por ello no específico ruta hasta el mismo.

Cuantos charset podemos elegir además de lalpha y de numeric?

Miren por ustedes mismo

Código: php
# charset configuration file for winrtgen v1.2 by Massimiliano Montoro ([email protected])
# compatible with rainbowcrack 1.1 and later by Zhu Shuanglei <[email protected]>


hex-lower                     = [0123456789abcdef]
hex-upper                     = [0123456789ABCDEF]

numeric                       = [0123456789]
numeric-space                 = [0123456789 ]

symbols14                     = [!@#$%^&*()-_+=]
symbols14-space               = [!@#$%^&*()-_+= ]

symbols-all                   = [!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/]
symbols-all-space             = [!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/ ]

ualpha                        = [ABCDEFGHIJKLMNOPQRSTUVWXYZ]
ualpha-space                  = [ABCDEFGHIJKLMNOPQRSTUVWXYZ ]
ualpha-numeric                = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]
ualpha-numeric-space          = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ]
ualpha-numeric-symbol14       = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=]
ualpha-numeric-symbol14-space = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+= ]
ualpha-numeric-all            = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/]
ualpha-numeric-all-space      = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/ ]

lalpha                        = [abcdefghijklmnopqrstuvwxyz]
lalpha-space                  = [abcdefghijklmnopqrstuvwxyz ]
lalpha-numeric                = [abcdefghijklmnopqrstuvwxyz0123456789]
lalpha-numeric-space          = [abcdefghijklmnopqrstuvwxyz0123456789 ]
lalpha-numeric-symbol14       = [abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_+=]
lalpha-numeric-symbol14-space = [abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_+= ]
lalpha-numeric-all       = [abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/]
lalpha-numeric-all-space      = [abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/ ]

mixalpha                   = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]
mixalpha-space             = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ]
mixalpha-numeric           = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]
mixalpha-numeric-space     = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ]
mixalpha-numeric-symbol14  = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=]
mixalpha-numeric-symbol14-space = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+= ]
mixalpha-numeric-all       = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/]
mixalpha-numeric-all-space = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/ ]

#########################################################################################
#                 SWEDISH CHAR-SUPPORT                                                  # #########################################################################################

#########################
# Uppercase             #
#########################
ualpha-sv                        = [ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ]
ualpha-space-sv                  = [ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ ]
ualpha-numeric-sv                = [ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789]
ualpha-numeric-space-sv          = [ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789 ]
ualpha-numeric-symbol14-sv       = [ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789!@#$%^&*()-_+=]
ualpha-numeric-symbol14-space-sv = [ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789!@#$%^&*()-_+= ]
ualpha-numeric-all-sv            = [ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/]
ualpha-numeric-all-space-sv      = [ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/ ]

#########################
# Lowercase             #
#########################
lalpha-sv                        = [abcdefghijklmnopqrstuvwxyzåäö]
lalpha-space-sv                  = [abcdefghijklmnopqrstuvwxyzåäö ]
lalpha-numeric-sv                = [abcdefghijklmnopqrstuvwxyzåäö0123456789]
lalpha-numeric-space-sv          = [abcdefghijklmnopqrstuvwxyzåäö0123456789 ]
lalpha-numeric-symbol14-sv       = [abcdefghijklmnopqrstuvwxyzåäö0123456789!@#$%^&*()-_+=]
lalpha-numeric-symbol14-space-sv = [abcdefghijklmnopqrstuvwxyzåäö0123456789!@#$%^&*()-_+= ]
lalpha-numeric-all-sv            = [abcdefghijklmnopqrstuvwxyzåäö0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/]
lalpha-numeric-all-space-sv      = [abcdefghijklmnopqrstuvwxyzåäö0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/ ]

#########################
# Mixcase               #
#########################
mixalpha-sv                   = [abcdefghijklmnopqrstuvwxyzåäöABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ]
mixalpha-space-sv             = [abcdefghijklmnopqrstuvwxyzåäöABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ ]
mixalpha-numeric-sv           = [abcdefghijklmnopqrstuvwxyzåäöABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789]
mixalpha-numeric-space-sv     = [abcdefghijklmnopqrstuvwxyzåäöABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789 ]
mixalpha-numeric-symbol14-sv  = [abcdefghijklmnopqrstuvwxyzåäöABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789!@#$%^&*()-_+=]
mixalpha-numeric-symbol14-space-sv = [abcdefghijklmnopqrstuvwxyzåäöABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789!@#$%^&*()-_+= ]
mixalpha-numeric-all-sv       = [abcdefghijklmnopqrstuvwxyzåäöABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/]
mixalpha-numeric-all-space-sv = [abcdefghijklmnopqrstuvwxyzåäöABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/ ]



Si no quieren especificar ningun charset pueden simplemente pasarle a crunch cuales caracteres desean usar en la generacion, por ejemplo:

Código: php
crunch 4 4 ab12




Y la salida seria:

Código: php
aaaa
aaab
aaa1
aaa2
aaba
aabb
aab1
aab2
aa1a
aa1b
aa11
aa12
aa2a
aa2b
aa21
aa22
abaa
abab
aba1
aba2
abba
abbb
abb1
abb2
ab1a
ab1b
ab11
ab12
ab2a
ab2b
ab21
ab22
a1aa
a1ab
a1a1
a1a2
a1ba
a1bb
a1b1
a1b2
a11a
a11b
a111
a112
a12a
a12b
a121
a122
a2aa
a2ab
a2a1
a2a2
a2ba
a2bb
a2b1
a2b2
a21a
a21b
a211
a212
a22a
a22b
a221
a222
baaa
baab
baa1
baa2
baba


Empiezan a entender el sentido de la palabra "Flexibilidad" para referirse a crunch, bueno sigamos adelante aprendiendo más trucos para esta maravillosa tool.

CÓMO USAR CRUNCH NIVEL 2
[/b][/u]

Hasta ahora hemos aprendido a usar crunch al nivel basico, es decir solo sabemos generar diccionarios especificandole el tamaño y el conjunto de caracteres a usarse, y muchos pensaran que esa es toda la magia de generar diccionarios y la verdad es que esta cortos, siganme y veremos que otras cosas podemos hacer.

Recuerdan aquella película de hackers en la que el estelar mira el teclado del administrador de sistemas y logra ver la clave digitada en el teclado? Pues en la vida real quizás no sea tan sencillo ver toda la clave digitada y solo logramos recordar parte de la misma y quizás su tamaño (si su tamaño, yo suelo contar las pulsaciones en el teclado asi me hago una idea del tamaño) pues supongamos que queremos generar una clave que inicia con "Und......" pero no sabemos el resto, pues podríamos decirle a crunch:

Código: php
crunch 9 9 -t und@@@@@@


Y esto generara:

Código: php
undaaoerv
undaaoerw
undaaoerx
undaaoery
undaaoerz
undaaoesa
undaaoesb
undaaoesc
undaaoesd
undaaoese
undaaoesf
undaaoesg
undaaoesh
undaaoesi
undaaoesj
undaaoesk
undaaoesl
undaaoesm
undaaoesn
undaaoeso
undaaoesp
undaaoesq
undaaoesr
undaaoess
undaaoest
undaaoesu
undaaoesv
undaaoesw
undaaoesx
undaaoesy
undaaoesz
undaaoeta
undaaoetb
undaaoetc
undaaoetd
undaaoete
undaaoetf
undaaoetg
undaaoeth
undaaoeti
undaaoetj
undaaoetk
undaaoetl
undaaoetm
undaaoetn
undaaoeto
undaaoetp
undaaoetq
undaaoetr
undaaoets
undaaoett
undaaoetu
undaaoetv
undaaoetw
undaaoetx
undaaoety
undaaoetz
undaaoeua
undaaoeub
undaaoeuc
undaaoeud
undaaoeue
undaaoeuf
undaaoeug
undaaoeuh
undaaoeui
undaaoeuj
undaaoeuk
undaaoeul
undaaoeum
undaaoeun
undaaoeuo
undaaoeup
undaaoeuq
undaaoeur
undaaoeus
undaaoeut
undaaoeuu
undaaoeuv
undaaoeuw
undaaoeux
undaaoeuy
undaaoeuz
undaaoeva
undaaoevb
undaaoevc
undaaoevd
undaaoeve
undaaoevf
undaaoevg
undaaoevh


Y si nos fijamos crunh ha generado palabras sin modificar los 3 primeros caracteres, con lo cual si la palabra clave es "undercode" eventualmente sera generada, pero que pasaria si el admin del sitio ha querido complicarla y ha puesto "underc0de" como password? pues podemos hacerlo de dos formas, una sencilla y otra un poco mas compleja, para la forma compleja podriamos hacerlo al especificar un charset alfanumerico escribiendo:

Código: php
crunch 9 9 -f .charset.lst lalpha-numeric -t und@@@@@@


ó bien podriamos especificar los caracteres que queremos usar:

Código: php
crunch 9 9 abcefghijklmnopqrstuwxyz1234567890 -t und@@@@@@


Con ambos comandos tendriamos el mismo resultado, simplemente son dos formas de hacer lo mismo

Código: php
undaaaz1u
undaaaz1v
undaaaz1w
undaaaz1x
undaaaz1y
undaaaz1z
undaaaz10
undaaaz11
undaaaz12
undaaaz13
undaaaz14
undaaaz15
undaaaz16
undaaaz17
undaaaz18
undaaaz19
undaaaz2a
undaaaz2b
undaaaz2c
undaaaz2d
undaaaz2e
undaaaz2f
undaaaz2g
undaaaz2h
undaaaz2i
undaaaz2j
undaaaz2k
undaaaz2l
undaaaz2m
undaaaz2n
undaaaz2o
undaaaz2p
undaaaz2q
undaaaz2r
undaaaz2s
undaaaz2t
undaaaz2u
undaaaz2v
undaaaz2w
undaaaz2x
undaaaz2y
undaaaz2z
undaaaz20
undaaaz21
undaaaz22
undaaaz23
undaaaz24
undaaaz25
undaaaz26
undaaaz27
undaaaz28
undaaaz29
undaaaz3a
undaaaz3b
undaaaz3c
undaaaz3d
undaaaz3e
undaaaz3f
undaaaz3g
undaaaz3h
undaaaz3i
undaaaz3j
undaaaz3k
undaaaz3l
undaaaz3m
undaaaz3n
undaaaz3o
undaaaz3p
undaaaz3q
undaaaz3r
undaaaz3s
undaaaz3t
undaaaz3u
undaaaz3v
undaaaz3w
undaaaz3x
undaaaz3y
undaaaz3z
undaaaz30
undaaaz31
undaaaz32
undaaaz33
undaaaz34
undaaaz35
undaaaz36
undaaaz37
undaaaz38
undaaaz39
undaaaz4a
undaaaz4b
undaaaz4c
undaaaz4d
undaaaz4e
undaaaz4f
undaaaz4g
undaaaz4h
undaaaz4i
undaaaz4j
undaaaz4k
undaaaz4l
undaaaz4m
undaaaz4n
undaaaz4o
undaaaz4p
undaaaz4q
undaaaz4r
undaaaz4s
undaaaz4t
undaaaz4u
undaaaz4v
undaaaz4w
undaaaz4x
undaaaz4y
undaaaz4z
undaaaz40
undaaaz41
undaaaz42
undaaaz43
undaaaz44
undaaaz45
undaaaz46
undaaaz47
undaaaz48
undaaaz49
undaaaz5a
undaaaz5b
undaaaz5c
undaaaz5d
undaaaz5e
undaaaz5f
undaaaz5g
undaaaz5h
undaaaz5i
undaaaz5j
undaaaz5k
undaaaz5l
undaaaz5m
undaaaz5n
undaaaz5o
undaaaz5p
undaaaz5q
undaaaz5r
undaaaz5s
undaaaz5t
undaaaz5u
undaaaz5v
undaaaz5w
undaaaz5x
undaaaz5y
undaaaz5z
undaaaz50
undaaaz51
undaaaz52
undaaaz53
undaaaz54
undaaaz55
undaaaz56
undaaaz57
undaaaz58
undaaaz59
undaaaz6a
undaaaz6b
undaaaz6c
undaaaz6d
undaaaz6e
undaaaz6f
undaaaz6g
undaaaz6h
undaaaz6i
undaaaz6j
undaaaz6k
undaaaz6l


Ahora viene la forma sencilla que es simplemente cambiar el símbolo "@" por el tipo de carácter que queremos insertar en la generación del diccionario, recuerden que con la opción -t, podemos especificar un patrón de caracteres que serán los únicos en cambiar al generar el diccionario, así los caracteres que podemos especificar para el patrón son:

              @  insertara minusculas
              ,    insertara mayusculas
              %  insertara numeros
              ^   insertara simbolos


Sabiendo esto vamos a suponer que queremos generar un diccionario donde la primera letra sea en mayúscula, pero que a lo largo del mismo, tanto el 2do como el 3er caracter se queden fijos, pues para hacerlo agregamos una "," que tal como explique anteriormente insertará mayúsculas, pero recordemos que había un número en el password, asi que tambien necesitamos insertar 1 solo número en el 7mo carácter de nuestra palabra, pues sólo contamos hasta el lugar número 7 e insertamos un "%" que como también expliqué anteriormente solo inserta números, el comando final quedaría como esto:

Código: php
crunch 9 9 -t ,nd@@@%@@




Todo esta flexibilidad la hemos logrado con la opción -t, espero la hayan entendido y les sea muy práctica en un futuro. Pero no piensen que hemos terminado, Ohh no mis amigos!!! Esto continúa y se pone mejor!!!

Veamos, vamos a generar un diccionario concatenando palabras, a imaginarse por cual razón algunas personas usan como password una serie de palabras unidas, por ejemplo alguien que le guste harry potter podría usar los nombres de Harry, Hermione y Ron como password y en ese caso generar simplemente por caracteres sería casi imposible dada la longitud final "harryhermioneron" así que en crunch existe una opción que nos permite concatenar palabras, veamos como:

Código: php
crunch 1 1 -p Harry Hermione Ron


Obtendriamos algo como esto:


Como se habran fijado con la opcio -p es posible lograr concatenar palabras, pero hay una particularidad y es que fijense que en la parte donde se especifican la longitud menor y la mayor yo he colocado "1 1" y pues la verdad es que cuando se usa la opcion -p los numeros no son procesados, pero son necesarios para el argumento, es decir que podremos colocar cualquier cosa y sera irrelevante para la salida.

CÓMO USAR CRUNCH NINEL 3
[/u][/b]

Pues llegados a este punto ya sabemos generar diccionarios con distintos charset, sabemos aplicar patrones en la generación, concatenar palabras, así como especificar con cuales caracteres queremos generar, así que considero que estamos avanzando en la tarea de desnudar a crunch.

Al inicio del taller decia que crunch puede mandar los resultados a la pantalla, puede crear un archivo ó pasarle la salida a otro programa (generalmente un crackeador como aircrack) pero hasta ahora solamente hemos sacado los resultados en pantalla, es decir no se han creado ningun archivo ni nada parecido, asi que vamos a ello.

   
Enviando el output de crunch a un archivo.txt ó a un comprimido.

Pues la idea basica de crear un diccionario es poder usarse posteriormente para dar con el hash valido en una prueba de fuerza bruta, asi que de alguna forma debemos poder generar un fichero a partir de la salida, esto es posible usando la opcion -o (output) seguido del nombre del archivo, tomemos como ejemplo el ejercisio de Harry Hermione y Ron y creemos un fichero, el comando seria:

Código: php
crunch 1 1 -o NombresPotter.txt -p Harry Hermione Ron 



Opcionalmente tambien podriamos especificar la ruta donde queremos volcar el diccionario, por ejemplo:

Código: php
crunch 1 1 -o /home/cl0udswx/Documentos/NombresPotter.txt -p Harry Hermione Ron



Vamos a avanzar un poco más profundo y hagamos que cada 5000 líneas crunch nos genero 1 fichero, pues para que, dependiendo el entorno en el que se vaya a auditar necesitamos seccionar el ataque, es decir dividir el diccionario en una cantidad específica, para lograr mejor acoplamiento con los temporizadores de los crackeadores, para lograr esa división de un diccionario en varios ficheros de menor tamaño usamos la opción -c (esta opción solo funciona si el -o START está presente en la linea) por ejemplo:

Código: php
crunch 1 1 -o /home/cl0udswx/Documentos/START -c 5000


Esto inicia el proceso de crear multiples ficheros con 5000 lineas cada uno, tal y como podemos ver en la imagen:


Y si me fuera a la carpeta documentos me encontraría con esto:


Ven que sencillo?

Aclaraciones:

[].- El START funciona como nombre de archivo para el primer fichero a crear, a partir de ahi los ficheros tomaran el nombre de la ultima linea del archivo anterior + la primera linea del archivo posterior

[].- Aunque debo aclarar que en algunos caso es posible llenar el disco duro al generar un diccionario, todo depende de lo que le digamos a crunch, por ejemplo si yo dijese:

crunch 15 25 -o demasiado.txt



Se fijan en el tamaño del fichero?

2744 PB !!!      :o

Eso seria demasiado.txt para cualquier disco duro.

Pero entre tanta generacion que tal si creamos un fichero y lo comprimimos a bzip, de un solo golpe, suena complicado pero seria simplemente agregar la opcion -z seguido del tipo de compresion deseado, por ejemplo:

Código: php
crunch 4 5 -o /home/cl0udswx/Documentos/START -c 5000 -z gzip


De esta forma se iniciaria el mismo proceso anterior solo que en comprimidos gzip u en cualquier otro formato soportado por crunch (gzip, bzip2, lzma, and 7z )


Pues como podran ver no es tan complicado mandar la salida a un fichero txt, gzip, bzip2, lzma ó 7z.




Ejercicios para practicar.

Pues al inicio del post mi idea era explicar todas las funciones de crunch, pero se me ha ocurrido que sería interesante dejar que ustedes aporten su poco al post, asi que les quise dejar 2 ejercicios para que los realicen y me los manden por MP y yo luego actualizar el post con el nombre y la solución.

1.- Cómo generar un diccionario que le pase la salida a aircrack-ng usando una tuberia.

2.- Cómo generar un diccionario que no repita caracteres por linea y guardarlo en un comprimido (da igual el formato)

Saludos y hasta la próxima.
#11
Redes y antenas / Documentacion
Diciembre 18, 2015, 03:25:14 PM

Este post tiene como objetivo poner al alcance de los usuarios material de fácil y lectura y en muchos casos necesario para comprender de que van todo esto de las redes informáticas.

Para iniciar he querido dejarles un enlace a la sección de redes de nuestra biblioteca virtual:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

A continuación un poco de material en general para su lectura:

Este post sera actualizado constantemente.

Saludos.



Actualizado: 31/10/2017
#12


Muy afectuosos saludos hermanos de la comunidad underc0de, antes que nada un agradecimiento a @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta que me animó a desarrollar esta serie de artículos ofreciéndome toda su colaboración, igual a @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta que siempre ha creído en mi forma de hacer las cosas y por igual a todos los hermanos del Staff que mas que amigos les considero hermanos.

Después de un sentimental pero sincero párrafo tenemos que admitir que los usuarios comunes usan la tecnología a su alrededor pero generalmente no suelen entender como funcionan las cosas, sucede a diario, por ejemplo todos somos capaces de usar la electricidad y beneficiarnos de sus bondades, pero cuantos de nosotros somos capaces de entenderla y saber como funciona a profundidad?

Pues los hackers son aquello que profundizan en el funcionamiento de las cosas, movidos por el interés y por las ganas de saber, hacker son esos niños que rompen los juguetes solo para ver que es lo que los hace funcionar (alguien levanta la mano?)

Con el paso de los años las tecnologías de transmisión de datos de forma inalambrica han experimentado un crecimiento significativo, a tal punto que hoy día es casi indispensable para nuestro dia a dia, es mas, es probable que mientras lees esto lo estés haciendo conectado a una red inalambrica, al mismo tiempo que tienes algún dispositivo móvil como un smartphone que también se conecta a la red de tu proveedor de servicios y lo hace de forma inalambrica, asi que surge la pregunta de mi hacia ustedes:

Que tal si aprendemos a profundidad como funciona  la tecnología de transmisión de datos inalambrica?

Pues si alguien se anima a acompañarme pretendo escribir una serie de artículos (tengo pensado que sean 3) donde les pienso explicar de forma clara y sencilla como es el asunto, los que me han leído antes saben que me gusta llevar las cosas con chistes e historias para que sea de lo mas ameno, así que vamos a ello.


OBJETIVOS

Básicamente quiero cubrir dos aspectos:

1.- Entender los aspectos técnicos de las redes inalámbricas.
2.- Comprender y entender los estándares de una red LAN inalámbrica.


Entendiendo como funcionan las redes inalámbricas.

Pues los que se hayan leído mi 1er taller redes ya deberían saber de la necesidad humana de comunicarse, de transmitir ideas e información y hacerlo todo de la forma mas eficiente y rápida posible, para que dos dispositivos puedan comunicarse de forma eficaz en una red necesitan de por lo menos 3 cosas:

   a.- Necesitamos dispositivos

Es cualquier aparato con la capacidad de transmitir y recibir informacion ya sea de forma análoga o digital y  pueden ser computadoras, teléfonos, routers, televisores, etc.

   b.- Necesitamos un protocolo.


Pues si vamos a comunicarnos necesitamos un conjunto de reglas preestablecidas que nos indiquen como hablar y como interpretar, es como un idioma, si como un idioma, los humanos necesitamos un conjunto de normas lingüísticas para estructurar una idea y que pueda ser entendida, los dispositicos por igual necesitan estas normas (venga que imagino se han leído el taller de redes)

   c.- Necesitamos un medio de transmision


Es el soporte físico por el que se transmite la información, ya sea alámbrico (medio guiado) o inalámbrico (medio no guiado). Si tuvieses una red cableada el medio seria los cables (UTP, Fibra óptica, etc...) pero si la red fuera inalámbrica cual creen ustedes seria el medio?

.........
???
.............
................
...................

No se imaginan?

......................
.........................
...........................
???

Pues el medio seria la atmósfera de la tierra:o

Ummmm y como es eso de transmitir información usando la atmósfera?

Bien, chicos aquí viene la parte complicada que espero no sea tan complicada, ya que yo mismo me he complicado para que les parezca menos complicada (entendieron?)

Para entender lo que sigue necesito explicar ciertos conceptos, (en serio, no lo hago por escribir mucho, es que si no entienden esto no entenderán lo siguiente), asi que vamos a ello.

Ondas electromagnéticas

En el universo existen un fenómeno físico llamado ondas electromagnéticas que no son mas que un conjunto de ondas eléctricas y magnéticas oscilantes que transportan energía de un lugar a otro por medio del espacio. (En realidad es mucho mas complejo que eso, pero la idea es hacerlo sencillo)



Pues si no lo han notado he marcado la palabra oscilante, y esto es debido a que como se puede ver en la animacion las ondas electromagneticas no son estaticas, es decir tienen un constante sube y baja, pulsaciones, y a eso le llamamos "frecuencia". En la animación cada cambio de color representa una frecuencia distinta en la misma onda, pero que eso de frecuencia? Veamos...

Frecuencia.

Pues según wikipedia la frecuencia es una magnitud que mide el numero de repeticiones por unidad de tiempo de cualquier fenomeno o suceso periodico y se mide en Hercios (Hz) en honor a Heinrich Rudolf Hertz.

Bien, supongamos que tenemos una luz que enciende y apaga, a esos dos estados se les conoce como 1 ciclo ya que al encender se hace medio ciclo y al apagar se completa un ciclo, ahora supongamos que hace esto a un ritmo de 4 ciclos por segundo, con lo cual la frecuencia de la bombilla es de 4Hz.


Mientras mas ciclos se cumplan en un intervalo de tiempo (generalmente un segundo) podremos que decir que mas alta es la frecuencia y de acuerdo a la frecuencia de una onda esta ocupa un lugar en el espectro electromagnético.

Espectro electromagnético.


Muy bien, ya sabemos lo que son las ondas electromagnéticas y que es la frecuencia, ahora es tiempo de meter todo eso dentro del espectro electromagnético.

Como dije mas arriba, de acuerdo a la frecuencia de una onda esta ocupara una parte del espectro electromagnético, es decir mientras mas baja es la frecuencia esta estará en la parte mas baja del espectro y por ende si es mas alta estara en la parte mas alta del mismo.



Una forma en la que me gusta explicarlo es con la luz, veran, la luz es una onda electromagnetica y como tal tambien tiene frecuencias, la luz no es mas que la parte visible que nuestros ojos pueden percibir, es decir desde la frecuencia mas baja (el rojo) y la frecuencia mas alta (el violeta), por debajo del rojo tenemos el infrarojo, frecuencia que ningun humano puede ver y por encima del violeta tenemos el ultravioleta, frecuencia que tampoco podemos ver.

Esto es así debido a la composicion de nuestros ojos.

Lo que claramente significa que si tuviésemos otros ojos (como los de un shinigami) quizas podríamos ver mas cosas como ondas de radio, luz ultravioleta y en algunos casos el nombre y los años que les quedan  a las personas...



Pero que tal si volvemos a la realidad y  hablamos un poco de las ondas de radio que son al final de cuentas las que nos proporcionan la conexión inalambrica que tanto necesitamos como humanidad para comunicarnos.


Ondas de radio ó Radiofrecuencia (RF)

Pues las ondas de radio son la parte del espectro electromagnético que va desde los 3Hz hasta poco mas de 300GHz, se imaginan una onda que tenga una frecuencia de 300,000,000,000 Hz por segundo? Ufff!!!  Estas van desde las denomidas:

Extremadamente bajas (3Hz)

Hasta las:

Extremadamente Altas (300GHz)

Pero que tal si descartamos todas aquellas que por el momento no nos interesan  y nos centramos en las frecuencias de 2.4GHz y 5.8Ghz aproximadamente.

La razon?

Pues esa es la frecuencia en la que funcionan la mayoría de las tecnologías inalambricas que nos enlazan al mundo, por ejemplo:

[.] Para conectarnos a nuestro router inalambrico
[.] Para conectarnos a las red del ISP de nuestro smartphone
[.] Para vincular nuestros dispositivos bluetooth.
[.] Comunicaciones satelitales.
[.] Entre otras...


Muy bien, aquí algo muy importante sobre las ondas de radio y sus frecuencias, asi que atencion y pongan todos los sentidos en esto:

"El ancho de banda es directamente proporcional a la frecuencia y su rango es inversamente proporcional a la misma"

Explicado en español quiere decir que mientras mas alta es una frecuencia mas informacion podremos transmitir (aunque mas adelante veremos como es posible aumentar la velocidad sin necesidad de aumentar la frecuencia) pero menor sera su alcance, esto es asi por varios factores:

Indice de reflexion

Mientras mas alta es una frecuencia matematicamente es mas problable que choque con algun objeto, superficie u otra onda de radio, por ello una frecuencia alta tiene mas dificultad en atravezar una pared, tiene mas dificultad en cubrir amplios rangos ya que incide incluso en la  misma atmosfera.

Indice de ruido

A grandes rasgos el ruido viene a ser como una interferencia que daña la señal limpia que queremos transmitir, asi decimos que un ruido alto es una señal mala y un ruido bajo es una señal buena, técnicamente se define como la proporción existente entre la potencia de la señal que se transmite y la potencia del ruido que la corrompe. Este margen es medido en decibelios db (tenerlo presente ya que mas adelante lo necesitaran para comprender algo mas)

Como funciona la comunicación inalambrica en el mundo de las redes.
[/size]

--Ufff creo que nos vamos entendiedno, espero no esten cansados y puedan seguirme un poco mas, ya casi terminamos, resistan--

Pues hasta aquí hemos visto algunos conceptos que deben resultar fundamentales para comprender de que va todo esto, pero no esta del todo explicado como los dispositivos logran establecer una comunicación eficaz ordenada y funcional, pues hagamos una serie de ejercisios mentales para darle matiz al asunto,

1er.- Ejercicio.

Necesitamos comunicar el punto A con el punto B usando ondas de radio, asi que en el punto A construimos una antena que transmita en una frecuencia especifica por ejemplo a 2,4Ghz mientras que en el punto B construimos un receptor que solamente pueda interpretar las ondas de radio a 2.4GHz.

Particularmente en este caso tendremos una comunicación "unidireccional" entre un punto y otro ya que el punto A solo puede transmitir mientras el punto B solo puede interpretar.

2do.- Ejercicio

Si queremos que la comunicación sea bidireccional entre los puntos A y B necesitamos que la misma antena, en la misma frecuencia pueda utilizarse para enviar y para recibir informacion sin que esta colisione.

Que habra querido decir con eso de que colisione?

Pues si usamos el aire y transmitimos dos ondas de radio en la misma frecuencia y al mismo tiempo estas chocaran creando así una tercera onda de radio que no podrá ser interpretada por ninguno de los puntos.

Pues este problema estuvo presente desde el desarrollo de las comunicaciones inalambricas y con el paso de la historia se han usado diversos metodos para evitarle, pero en el campo de las comunicaciones inalambricas (especificamente las de "WiFi") el metodo mas usado es CSMA/CA (Carrier Sense Multiple Access /Collisions Avoidance), recuerden que aunque suene complicado tratare de simplificarlo.

¿Que rayos es eso de  CSMA/CA?

Digamos que no es mas que un mecanismo que controla la forma en la que un dispositivo obtiene acceso al "medio" para transmitir o recibir bits dentro de una red LAN inalambrica (WLAN).

Supongamos que un computador A desea transmitir informacion al aire usando la frecuencia de 2.4GHz, pero existe un computador B que potencialmente podria transmitir al mismo tiempo creando asi una colision, ambos estan conectados a algun punto de acceso en el que se usa la proteccion de CSMA/CA, A y B no saben que estan compartiendo el mismo medio, entonces tanto A como B "anunciaran su intencion de transmitir" al punto de acceso diciendo algo como:

"Hola punto de acceso, soy el computador A y quiero transmitir algunos bits, actualmente no hay nadie transmitiendo asi que si me autorizas te los mando."

Entonces el computador que tambien tiene intencion de transmitir le dice algo parecido al punto de acceso, algo como:

"Hola AP, sabes que? Yo quiero enviarte algunos bits, el medio esta libre pero primero queria ponerlo en tu conocimiento"

Ya con esta informacion el AP  inicia asi unos temporizadores aleatorios y cortos y si el medio aun continua libre solo entonces se procede a la transmision con lo cual se reduce la posibilidad de colision.

Por eso se llama Collisions Avoidance/Colisiones Evitadas.

Dicho esto espero que ya quede claro que es imposible enviar y recibir al mismo tiempo, dada la naturaleza de las ondas de radio y es por eso que las redes inalambricas usan a CSMA/CA como guardian para minimizar las colisiones y para administrar el acceso al medio.

Espero recuerden la definicion de "medio" que di anteriormente, pero en caso de que no sea asi, aquí nuevamente:

"Es el soporte físico por el que se transmite la información, ya sea alámbrico (medio guiado) o inalámbrico (medio no guiado)"

Bien, una vez que un equipo obtiene permiso para transmitir "todas las demás estaciones se abstienen de transmitir hasta que el flujo actual de información termine"*, bien quizas muchos piensen que eso sería esperar demasiado tiempo, ya que si alguien esta descargando algo entonces necesitaríamos esperar que termine para poder usar la red y es justo entonces cuando ocurre el milagro de la Multiplexacion.

*Los ataques de denegacion de servicios en una WLAN usan este principio para evitar que las estaciones puedan transmitir o recibir bits

¿Que es la multiplexacion y con que rayos se come?

La multiplexacion es el arte de cortar en pequeños trocitos la informacion para que pase mas rapido por un medio, con lo cual no tenemos que esperar que descargue todo el video, si no que dependiendo del estandar que se use el punto de acceso alterna rapidamente el derecho a usar el medio entre las estaciones conectadas en ese momento, pasa tan rapido que no lo percibimos.

FIN DE LA PRIMERA ENTREGA.
#13
Saludos.

Pues este ha sido un asunto que generalmente causa serios debates a lo largo de cualquier conversacion entre informaticos y es que si bien es cierto que una carrera universitaria en el area de la informatica es importantisima, tambien viene a ser cierto que las certificaciones hacen robusto el curriculum de cualquier experto, tal como el caso de un chaval que por alla por el 2011 tenia 21 años y ya tenia 13 certificaciones en su haber (Cisco, Microsoft, Vmware, RedHat, etc..) y aqui la interrogante:

Si debes elegir un camino cual prefieres?

El largo e infinito camino de las certificaciones ó una carrera universitaria.
#14



Saludos hermanos.

Como ya sabrán Cisco realiza dos reportes anuales sobre seguridad informática, donde se revelan las nuevas tácticas, las nuevas herramientas, la tendencia y las areas donde la seguridad informática ha tenido el mayor impacto, asi como muchas mas estadísticas.

Si aun no sabes lo que es Angler, Nuclear ó que los chicos malos están nuevamente aprovechando los Macros de Office como vectores de infección entonces este PDF te vendrá muy bien.

Para los interesados en leer aqui les dejo el enlace:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos.
#15

Aqui esta lo mejor de lo mejor de la sección de hardware, asi que les invito a dar un ojo a los temas.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Saludos.
#16
Aquí están todos los temas de la sección de Hardware que tienen que ver la resolución de problemas.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos.
#17
Recopilación de temas sobre manuales y guiás para estudiar.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos.
#18
Hardware y Reparaciones / Modding y Overcloacking
Septiembre 23, 2015, 08:43:29 PM
Recopilacion de temas sobre Modding y Overcloacking.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Este tema se ira actualizando dinamicamente.
#19

Recopilación de temas sobre aplicaciones y utilidades que sirven para dar mantenimiento al Hardware.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Este tema se ira actualizando dinamicamente.

Saludos.
#20


Pues la mayoría de los usuarios pagan religiosamente su servicio de Internet al ISP, y cuando las cosas van lentas simplemente se dice:

"Me va lento el Internet"

Y para que eso suceda pueden existir muchísimos factores que no pienso abordar en este post, el asunto es que cuando le va lento el Internet a un informático nos solemos poner en "modo paranoia" y desconfiamos de todo, inicia un proceso para buscar el consumo de banda ancha, miramos los logs, monitoreamos el trafico a ver si alguien esta descargando la temporada de Game os Thrones, y muchas cosas mas, pero cuando la paranoia va un poco mas alla en algun momento pensamos:

" ¿Y que tal si la ISP me esta limitando la velocidad para cierto tipo de trafico? "


Pues si, las ISP pueden limitar la velocidad de descarga de acuerdo al tipo de trafico (Video_On_Demand, trafico de aplicaciones P2P, transferencias por HTTP, etc..) , es ilegal, pero pueden hacerlo. Y surge la pregunta:

" ¿ Como me doy cuenta si mi ISP me esta limitando la velocidad de acuerdo al trafico ? "


Pues existe una herramienta online llamada Glasnost que analiza los parámetros de tu conexión y te dice tu ISP te esta limitando la velocidad de acuerdo al trafico, a continuación les dejo el enlace:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos y espero les sea provechoso a mas de 1.

#21
Pues como dice el titulo.

La idea es hacernos una idea sobre los super poderes de los underc0deanos, ver en que somos mas fuertes y saber en que podemos mejorar.

Y como la ley entra por casa aqui va la mia:

Soy bueno en:

Networking, hardware, Forensic, virtualización y seguridad wireless.

En cambio no soy muy brillante en:

Programación (de ningun tipo) tampoco destaco mucho en bases de datos, ingeniería inversa y electrónica.

Las demás áreas las manejo de forma regular (ni destaco ni me hundo)

Saludos.

Saludos.
#22
Ingeniería Inversa / Conceptos básico.
Junio 19, 2015, 10:11:23 PM
Saludos.

Si eres nuevo en la ingeniera inversa no vendría nada mal definir ciertos conceptos básicos, así que aquí les este pequeño recopilatorio sobre conceptos básicos:

Conceptos generales aplicados en la ingeniera inversa.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Nociones básicas de ingeniería inversa.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Que son los Crack_me, Keygen_me, Patch_me etc... y para que sirven.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Ingenieria inversa definicion.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Concepto de ingenieria inversa ó Cracking.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Este post se ira actualizando en la misma medida que lleguen nuevos aportes.

Saludos.

#23
Ingeniería Inversa / Top Post
Junio 19, 2015, 10:08:29 PM
Saludos.

He aquí la recopilación de los mejores aportes dejados por los hermanos de la comunidad, espero les sea de provecho a mas de uno.


No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Este post se ira actualizando en la misma medida que se vayan haciendo nuevos aportes.

Saludos.
#24
Saludos.

Aquí una pequeña recopilación de los mejores Crack_Me y retos de la sección de ingeniería inversa, es muy probable que las soluciones estén rodando por el foro, así que a darle!!

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

El post seguirá siendo actualizado a medida que se vayan haciendo nuevos aportes.
#25
Pues aquí les dejo los mejores aportes de herramientas para ser aplicados en la mágica rama de la ingeniería inversa, saludos.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#26
Pues esta es la cuestion...
Ser o no ser...

Es necesario dominar algún lenguaje de programación para comprender y practicar de forma efectiva la ingeniería inversa.

Adjunto una pequeña encuesta donde pueden votar y justificar sus votos.

Saludos.
#27
Pues aquí les traigo la curricula completa en español, en su versión 5 para la preparación en el examen de certificiacion 200-120.


No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Agradecimientos  Akin Ramirez y Raul T

Saludos hermanos, espero les sea de utilidad.
#28



REMnux es una distribución ligera de Línux basada en Ubuntu para asistir a los analistas de malware (programas maliciosos) en hacer ingeniería invertida de dichos programas.

incorpora una vasta cantidad de herramientas para analizar ejecutables maliciosos que corren sobre Microsoft Windows, así como en malware basado en navegadores de red, tales como programas en Flash y el ofuscado de JavaScript.

El juego de herramientas también incluye programas para analizar documentos maliciosos tales como archivos PDF y utilerías para dar ingeniería inversa al malware a través del análisis forense de la memoria.

Aqui les dejo el enlace oficial:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Fuente:No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#29
Hola chicos,

Mi pregunta es si alguien tiene idea de como entrar a las configuraciones de las cajas de cable digital usando la conexion RS-232 que estas traen en la parte trasera:



Comprare el cable RS-232 a USB en estos dias, pero quisiera ir avanzando en como lo hare y pues claro, que mejor forma de conseguir info que preguntando en un foro de hacking. El modelo que quiero explorar es DVC-2018 de la marca china Jiuzhou, aqui les dejo el enlace del producto en el website de la compañía:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Acepto cualquier idea por descabellada que sea, vamos underc0ders!!

Saludos.
#30



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?

CitarTelnet (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?

CitarSe 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: php
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: php
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: php
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:


8)

¿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.
#31
¿Qué es el DHCP?


El protocolo de configuración dinámica de host (DHCP, Dynamic Host Configuration Protocol) es un estándar TCP/IP diseñado para simplificar la administración de la configuración IP de los equipos de nuestra red.

Si disponemos de un servidor DHCP, la configuración IP de los PCs puede hacerse de forma automática, evitando así la necesidad de tener que realizar manualmente uno por uno la configuración TCP/IP de cada equipo.

Un servidor DHCP es un servidor que recibe peticiones de clientes solicitando una configuración de red IP. El servidor responderá a dichas peticiones proporcionando los parámetros que permitan a los clientes autoconfigurarse. Para que un PC solicite la configuración a un servidor, en la configuración de red de los PCs hay que seleccionar la opción 'Obtener dirección IP automáticamente'.

El servidor proporcionará al cliente al menos los siguientes parámetros:

[] Dirección IP
[] Máscara de subred
[] Opcionalmente, el servidor DHCP podrá proporcionar otros parámetros de configuración tales como:
[] Puerta de enlace
[] Servidores DNS
[] Muchos otros parámetros más...

El servidor DHCP proporciona una configuración de red TCP/IP segura y evita conflictos de direcciones repetidas. Utiliza un modelo cliente-servidor en el que el servidor DHCP mantiene una administración centralizada de las direcciones IP utilizadas en la red. Los clientes podrán solicitar al servidor una dirección IP y así poder integrarse en la red.



El servidor solo asigna direcciones dentro de un rango prefijado. Si por error hemos configurado manualmente una IP estática perteneciente al rango gestionado por nuestro servidor DHCP, podría ocurrir que dicha dirección sea asignada dinámicamente a otro PC, provocándose un conflicto de IP. En ese caso el cliente solicitará y comprobará, otra dirección IP, hasta que obtenga una dirección IP que no esté asignada actualmente a ningún otro equipo de nuestra red.

La primera vez que seleccionamos en un PC que su configuración IP se determine por DHCP, éste pasará a convertirse en un cliente DHCP e intentará localizar un servidor DHCP para obtener una configuración desde el mismo. Si no encuentra ningún servidor DHCP, el cliente no podrá disponer de dirección IP y por lo tanto no podrá comunicarse con la red. Si el cliente encuentra un servidor DHCP, éste le proporcionará, para un periodo predeterminado, una configuración IP que le permitirá comunicarse con la red. Cuando haya transcurrido el 50% del periodo, el cliente solicitará una renovación del mismo.

Cuando arrancamos de nuevo un PC cuya configuración IP se determina por DHCP, pueden darse dos situaciones:

a.- Si la concesión de alquiler de licencia ha caducado, el cliente solicitará una nueva licencia al servidor DHCP (la asignación del servidor podría o no, coincidir con la anterior).

b.- Si la concesión de alquiler no ha caducado en el momento del inicio, el cliente intentará renovar su concesión en el servidor DHCP, es decir, que le sea asignada la misma dirección IP.


Conceptos Basicos.

Ámbito servidor DHCP: Un ámbito es un agrupamiento administrativo de equipos o clientes de una subred que utilizan el servicio DHCP.

Rango servidor DHCP: Un rango de DHCP está definido por un grupo de direcciones IP en una subred determinada, como por ejemplo de 192.168.0.1 a 192.168.0.254, que el servidor DHCP puede conceder a los clientes.

Concesión o alquiler de direcciones: es un período de tiempo que los servidores DHCP especifican, durante el cual un equipo cliente puede utilizar una dirección IP asignada.

Reserva de direcciones IP: Consiste en reservar algunas direcciones IP para asignárselas siempre a los mismos PCs clientes de forma que cada uno siempre reciba la misma dirección IP. Se suele utilizar para asignar a servidores o PCs concretos la misma dirección siempre. Es similar a configurar una dirección IP estática pero de forma automática desde el servidor DHCP. En el servidor se asocian direcciones MAC a direcciones IP. Es una opción muy interesante para asignar a ciertos PCs (servidores, impresoras de red, PCs especiales...) siempre la misma IP.


Fuente: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#32

Saludos a toda la comunidad de underc0ders!!

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:

CitarEs 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 No tienes permitido ver los links. Registrarse o Entrar a mi cuenta 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.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

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:

Código: php
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:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

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?) pero para que sea mas obvio les agregare imágenes al post  ;D



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:

Código: php
ping 192.168.1.1


Y se obtiene esto:



Esto es todo por ahora queridos underc0ders, nos vemos en una próxima entrega.
#33
Pues en un post por ahi rodando me encontre con esta disyuntiva y me perdi un rato leyendo sobre ambas cosas y quise plantear un sano debate sobre el tema.

Tomando el arte como una forma de canalizar la necesidad del ser humano en comunicar sus sentimientos y sus emociones podriamos decir que la ciencia es una analogía del arte desde el punto de vista de necesitar vencer las distancias, el tiempo y conquistar las cosas que no logramos comprender.

Que opinan chicos?
#34


Saludos chicos, en esta ocasión vengo a dejarles mas material para certificaciones. Ahora les dejare la guía oficial de estudio para certificarse como Certified Wireless Security Professional en donde conseguirán relevante competitividad en las siguientes áreas:

WLAN Discovery Techniques
Intrusion and Attack Techniques
802.11 Protocol Analysis
Wireless Intrusion Prevention Systems (WIPS) Implementation
Layer 2 and 3 VPNs used over 802.11 networks
Enterprise/SMB/SOHO/Public-Network Security design models
Managed Endpoint Security Systems802.11 Authentication and Key Management Protocols
Enterprise/SMB/SOHO/Public-Network Security Solution Implmentation
Building Robust Security Networks from the ground up
Fast BSS Transition (aka. Fast/Secure Roaming) Techniques
Thorough coverage of all 802.1X/EAP types used in WLANs
Wireless LAN Management Systems (WNMS)
Authentication Infrastructure Design Models
Using Secure Applications
802.11 Design Architectures
Implementing a Thorough Wireless Security Policy


No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos por allá y hasta la próxima.
#35
Redes y antenas / ¿Que es STP y para que sirve?
Marzo 03, 2015, 10:41:35 PM
Muy buenas queridos underc0ders.

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 arbol de expansion) 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:


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 tambien es cierto que tiene un lado negativo y son los bucles de switching, tramas duplicadas y tormentas de difusion 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 asi una denegacion 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.

Aqui 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 fisicas de capa 2 (direcciones MAC). Bien, atención que esto es muy importante  :o :

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ó (Aqui 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 arbol (de ahi 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
Código: php
Switch>enable
Switch#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#spanning-tree vlan 1


Para Juniper
Código: php
user@switch# set stp interface all


Saludos por alla queridos underc0ders!!

En mi próximo rato libre escribiré algo sobre DHCP así que atentos.
#36

Los terminales móviles actuales son potentes centros de comunicaciones que se conectan de múltiples formas con Internet a través de tecnologías como 3G, 4G o WiFi. Sin embargo, hay ocasiones en las que estos sistemas se saturan fácilmente, como por ejemplo en lugares con grandes aglomeraciones de gente, y vendría bien poder contar un sistema complementario o incluso más personal.
Es aquí donde las comunicaciones ópticas entran en juego con nuevas tecnologías de transmisión no guiadas que a diferencia de la fibra utilicen el aire como medio (para los más curiosos, aquí tenéis una breve historia de las primeras comunicaciones ópticas que seguro os resultará interesante). Y una de las que parece tener más éxito es la que se conoce como Visible Light Communications (VLC), Comunicaciones por Luz Visible o también denominada Optical WLAN o Li-Fi.

¿Qué es Li-Fi?



Li-Fi es el nombre popular de una tecnología de comunicaciones ópticas que lleva investigándose más de 100 años y que consiste en transmitir datos a frecuencias de entre 400 y 800 THz (es decir, en el espectro visible de los humanos) en espacio abierto.
Pretende ser capaz de transmitir información con elementos de iluminación convencionales (bombillas LED) al mismo tiempo que se ilumina una estancia, y añadiendo únicamente uno pocos elementos baratos y fáciles de fabricar a las bombillas actuales.
Básicamente se necesita un modulador en la parte transmisora que apagará y encenderá el foco de luz muy rápidamente (de forma imperceptible para los humanos), creando así los ceros y unos binarios, y un fotodiodo en la parte de recepción (por ejemplo en el móvil) que recoge los cambios de luz y los pasará otra vez al dominio eléctrico.
Las primeras versiones utilizaban lámparas fluorescentes con las que se alcanzaban velocidades de unos pocos Kbps. Más tarde se empezaron a usar LEDs, capaces de apagarse y encenderse más rápido, con más potencia, multiplicando las velocidades finales. Pero no fue hasta que en 2011 el profesor Harald Haas de la Universidad de Edimburgo mostró el primer dispositivo que él denominaba Li-Fi transmitiendo a 10 Mbps, cuando empezamos a ver el verdadero potencial de la tecnología.



Haas señaló entonces que en poco tiempo sería posible incrementar la velocidad hasta 500 Mbps (supuestamente el que se consideraba límite físico de esta tecnología). Posteriormente el Fraunhofer Institute de Berlín mostró sus avances y señalaron que podrían llegar a 800 Mbps. Y las investigaciones continúan con propuestas que quieren llegar a los 15 Gbps (1,88 GBps) a medida que vayan optimizando el funcionamiento tanto de la parte emisora como de la receptora.



Usos, ventajas e inconvenientes


¿Para qué se pueden usar estas comunicaciones Li-Fi?

Pues principalmente para transmitir datos de alta velocidad al mismo tiempo que se ilumina una habitación. Li-Fi tiene numerosas ventajas. Para empezar, no satura la parte del espectro usado actualmente por otros sistemas como WiFi en sus diferentes versiones, ya que usa luz visible.
La información llega por el haz de luz de los LEDs, con lo que podemos o bien crear un haz disperso que proporcione una cobertura amplia o bien un haz muy fino que ilumine pequeñas regiones y transmita datos de forma más direccional. Esto permite un mayor control sobre a quién están llegando los datos en cada momento y permite redes de corto alcance más seguras.
También se puede usar para transmitir grandes volúmenes de datos entre equipos o a dispositivos multimedia. Por ejemplo, podemos enviar un vídeo del móvil a un televisor de forma rápida o copiarlo a un disco duro de red sólo con apuntar teléfono a la tele o al disco duro durante unos segundos, como ahora hacemos con el mando a distancia para cambiar de canal (que por cierto también usa una variante de "Li-Fi" basada en infrarrojos).
Sin embargo, no todo son ventajas. El principal inconveniente de la tecnología es su reducido alcance, que de momento se sitúa en unos pocos metros (típicamente unos 10) y que la cobertura se corta cuando un objeto se interpone en el haz de luz. Basta con pasar la mano por el haz de luz o mover el terminal fuera de él para que la transmisión se corte, como podéis apreciar en el siguiente vídeo:



El smartphone, un gran receptor para Li-Fi



Aunque la tecnología de Li-Fi puede aplicarse a cualquier dispositivo de comunicaciones fijo y móvil, es en el teléfono inteligente donde puede encontrar un gran potencial, tanto dentro como fuera del hogar. Dentro porque permite redes sencillas, potentes y teóricamente baratas que pueden llegar a todos los rincones de una habitación por medio de una bombilla en el techo.
Y fuera porque son una estupenda opción para desplegar sistemas de información ad-hoc sin usar WiFi, con información personalizada que llegará directamente a nuestros terminales. Por ejemplo, hace unos días os comentábamos una alternativa a los códigos QR que podría usar esta tecnología por luz visible para llevar información a los móviles.
Pero ya se piensa en instalar Li-Fi en lugares de gran afluencia de público, como en bibliotecas, museos, estadios deportivos, centros comerciales, etc. Por ejemplo, imaginad el caso típico de que vamos a la compra y al pasar por un pasillo, bajo una luz que aparentemente es normal, o junto a un producto específico nos llega una alerta al móvil de que está rebajado.
O si queremos conocer más detalles sobre sus características y funcionamiento, simplemente estando bajo la luz que lo ilumina podemos entrar en su ficha técnica y ver vídeos demostrativos del producto. Pero además, Li-Fi puede usarse en elementos del mobiliario urbano, como en farolas, marquesinas, etc. y como sistema de publicidad en los negocios del barrio.
Por supuesto, para que todo esto sea posible es necesario que los móviles cuenten con sistemas de recepción de esta luz LED instalados preferiblemente en la parte frontal de los terminales. Empresas como Oledcomm y Sunpartner ya trabajan en ello y parece que tienen listo un prototipo de terminal presentado el pasado otoño y cuyo funcionamiento básico podéis ver en el siguiente vídeo:



Li-Fi es, por tanto, una interesante tecnología con mucho potencial de futuro que probablemente empecemos a ver insistentemente a partir de este 2015. Es barata, rápida, relativamente sencilla, no satura el espectro electromagnético habitual y promete altas velocidades de transmisión con poco consumo de batería. Vamos, el Santo Grial de las comunicaciones móviles a corta distancia.

Fuente: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#37
Redes y antenas / Nueva version de Packet Tracer 6.2
Febrero 06, 2015, 01:32:27 PM
Muy buenas underc0ders.

Pues tal y como dice el titulo ha sido liberada una nueva versión de este gran simulador de redes (simulador propiedad de CISCO) en su versión 6.2 la cual esta recién salida del horno (fue liberada el 30 de enero del año en curso) y esta incorpora muchas novedades que desde mi punto de vista han sido un gran avance para el estudio del área de networking.

En sus principios PT estaba orientado principalmente a tecnologías de conmutación en dispositivos de capa 2 (Switches) y a tecnologías de enrutamiento en dispositivos de capa 3 (Routers), pero con la evolución del material educativo ha sido necesaria la reestructuracion de esa herramienta.

Entre las mejoras que encontramos están:

    [] Nuevos dispositivos: Cisco 819 router, Cell Tower, CO server, Sniffer
    [] Capacidad de agregar dispositivos directamente desde la vista física
    [] Los servidores HTTP ahora soportan JavaScript y CSS
    [] Los servidores FTP pueden administrar archivos usados en servidores HTTP
    [] Se han realizado mejoras en las ayudas para la interfaz CLI

Por lo general para poder descargarlo, es necesario hacer login en la plataforma de CISCO, por lo cual solamente los estudiantes y los profesores tienen acceso a la herramienta, yo como estudiante me he descargado la versión para Linux/Ubuntu y derivadas por lo cual agregare el link de descarga y un pequeño manual para instalar, todo eso... a continuación aquí en underc0de.




Instalación.
Linux 32 bits

Si tienen un sistema con arquitectura de 32 bits la instalación es super sencilla.

[] Descomprimir el fichero Cisco Packet Tracer 6.2 for Linux - Ubuntu installation - Student version.tar.gz
[] Ejecutar el fichero Install con permisos de administrador.
[] Aceptar el Agreement.
[] Y listo, al final tendrán PT instalado.



Linux 64 bits.
Si en cambio utilizan una arquitectura de 64 bit deberán hacer unos cuantos ajustes antes de poder instalar, detallo a continuación.

[] Descomprimir el fichero Cisco Packet Tracer 6.2 for Linux - Ubuntu installation - Student version.tar.gz
[] Ejecutar el fichero Install con permisos de administrador.
[] NO TERMINAR DE LEER TODO EL AGREEMENT, debemos detenerlo antes del final (cerca del 90%) justo como muestra la imagen:



[] Y entonces ejecutar el script proporcionado en el segundo vinculo, el cual se encargara de descargar y configurar las dependencias faltantes, al final de la ejecución este se cierra automáticamente, y entonces continuamos con el porcentaje faltante del AGREEMENT respondiendo con "Y" todas las preguntas faltantes.

Packet Tracer 6.2
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Script para poder instalar en sistemas 64 bit
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos por allá underc0ders y espero le sea provechoso a mas de uno.
#38
Muy buenas underc0ders, en esta ocasión quiero traerles un pequeño tutorial de como configurar OSPF de área única, no es nada del otro mundo pero aun así tratare de hacerlo lo mas claro posible, así que manos a la obra..!!


¿Que es OSPF?

OSPF es un protocolo de enrutamiento dinámico de estado de enlace que utiliza el Algoritmo de Dijkstra para elegir la mejor ruta posible.



Tranquilos que yo tampoco lo pille la primera vez que me lo dijeron, asi que vamos a definirlo en lenguaje de humanos. En el mundo del networking los router deben "enrutar" de la mejor manera posible los paquetes que viajan aun destino cualquiera, para saber cual es el mejor camino deben usar algo asi como un mapa (tabla de enrutamiento) el cual contiene todas las posibles rutas para que el paquete llegue a su destino, este "mapa" debe ser alimentado constantemente, actualizado, anunciado, etc... y se pueden imaginar el labor que significaría eso para cualquier administrador de red, y es entonces donde entran en juego "Los protocolos de enrutamiento dinámico" que logran de forma dinámica y muy rapida alimentar los mapas de todos los routers en un area determinada.

Cabe aclarar que cuando digo "routers" no me refiero al pequeñito que tenemos en nustras casas, me refiero a grandes routers que mueven mucho trafico entre redes extensas (WAN), asi que cambien la imagen en sus mentes...

OSPF utiliza el No tienes permitido ver los links. Registrarse o Entrar a mi cuenta para determinar cual es el mejor camino para enviar un paquete a travez de la red, lo hace basándose en una métrica (costo) que a su vez depende del ancho de banda del enlace (esto sera un poco complicado  :-\ ). Cada enlace (caminos) tiene un costo asignado y la meta de OSPF es elegir el camino que tenga el costo mas barato. En la siguiente animación se muestra como OSPF decide cual es el mejor camino para llegar de A hasta B



Bueno, de protocolos de enrutamiento dinamico podriamos pasar una larga tarde hablando pero ese no es el caso, ya que aqui hablaremos estrictamente de OSPF y como configurar.

¿Como se hace funcionar?

Pero antes unos cuantos puntos...


  • OSPF tiene dos versiones, una para IPv4 (OSPF2) y la otra para IPv6 (OSPF3) aquí vamos a configurar OSPF2

Recursos necesarios:

||| GNS3 funcionando.
||| Imagen del IOS de algún router (recomiendo la del modelo 3745)
||| Bloque de direcciones mayor 192.168.1.1/24 (en mi caso ya he creado 6 subredes para la topologia, así que a practicar un poco sobre subneting chicos!!)
||| A cada router deben agregarle una tarjeta de interfaces seriales para los enlaces WAN.

Pues prepare una pequeña topologia en GNS3 para mostrarles de que va y como se configura.



Configuramos el direccionamiento en el Router A de la siguiente manera...

Código: php
R1#ena   
R1#conf t                                                                                                 #Entramos en el modo configuración global
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#int fa0/0                                                                                #Llamamos la interfaz
R1(config-if)#ip add
R1(config-if)#ip address 192.168.1.1 255.255.255.224                         #Asignamos dirección IP y la mascara
R1(config-if)#no shutdown                                                                     #Encendemos la interfaz
R1(config-if)#
*Mar  1 00:10:58.147: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Mar  1 00:10:59.147: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
R1(config-if)#exit
R1(config)#inte
R1(config)#interface se                                                                             #Llamar interfaz
R1(config)#interface serial 0/0
R1(config-if)#ip add
R1(config-if)#ip address 192.168.1.97 255.255.255.224                         #Asignar dirección IP y mascara
R1(config-if)#no shu                                                                                 #Encendemos la interfaz
R1(config-if)#
*Mar  1 00:25:25.187: %LINK-3-UPDOWN: Interface Serial0/0, changed state to up
R1(config-if)#
*Mar  1 00:25:26.191: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0, changed state to up
R1(config-if)#
*Mar  1 00:25:53.427: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0, changed state to down
R1(config-if)#interface serial 0/1                                                           #Llamamos la interfaz
R1(config-if)#ip address 192.168.1.190 255.255.255.224                    #Asignamos la direccion IP y la mascara
R1(config-if)#no shu                                                                             #Encendemos la interfaz
R1(config-if)#
*Mar  1 00:26:24.663: %LINK-3-UPDOWN: Interface Serial0/1, changed state to up
*Mar  1 00:26:25.663: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/1, changed state to up
R1(config-if)#exit
*Mar  1 00:26:53.427: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/1, changed state to down


Ahora vamos a configurar OSPF en el mismo Router...

Código: php
R1(config)#router ospf 1                                                                #Entramos en la configuración de OSPF y asignamos un ID
R1(config-router)#router-id 1.1.1.1                                                #Asignamos un ID al router (No es una direccion IP)
R1(config-router)#network 192.168.1.169 0.0.0.31 area 0   #Declaramos las redes, wildcard mas y su área (área única, recuerdan..?)
R1(config-router)#network 192.168.1.0 0.0.0.31 area 0               #Declaramos las redes que queremos anunciar a los routers vecinos
R1(config-router)#network 192.168.1.96 0.0.0.31 area 0             #Declaramos las redes que queremos anunciar a los routers vecinos
R1(config-router)#end


Por ultimo guardamos el archivo de ejecución en el archivo de inicio, para evitar perder las configuración tras algún reinicio inesperado.

Código: php
R1#copy running-config startup-config
Destination filename [startup-config]?
Building configuration...
[OK]
R1#


Ya esta configurado el Router A, pero antes de seguir cabe hacer unas aclaraciones:

a) Los enlaces WAN solo se levantan cuando se encienden ambos lados del enlace, por eso cuando hacemos un "no shutdown" a un enlace WAN este se muestra UP:
Citar*Mar  1 00:25:26.191: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0, changed state to up

Y luego down...
Citar*Mar  1 00:25:53.427: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0, changed state to down

b) Por razones de rendimiento en la red los protocolos de enrutamiento dinámico se configuran por áreas especificas, de esa forma si ocurre un problema en una área de la red esta no afecta el resto, esta es la razón por la que al declarar una red debemos especificar el área:

CitarR1(config-router)#network 192.168.1.96 0.0.0.31 area 0

c) Cada router corriendo OSPF en un área determinada debe tener un ID para poder identificar a sus vecinos y ser identificados, una ID de router es un valor decimal de 32 bits muy similar a una dirección IP (casi idéntico) pero no tiene relevancia en el proceso de enrutamiento, es decir NO FUNCIONA como una dirección IP. "Se parece pero no es"

Dicho esto vamos a realizar las configuraciones en el Router B (En el primer ejemplo comente todos los comandos para que hagan de referencia para el resto del tutorial, asi que de aquí en adelante no los comentare)

Configuramos el direccionamiento en el Router B

Código: php
R2#ena
R2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#int fa0/0
R2(config-if)#ip add
R2(config-if)#ip address 192.168.1.33 255.255.255.224
R2(config-if)#no shu
R2(config-if)#
*Mar  1 00:17:12.331: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Mar  1 00:17:13.331: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
R2(config-if)#int se 0/1                             
R2(config-if)#int se 0/0
R2(config-if)#ip add
R2(config-if)#ip address 192.168.1.126 255.255.255.224
R2(config-if)#no shu
R2(config-if)#
*Mar  1 00:18:36.135: %LINK-3-UPDOWN: Interface Serial0/0, changed state to up
R2(config-if)#
*Mar  1 00:18:37.139: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0, changed state to up


Procedemos a configurar nuestro proceso OSPF...

Código: php
R2(config-if)#router ospf 1
R2(config-router)#router-id 2.2.2.2
R2(config-router)#network 192.168.1.32 0.0.0.31 area 0
R2(config-router)#network 192.168.1.96 0.0.0.31 area 0
R2(config-router)#
*Mar  1 00:20:34.947: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.1 on Serial0/0 from LOADING to FULL, Loading Done
R2(config-router)#network 192.168.1.128 0.0.0.31 area 0
R2(config-router)#exit


Por ultimo copiamos el archivo de configuración en ejecución al archivo de ejecución de inicio

Código: php
R2#copy running-config st
R2#copy running-config startup-config
Destination filename [startup-config]?
Building configuration...
[OK]


Ya esta configurado el Router 2 y como es de costumbre vamos a realizar algunas aclaraciones...

d) En una red y en un Router pueden ser configurados múltiples procesos de OSPF, por ello cada proceso OSPF debe ser identificado con un ID de proceso, de ahí que siempre usamos...

CitarR2(config-if)#router ospf 1

Casi terminamos... Es hora de configurar el Router B, así que vamos a ello.

Direccionamiento:

Código: php
R3#ena
R3#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R3(config)#int fa0/0
R3(config-if)#ip add
R3(config-if)#ip address 192.168.1.65 255.255.255.224
R3(config-if)#no shu
R3(config-if)#
*Mar  1 00:02:34.975: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Mar  1 00:02:35.975: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
R3(config-if)#int se0/0                             
R3(config-if)#ip add
R3(config-if)#ip address 192.168.1.161 255.255.255.224
R3(config-if)#no shu
R3(config-if)#
*Mar  1 00:03:32.167: %LINK-3-UPDOWN: Interface Serial0/0, changed state to up
R3(config-if)#
*Mar  1 00:03:33.171: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0, changed state to up
R3(config-if)#int se0/1                               
R3(config-if)#ip add
R3(config-if)#ip address 192.168.1.158 255.255.255.224
R3(config-if)#no shu
R3(config-if)#
*Mar  1 00:04:22.167: %LINK-3-UPDOWN: Interface Serial0/1, changed state to up
*Mar  1 00:04:23.167: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/1, changed state to up
R3(config-if)#exit


OSPF config.

Código: php
R3(config)#router ospf 1
R3(config-router)#router-id 3.3.3.3
R3(config-router)#net
R3(config-router)#network 192.168.1.64 0.0.0.31 area 0
R3(config-router)#network 192.168.1.128 0.0.0.31 area 0
R3(config-router)#
*Mar  1 00:08:13.639: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on Serial0/1 from LOADING to FULL, Loading Done
R3(config-router)#network 192.168.1.160 0.0.0.31 area 0
R3(config-router)#
*Mar  1 00:08:30.219: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.1 on Serial0/0 from LOADING to FULL, Loading Done
R3(config-router)#end


Guardar las configuraciones.

Código: php
R3#copy running-config st
R3#copy running-config startup-config
Destination filename [startup-config]?
Building configuration...
[OK]
R3#


Listo!!!!

Pero antes de dar por finalizado, viene la tanda de aclaraciones   ::)

No se si se habrán fijado en los avisos que van saltando a medida que vamos configurando OSPF, avisos como:

Citar*Mar  1 00:20:34.947: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.1 on Serial0/0 from LOADING to FULL, Loading Done
Citar*Mar  1 00:08:30.219: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.1 on Serial0/0 from LOADING to FULL, Loading Done
Citar*Mar  1 00:08:13.639: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on Serial0/1 from LOADING to FULL, Loading Done

Ummmm.... Interesante no?

Pues OSPF como protocolo de enrutamiento dinámico necesita conocer sus vecinos, conocer sus tablas de enrutamiento, anunciar sus propias redes conectadas, etc... y para lograr ese fin crea algo llamado Adyacencias basándose en una regla de saludos, solicitudes y acuses de recibo y cuando logra unificar las bases de datos de todos los router en su área de acción llega su estado FULL de convergencia, lo que en resumen significa que: "Todos los routers en un área especifica conocen totalmente la topologia de la red así como sus costos"

Para saber si los enrutadores han logrado la Full convergencia solo debemos escribir:

Código: php
R1#show ip ospf neighbor


Y veremos:



R2



R3



Y ahora si, listo!!!!

Saludos por allá underc0ders y hasta la próxima.
#39
Pues para los que gusten, en esta ocasion les traigo un curso de Linux impartido totalmente online, totalmente gratuito y nada mas y nada menos que por la mismísima Linux Foundation.



El curso tiene dos formas de ser tomado:

A) Usando el modo "Audit this course" que hara que sea totalmente gratis.

B) La segunda opción es haciendo una donación mínimo de 99 dolares y así conseguir un diploma certificado por LF.

En ambos casos el material sera totalmente el mismo.

Aquí un vídeo de Linus Torvalds invitandoles...



Aquí el link para el curso, simplemente deben registrarse con un mail valido.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos por allá.
#40

Por años venimos leyendo en casi todas las partes los 5 pasos del hacking, los cuales difieren en algunas cosas, si bien en algunos lados el orden es:

1- Escanear
2- Recopilar información
3- Testing
4- Planear el ataque
5- Lanzar el ataque


En otros lados es:

1- Recopilar información
2- Escanear
3- Conseguir Acceso
4- Mantener acceso
5- Limpiar el rastro


Y en otros mas sera:

1- Recopilar información
2- Escanear
3- Conseguir el acceso
4- Elevar privilegios
5- Mantener el acceso
6- Limpiar rastro


Y si bien es cierto que a grandes rasgos los modelos son similares también es cierto que difieren en cuanto al orden en algunos de sus etapas y esto sucede a razón de que cada cual tiene su modo personal y único de hacer las cosas. Pero en medio de tantas formas diferentes existe un común denominador para un correcto y exitoso pentesting, y es:

Recopilar información



Generalmente se suele decir: "Recopilar información y luego escanear" pero ambas etapas realmente son las mismas ya que en ambas tratamos de "Conseguir la mayor cantidad de información posible", así que en lo adelante las tratare como a iguales para conceptualizar mejor el post.

Recopilar información.


Es muy común que se le llame "Etapa de reconocimiento" y es donde intentamos conseguir la mayor cantidad de información posible sobre un objetivo, y cuando digo "la mayor" me refiero a tomar en cuenta incluso los mas mínimos detalles. Y en un mar de información y a causa de nuestra humanidad resultaría muy fácil confundirnos y obviar algún dato que quizás resulte muy importante, por tanto debemos recopilar información de manera organizada.

¿Que beneficios aporta la recopilación de información?

Podria sonar tonto y quizás obvio, pero de todas formas tratare de iluminar un poco mas.

a) Nos ayuda a conocer la postura que tiene el objetivo en cuanto a la seguridad de sus sistemas informáticos (saber si tienen presupuesto para protegerse, si tienen a alguien en especifico para defenderles, saber si han sido atacados anteriormente, etc...)

b) Reducir el área de ataque a un rango especifico de direcciones IP, redes, nombres de dominio, accesos remotos, posibles vulnerabilidades, equipos conectados directamente a internet, etc..

c) Recuerdan lo de la organización descrito mas arriba ? Pues eso mismo, construir una base de datos de toda la información recopilada nos ayuda a una posterior asociación de datos.

d) Pues usando los puntos b & c y apoyados en las herramientas correctas podríamos hacer una topologia del diseño de red, lo cual podría ser nuestro mapa.

¿Que tipo de información debemos conseguir?


Pues la información puede ser de muchos tipos, por lo cual seria recomendable organizarla en tres grandes bloques.

Información de la red.


Dentro de este pilar podríamos mencionar:

Código: php
Nombres de dominio
Nombres de dominios internos
Bloques de dirección IP
Direcciones de equipos alcanzables desde Internet
Servicios UDP & TCP corriendo en los equipos
Mecanismos de accesos físicos
Protocolos de red
Puntos para VPN
Listas de accesos (ACLs)
Números telefónicos (Digitales/analogos)
Mecanismo de autentificacion


Información del sistema

Código: php
Nombres de usuarios y de grupos
Avisos del sistema (Para asuntos legales los avisos del sistema representan un factor muy importante)
Tablas de enrutamiento
Arquitectura del sistema
Nombres de sistemas
Contraseñas


Información sobre la empresa

Código: php
Detalles de los empleados
Pagina web de la empresa
Comentarios en el código HTML del website
Directorio de la compañía
Detalles de la ubicación física
Números telefónicos
Políticas de seguridad
Trayectoria de la empresa
Artículos de prensa sobre la empresa


¿Como conseguir toda esta información?

Pues el abanico de posibilidades es muy amplio, aquí solo cito algunos de ellos por ejemplo:

Código: php
Ingeniería social.
Campañas publicitarias.
Revisar toda la información del website
Escaneo del sistema.
Fuga de la información (En parte también usando la ingeniería social, empleados descontentos, etc..)
Acceso físico
Revisar la basura (Puede sonar desagradable, pero muchas empresas no destruyen apropiadamente sus desechos)
Mail Phishing.
Whois
Tracert / traceroute



Se suman a estos la mezcla de una posibilidad con otra (Ingeniería social + Acceso físico), todo sea por conseguir esa valiosa información que nos ayudara en nuestros fines, ninguna información carece de importancia, los horarios de almorzar, los horarios de entra y de salida de los empleados, todo!!!

Esto es todo por ahora underc0ders, nos vemos en una próxima.