[THE BEGINNINGS] Tips: Jailbreak iPad 4.2.1 Untethered Greenpois0n

Hola a todos, la razón de este post, es más bien porque después de experimentar durante este fin de semana mil y un problemas para poder hacer jailbreak en mi iPad con el mensaje repetido hasta la saciedad de Failed :(, decidi buscar y encontre en un hilo de MacRumors donde explicaba como solucionar este problema, con esto no digo que en los sitios como iPhoneros o iPadizate no este bien explicado, sino que a mi no me funciono, asi que paso a explicaos rapidamente como lo hice:

Lo primero es tener instalado el último firmware en vuestro iPad 4.2.1, despues haced una copia de restauración de vuestros datos por si acaso haciendo una copia de seguridad con iTunes (yo no lo hice desde una restauración limpia, lo reconozco :D) y ahora ya podemos entrar en materia:

  1. Desde la web de greenpois0n descargaos el ejecutable (en este caso mac).
  2. Conectar el iPad al Mac
  3. Abrir un Terminal<
  4. Y ejecutad desde ahi el ejecutable tipo: open greenpois0n.app/Contents/MacOS/greenpois0n
  5. Se os abrira otra ventana de terminal, no la cerreis
  6. Seguid las instrucciones para poner vuestro iPad en modo DFU
  7. Si pusisteis bien el iPad en DFU (cosa que yo no hice a la primera) ya deberiais tener el iPad desbloqueado
  8. En caso de no tener el loader de Cydia instalado podeis descargaos Redsn0w 0.9.7b6 y instalar Cydia desde ahí

Con estos simples pasos lo tendríais hecho, como veis más que un post en un tips o miniguia para vuestro problemilla.

[THE BEGINNINGS] GNS3: Instalación y configuración básica

GSN3 Logo

Cuando hablamos de seguridad de la información, una pieza muy importante para saber de lo que hablamos muchas veces es poder verlo, es decir comprobarlo; hay muchas pruebas que no podemos realizar, cuando hablamos por ejemplo de un súper servidor o de un software de firewall muy determinado es complicado poder investigar sobre ello o probar una determinada vulnerabilidad existente. Sin embargo hoy os voy a hablar sobre un software que virtualiza el sistema operativo de los switch y router de Cisco, se trata de GNS3, un software multiplataforma, que es muy útil, ya que se adapta perfectamente con Wireshark, Qemu e incluso si tenemos varias tarjetas de red podemos emular una red desde ellas y ver como se comportaría el modelo determinado de router. En este post intentare explicaos como instalarlo.

Instalación en Windows

Descargar GNS3, el paquete incluye Dynamips (un software necesario para correr GNS3), Putty (cliente para conexiones SSH y telnet por excelencia), WinPCAP (conjunto de librerías para trabajar con protocolos de red presente en los analizadores de red) y Quemu/Pemu (librerías para poder conectar GNS3 con Qemu, software libre emulador de sistemas operativos tipo VMware).

  • Como la mayoría de las instalaciones en windows hacemos un “next, next…”
  • Nos aparecerá una ventana con dos acciones necesarias a realizar: Acciones

  • El paso 1 nos dice que tenemos que configurar y comprobar el path. Y comprobar si el software esta trabajando en una ruta que nos valga.

  • Una vez realizados estos pasos solo nos quedara seleccionar los IOS desde la carpeta seleccionada en el paso anterior, para ello nos vamos a Editar -> Imagenes IOS y hypervisors. En la pestaña de Imágenes en Image Files seleccionamos el/los IOS que usaremos y podemos configurar algunos datos más como el modelo donde lo aplicaremos el IOS, la RAM del mismo y otras opciones.

Opciones

  • El último paso es testera el modulo Dynamips, para ello en Editar -> Preferencias -> Dynamips le damos al botón Test y debería salir un mensaje en verde, si es así ya podremos empezar a usar GNS3 en windows.

Instalación en MacOS

  • Lo primero es descargar el archivo de aqui

  • Una vez descargado, como una aplicación normal de MacOS copiamos el .app a la carpeta que queramos, ahora tenemos que descargarnos desde aqui > el Dynagen (Dynamips), para hacer funcionar el GNS3.

  • Una vez descargado al igual que en windows Editar -> Preferencias -> Dynamips y ahí en ruta del ejecutable tendremos que escribir (a mi no me dejo seleccionarlo directamente) la ruta donde tenemos descargado dynamips, por ejemplo: /Users/danito/Desktop/Dynagen/dynamips una vez hecho esto y para asegurarse si pulsamos abajo el botón de test ya tendríamos listo el GNS3 en MacOS, ya solo nos quedaría seleccionar los IOS.

  • Para seleccionar los IOS es la misma operación que en windows, desde Editar -> Imagenes IOS y hypervisors. En la pestaña de Imágenes en Image Files seleccionamos el/los IOS que usaremos y podemos configurar algunos datos más como el modelo donde lo aplicaremos el IOS, la RAM del mismo y otras opciones.

GNS3 en Windows XP abriendo un consola

Consideraciones generales y consejos:

Como ya os comentaba en la introducción, una de las cosas que más me gusta de este software es que puedes conectar maquinas virtuales Qemu, esto nos da mucha versatilidad y le da mucha potencia a la aplicación siendo la capacidad de GNS3 la que nosotros queramos (emulación y prueba de DDos, MiTM, secularizar Apache, BBDD, etc). También podemos ‘meter’ en medio un Wireshark que nos puede ayudar a entender que esta pasando, desde problemas de red antes de hacer una subida de una configuración a reproducción, hasta estudiar los protocolos de enrolamiento viendo los paquetes que se envían entre equipos, etc.

También es valido este software para facilitar el estudio de certificaciones como CCNA, CCNP, CCNA-Sec, etc, teniendo en cuenta que GNS3 es mucho mas potente que el ya conocido PacketTracer de CISCO.

Es conveniente explicar que GNS3 es un software de emulación y necesita un sistema operativo IOS que emular, el cual se supone que es ilegal distribuirlo, pero ya sabéis como conseguirlo. Cuando consigáis o os compréis una IOS para practicar recordar que siempre es interesante que la IOS acepte crypto (opciones de seguridad) para ello una forma de guiarse es con el nombre que tiene, si lleva el sufijo k9, también comentaros que este software no emula equipos de capa 2 como switches, la única forma de trabajar con switchs es con un firmware de un equipo router multicapa, es decir que tiene opciones de configuración de switchs), yo uso el modelo Cisco 3725 y una posible IOS seria: c3725-adventerprisek9-mz.124-7.bin.

Espero poder hacer una entrega futura, cuando disponga de más tiempo, explicando como meter un GNS3 en una red puenteado con una interfaz de red y usarlo de servidor DHCP spoofeado para redirigir el tráfico de nuevo al original y poder ver lo que pasa con los equipos que ‘pesquemos’. Como ya sabéis el limite lo pone el conocimiento y la imaginación que tengamos, imaginaos añadiendo un proxy en PHP al que habilitemos SSL-strip ;).

[THE BEGINNINGS] Seguridad: comprometiendo un switch (Parte 2 de 2)

En el articulo anterior pudimos ver cómo comprometer la seguridad de un switch y como me pareció un tema interesante decidí crear esta segunda parte en la que os explicare como securizar un switch de manera que podamos protegerlo contra una serie de ataques, trabajaremos con una sintaxis de IOS que es el sistema operativo de Cisco, que es lo que a fin de cuentas es más normal encontrarse dentro de una red más o menos importante, pero lo importante es entender el concepto y la diferentes medidas.

La mayoría de los switch poseen unos puertos que funcionan con un ancho de banda superior al resto de puertos y suelen ser tipo Ethernet Giga, en estos puertos lo correcto es conectar host que necesiten más ancho de banda que un equipo final normal, estos puertos suelen estar destinados a servidores, por lo que no solo seria necesaria asignar una MAC a ese puerto. Estos puertos también pueden estar destinados a ser puertos troncales, un puerto troncal cumple la finalidad de unir dos switchs, por lo que en estos puertos habría que actuar con cuidado y calculando bien antes de definir un numero máximo de direcciones MAC.

Pasemos al código, una vez dentro del switch pasamos a modo configuración:

sw(config)# interface interfaz slot/port # seleccionamos la interfaz y el puerto
sw(config)# switchport mode access # automaticamente cuando conectemos un host funciona
sw(config)# switch port-security # activamos la seguridad

Llegados a este punto pasaremos a analizar los comandos y las opciones más comunes que podemos configurar ahora.

sw(config)# switch port-security aging

El comando aging define cuanto tiempo se aplica la acción definida cuando se produce una violación de las reglas, pasado ese tiempo acaba la restricción. Hablaremos de eso más adelante. Por defecto el comando da un tiempo de 45 segundos que podemos modificar añadiendo los minutos y segundos de la acción después del comando aging, por ejemplo si ponemos:

sw(config)# switch port-security aging 0 0
# La acción se ejecuta siempre y de forma infinita

# or

sw(config)# switch port-security aging 5 30
# La acción duraria 5 minutos y 30 segundos

sw(config)# switch port-security maximum n
# El comando maximun nos dice el número de direcciones máximas que aprenderá el puerto (n)

sw(config)# switch port-security mac-addres MMMM.AAAA.CCC

El comando mac-addres nos dice las direcciones MAC de los host que tendrán permitido el acceso a ese puerto, este comando tiene sentido si existe un número máximo de direcciones definido previamente, esta sería la opción ideal para un puerto Giga que solo necesitamos conectar un servidor. También nos puede ser útil si vamos a conectar una serie de equipos finitos o dentro de un rango normal que sepamos que si se supera es porque algo raro esta pasando (como un ataque de ARP-Flood), para estos casos nos puede interesar el comando:

sw(config)# switch port-security mac-addres sticky

Con este comando las direcciones se irán almacenando en la tabla CAM (MAC) del switch de forma automatica y cuando llegue al limite ya tendria definidas las direcciones MAC posibles que se conectarían desde ese puerto.

sw(config)# switch port-security violation {shutdown/protect/restrict}

Este comando sirve para especificar que acción se llevara acabo en caso de que alguna de nuestras reglas definidas anteriormente sea saltada, nos encontramos con tres opciones:

  • shutdown: Es la opción por defecto y lo que hace es tirar el puerto que ha sufrido la violación.
  • protect: Evita la entrada a la red a la MAC no permitida.
  • restrict: Evita la entrada a la red a la MAC no permitida y además manda una alerta al servidor de eventos por lo que nos da más control sobre lo que pasa en la red.

Cabría añadir que si queremos configurar un switch entero seria más sencillo y rápido usando rangos de configuración de interfaces:

sw(config)# interface interfaz slot/port - ultimoPuerto

# Por ejemplo: sw(config)# interface <em>Fa0 0/0 - 15

Si aplicamos estas reglas correctamente podremos tener un switch configurado correctamente y nos ahorraríamos la mayor parte de los problemas y ataques mediante ARP.

[THE BEGINNINGS] Manifiesto por una Red Neutral

La Red Neutral es un concepto claro y definido en el ámbito académico, donde no suscita debate: los ciudadanos y las empresas tienen derecho a que el tráfico de datos recibido o generado no sea manipulado, tergiversado, impedido, desviado, priorizado o retrasado en función del tipo de contenido, del protocolo o aplicación utilizado, del origen o destino de la comunicación ni de cualquier otra consideración ajena a la de su propia voluntad. Ese tráfico se tratará como una comunicación privada y exclusivamente bajo mandato judicial podrá ser espiado, trazado, archivado o analizado en su contenido, como correspondencia privada que es en realidad</strong>.

Los ciudadanos y las empresas usuarias de Internet adheridas a este texto manifestamos:

  1. Que Internet es una Red Neutral por diseño, desde su creación hasta su actual implementación, en la que la información fluye de manera libre, sin discriminación alguna en función de origen, destino, protocolo o contenido.

  2. Que las empresas, emprendedores y usuarios de Internet han podido crear servicios y productos en esa Red Neutral sin necesidad de autorizaciones ni acuerdos previos, dando lugar a una barrera de entrada prácticamente inexistente que ha permitido la explosión creativa, de innovación y de servicios que define el estado de la red actual.

  3. Que todos los usuarios, emprendedores y empresas de Internet han podido definir y ofrecer sus servicios en condiciones de igualdad llevando el concepto de la libre competencia hasta extremos nunca antes conocidos.

  4. Que Internet es el vehículo de libre expresión, libre información y desarrollo social más importante con el que cuentan ciudadanos y empresas. Su naturaleza no debe ser puesta en riesgo bajo ningún concepto.

  5. Que para posibilitar esa Red Neutral las operadoras deben transportar paquetes de datos de manera neutral sin erigirse en “aduaneros” del tráfico y sin favorecer o perjudicar a unos contenidos por encima de otros.

  6. Que la gestión del tráfico en situaciones puntuales y excepcionales de saturación de las redes debe acometerse de forma transparente, de acuerdo a criterios homogéneos de interés público y no discriminatorios ni comerciales.

  7. Que dicha restricción excepcional del tráfico por parte de las operadoras no puede convertirse en una alternativa sostenida a la inversión en redes.

  8. Que dicha Red Neutral se ve amenazada por operadoras interesadas en llegar a acuerdos comerciales por los que se privilegie o degrade el contenido según su relación comercial con la operadora.

  9. Que algunos operadores del mercado quieren “redefinir” la Red Neutral para manejarla de acuerdo con sus intereses, y esa pretensión debe ser evitada; la definición de las reglas fundamentales del funcionamiento de Internet debe basarse en el interés de quienes la usan, no de quienes la proveen.

  10. Que la respuesta ante esta amenaza para la red no puede ser la inacción: no hacer nada equivale a permitir que intereses privados puedan de facto llevar a cabo prácticas que afectan a las libertades fundamentales de los ciudadanos y la capacidad de las empresas para competir en igualdad de condiciones.

  11. Que es preciso y urgente instar al Gobierno a proteger de manera clara e inequívoca la Red Neutral, con el fin de proteger el valor de Internet de cara al desarrollo de una economía más productiva, moderna, eficiente y libre de injerencias e intromisiones indebidas. Para ello es preciso que cualquier moción que se apruebe vincule de manera indisoluble la definición de Red Neutral en el contenido de la futura ley que se promueve, y no condicione su aplicación a cuestiones que poco tienen que ver con ésta.

Europa, y España en particular, se encuentran en medio de una crisis económica tan importante que obligará al cambio radical de su modelo productivo, y a un mejor aprovechamiento de la creatividad de sus ciudadanos. La Red Neutral es crucial a la hora de preservar un ecosistema que favorezca la competencia e innovación para la creación de los innumerables productos y servicios que quedan por inventar y descubrir. La capacidad de trabajar en red, de manera colaborativa, y en mercados conectados, afectará a todos los sectores y todas las empresas de nuestro país, lo que convierte a Internet en un factor clave actual y futuro en nuestro desarrollo económico y social, determinando en gran medida el nivel de competitividad del país. De ahí nuestra profunda preocupación por la preservación de la Red Neutral. Por eso instamos con urgencia al Gobierno español a ser proactivo en el contexto europeo y a legislar de manera clara e inequívoca en ese sentido.

Si te sientes representado por este manifiesto te pedimos encarecidamente que lo copies y lo publiques en tu blog o que lo menciones en tu cuenta de Twitter o en Facebook usando el hashtag #redneutral.

¡Muchas gracias!

[THE BEGINNINGS] Seguridad: comprometiendo un switch (Parte 1 de 2)

Cuando nos encontramos con una red no domestica, con varios host conectados a la red entre los que podemos encontrar alguna impresora, equipos finales como PC’s o teléfonos VoIP, algún servidor web o de correo; como podría ser la red de una pequeña o mediana empresa tenemos que tener como mínimo un router y un dispositivos intermediario entre el router y los equipos finales, lo más eficiente es encontrarnos con un switch.

Podemos pensar que para qué poner un switch pudiendo poner un hub que es más económico y a nivel de instalación es Plug&Play, y la respuesta es bien sencilla, un hub a nivel informática de red es como un ladrón a nivel de electricidad, es decir, envía por todos los puertos la misma información vaya para el host que este conectado a ese puerto o no, por lo que es el equipo final el encargado de descartar la información que no es para él (o no). Esto nos puede parecer una razón poco poderosa a la hora de decantarnos entre un aparato o otro, pero tenemos que tener en cuenta lo que significa que un hub envía toda la información por todos lo puertos y es que si un usuario malintencionado quisiera saber todo lo que hacemos a través de la red con colocar un simple sniffer podría monitorizar todas las conexiones de la red, con lo que esto supondría para la seguridad de nuestra red, recordemos que aunque en nuestra red solo se conecten empleados tenemos que tener siempre en cuenta que el 80% de los ataques a una red siempre se producen desde dentro de esta.

Hay otras dos razones de porque nunca debemos de poner un hub, una de ellas es por eficiencia, un hub reparte el ancho de banda de la red entre sus puertos haya equipos conectados a estos o no, por lo que si necesitamos conexión para seis equipos y ponemos un hub de ocho puertos, perderemos un 25% del ancho de banda. La otra razón también es por eficiencia de la red, ya que un hub al enviar toda la información a todos los puertos aumentaría la posibilidad de colisión de datos exponencialmente (red tipo bus), lo que haría que el rendimiento de nuestra red cayera en picado.

Dicho todo lo anterior y ya decantados por la opción de instalar un switch tenemos que tener claro que un switch mal configurado es un agujero de seguridad tan grande como un hub, expliquemos porque. Como hemos explicado antes un switch es un dispositivo intermedio de capa 2 es decir trabaja con direcciones MAC, dirección MAC destino y dirección MAC origen y de esta forma establece la conexión entre los dos hosts (puertos del switch) correctos, por defecto el switch es un dispositivo que “aprende”, es decir nada más encenderlo enviará toda la información por todos los puertos al igual que un hub, pero irá memorizando la MAC del dispositivo que hay conectado a ese puerto de forma que creara una tabla interna en la RAM en la que asociará una dirección MAC a un puerto (o interfaz).

Hasta aquí todo parece sencillo, ahora imaginemos que tenemos una red tipo árbol en la que tenemos varios switch conectados unos a otros, en este caso en la tabla descrita anteriormente nos encontraríamos con varias MAC’s asignadas al mismo puerto. En la imagen podemos ver una tabla ARP de un switch, como podemos observar tenemos direcciones de tipo estáticas y dinámicas (lo explicaremos más adelante):

En la imagen podemos ver una tabla muy sencilla y con pocas direcciones. Imaginemos ahora por un momento que pasaría si la memoria que tiene destinada el switch a guardar esta información se llenara con muchas MAC’s, se produciría un desbordamiento de buffer (buffer overflow) y el switch al ver que no puede acceder a la información de su tabla procedería a comportarse como un hub, es decir empezaría a enviar toda la información por todos los puertos, esto en un switch solo se daría si se esta produciendo un ataque con lo que si no tenemos monitorizada la red, estaremos ante un ataque de robo de información que no podremos detectar facilmente si no somos muy perspicaces (como usuarios finales).

Para protegernos de este tipo de ataques basta con asignar todas las direcciones MAC a un puerto determinado y configurar la tabla de forma estática, claro que en un sitio donde hay movimiento de equipos y de usuarios, es normal que tengamos que tener algunos puertos o dispositivos totalmente configurados de manera dinámica, esto no quita que podamos poner restricciones a los puertos como n MAC’s diferentes por puerto, o si se detecta que un puerto en el que sabemos que solo podría ir conectado un host empieza a enviar información de varias MAC’s en un periodo de tiempo ridículo  tirar la conexión automáticamente. De esta forma nos estaremos quitando un gran porcentaje de ataques de este tipo.

Para comprobar si nuestra red esta a salvo de este tipo de ataques lo mejor es probar atacándola, si tenemos un windows podemos usar WinArpAttacker, si tenemos un sistema basado en Linux podemos usar ARPTools, los dos nos ayudaran a llenar la RAM de nuestro switch (ataque ARP-Flood) y comprobar simplemente con WireShark como empezamos a recibir paquetes destinados a otros host de la red. Si queremos ocultar nuestra MAC durante la auditoría, si tenemos un LINUX bastaría con:

 ifconfig eth0 down
 ifconfig eth0 hw ether 00:AA:BB:CC:DD:00
 ifconfig eth0 up[/sourcecode]

Si tenemos un windows bastaría con usar alguna utilidad como MacShift

En otra próxima entrega entraremos más a ver como solucionar esto con diferentes métodos según nuestras necesidades.

Page 4 of 5