sábado, 9 de noviembre de 2013


El hecho de que varios navegadores ya sean compatible con WebRTC permite que sea posible construir herramientas de comunicación mucho más ágiles y sofisticadas, ejecutándose dentro del propio browser.
talky
talky.io es un buen ejemplo, una herramienta que permite crear sesiones (solo tenemos que indicar un nombre) y distribuir el enlace para que un grupo de personas puedan comunicarse usando su webcam y micrófono, sin necesidad de extensiones, ni JAVA, ni ningún complejo programa en el escritorio.
Talky.io permite también compartir la pantalla con otras personas (excelente para dar soporte remoto), siendo necesario seleccionar la opción en el menú superior derecho que mostramos e la captura:
talky

Solo puede funcionar, de momento, en las últimas versiones de Chrome y Firefox, ya que usa funciones de WebRTC aún no disponibles en otros navegadores. En iswebrtcreadyyet.com podéis ver como esta tecnología se está implantando en los diferentes browsers, dejando claro que aún hay mucho camino que recorrer para pdoer crear grandes aplicaciones usando estas funciones.
Comentan en labnol que hay otras soluciones semejantes en el mercado, como same.io (aún en beta cerrada) y appear.in, aunque esta última solución solo permite la conferencia, no ofrece la posibilidad de compartir pantalla como hace Talky.
Sea como sea, está claro que tendremos que seguir el rastro de WebRTC de cerca, una nueva generación de aplicaciones web se acerca.

Para configurar el navegador chrome  a fin de que se pueda compartir el escritorio deben activar(habilitar) la opcion getUserMedia()   dentro de la seccion de configuracion: chrome://flags (en la direccion web colocar el url anterior y dirigirse al final de la pantalla de configuracion y empezar a subir, encontraran la opcion getUserMedia() y deben habilitarla, luego solo cierren el chrome, vuelvan a abrirlo y listo ya esta todo configurado)





saludos

Miguel
Gracias a wwwwhatnews

viernes, 11 de octubre de 2013

Introducción a Iptables


origin_100250487
Para todos los que inician el camino hacia Linux, la seguridad es algo que preocupa, ya que cuando se busca un antivirus u otra aplicación de seguridad para la distribución elegida, son pocas las opciones que se encuentran. Esto se debe a que de por sí, Linux trae implementada una de las mejores (si no la mejor a mi punto de vista personal) medidas de securización que se pueden encontrar, Iptables. Iptables es un potente firewall que Linux integra en el propio Kernel y que forma parte del proyecto netfilter (compuesto por IPtables, ip6tables, ebtables, arptables e ipset). Este cortafuegos, al igual que su predecesor Ipchains, es totalmente configurable, tanto por línea de comandos, sin necesidad de instalar nada en el sistema, o mediante alguna interfaz gráfica que ya son varias las que circulan por la red. Es cierto que ha tenido alguna vulnerabilidad conocida durante su existencia, como el que permitiese la realización de ataques DoS (Dennied of Service o denegación de servicio), pero no es ni mucho menos tan ‘frágil’ como puede llegar a ser un servidor que tengamos que iniciar aparte del equipo para que vigile la red y que en cualquier momento se pueda caer, o como alguna aplicación de terceros que mantengamos en servicio escuchando ciertos puertos.
IPtables se inicia junto con el sistema y se mantiene activo todo el tiempo, adecuándose y aplicando a todo el tráfico de red las reglas que se le hayan configurado previamente. Para explicarlo de una forma muy simplista, tenemos que abstraernos del equipo y olvidar por un momento toda la configuración específica de nuestra máquina. Teniendo en cuenta que las reglas de IPtables están a nivel de Kernel, el Kernel lo que recibe es un paquete de datos y decidirá qué hacer con él. Es ahora cuando, dependiendo de si el paquete es para nuestro equipo o para otro, consultará las reglas de IPtables y decidirá lo que hará con el paquete según dichas reglas. Según la configuración aplicada, el paquete de datos de red pasará por nuestro equipo sin ser procesado, entrará se procesará y saldrá, o directamente será devuelto.

Tipos de tablas

Existen tres tipos de tablas en IPtables y os las presentamos en orden de posible aplicación:

Tablas MANGLE

Las tablas MANGLE, se encargan de la modificación de los paquetes, como los TTL o TOS por ejemplo, en el momento que se le especifique. No es utilizada normalmente por lo que no nos detendremos mucho en este apartado. Sólo comentar que hasta el Kernel 2.4.17 se componía de 2 cadenas; PREROUTING para modificar los paquetes entrantes antes de enrutarlos hacia el siguiente nivel de IPtables, y OUTPUT para alterar paquetes generados localmente antes de enrutarlos. Desde el Kernel 2.4.18 tres nuevas cadenas se implementaron en las tablas MANGLE; INPUT para modificar paquetes entrantes, FORWARD para alterar paquetes que a continuación serán enrutados a través de IPtables y POSTROUTING para cambiar paquetes que están listos para salir.

Tablas NAT: PREROUTING, POSTROUTING

Las tablas NAT (network address translation o traducción de direcciones de red) serán consultadas cuando un paquete cree una nueva conexión. Permiten compartir una dirección IP pública entre muchos equipos, lo que es imprescindible en muchas situaciones por la escasez de direcciones IPv4. También permiten añadir reglas que modifican las direcciones IP de los paquetes. Contiene dos tipos principales de reglas, SNAT (o IP masquerading) para cambiar la dirección de origen y DNAT (o Port Forwarding) para las direcciones de destino. Contiene tres cadenas de modificación, PREROUTING para modificar paquetes tan pronto lleguen al equipo, OUTPUT para alterar paquetes generados localmente antes de enrutarlos y POSTROUTING para modificar paquetes que están listos para salir del equipo.

Tablas de Filtrado: INPUT, OUTPUT, FORWARD

Las tablas de filtrado se utilizan por defecto para el manejo que los paquetes de datos. Es responsable del filtrado de dichos paquetes según la cadena que esté configurada para cada uno de ellos hacia un destino u otro, o bloquearlo. Todos los paquetes pasan a través de esta tabla, que contiene tres cadenas predefinidas: INPUT (ENTRADA) con la que todos los paquetes destinados a este sistema atraviesan esta cadena (y por esto se la llama algunas veces LOCAL_INPUT o ENTRADA_LOCAL),OUTPUT (SALIDA) para todos los paquetes creados por este sistema atraviesen esta cadena (a la que también se la conoce como LOCAL_OUTPUT o SALIDA_LOCAL) y FORWARD (REDIRECCIÓN) con la que todos los paquetes simplemente pasan por este sistema para ser encaminados a su destino recorren esta cadena.
Cada paquete de red recibido o enviado desde un sistema Linux está sujeto a al menos una tabla. Sin embargo, un paquete puede estar sometido a múltiples reglas dentro de cada tabla antes de emerger al final de la cadena. La estructura y propósito de estas reglas puede variar, pero normalmente buscan identificar un paquete que viene de o se dirige hacia una dirección IP en particular, o un conjunto de direcciones, cuando utiliza un determinado protocolo y servicio de red.
Independientemente de su destino, cuando un paquete cumple una regla en particular en una de las tablas, se les aplica un objetivo (target) o acción a ellos. Si la regla especifica un objetivo ACCEPT para un paquete que coincida, el paquete se salta el resto de las verificaciones de la regla y se permite que continúe hacia su destino. Si una regla especifica un objetivo DROP, a ese paquete se le niega el acceso al sistema y no se envía nada de vuelta al servidor que envió el paquete. Si una regla especifica un objetivo QUEUE, el paquete se pasa al espacio del usuario. Si una regla especifica el objetivo opcional REJECT, el paquete es descartado, pero se envía un paquete de error al que envió el paquete.
Cada cadena tiene una política por defecto de ACCEPT (aceptar), DROP (eliminar), REJECT(rechazar), o QUEUE. Si ninguna de estas reglas en la cadena se aplican al paquete, entonces el paquete es tratado de acuerdo a la política por defecto.

Tipos de Targets

Estas políticas son conocidas también como Targets (objetivos) para las cadenas anteriormente citadas y los más comunes son:

Target ACCEPT

Un vez que el paquete cumple la todas las condiciones que hayamos especificado, si usamos la opción -j ACCEPT el mismo será aceptado y no recorrerá más reglas de la cadena actual y de ninguna otra de esa misma tabla. Esto es importante aclararlo ya que el paquete puede ser eliminado en otra tabla.

Target DROP

Un vez que el paquete cumple la todas las condiciones que hayamos especificado, si usamos la opción -j DROP el mismo será bloqueado y no será procesado en ningún otra cadena ni tabla.
Esto puede traer como inconveniente dejar sockets muertos y en muchos casos conviene usar el target REJECT

Target REJECT

Este módulo tiene el mismo efecto que «DROP», excepto que al remitente se le envía un mensaje de error  ICMP «port unreachable»

Target QUEUE

Se utiliza para procesar los paquetes que llegan por un determinado proceso, independientemente de que vayan o no dirigidos a él.
Hasta aquí la información más básica acerca de IPtables. Con esto deberíamos ser capaces de entender cómo funciona este excepcional cortafuegos. Muy pronto publicaremos cómo configurarlo, suscribiros para no perdéroslo!

Kali Linux en ves de Backtrack para seguridad en redes


22 Pasos para aumentar la seguridad de tu red.


origin_2057169454-370x260
La seguridad es algo que todos tenemos que tener en cuenta y a lo que todos en algún momento tendremos que hacer frente. Mientras que saturamos nuestros equipos con herramientas que nos ‘defienden’ de ciertas amenazas (antivirus para los virus, anti-spywares para los spywares, antitroyanos… bueno se entiende…), hay algo mucho más fácil, y es securizar nuestra red (sin olvidarnos luego de nuestros equipos, claro está). Para esto existen varias distribuciones Linuxque nos proporcionan unas suites completas de aplicaciones para satisfacer nuestra necesidad de seguridad. Uno de los más conocidos (y eso que es bastante reciente) es Kali Linux (sucesor de Backtrack, ya que casi el equipo de desarrollo completo de Backtrack está tras su creación y mantenimiento). Existen otros como BackBox, Deft, Bugtraq, Ronin, Matriux Krypton, Pentoo, Caine, etc… Unos son más ligeros, otro están más orientados a la detección de vulnerabilidades web, algunos son más eficaces es sus versiones portables, pero nos centraremos con el que consideramos más equilibrado en muchos de estos aspectos. Kali
Linux nos permitirá securizar nuestra red, además de ejecutar análisis forenses a nuestras máquinas o equipos comprometidos. Una alternativa más segura, es dejarlo instalado permanentemente en un equipo y mantenerlo ‘vigilando’ la red y los equipos de esta.
Pero hoy, vamos a securizar lo máximo posible sin perder privilegios de navegación o acceso a webs, mediante Kali Linux, sus herramientas y una aplicación extra (Metasploit). Usaremos primeramente esta distribución para pasar por un conjunto de medidas, analizar y comprobar la seguridad de nuestra red local. Sólo veremos un subconjunto de entre la infinidad de herramientas disponibles en Kali Linux, pero aprenderemos algunas técnicas básicas para supervisar los sistemas y poner a prueba sus defensas.
Indicaremos en unos sencillos pasos el camino al principio de la seguridad:
Paso 01.
Descargar e Instalar.
El primer paso como es obvio, es hacernos con una copia de Kali Linux para poder operar con ella. Más abajo, al final del proceso encontraréis los enlaces a los recursos utilizados. En la página de descarga se nos proporcionan los enlaces de descarga en varios formatos y para distintas arquitecturas. Lo más común es descargar una ISO y, o bien grabarlo en un CD de la forma tradicional, o lo que recomendamos, que es crear una unidad USB Booteable (USB de arranque).
Paso 02.
La detección del hardware.
Un extra que nos ofrece Kali Linux, es la posibilidad de comprobar nuestro hardware antes siquiera de iniciar el sistema. Lo cual es recomendable para ver que trabajaremos con un hardware libre de problemas como sectores defectuosos en disco, memoria RAM dañada, etc…
Paso 03.
Netdiscover.
Una de las primeras cosas que deberemos hacer una vez iniciemos nuestro sistema de ‘pentesting’, es conocer quién o qué está en nuestra red. Netdiscover nos ofrece una herramienta para hacer la asignación de direcciones IP de nuestra red, que es especialmente útil en las redes WI-FI que no usan DHCP.
Paso 04.
Flujo TCP.
Una vez que tengamos la lista de hosts (equipos o personas en la red), nos interesará ver qué tipo de comunicación se está llevando a cabo sobre nuestra conexión. Tcpfl Ow supervisará el tráfico que esté circulando por la red, y lo reconstruirá para poder analizarlo para así poder ver en qué se usa nuestro ancho de banda.
Paso 05.
Intrace.
Una vez que sepas qué tipo de conversaciones se están produciendo en la red, podemos querer saber lo que enruta las conversaciones que se llevan a cabo. Intrace nos da una lista de enrutamientos para observar las trayectorias de los paquetes fl monitorizados de nuestra red.
Paso 06.
Zenmap.
Después de identificar los hosts de la red, tendremos que ver qué puertos tienen abiertos y lo que sus sistemas están ejecutando mediante ellos. La aplicación indicada para esto es Zenmap, que es el front-end (o interfaz de usuario) que normalmente se usa para Nmap.
Paso 07.
Sqlninja.
Ahora tenemos que empezar a meternos en cuestiones de seguridad. Microsoft es un buen saco de boxeo cuando se trata de seguridad, y SQL Server no iba a ser la excepción. La mayoría de las redes corporativas usan software de Microsoft, lo único que necesitamos saber es cómo están configuradas, para que Sqlninja pueda usar técnicas como SQL Injection (Inyección SQL), para vulnerar nuestro sistema y hacerse con nuestros datos.
Paso 08.
Acccheck.
Otro de los servicios que viene siendo un punto débil en nuestros sistemas es el sistema de compartición de archivos SMB (Samba). Acccheck se utiliza para ejecutar un ataque por diccionario de contraseñas y tratar de romper la autorización de Windows. Los diccionarios de contraseñas son básicamente archivos de texto con cientos, miles o millones de palabras o combinaciones de estas con la idea de que algún programa vaya usándolas una y otra vez en formularios de registro, logueo, acceso de privilegios hasta dar con una combinación adecuada y conseguir un acceso no autorizado. Los más  ’completos’ llegan a pesar sobre unos 20Gb; y son fácilmente localizables en internet.
Paso 09.
Modo Forense.
Si tras lanzar estos ataques a su propia red, considera que puede haber algún equipo comprometido, debemos ser cuidadosos y meticulosos al analizarlo. Kali Linux nos proporciona multitud de herramientas para el análisis forense de redes y equipos, además de que al arrancar Kali Linux, deja todas las unidades locales sin montar ni tocar, así podemos realizar todas las pruebas que necesitemos llevar a cabo sin cambiar el estado del sistema.
Paso 10.
Descifrado de contraseñas Offline.
Una de las cosas que deberemos investigar es si la máquina ha sido comprometida debido a contraseñas de seguridad débiles. Existen varias herramientas que pueden utilizarse para tratar de romper hashes de contraseñas, como por ejemplo ‘John the Ripper’, que utiliza ataques por diccionario para dar con las contraseñas objetivo.
Paso 11.
Guymager.
En algunos casos, la máquina a analizar puede ser demasiado importante para dejarla fuera de la red, incluso aunque fuera por unas horas. Por lo que la única opción sería clonar el disco, o hacer una imagen de la unidad para investigarla más afondo, antes de restaurarla en el equipo. Guymager es una herramienta implementada en Kali Linux que tiene esto que indicamos como propósito.
Paso 12.
Chkrootkit.
Una de las comprobaciones que deberemos hacer será comprobar si tenemos instalado un rootkit (proporcionaría una entrada a ‘los malos’ con privilegios totales sobre la máquina). Chkrootkit nos informará si existen estos rootkits en nuestro equipo que traten de hacerse cargo del control del mismo.
Paso 13.
Ingeniería Social.
Sin duda, uno de los aspectos de la seguridad que más descuidamos todos. Por más que securicemos un equipo, o una red, de nada nos servirá si los usuarios no mantienen el nivel de seguridad proporcionado. Kali Linux proporciona herramientas que pondrán a prueba nuestra seguridad en este campo de la ingeniería socia, con ataques de phishing (envío de mails con identidades suplantadas, o con enlaces a web-apps que comprometan
nuestra red o equipos), por ejemplo.
Paso 14.
Aprovechar las bases de datos.
Además de comprobar el aspecto social, también es necesario para poner a prueba la seguridad de las máquinas por si encontrásemos algún ‘agujero’. Para ello haremos uso de exploits conocidos, que podremos encontrar en una base de datos online, donde se registran y actualizan estas vulnerabilidades.
Paso 15.
Metasploit.
La herramienta habitual para comprobar la accesibilidad de un sistema es Metasploit, que proporciona un parco completo para la elaboración de vectores de ataque completos.
Estos incluyen intrusiones, compromisos de seguridad y canales para permitir el acceso remoto a un sistema infectado. En Kali Linux hay elementos en el menú que nos permitirán iniciar el servidor Metasploit. También encontramos una entrada para ejecutar un volcado de registros de diagnóstico, en caso de que tengamos algún problema con la conexión. Metasploit se ejecuta con un modelo cliente-servidor, así que una vez se inicia el servidor, tendremos que conectar con el cliente con el fin de lanzar algunos exploits contra la máquina indicada.
Paso 16.
Armitage.
Una de las interfaces gráficas disponibles para lo anterior es Armitage. Si ya hemos iniciado el servidor Metasploit, podemos utilizar Armitage para conectar al servidor.
En caso de que no hayamos ejecutado aun el inicio de un servidor, Armitage nos ofrece la posibilidad de poner en marcha un nuevo server de Metasploit para poder lanzar estos exploits e intentar descubrir vulnerabilidades de nuestro equipo.
Paso 17.
p0f.
Una vez hayamos comprobado que tanto equipos como red son seguros, necesitaremos mantener el nivel de seguridad logrado. P0f monitoreará pasivamente la red para ver qué máquinas y qué sistema operativo se ejecutan, y estos no sabrán que p0f está ahí ‘escuchando’.
Paso 18.
Exploits contra el Hardware.
Kali Linux, también nos ofrece un conjunto de herramientas para probar vulnerabilidades en otro tipo de hardware, como pueden ser dispositivos bluetooth, Android o Arduino.
Paso 19.
DDMS.
DDMS es un monitor de depuración que proporciona acceso y control de bajo nivel a máquinas Android. Sólo tendremos que conectar el dispositivo al puerto USB, iniciar DDMS y ver lo que está sucediendo en el sistema Android conectado. Para esto necesitaremos tener el SDK instalado antes de comenzar.
Paso 20.
Exploits de Android – apktool.
Una vez conectado el dispositivo Android, podemos ejecutar varios exploits conocidos para obtener un acceso como root (administrador con permisos totales). Estos variarán en función del tipo de hardware sobre el que se ejecuta el sistema Android. Algunos de estos exploits necesitarán apktool para poder abrir y editar los archivos .APK del dispositivo.
Paso 21.
Bluetooth.
Aquí también tenemos otra posible vía de acceso a una máquina. El protocolo Bluetooth se utiliza para ratones, teclados y otros hardware inalámbricos, pero nunca se pensó firmemente en la seguridad de este protocolo. Kali Linux nos ofrece varias aplicaciones para poder ver las señales Bluetooth que tenemos alrededor y la información que llevan.
Paso 22.
Instalar en ARM.
Los desarrolladores de Kali, han provisto a esta distribución de una compatibilidad muy buena con arquitecturas de procesadores ARM. Donde también se encontrarán guías de cómo instalarlo en dispositivos Android, como por ejemplo un Galaxy Note 10.1, con imágenes de instalación que acompañan el tutorial.
Como conclusión, esperamos que siguiendo estos pasos que hemos descrito, podáis ser conscientes de las necesidades que pudieseis tener en cuanto a seguridad de equipos y redes se refiere. Habéis podido comprobar que esto es prácticamente un índice que sugiere el camino a seguir, y que las herramientas de las que hemos hablado no son más que la punta del iceberg de todo lo que alberga Kali Linux, así que os animamos a descubrir todo lo que puede llegar a ofrecer, siempre orientándonos a mejorar la seguridad de nuestras redes y equipos.
Recursos:
Miguel Cardenas