miércoles, 31 de octubre de 2012

Hacking en redes de datos IPv6: Conceptos básicos IPv6 (1)

El protocolo IPv6 lleva ya mucho tiempo entre nosotros, y aunque aún mucha gente se empeña en revisar las configuraciones IPv4 en una red de empresa, lo que realmente está funcionando en las conexiones SMB, DNS o incluso web de la Intranet, es protocolo IPv6. Conocer su funcionamiento es fundamental para la protección de una red, ya que muchos de los sistemas de protección IDS están configurados para detectar la mayoría de los ataques en redes IPv4, pero no hacen lo mismo con los ataques IPv6.
En este artículo voy a explayarme un poco hablando de este protocolo que debería haber entrado hace mucho tiempo en nuestra vida cotidiana, y sin embargo sigue siendo un gran desconocido para muchos técnicos, a pesar de que al realizar un ipconrfig salga esa dirección fe80:: al principio de todo.

Figura 1: Direccción IPv6 de enlace local en una configuración por defecto

Antes de comenzar con los ataques IPv6 es necesario familiarizarse con todos los conceptos fundamentales de este protocolo, así que habrá que asentar algunas cosas al principio.
Configuración básica de IPv6 en sistemas Microsoft Windows
Si entramos en las propiedades del protocolo IPv6 de un sistema Microsoft Windows, lo primero que encontraremos es una pantalla de configuración más o menos similar a la de IPv4, con la única diferencia de que las direcciones IP serán de 128 bits, que se escriben en hexadecimal separadas en grupos de 16 bits, es decir, cuatro valores hexadecimales. Esto hace que las direcciones IPv6 queden escritas de una forma similar a fe80:123:0000:0000:0000:0000:0000:1ab0. Es un poco más raro, pero no tanto, 8 grupos de 4 valores hexadecimales.
Para que sea más fácil de escribir y recordar, cuando hay una lista de grupos de cuatro ceros seguidos, se puede utilizar el acortador ::, reduciendo la dirección anterior a algo como: fe80:123::1ab0. Esta reducción se puede utilizar una única vez por cada dirección IPv6 y solo para grupos de 4 ceros consecutivos. Es por eso que será muy común encontrar cosas como fc00::1 en una dirección IPv6 de una red privada.

Figura 2: Ejemplo de configuración de IPv6 en Windows
En segundo lugar, aunque no se llama máscara de red, tenemos algo muy similar llamado Prefijo de Subred. Este termino se ha cambiado debido a las cantidades de problemas que causó en muchos usuarios e implementaciones de IPv4 el uso de subnetting, supernetting o la asignación de máscaras de red del tipo 255.0.124.255, algo que fue permitido por el estándar - y por tanto en algunas implementaciones -, pero que no acababa de tener mucho sentido y volvía loco a muchos técnicos cuando descubrían su existencia.
En IPv6 el prefijo tiene la misma función, gestionar la visibilidad de red y utilizarse para hacer subnetting y supernetting, pero todos los unos van seguidos y al principio por definición en el estándar. De esta forma, si tuviéramos dos direcciones IPv6 - sin utilizar una Puerta de Enlace en la red - tales como estas:
A: fc00::2000:0001/96
B: fc00::2001:0001/112
Al hacer un ping en IPv6 de A a B obtendríamos un Time-Out y al hacer un ping de B a A tendríamos una respuesta de Host inaccesible, debido a que A no entra dentro de la misma red que B, pero B si está dentro de la misma red que A.

Para interconectar las redes IPv6, igual que en IPv4, hay que utilizar una Puerta de Enlace o Gateway, que se configura en las propiedades del protocolo de red, igual que los servidores IPv6 que se van a utilizar para la resolución de nombres. Estos servidores DNS no son los que se van a utilizar para resolver los nombres a direcciones IPv6 sino que serán los servidores DNS que se utilizarán para resolver todo cuando se utilice el protocolo IPv6, es decir, también se utilizarán estos servidores cuando haya que resolver un registro DNS de tipo A cuando se utilice en la red local el protocolo IPv6.

Direcciones de Vínculo o Enlace Local en IPv6

Conocidos los parámetros a configurar, hay que entender también que en IPv6, tanto si se realiza una configuración manual de las direcciones IPv6 como si se deja en Automático - configuración por defecto en equipos Windows y Mac OS X - las tarjetas de red con soporte para IPv6 tendrán asociada una dirección de vínculo local.
Figura 3: Configuración por defecto en Mac OS X
Esta dirección se genera automáticamente y es anunciada por la red para evitar duplicidad de la misma usando el protocolo NDP (Neighbor Discovery Protocol). Esta duplicidad de direcciones no debería darse de forma habitual, ya que el algoritmo de generación de la misma depende de la dirección MAC de la tarjeta, pero para evitar cualquier situación indeseada se hace uso de un sistema que garantice su unicidad y que resuelva estos conflictos.
Esta dirección es del rango fe80::/10 y es equivalente al rango 169.254.1.X - 169.254.254.X de IPv4. La única diferencia es que en la práctica las direcciones 169.254.X.X no se suelen utilizar en IPv4 y en IPv6 estas direcciones se van a utilizar con mucha frecuencia.
Por supuesto, estas direcciones no son enrutables, pero sí que son utilizadas para comunicarse con el router o cualquier servidor de la organización que se encuentre en la red local. Si no has tocado nada de la configuración por defecto, tendrás una de estas direcciones asociadas y podrás utilizarla para hacer ping a cualquier equipo de tu red local con una dirección IPv6 de Enlace-Local.
Figura 4:  Ping a un nombre NETBios utilizando direcciones IPv6 de Vínculo Local
Direcciones Well-Known en IPv6
Además de las direcciones de Enlace o Vínculo Local, en IPv6 hay una buena cantidad de direcciones que deben ser conocidas, así que toca describir las más importantes aquí para entender luego los entornos de ataque:
::/128: Es una dirección con todos los bits a 0. Es la dirección IPv6 indefinida.
::/0: Es la dirección de red IPv6 para describir la ruta por defecto en una tabla de enrutamiento. Es equivalente a la dirección IPv4 0.0.0.0.
::1/128: Localhost en IPv6. Equivalente a 127.0.0.1 (IPv4).
fe80::/10: Direcciones de vínculo o enlace local. No son enrutables pero generan una red local efectiva en el rango fe80::/64. La parte de Host se suele calcular a partir de la dirección MAC de la tarjeta.
ff02::/16: Direcciones de redes IPv6 Multicast. Equivalentes a las  (224.X) en redes IPv4.
fc00::/7: Son las direcciones para redes IPv6 privadas. Estas direcciones tampoco son enrutables en Internet y son equivalentes a 10.X, 172.16.X y 192.168.X en redes IPv4
::ffff:0:0/96: Direcciones IPv4 mapeadas en IPv6. Se utilizan para conversiones e interconexiones de protocolos IPv4 e IPv6.
64:ff9b::/96: Direcciones IPv6 generadas automáticamente a partir de IPv4. Se utilizan para cuando sea necesario hacer nuevas direcciones IPv6 y se quiera generar a partir de la dirección IPv4 de la máquina.
2002::/16: Indica que es una red 6 to 4 mapeada y utilizará la dirección IPv4 192.88.99.X como gateway para la interconexión.
Además de estas direcciones, hay algunas reservadas para propósitos especiales, como son las siguientes:
2001::/32: Usado por el protocolo de túneles Teredo que permite hacer tunneling IPv6 sobre redes IPv4 en Internet. Este sistema es el que se utiliza a la hora de implementar Direct Access en Windows Server 2008 R2 y Windows 7.
2001:2::/48: Asignado a Benchmarking Methodology Working Group (BMWG) para comparativas (benchmarking) en IPv6 (similar a la red 198.18.0.0/15 para comparativas en IPv4). 
2001:10::/28: ORCHID (Overlay Routable Cryptographic Hash Identifiers). Direcciones IPv6 no-enrutables usadas para identificadores criptográficos Hash. 
2001:db8::/32: Direcciones utilizadas para documentación o ejemplos IPv6. Similar a las redes 192.0.2.0/24, 198.51.100.0/24 y 203.0.113.0/24 en IPv4.
Hasta aquí esta primera tanda de conceptos básicos. Ya seguiremos viendo más cosas en la segunda parte. Mientras tanto ve estudiando y probando esto, que te va a hacer falta para continuar con las siguientes partes. Si quieres aprender más, ya sabes que puedes comprar el libro de Ataques en redes de datos IPv4 & IPv6.

Saludos...
 
*******************************************************************************     - Hacking en redes de datos IPv6: Conceptos básicos IPv6 (1)
- Hacking en redes de datos IPv6: Conceptos básicos IPv6 (2)
*******************************************************************************
 
 
 
 Fuente

Nexus 4 ya es oficial



Pues parece que Google no quizo montar un evento especial el día de ayer por culpa del huracán Sandy, pero sí ha querido presentar sus nuevos productos, todos ellos rodeando a Android 4.2.

En cuestión de teléfonos tenemos un nuevo Nexus, el esperado y desvelado en los últimos días Nexus 4, confeccionado por los coreanos de LG. Pocas sorpresas por lo tanto en lo que respecta a diseño y especificaciones.

Antes de entrar en datos ya conocidos, nos gustaría confirmar que habrá versiones de 8 y 16GB de almacenamiento. Para abrir boca, el vídeo de presentación de los nuevos productos Google:

Nexus 4, la mejor relación prestaciones precio

Repasando especificaciones, vamos confirmando todas las filtraciones, como su pantalla de 4.7 pulgadas confeccionada con tecnología IPS y alta resolución (1280 × 768 píxeles), o el procesador de cuatro núcleos Qualcomm Snapdragon S4 Pro, a 1.5GHz.

Entre las diferencias con el teléfono en el que se basa, el LG Optimus G, tenemos una bajada en los megapíxeles de la cámara a ocho, y poco más, por lo que podemos considerar que estamos ante un terminal muy competitivo, teniendo en cuenta lo que ofrece por precio.

Siguiendo con más detalles, tenemos una cámara frontal de 1.3 megapíxeles, 2GB de memoria RAM, soporte NFC, y quizá lo más llamativo, compatibilidad con el accesorio para cargar de forma inalámbrica que ha presentado Google junto al teléfono, bautizado como Wireless Charging Orb.


Hablando de baterías, el teléfono dispone de una con 2.100mAh de capacidad, con unas 10 horas de autonomía. Otro dato importante son sus dimensiones, 133.9 × 68.7 × 9.1 milímetros, con un peso de 139 gramos.

Otro detalle a tener en cuenta es que no hay opción LTE en el teléfono, Google ha decidido que es una opción para pocas operadoras mundiales y era mejor confeccionar un teléfono con el que pudieran llegar a más mercado (HSPA+).

Photo Sphere, fotos panorámicas en 360 grados

Uno de los estrenos importantes a nivel software tiene que ver con la cámara, y es Photo Sphere, que nos permite realizar fotos panorámicas en 360 grados, y luego compartirlas en los principales servicios de Google. Este tipo de cosas, mejor conocerlas en vídeo:

 
  
https://www.youtube.com/watch?v=0poff-mHQ4Q 

LG Nexus 4, disponibilidad

Nexus 4 aparecerá en el mercado el próximo 13 de noviembre, en un lanzamiento mundial que incluye a España, y otros países como Estados Unidos, Reino Unido, Canadá, Alemania, Francia y Australia. Otros mercados importantes tendrán que esperar a finales de noviembre.

Los precios del nuevo Nexus en nuestro mercado son: 299 euros para el modelo de 8GB, y 349 euros para el de 16GB de memoria interna.

Fuente

TITAN, 20 Trillones de cálculos por segundo



El departamento de Energía de los EEUU en Oak Ridge National Laboratory ha anunciado hoy la finalización de Titán, una supercomputadora capaz de procesar más de 20.000 trillones de cálculos por segundo. Eso es equivalente a 20 petaflops, lo cual es 10 veces más potente que Jaguar, la supercomputadora buque insignia anterior de ORNL. Toda esa potencia será objeto de un uso para investigación de la energía, el cambio climático, los motores eficientes, materiales y jugar Crysis. Espera........... ¿QUE?

Mentira, hemos inventado la ultima parte..., pero a pesar de que Titán no se utilizará para el juego, el DNA de NVIDIA esta sobre todo esto. Titán es un sistema Cray XK7 contiene 18.688 nodos, cada uno de los cuales tiene una GPU NVIDIA Tesla K20 y un 16-core AMD Opteron 6274. Además, cuenta con 700 terabytes de memoria. A pesar de ser mucho más poderoso que el Jaguar, Titán ocupa la misma cantidad de espacio en el piso y su uso de energía es marginalmente mayor.


Esto lo convierte en la supercomputadora mas rápida del mundo.

Fuente:

Máximum PC

http://www.maximumpc.com/article/new...er_truly_titan

Claro le pone precio al iPhone 5 en Colombia


El equipo saldrá a la venta el próximo 9 de noviembre. Movistar y Tigo no han comunicado el valor del teléfono y sus planes.

Claro (antes Comcel) confirmó que ofrecerá a sus usuarios en Colombia el iPhone 5 a partir del viernes 9 de noviembre desde 219.444 pesos para el modelo de 16 GB; 442.444 pesos para el de 32 GB y 664.444 pesos para el de 64GB. Además, para hacerse con un iPhone 4 de 8GB, los usuarios solo deberán pagar 9.520 pesos, correspondientes al IVA del equipo, adicional al plan pospago mensual de voz y datos que varía dependiendo de la selección del usuario.

Los planes mensuales, que se ajustan a los precios arriba mencionados, serán por un valor de 132.438 y 163.388 pesos. El primero, cuenta con 400 minutos incluidos a cualquier operador o destino nacional, 3 GB para navegación en Internet, tres elegidos y 50 mensajes a móviles Claro.

En este plan el precio del iPhone 5 de 16 GB será de 442.444 pesos, el de 32 GB de 664.444 pesos y el de 64 GB de 886.444 pesos.

El plan de 163.388 pesos incluye 800 minutos a cualquier operador o destino nacional, 3 GB para navegación en Internet, 6 elegidos y 100 mensajes a móviles Claro. Los modelos del iPhone 5 de 16, 32 y 64 GB costarán: 219.444, 442.444 y 664.444 pesos, respectivamente. Estos planes contarán con cláusula de permanencia de 24 meses.

Como es tradicional, se espera que ese día los operadores hagan actividades de preventa y apertura de tiendas a la medianoche para atender a las personas interesadas en adquirir el equipo, tal y como lo anunció este medio.

REDACCIÓN TECNOLOGÍA

http://www.portafolio.co/finanzas-pe...one-5-colombia

martes, 30 de octubre de 2012

Bloqueo de servidores DHCP falsos

Seguro que ya les ha pasado en alguna ocasión. De repente, la gente empieza a decir que ha perdido la conexión en la red local, miras tu icono en la barra de tareas y parece que está todo levantado. Luego ejecutas ipconfig/ifconfig y observas que tienes una IP que no es la que sueles tener. "Ya está, algún listillo ha conectado a la red un Linksys u otro con un servidor DHCP..."
 Aunque parezca mentira, esta situación hoy en día es bastante frecuente en cualquier empresa y es que los administradores muchas veces insisten en no poner las medidas necesarias para evitar este tipo de situaciones. Lo malo es que no siempre se trata de un incauto consultor que conecta sin querer algo que no sabe exactamente lo que hace e impiden que los demás puedan funcionar correctamente. Algunas veces un atacante puede instalar un falso DHCP (rogue DHCP) para, por ejemplo, falsificar el gateway y/o los servidores DNS de los confiados clientes de la red, de tal forma que podría esnifar su tráfico (MiTM) o redirigirlos a sitios falsos con no muy buenas intenciones...

La solución siempre pasa por configurar la electrónica de red para evitarlo. En este caso hablaremos de Cisco por ser lo más ampliamente utilizado, pero otros fabricantes como HP, Juniper u otros tienen medidas similares (si es tu caso, te invitamos a compartir con nosotros tu experiencia ;)).

Una forma sería utilizar ACLs para bloquear UDP 68, que es el puerto destino que utiliza un servidor DHCP para hablar con el cliente (RFC 1531). Así que simplemente si quieres que un servidor DHCP no envíe paquetes offer o acks puedes crear una lista de acceso y aplicarla en los interfaces correspondientes:

ip access-list 100 deny udp any any eq 68
ip access-list 100 permit ip any any
int [interface facing the would-be rogue]
ip access-group 100 in


Esto no sería necesario si tenemos configurado el ip helper-address y el switch está actuando como un reenviador de broadcasts hacia el servidor DHCP adecuado. También podríamos bloquear el acceso al puerto 68 si queremos detener un DHCP falso detrás de una pasarela o firewall.

La otra forma de luchar contra un DHCP rogue y la más adecuada es utilizar DHCP Snooping. Básicamente, se basa en definir en el switch los puertos sobre los que el tráfico del DHCP server confiable puede transitar. Es decir, definimos como “trust” los puertos donde tenemos servidores dhcp, relays dhcp y los trunks entre los switches.

Configuramos a nivel global en el switch y lo activamos:

ip dhcp snooping vlan 100,101
no ip dhcp snooping information option
ip dhcp snooping


Autorizamos los puertos del servidor dhcp y los trunks:

interface FastEthernet0/3
 description SERVER DHCP
 switchport mode access
 switchport access vlan 100
 switchport nonegotiate
 spanning-tree portfast
 ip dhcp snooping trust

interface GigabitEthernet0/1
 description FIREWALL
 switchport mode trunk
 spanning-tree portfast
 ip dhcp snooping trust

interface GigabitEthernet0/2
 description UPLINK A SWITCH
 switchport mode trunk
 ip dhcp snooping trust


El comando “no ip dhcp snooping information option” lo añadiremos si no queremos la opción 82, es decir, no queremos que el switch añada información adicional para que el servidor DHCP destino pueda identificar el origen del cliente en entornos distribuidos (campo “giaddr”) y asignarle una IP dentro del pool o rango correspondiente.

Por último, si queremos verificar la configuración del DHCP snooping:

switch#show ip dhcp snooping
Switch DHCP snooping is enabled
DHCP snooping is configured on following VLANs:
100,101
DHCP snooping is configured on the following Interfaces:

Insertion of option 82 is disabled
circuit-id format: vlan-mod-port
remote-id format: MAC
Option 82 on untrusted port is not allowed
Interface Trusted Rate limit (pps)


———————— ——- —————-


FastEthernet0/3 yes unlimited
GigabitEthernet0/1 yes unlimited
GigabitEthernet0/2 yes unlimited

switch#show ip dhcp snooping binding
MacAddress IpAddress Lease(sec) Type VLAN Interface


—————— ————— ———- ————- —- ——————–


00:0C:AA:CC:AA:BB 10.66.0.113 64701 dhcp-snooping 100 FastEthernet0/16
00:0C:BB:CC:AA:AA 10.1.0.110 65827 dhcp-snooping 101 FastEthernet0/4
84:2B:AA:AA:AA:AA 10.1.0.104 50058 dhcp-snooping 101 FastEthernet0/6


Si deseamos desactivarlo temporalmente no hay que reconfigurarlo todo:

no ip dhcp snooping


 
Fuentes:

 
Understanding and Configuring DHCP Snooping
dhcp snooping – prevención de ataques DHCP
Blocking rogue DHCP servers
How to Block Rogue DHCP Server's on Cisco Equipment Using ACL's?

lunes, 29 de octubre de 2012

Cifrando un ejecutable a mano

En las entradas posteriores se profundizará sobre los ficheros ejecutables en Windows explicando el formato que tiene un exe, cómo añadir una sección, cómo añadir código ejecutable, qué es la IAT y cómo cargar funciones manualmente y alguna otra cosa relacionada. Todo esto tiene un objetivo, ir preparándonos para entender cómo funcionan los protectores de ejecutables e ir programando poco a poco uno.

Y para empezar que mejor que cifrar un ejecutable a mano de la forma mas sencilla posible para después ya desarrollar el programa que haga el proceso automáticamente. La idea es usar la función XOR para cifrar la sección de código de un ejecutable, después insertar al inicio un pequeño código en el mismo ejecutable que deshaga esta operación de cifrado y por último ejecute el código una vez descifrado.
El proceso puede verse en este video de la conferencia ShmooCon 2008 donde Mati Aharoni habla sobre cómo saltarse la detección de los antivirus. Para ello usa la herramienta netcat que es detectada por unos cuantos. Al final del proceso logra que su Antivirus, AVG, no detecte el netcat.
Voy a hacer en esencia lo mismo pero con algunos cambios.
Como Mati, voy a usar el netcat, que se puede descargar de aquí. Nada mas bajarlo, lo he subido a Virustotal y actualmente es detectado por 28/43 antivirus.
Lo siguiente que voy a hacer es añadir una sección al netcat. Para ello uso mi querido 010 Editor. Me ha quedado así:

image

No os olvidéis de cambiar el NumberOfSections, ImageSize y añadir físicamente 1000 bytes al final del fichero. Si tenéis algún problema añadiendo la sección revisad este post de Ferchu sobre cómo añadir una sección a un exe “y no morir en el intento”.
En esta sección que acabamos de crear incluiremos el código que descifre la sección de código del ejecutable y una vez finalizada esta tarea salte a la misma. Para que lo primero que se ejecute en el programa sea este código que ahora veremos es necesario modificar el EntryPoint del ejecutable de netcat para que el programa inicie la ejecución en nuestra sección.

image

En este ejemplo el código que se usará para cifrar la sección será el mismo que se use para descifrarla. Esto es posible porque vamos a usar la función XOR para cifrar los bytes de la sección de código, y esta función tiene una característica curiosa y es que: X XOR C = Y Y XOR C = X
C es la clave que por ejemplo puede ser 0xBB. X es uno de los bytes de la sección de código, una vez cifrado con la clave C obtenemos Y, que será el byte cifrado. Para descifrarlo solo tenemos que volver a aplicar la función XOR con la misma clave.
La sección de código en el ejecutable de netcat es la primera sección, llamada “.text”. Dicha sección se encuentra en este rango de memoria virtual: 401000h-40B000h.
Y con todo esta ahora ya vamos con el código ensamblador que cifrará/descifrará la sección. La idea es situarnos al comienzo de la sección e ir cifrando cada byte de la misma hasta que lleguemos al final. Este código realiza esa tarea:

?
1
2
3
4
5
6
MOV EAX, 401000  ;Inicio de la sección
XOR [EAX], BB ;Clave usada para la función xor BB
INC EAX
CMP EAX, 40B000  ;Fin de la sección
JNZ 00410005 ;Si no es el fin de la sección seguir en el bucle
JMP 00404AC3  ;EP original

Ahora tenemos el netcat con una nueva sección que contiene el código para cifrar/descifrar. Lo abrimos con OllyDbg y ejecutamos el bucle para que cifre toda la sección “.text”. Para ello lo mejor es poner un breakpoint en el último JMP y darle a ejecutar.
Una vez parado el Olly en el JMP, podemos ver como la sección ”.text” se encuentra cifrada:

image

A la izquierda vemos el netcat original, a la derecha el cifrado. Ahora solo nos queda guardar el ejecutable en este estado, con al sección cifrada. Para ello en OllyDbg selecionamos toda la sección y damos a “Copy to executable > Selection”:

image

Y en la nueva ventana “Save file”.
Ahora ya tendremos todo listo, el netcat con la sección de código cifrada, una nueva sección con el código que la descifrará y el EP apuntando allí. Ahora al ejecutarlo se descifrara la sección y la ejecutará como se haría normalmente.
Esta versión cifrada la detectan 19/43 antivirus. Antes eran 28. Uno de los que no lo detectan es AVG, el mismo que utilizó Mati Aharoni en su conferencia. Hace años seguramente hubiesen sido mas los AV que no hubiesen detectado este netcat modificado, pero hoy en día muchos antivirus son capaces de mediante emulación o análisis heurísticos detectar que se usa un cifrado XOR y revertirlo para analizar el ejecutable. Otros tantos no detectaban el netcat, ya que en si es una herramienta para “hacking”, pero si detectan esta variante como un programa empaquetado “Malicious Packer”. Hay varias cosas en las que puede fijarse un antivirus para sospechar que es un programa cifrado, tiene 2 secciones con permisos de ejecución, lo cual no suele ser muy normal, la sección donde apunta el EP no es la primera, lo que tampoco es habitual y la sección “.text” no parece contener instrucciones ejecutables.
En siguientes entradas programaré esto en C y se verán los problemas que pueden surgir con este método.

 

Cómo conseguir la IP de tus contactos de Windows Live Messenger

Buenas, en muchos sitios se dice cómo es posible obtener la IP de un contacto de Messenger enviándole un fichero y mirando con netstat las conexiones.
Aquí voy a mostrar cómo es posible hacerlo sin enviar ningún fichero. Y obtener no solo la IP pública sino también las IPs internas de sus adaptadores de red. Se hará de forma manual, usando netstat, después usando Wireshark y por último expondré un programa que he realizado que automáticamente muestra las IPs de los contactos según se van obteniendo.
Lo primero que debemos saber es cómo funciona Messenger por encima. La autenticación la realiza conectándose a los servidores de Microsoft vía SSL. Una vez autenticado todas las conversaciones pasan por los servidores de Microsoft sin ningún tipo de cifrado (así que cuidado con utilizar Messenger en redes inseguras).
Un tema aparte es como se envían entre los contactos ficheros, imágenes, avatares y emoticonos. Para ello Messenger utiliza un protocolo p2p. Así que cuando un contacto solicita por ejemplo nuestro avatar se inicia una negociación entre nosotros y el contacto para ver cómo es posible realizar la conexión. En este punto ambas partes se intercambian las IPs internas y externas, puertos, tipo de conexión, si usamos NAT, UPnP, etc…
En en este punto a donde podemos aprovecharnos para saber la IP del otro contacto.


Con netstat

La opción más fácil es utilizar netstat para monitorizar las conexiones y ver las nuevas conexiones que realiza el proceso del Messenger. Vamos a ello. Todo desde la consola.
El proceso encargado de las comunicaciones de Messenger es wlcomm.exe. Así que obtenemos su PID:
tasklist | find "wlcomm.exe"
Ahora con el PID podemos filtrar la salida de netstat para quedarnos solo con las conexiones que realiza dicho proceso(requiere permisos de administrador):
netstat -nabo | find "PID_ENCONTRADO"
 
image

Ahora en este punto iniciamos una conversación con el contacto del que nos interesa saber la IP y le enviamos un emoticono personalizado, para no levantar sospechas lo mejor es un emoticono transparente o blanco. Se iniciará la negociación entre los dos clientes y se iniciará la conexión. Volvemos a lanzar el comando anterior y veremos una nueva conexión de nuestro contacto.

image


Con Wireshark

Vamos a filtrar los paquetes obtenidos por Wireshark para quedarnos con aquellos donde se realiza la negociación entre dos contactos. De ahí cogeremos la IP externa y las internas.
Wireshark ofrece el filtro “msnms” para quedarnos con los paquetes del procolo de Messenger.

image

Mirando paquete a paquete en uno de ellos encontraremos algo así:

image

Fijaos en estas cadenas:
“srddA-lanretxE4vPI” Dando la vuelta a la cadena: IPv4External-Addrs
“srddA-lanretnI4vPI” –> IPv4External-Addrs
En esos campos se muestran las IPs y puertos donde se debe realizar la conexión. Claro que hay que darles la vuelta. Mirando el campo “From:” sabremos de que contacto es la IP.
Ir mirando los paquetes uno a uno buscando estos campos no parece muy divertido. Es mas cómodo hacer un filtro que busque en todo el paquete la cadena “srddA-lanretxE4vPI” o “stroPdnAsrddAlanretxE4vPI” (que es otra de las formas en las que aparece).
Este es el filtro que se queda con los paquetes que nos interesan:
frame[0:] contains 73:74:72:6f:50:64:6e:41:73:72:64:64:
41:6c:61:6e:72:65:74:78:45:34:76:50:49:3a:20:36:34:37:
33:3a:31:39:2e:35:30:31:2e:39:34:2e:35:38:0d:0a or frame[0:] 
contains 73:72:64:64:41:2d:6c:61:6e:72:65:74:78:45:34:76:50:49
 
image

Con mi programa “GetMSNIPs”

Usando Wireshark con el filtro se pueden obtener las IPs de una manera bastante cómoda. Pero me apetecía hacerlo un poco mas sencillo y ya de paso programar algo usando WinPcap.
El resultado es este programa que ahora expongo, le he llamado GetMSNIPs, me encantan los nombres originales. No pongo el código aquí que son 300 líneas.
GetMSNIPs: Source y binario.

Una captura de cómo funciona:

image

Modo de uso:
  1. Si no tiene instalado WinPcap, instálelo!.
  2. Arranque “GetMSNIPs” y seleccione la interfaz con la que se conecta a internet.
  3. Inicie Windows Live Messenger y cámbiese de avatar, utilice uno que no haya usado antes (así sus contactos no lo tendrán y se iniciará una conexión P2P para su envío).
  4. Espere un tiempo ó inicie conversaciones con sus contactos para forzar a que carguen su avatar y capturar así su IP.

Así que ya sabes, si usas Windows Live Messenger estas diciendo a tus contactos tu dirección IP. No es un gran problema, pero está bien saberlo.
Saludos!

Kim Dotcom acusa a Estados Unidos de amenazar su nuevo proyecto en internet



El fundador de Megaupload dijo que el Departamento de Justicia de EE UU aún no ha visto la nueva tecnología y ya está lanzando amenazas. "Esto demuestra que tienen el gatillo fácil para perseguirnos, pero esto no nos va a parar en innovar"

El fundador de Megaupload, Kim Dotcom, acusó al Departamento de Justicia de Estados Unidos de amenazar su nuevo proyecto en internet, que será lanzado cuando se cumpla un año de la redada que acabó con su detención y el cierre del portal de descargas, informan hoy los medios neozelandeses.


"El Departamento de Justicia (de Estados Unidos) aún no ha visto la nueva tecnología y ya está lanzando amenazas. Esto demuestra que tienen el gatillo fácil para perseguirnos, pero esto no nos va a parar en innovar. La ley y el progreso de la sociedad están de nuestro lado", declaró Dotcom en una entrevista con el periódico neozelandés "The National Business Review".


El informático alemán, quien espera en Nueva Zelanda el inicio del proceso de extradición a Estados Unidos por supuesta piratería informática, anunció ayer en la red social "Twitter" que su nuevo proyecto, llamado "Mega", saldrá a principios del próximo año.


"El nuevo 'Mega' será lanzado exactamente un año después de la redada", apuntó Dotcom, que anunció también que la presentación tendrá lugar en su propia mansión en la afueras de Auckland.


El pasado 20 de enero, Dotcom fue detenido junto a tres ejecutivos de Megaupload en su residencia en el marco de un operativo impulsado por EEUU contra la piratería informática que incluyó el cierre de su portal, el embargo de sus bienes y detenciones en Europa.


Dotcom y los tres ejecutivos de Megaupload arrestados en Nueva Zelanda fueron puestos en libertad condicional a la espera del inicio del proceso de extradición a Estados Unidos previsto para marzo del 2013.


"Cuando el nuevo 'Mega' sea entendido, todo el mundo verá que no hay razones para preocuparse", señaló el informático, que ya avanzó que el nuevo portal está terminado al 90 por ciento y que utilizará el servicio de la "nube", un servicio de almacenamiento online, en lugar de los servidores que utilizaba Megaupload.


"El nuevo 'Mega' es significativamente diferente de Megaupload, con nuevas características e innovaciones que hace que el almacenamiento en la nube sea más seguro y más asequible", afirmó Doctom en la entrevista.


A Megaupload se le atribuye haber causado más de 500 millones de dólares (385 millones de euros) en pérdidas a la industria del cine y de la música al transgredir los derechos de autor de compañías y obtener con ello unos beneficios de 175 millones de dólares (135 millones de euros).


FUENTE

Tyler vs Wikileaks


Anonymous siempre había sido hasta ahora un defensor de WikiLeaks y de su fundador, Julian Assange, a los que apoyaron abiertamente por su misión de intercambiar con el público datos secretos, fugas de noticias e información clasificada. Sin embargo, en una información recientemente publicada por Anonymous a través de AnonPaste.me, se afirma que WikiLeaks "ha elegido deshonrar e insultar a Anonymous y a todos sus activistas informantes" al exigir pagos para ver documentos que previamente habían sido puestos a su disposición de forma gratuita.

Por otro lado Tyler llevaba ya mucho tiempo precocinándose en la COLMENA y mira tú por donde la ocasión ha pintado en calva.

¿Qué es Tyler? 

Tyler forma parte de el ya tan comentado proyecto MAYHEM. Tyler es una herramienta descentralizada, imposible de censurar al estilo Wikipedia donde el colectivo anima a todo ciudadano de pie a subir cualquier prueba de corrupción que caiga en sus manos desde el total anonimato.


Tyler planea tener una interfaz de usuario simple y fácil de utilizar para que cualquier persona no tenga impedimentos técnicos a la hora de manejarlo.

Aquí les dejamos el vídeo en español con el que el año pasado anunciaba el colectivo el proyecto Mayhem: 


Cuando hacía meses que no teníamos noticias del proyecto, hace unas horas Anonymous volvía a sorprendernos (en su línea) y hacía unas declaraciones:

"TYLER es solo una de las plataformas creadas por Anonymous. Tenemos el proyecto Par-Anoia. El año pasado, lanzamos LocalLeaks y HackerLeaks con el apoyo del Peoples Liberation Front (Frente de Liberación de los Pueblos). Cada uno de estos portales tiene sus puntos fuertes y todos ellos son importantes para la misión de Anonymous, que consiste en encontrar una forma segura, económica y descentralizada para revelar información”. "Lo peculiar de TYLER es que no tiene servidor fijo. Opera como una red descentralizada con igualdad de todos los usuarios", destaca el portavoz.

Lo que nos hace pensar que el proyecto Mayhen esta vivito y coleando.
Es más, el colectivo está cambiando su enfoque y lo está proponiendo como un claro competidor de Wikileaks.
Se planea poner en marcha la plataforma el 21 de diciembre de 2012. Fecha que por otro lado coincide con el final del décimo tercer baktun Maya...y que algunos agoreros se empeñan como marcarla como la del fin de los días...

sábado, 27 de octubre de 2012

Explotando vulnerabilidad CVE 2012-4681 en Java JRE 1.7 mediante Metasploit + VNC

Si se acuerdan, a finales de agosto hablábamos en el blog de un 0-day multiplataforma para JRE 1.7 que FireEye identificó en un servidor de China y que poco después se trasladó cómo módulo a Metasploit.

Concretamente se trata de un exploit que se aprovecha de dos vulnerabilidades en Oracle Java SE 7 Update 6 y anteriores. La primera usa com.sun.beans.finder.ClassFinder.findClass y causa una excepción con el método forName para acceder a clases restringidas desde paquetes arbitrarios como sun.awt.SunToolkit.
La segunda usa una "reflección con un caller de confianza inmediata" para aprovechar el método getField y acceder y modificar los campos privados.

El resultado es que mediante este exploit CVE-2012-4681 un atacante puede ejecutar código arbitrario a través de un applet especialmente modificado capaz de evadir las retricciones del SecurityManager.

Para ver su explotación desde un prisma práctico, os recomendamos echar un vistazo al siguiente vídeo de nuestro amigo Japtron en el que consigue sesiones de Meterpreter y control remoto VNC de la víctima cuando ésta carga el applet malicioso desde Internet Explorer, Chrome y Firefox:





Y si quieres ver más videos técnicos de Japtron nos dudes en entrar a su canal de Youtube: http://www.youtube.com/user/Japtron




Fuente
 

Comprometiendo IPV6

Cuando se creó IPv4 no se atisbó a imaginar la extensión que la Red   alcanzaría. Desde febrero de 2011, sus 232 direcciones IP ya no son suficientes.
Es aquí donde entró en juego el  protocolo IPV6.
 
IPv6 nació de manos de Steve Deering y Craig Mudge para paliar las deficiencias de IPv4 y sentar las bases del futuro de Internet, proporcionando un sistema más sólido y eliminando la posibilidad de un escenario en el que se produzca un nuevo colapso gracias a sus 2128 direcciones. Además de este notable aumento, IPv6 introduce modificaciones en el formato de la cabecera de los paquetes, que promete un enrutamiento más eficiente, y mejoras en la seguridad. IPv6 fue adoptado por la Internet engineering task Force (IetF) en 1994 y está definido en el RFC 2460.

Al margen de otras cosas, este hecho a nosotros "los chicos malos" o nos supone un nuevo handicap o, por el contrario, si somos capaces de ver el vaso medio lleno en vez de medio vacío, nos da mas alternativas a la hora de atacar o poner en evidencia la seguridad de algún sistema, más aún ahora que ipv6 convive con ipv4 y no se sabe por cuanto tiempo (seguro que muchísimo)...

En esta ocasión nos vamos a poner las pilas con este protocolo de la mano de los chicos de The Hackers Choice y su completa suite THC-IPV6, cuya versión 2.0 fue liberada el mes pasado.

Vamos a abordar esta entrada desde el punto de vista practico:


Nos colocamos en la carpeta /home o donde queramos y nos bajamos el software desde la consola:

wget www.thc.org/thc-ipv6/thc-ipv6-2.0.tar.gz

O, si lo preferimos, podemos ir a su página y descargarlo con el navegador desde la siguiente dirección: http://www.thc.org/thc-ipv6/

Una vez descargada la suite atenderemos sus dependencias:
apt-get install libpcap-deb openssl libssl-deb

Ahora procedemos a la instalación:

make


y si todo va bien:


make install


Con esto habremos instalado la suite.


Dentro de esta suite encontramos las siguientes herramientas:

  • Parasite6: anuncio spoofer, se encarga de hacer el arpspoof.
  • Alive6: un escaner eficaz , que detectará todos los sistemas que estén en su rango de red.
  • Dnsdict6:  permite enumerar las entradas DNS de un dominio. Utiliza un archivo de diccionario si se le proporciona o, en caso contrario, uno propio.
  • Fake_router6: para anunciarse como un router en la red, con la más alta prioridad.
  • Redir6: redirección del tráfico hacia nosotros de forma inteligente (man-in-the-middle).
  • Toobig6: reductor mtu con la misma inteligencia que redir6.
  • Detect-new-ip6: detecta nuevos dispositivos ip6 que se unen a la red.
  • Dos-new-ip6: detecta nuevos dispositivos ip6 y dice que hay conflito de red  (DoS).
  • Trace6: traceroute6 muy rápido con soportes icmp6, solicitud de eco y TCP -SYN.
  • Flood_router6: inundación de un objetivo con anuncios de enrutador al azar.
  • Flood_advertise6: inundación de un objetivo con anuncios de neighbor al azar.
  • Exploit6: prueba las vulnerabilidades conocidas IPv6 contra un blanco.
  • Denial6: una colección de ensayos de denegación de servicio contra un objetivo.
  • Fuzz_ip6: fuzzer para ipv6.
  • Implementation6: lleva a cabo diversos controles de aplicación sobre ipv6.
  • Implementation6d: Pone en modo demonio implementation6.
  • Fake_mld6: para anunciarse en un grupo multicast de su elección en la red.
  • Fake_mld26: lo mismo pero para MLDv2.
  • Fake_mldrouter6 : falsos mensajes de router MLD.
  • Fake_mipv6: robar una IP móvil si IPSEC no es necesario para la autenticación.
  • Fake_advertiser6: para anunciarse en la red.
  • Smurf6: smurfer local
  • Rsmurf6: smurfer remoto, se sabe que por el momento funciona sólo contra linux.
  • Sendpees6: una herramienta de willdamn(at)gmail.com, que genera peticiones a vecinos con un montón de CGAs (cripto cosas;-) para mantener la CPU ocupada.
  • Thcping6: envía un paquete ping6 modificado a mano.
 Y otras 25 que dejamos para que vosotros las descubráis (/usr/local/bin#).

Como veis son un buen puñado de herramientas que esta suite pone a nuestro alcance en un solo paquete, que desde mi punto de vista es "impepinable" tenerlo instalado en nuestros sistemas.

Enumeración de la red:


Bueno, ahora a pasar a la acción... Como en un ataque convencional a ipv4, lo primero que haríamos sería enumerar la red.  Una forma típica de actuar sería utilizar una herramienta como Nmap para buscar las direcciones de las máquinas en la subred a atacar. Con Ipv6, la secuencia de acciones sería similar, pero debido al enorme rango de direcciones válidas dentro de una subred (264), el tiempo que nos llevaría sería excesivo...


Como remedio con IPv6, las fuentes de información principales (y por tanto uno de los objetivos clave) serán los servidores DNS...

Normalmente, todas las máquinas necesitan tener registros en los servidores DNS privados con la finalidad de que los administradores no se vuelvan locos.

Para este fin tenemos una de las herramientas incluidas en Thc­IPv6: alive6.

alive6 "nuestra interfaz de red"
La respuesta obtenida serán las X direcciones de las interfaces de red locales.
En nuestro ejercicio serán A y V. 

Los errores de seguridad típicos que se pueden encontrar (y aprovechar), en su mayoría son debidos a descuidos o malas implementaciones.


Ataque man-in-the-middle


Sin la aplicación de IPSec, cualquier ataque que utiliza las técnicas "Man in the middle" tendrá la misma probabilidad en IPv6 que en IPv4.


Si tenemos en cuenta que IPSec está fuertemente ligado a IPv6, su uso sería suficiente para evitar cualquier problema con respecto a los intentos de un secuestro de la conexión. Por desgracia, la práctica dominante que vemos hoy en términos de despliegue de IPv6 ya existentes es que los operadores de red no hacen ningún uso de IPSec. El uso de los certificados también puede proporcionar la autenticación necesaria de extremo a extremo en el nivel de aplicación (por ejemplo, servidores web). Sin tales mecanismos de seguridad, un secuestro "Man in the middle " es una posibilidad.


En nuestro ejemplo anterior hemos visto la dirección ipv6 de dos maquinas :

A: fe80::21d:xxxx:xxxx:xxxx [ICMP echo-reply]

V: fe80::e60:xxxx:xxxx:xxxx [ICMP echo-reply]

Una vez apuntado ésto, nos disponemos a desarrollar un ataque archi-conocido man-in-the-middle.

La realización de este tipo de ataque en IPv4 se basa en el funcionamiento de las peticiones de ARP (para obtener la MAC correspondiente a una dirección IP) y mensajes DHCP (para asignar direcciones IP dinámicamente), enviados ambos a la dirección de broadcast de la subred. Por tanto, cualquiera puede responder a estos mensajes, falseando así la información. En IPv6 no se añade una seguridad especial a lo anterior, la diferencia radica en que se utiliza ICMP6 para realizar estas peticiones y se utilizan direcciones multicast (pues en IPv6 no hay direcciones de broadcast).

En ipv6 cuando la máquina A quiere comunicar con B , A emite una petición ICMP6 (para solicitar la MAC de B), a todos los nodos de la subred (dirección multicast). 

El atacante puede utilizar la herramienta parasite6 para enviar una respuesta afirmando que la MAC solicitada se corresponde con su dirección IP.

parasite6 [-lRFHD] interface [fake-mac]


-l loops and resends the packets per target every 5 seconds.  -R will also try to inject the destination of the solicitation -F fragment (used to bypass network security)-H hop-by-hop (used to bypass network security)-D large destination header (used to bypass network security)




interface nuesta el interface de red y MAC la mac a donde queremos redirigir el tráfico. Si la omitimos, por defecto será la nuestra o, si no existe, mandaremos los paquetes a Parla.

Suponiendo que entre A y V haya un trafico o conversión bajo IPV6, en condiciones normales no podríamos "meter el moco". Veamos que pasa al realizar el ataque:

Podemos ver que hemos interceptado perfectamente la conversión. Para verlo más claro os pongo la captura de wireshark:

 
Escaneando puertos en IPV6:

La verdad no es muy distinto de lo que estamos acostumbrados con IPV4 :


nmap -6 -PN 'dirección ipv6'%'interfaz red'




Veamos otro ataque:


Fake_route6


Este ataque funciona como un "man in the middle"  con esteroides. Se aprovecha de el hecho de que los sistemas operativos como Windows 7 aceptan casi ciegamente los anuncios del enrutador que reciben, sin requerir ningún tipo de autenticación por defecto. El atacante enviará a las asociaciones y tratará de establecer su PC como router por defecto para los dispositivos de red. Esto hará que los clientes envíen tráfico de red para el atacante, y el atacante sólo tiene que abrir Wireshark para empezar a esnifar todos los sabrosos paquetes de cada uno de los clientes.


Preparación:


Para que el ataque funcione y no levantar sospechas, las víctimas no deben tener ni idea de que algo ha cambiado. Por lo tanto, un atacante tiene que ser capaz de enviar datagramas hacia y desde un router legítimo que permite a las víctimas seguir utilizando los recursos de red.




Podemos configurar un túnel IPv6 gratis, cortesía de Hurricane Electric. 


Conectados al router a través de Fa0/1 están un cliente de Windows Vista, que representa a la víctima, y un cliente BackTrack 5, el atacante. La víctima está utilizando el router 2621 como puerta de enlace predeterminada, como resultado de los anuncios del enrutador que se envían desde ese router.

fake_router6 esencialmente sólo envía RA IPv6, y eso es todo. Es decir se anuncia como router principal de la red. Hay que tener en cuenta que para realizar un ataque exitoso, tenemos que mantener a la víctima conectada a los recursos de red. Por lo tanto, tenemos que convertir nuestro dispositivo en un router ataque improvisado, y tenemos que hacerlo antes de enviar el SAR para dirigir el tráfico a nosotros.


En primer lugar, tenemos que habilitar el reenvío IPv6 en nuestra máquina BackTrack. En una ventana de terminal, con el siguiente comando:


root@Bigben:# sysctl -w net.ipv6.conf.all.forwarding=1 4


Con esto redirigimos el trafico ipv6, no el ipv4.


El router 2621 es nuestra puerta de enlace predeterminada, y nos conecta a Internet. Si echamos un vistazo a la figura, preparamos la ruta con la dirección local de vínculo del interfaz Fa0/1 del router y la añadimos al sistema con la siguiente orden:


ip route add default via fe80::c200:15ff:fe70:d68f dev wlan0


Una vez tenemos lista nuestra cuartada en la red, es hora de hacernos pasar por el router dominante de la red y para esto utilizamos un simple comando:


fake_router6 wlan0 fe80::01/16


Por último, vamos a ver los efectos de un...


flood en ipv6:


Flood_router6 'interface'





Con este ataque consumiremos el ancho de banda de la red 

bloqueandola dejándola inservible mientras dure el ataque..

Fuentes:
 
http://keepingitclassless.net/
 
http://portalipv6.lacnic.net/
  
http://www.gont.com.ar/ipv6/index.html
 
http://lacnic.net/sp/
 
http://www.level3.com/en/resource-library/