viernes, 31 de agosto de 2007

Script definitivo para ipw3945

Si como yo, eres de los pocos tontos que aún no han inyectado con su ipw3945... aquí llega el script de divide el cual espero que se incluya en la proxima versión de WifiSlax y Wifiway.

Si no te funciona esto, ya nada lo hara! XD es sumamente fácil de utilizar y eficaz, aunque inicialmente esta desarrollado para Wifiway yo no estoy teniendo ningún problema con WifiSlax.

Mas información aquí.

ARP posion, una tecnica asombrosamente facil de utilizar

Arp poison, también llamado arp spoof, es una técnica usada para atacar una vlan a la que estemos conectados (por ejemplo en un departamento de una empresa). Cabe resaltar que este ataque es valido solo si estamos dentro de la red. Con ella conseguiremos datos de relevancia de los usuarios conectados (como contraseñas, información que no vaya cifrada, envenenar las peticiones DNS, etc) con una facilidad pasmosa. Vamos a ver como. Empezaremos con un poco de teoría.

El ataque arp poison se basa en mandar paquetes ARP falsos para modificar la tabla de ARP del sistema. Pero que son las ARP o el protocolo ARP?
El protocolo ARP (Adress Solution Protocol) es el responsable de encontrar la dirección hardware de la tarjeta de red (la MAC) que corresponda a una dirección ip. Se encuentra en el nivel 2 , en nivel de enlace, de la pila TCP/IP.
Cuando queremos enviar un paquete a otra máquina, el sistema examina su tabla de rutas. Si la maquina que tiene que recibir el paquete esta en el mismo segmento que la maquina origen, entonces se puede entregar el paquete sin pasar por ningún router adicional exterior. Para poder enviar el paquete la maquina origen necesita saber cual es la dirección MAC de la maquina destino. Es el protocolo ARP el que se encarga de averiguar la correspondencia entre las MACs de los host y sus respectivas ips. Para averiguar la MAC de una determinada direccion ip el sistema envía una petición "ARP who-has" preguntando a todos (ya que todavía no sabe que maquina específica tiene esa MAC) los nodos cual es la MAC de esa ip. El que tiene dicha ip contestará con una respuesta "ARP is-at", y el emisor apuntará la correspondencia MAC-ip en su tabla de ARP. Para minimizar el numero de paquetes ARP transmitidos los sistemas, los sistemas mantienen una cache de entradas ARP, así optimizan todo el proceso de comunicación.

Hay que matizar un par de cosas: en los routers las tablas ARP de los nodos mapean direcciones ip con direcciones mac, mientras que cuando se trata de un swicth indican por que puerto del switch se alcanza una determinada MAC (se llaman MAC-adress-table). Son dos tablas diferentes. Los switchs no enrutan paquetes pero tienen la tabla MAC-adress. Recordemos que lo que hace este dispositivo es entregar una trama solo por el puerto donde se encuentre la MAC destino y el resto de los puertos no van a verla. Luego las tablas que nosotros queremos infectar sera la dos ordenadores conectados a la red. La de los swiches no nos interesaran.

El protocolo ARP es un mecanismo bastante viejo y tiene el gran problema de ausencia absoluta de autentificación. Una persona puede modificar la cache ARP de otro ordenador, sin que el otro host pueda determinar de ningún modo la autenticidad de las respuestas que recibe de sus peticiones.

Es aqui donde reside el problema, ya que nosotros podríamos enviar respuestas ARP falsas diciendo que tal MAC (en este caso la nuestra) se corresponde por ejemplo a tal ip (en este caso, otra ip de nuestra misma red), cuando sabemos que esto que no es cierto, e infectar la cache ARP. De esta forma se podría envenenar las diferentes caches de los sistemas y redigir todo el trafico que circule entre dos host (con el consiguiente peligro de la información que no va cifrada....), haciendo que pase por el nuestro ordenador (consiguiendo un ataque Man-in-the-middle) sin que saltara la alarma.

He aquí el eslabón mas débil de la cadena.

Seguiremos en la siguiente entrega poniendo en practica lo aprendido.........

jueves, 23 de agosto de 2007

Maxthon: la verdadera amenaza de Firefox

El otro día viendo las estadísticas del blog me llamó la atención que la mayoría de nuestros apreciados lectores que visitan la pagina utilizan Firefox. Tal es el caso que este navegador, casi dobla el numero de visitas que recibimos por parte de impuesto Intenet Explorer. En la imagen se puede ver claramente las diferencias.

Sorprendido un poco por tan abrumadora victoria, decidí contrastar nuestros registros con una estadística general de uso de navegadores. Los resultados son estos: Firefox ha aumentado su cuota de mercado en Europa un 5% respecto hace un año. En España esta cuota llega ya hasta el 15%, llegando en algunos países hasta el 36%. Buen futuro el que se le augura a este navegador.

Pero mas allá de estos datos estadísticos, descubrí una cosa bastante interesante. Se trata de un nuevo navegador llamado Maxthon (antes conocido como MyIE2). No deja de sorprenderme que se hable de que es un navegador excelente, incluso (según algunos) por encima de Firefox o Opera (se le ha llegado a llamar el asesino de Firefox). Increíble.

El navegador esta basado en el motor de renderizado Trident, que es el utilizado por Internet Explorer. Se dice que este navegador es altamente personalizable (casi al 100%). Además incluye muchas de las características de Firefox. En China (su país de origen) por ejemplo, acapara el 30% del mercado, que no es poco debido a la población que supone este país .

Algunas de estas características son:

  • Interfaz de exploración por pestañas.
  • Gestos del ratón programables.
  • Personalización de gestos del ratón.
  • Súper Drag & Drop (arrastrar y soltar).
  • Más protección de privacidad.
  • Protección contra anuncios en webs y ventanas emergentes.
  • Búsqueda programable con 8 buscadores genéricos preconfigurados (incluyendo Yahoo! y Google) y varios buscadores específicos.
  • Compatible con la barra de Google, Live, Yahoo, ...
  • Servicios programables como traducción, proxy anónimos...
  • Barra adicional de utilidades externas.
  • Temas para personalizarlo mucho más.
  • Soporte para plugins propios soportando todos los desarrollados para Internet Explorer.
  • Servicio de actualización.
  • Y muchas cosas mas.
Google acaba de adquirir una pequeña parte de la compañía desarrolladora del navegador (una inversión de 1millón euros).
Por ahora solo se dispone de una versión para Windows, aunque la reciente inversión de Google puede traer buenas noticias para los usuarios de Linux. Se trata de una herramienta gratuita, pero no libre.
Para terminar, algunos se preguntaran: ¿para que utilizar Maxthon si tengo Firefox y es básicamente lo mismo? Debido a que Maxthon se basas en IE, y este a su vez se acopla mucho en el sistema operativo Windows, el programa se carga más rápido, así como las paginas web también se cargan más rápidamente.
A disfrutar!

martes, 14 de agosto de 2007

WifiSlax 3.0... rizando el rizo


Llega la versión mas depurada de la famosa distro para auditorias wireless y bluetooth, WifiSlax 3.0.

Totalmente en castellano y con las facilidades a las que ya nos tiene acostumbrados, añade las siguientes caracteristicas:

  • Soporte de inyección para chip wireless Zydas
  • Soporte para inyección para las tarjetas wireless centrino ipw3945 (se me saltan las lágrimas ;)) y otros chipset como rt73, etc..
  • Entorno gráfico KDE (no comments)
  • Administradores de inicio grub y lilo
  • aircrack 0.9 con soporte para la tecnica del aircrack-ptw (Crackeo de redes wifi mas rapido)
  • Soporte para graficas Nvidia
  • Kernel 2.6.21
  • Escritura y lectura de particiones Windows ntfs con ntfs-3g
  • Airoscript para facilitar la auditoria wireless
También destacar las aplicaciones de Bluetooth que ya aparecieron en la v2.0, algunas de ellas desarrolladas por el gran Gospel.

A todo esto añadirle el arsenal de herramientas de Backtrack (la distro madre de WifiSlax) y tenemos una potente herramienta de auditoria en forma de LiveCD

DynDNS, tu ip fija (o casi)

Este resumen no está disponible. Haz clic en este enlace para ver la entrada.

viernes, 10 de agosto de 2007

Hackear GMail

A pesar de las eternas promesas de los proveedores se servicios de correo IMAP de que no es posible acceder a las cuentas por medio del robo de cookies.... al fin alguien ha demostrado que esto no es cierto.
Robert Graham, de Errata Security demostró ante los asombrados asistentes al Black Hat de este año, como mediante una aplicación de su propio desarrollo robaba una cookie a través de la red inalámbrica y accedía a la cuenta expresamente creada para la ocasión.

La demostración, en resumen, fue así:

Se creo un cuenta GMail.
Se enviaron varios correos para probar que funcionaba.
Mientras se mandaban los correos, Hamster, la aplicación de Graham robo a través de Wifi las cookies.
La aplicación obtuvo el usuario y contraseña, accedió a la cuenta y mando a varios asistentes el mensaje "I like sheeps" (creo que eso ya es mucha información para mi... XD).

El caso es que las compañías que ofrecen estos servicios siguen negando la evidencia y argumentan que con SSL y otras medidas de seguridad se reducen los riesgos.

El caso es que apenas hay gente que implemente medidas de seguridad en sus PC's, y próximamente Graham liberar Hamster.... ya me imagino yo como acaba esto XD

Articulo completo

martes, 7 de agosto de 2007

Crea una distribución linux a tu medida

Los chicos de euronode nos permite crear, a partir de un sistema debian base, nuestro propio sistema Linux. Entrando en la web y a golpe de ratón nos permiten elegir las opciones que queremos para crear nuestra propia distribución.
Para que queremos un sistema GNU\Linux con todas las opciones que tiene si nuestra maquina es un Pentium166 (este es mi caso ;)) donde no vamos necesitar ni las X ni muchos otros paquetes que trabajan sobre el?
Eso mismo debieron de pensar los autores de este proyecto.

Para crear nuestra propia distro, tendremos que ir a la pagina web de euronode (https://euronode.com/) registrarnos y a partir de ahí ya podemos empezar a construir nuestro sistema. Tendremos un asistente donde podremos configurar las opciones de nuestro server (en caso de que el sistema sea para este uso) .Además elegiremos los paquetes y las aplicaciones que queremos que se incluyan en nuestro cd hasta crear un sistema a nuestra medida. Que no queremos un sistema tenga las X? Pues no incluimos el paquete en nuestro cd. Así de fácil.
La web también proporciona tutoriales que te explica, por ejemplo, como crear un servidor LAMP a tu medida.
El sistema por razones obvias no podrá superar los 700mb (un cd-rom).

Al final de todo el proceso podemos adquirir nuestro sistema por un módico precio. Lo podremos bajar directamente de la web (en formato ISO) para quemarla posteriormente en un cd.

Esta es la dirección: https://euronode.com/

viernes, 3 de agosto de 2007

Instalando SSH en el servidor

Seguimos dándole vidilla al viejo Pentium II de KrAmOx…

Una vez instalado el FTP nos queda algo por hacer. Necesitamos un sistema mediante el cual poder acceder al shell del servidor, para ello, Linux cuenta con diversas propuestas tales como rlogin, telnet… etc.

Todos estos protocolos y aplicaciones tienen un inconveniente en común: La información mandada fluye sin cifrar, lo cual pone en bandeja a cualquier posible atacante con un sniffer y dos dedos de frente meter las narices donde no debe.

Pero no solo el cifrado resulta atractivo en SSH, otro aspecto que lo hace interesante es su capacidad para redirigir el tráfico de las X, pudiendo ejecutar aplicaciones graficas en un cliente aprovechando la potencia de cálculo de un servidor… casi na!

Pero como es de mala educación hablar de alguien sin presentarlo… allá voy:

SSH (Secure SHell) es un protocolo y una aplicación utilizados básicamente para la interconexión de equipos remotos. La primera versión, desarrollada por el finlandés Tatu Ylönen, fue libre en sus anales, así como la aplicación, pero poco a poco fue apareciendo la SSH Communications Security, que ofrecería gratuitamente la aplicación para uso domestico y académico, pero que exigía el pago a otras empresas.

Pero como siempre, dos años después de todo esto ya estaba lista la primera versión libre de SSH, OpenSSH.

Actualmente existes dos versiones estables, SSH1 y SSH2. Se recomienda utilizar la SSH2 por cuestiones de seguridad, ya que la primera versión solo se mantiene por cuestiones de compatibilidad en maquinas antiguas.

Otra característica interesante, sobre todo para los amantes de la criptografía, es la posibilidad de manejar claves RSA para las sesiones con SSH, para, de esta forma, evitar el proceso de login entre maquinas. Para conseguir esto basta con que tengas tu llave publica almacenada en el servidor SSH y tu llave privada en la maquina desde la que te vas a conectar.

Finalmente, también es destacable el uso que se hace de SSH para tunelizar conexiones no seguras, para de este modo, cifrar el contenido de las mismas. Esto se suele realizar con Terminal Server y otras aplicaciones, ya que SSH es un protocolo disponible tanto para Linux como para Windows, de la misma forma que existen clientes y servers para ambas plataformas.

La instalación en sistemas Linux, que es la que nos atañe, es harto sencilla:

apt-get install ssh

y todo esto en el caso de que no venga instalada por defecto, algo nada raro en distribuciones Linux.

Para sistemas Windows podemos encontrar gran variedad de aplicaciones de F-Secure o de la misma SSH Communications Security.

Por supuesto, el funcionamiento, a pesar de la complejidad de la aplicación, es sumamente sencillo. Para conectar con una maquina remota simplemente debemos hacer:

slayer@erhard$ ssh usuario@ip_servidor
Password: ********

Y ya tendremos nuestra sesión en el servidor, aunque solo habremos accedido a shell, si pretendemos ejecutar una aplicación nada mas establecer la conexión podéis probar con:

slayer@erhard$ ssh usuario@ip_servidor mplayer /home/slayer/mp3/*mp3
Password: ********

De esta forma reproduciría todos los emepetreses que tuviera en la carpeta, siempre y cuando el mplayer estuviera instalado en el servidor claro, recordad que la aplicación se ejecuta en la maquina remota, aunque la salida se recogida por el cliente.

Mediante el parámetro –t conseguiremos abrir aplicaciones de forma interactiva, por ejemplo:

slayer@erhard$ ssh –t usuario@ip_servidor ‘nano /tmp/algo’
Password: ********

….sesión con nano

slayer@erhard$ ssh usuario@ip_servidor ’cat /tmp/algo’

…veremos lo que hemos escrito.

Interesante no? Pues no acaba la cosa ahí, también podemos redirigir igualmente el tráfico X mediante el parámetro –X (obvio no?) pero para ello debemos configurar antes el archivo /etc/ssh/sshd_config concretamente la línea:

X11Forwarding yes

Además el cliente debe de tener instalado xauth y ser accesible, pero eso ya es otra historia…

Otra herramienta incluida en SSH es scp, o lo que es lo mismo Secure CoPy.

Mediante esta pequeña aplicación podemos realizar copias de archivos de forma remota y segura. Ejemplo:

scp ArchivoOrigen usuario@host:directorio/ArchivoDestino
scp usuario@host:directorio/ArchivoOrigen ArchivoDestino

Por ultimo en este post (pienso seguir hablando de SSH como mínimo un post más) hablaremos de la generación de claves para evitar ir tecleando passwords cada dos por tres:

slayer@erhard$ ssh-keygen -t slayer

Con esto generamos una clave publica y privada para el user slayer guardadas en

~/.ssh/id_slayer.pub y en ~/.ssh/id_slayer respectivamente

La próxima vez que nos logueemos en la maquina remota simplemente deberemos ejecutar:

ssh-add ~/.ssh/id_slayer


Y ya no tendremos que loguearnos nunca mas… ;)

En fin, no os durmáis que seguiremos hablando del tema…

Salu2!

Montando un servidor FTP en linux

Después de la primera entrega "Resucitando a mi pentium" (http://imstrangeandilikeit.blogspot.com/2007/07/resucitando-mi-pentium.html), donde nos enseñaba como darle cierta usabilidad a un ordenador viejo, en esta segunda entrega vamos a instalar un servicio en nuestra máquina, más concretamente instalaremos un servidor FTP en nuestro sistema linux.

El servidor FTP escogido es el proftpd, aunque bien hubiera podido ser vsftpd, wu-ftpd o cualquiera que exista para el sistema GNU\linux.

He elegido este servidor por ser un servidor seguro y fácil de utilizar. He aquí algunas de las características más reseñables de este demonio: es altamente configurable, soporta servidores virtuales de ftp, puede tener múltiples servidores brindando servicio de ftp anónimo, es modular (lo que permite extender su funcionalidad ampliamente), un usuario con acceso por ftp únicamente no requiere de una configuración especial, y su código es libre (esta licenciado bajo GPL).

Lo primero que tenemos que hacer es descagar el software con la "magnifica" instrucción "apt-get install proftpd". Una vez bajado e instalado el software se nos preguntará si queremos configurarlo como parte de inetd o stadalone. Instalarlo como parte de inted implica que el servidor FTP se ejecutara junto con un conjunto de procesos de red (telnet,tftp, IMAP...), siendo el inetd el supervisor de todos ellos (me comprometo a escribir un articulo aclarando que eso del inetd :)). Si lo instalamos como standalone lo instalamos como un proceso normal independiente a inetd. Yo personalmente probe la opción de instalarlo como parte de inetd y no me funcionó (una mala configuración por mi parte?, puede ser ;)). Así que os recomiendo que lo instales como standalone. Una vez instalado tenemos un bonito archivo de configuración en /etc/proftpd/proftpd.conf
Dentro de este archivo de configuración las opciones mas destacables son:
  • "ServerName" nombre del servidor que aparecerá cuando alguien se conecte
  • "ServerType" aquí podemos escoger entre inetd o standalone como hemos dicho mas arriba
  • "ShowSymlinks" mostrar enlaces simbólicos
  • "Port" puerto donde se realizará la conexión
  • "PassivePorts" define el rango para las conexiones pasivas con el servidor
  • "MaxInstances" Numero máximo de peticiones que el servidor atenderá. Dependiendo de la potencia del ordenador debería de ponerse un valor u otro.
  • "Umask" máscara para la creación de ficheros
  • "AllowOverwrite" permite la sobrescritura de ficheros
  • "User" y "Group" permisos sobre los que se ejecutara el servidor ftp. Dadle pocos permisos por si alguna vez sufris un ataque, que se ejecute una shell con permisos muy bajos
  • Podemos declarar directorios con sus respectivas opciones al estilo apache con la sintaxis
  • "MaxInstances" define el numero máximo de usuarios que pueden acceder al servidor.
  • "TransferLog" y "SistemLog" realiza los registros tanto de las transacciones como de las autentificaciones
  • Permite la entrada de usuarios antónimos.
  • podemos definir que usuarios podrán acceder al sistema y cuales no.
  • "DefaultRoot" definimos el directorio chroot
  • Y muchas opciones mas http://www.proftpd.org/docs/directives/linked/by-name.html
Estas son solo algunas opciones que yo he utilizado pero hay muchas más. Para verlas solo hay que entrar en la pagina del proyecto (http://www.proftpd.org/) y buscar la documentación asociada.

Recordad que para que surtan efecto los cambios debemos reiniciar el demonio con la siguiente orden:
/etc/init.d/proftpd restart

Otro tema a recalcar es el acceso a las carpetas y archivos. Estos siguen la política de permisos de GNU\Linux, es decir el sistema determina si un usuario o grupo tiene acceso o no a los archivos mediante la tripleta, ya conocida, -rwxrwxrwx. De esta manera se puede negar o permitir el acceso al usuario a cualquier recurso del sistema. El servidor FTP no utiliza un sistema adicional para gestionar los permisos y accesos.

Por último, decir que además de todo esto que hemos estado viendo, proftp tiene muchísimas cosas más como servidores virtuales (que yo personalmente todavía no he tocado).

En esta segunda entrega hemos instalado y configurado un potente servidor FTP. En la próxima entrega conectaremos este servidor la red exterior (Internet) mediante servicios gratuitos como DynDNS que nos facilitan la administración del dominio (vía web) y permiten asociar nuestra ip dicho domino. De esta forma tendréis vuestro servidor conectado a internet y accesible desde cualquier punto mediante un subdominio de la forma (dominio.dyndns.org).

Hasta la próxima entrega :)
Nos os olvidéis de visitar la pagina web del proyecto: http://www.proftpd.org/