sábado, 22 de diciembre de 2007

Feliz Navidad!!!

De parte del equipo de redactores de I'm STraNgE... aNd I LiKe iT!!! ....

Feliz Navidad a Todos!!!!!

domingo, 16 de diciembre de 2007

BackTrack 3 Beta liberado!

Segun anuncian en su wiki Backtrack 3 ha alcanzado un cierto punto de madurez en el que parece que la distribución es estable y por lo tanto la versión BackTrack v3.0 queda liberada.
Tras la magnífica distribución GNU/Linux BackTrack 2.0 parecen que los chicos de Remote-Exploit (http://remote-exploit.org/) han sacado una nueva versión, que aunque está en fase beta, parece bastante estable y operativa.
Entre sus principales características están:
- Nuevo Kernel 2.6.15.5.
- Se han aumentado la compatibilidad con tarjetas Wireless.
- Se ha mejorado el script de configuración de XOrg.
- Se ha actualizado la Suite de Metasploit Framework, así como los repositorios de exploits.
-
Soporte para booteo PXE en red.
- Cracking simultaneo de máquinas en modo Cluster con John The Ripper
- Y un montón de cosas más.


La distro nos la podemos bajar en formato Live-CD (en formato ISO), pero también es posible bajar una versión para USB (según la página web del proyecto) que ocupa unos 946Mb. Además tiene previsto sacar una versión en DVD de 1 GB.
Para más información visitar la wiki del proyecto.

Un saludo.

viernes, 7 de diciembre de 2007

MAC Spoofing

El escenario es el siguiente: tenemos acceso a una red inalámbrica sin autentificación ni cifrado a la cual queremos entrar. Intentamos entrar en la red wireless de forma normal. Todo parece ir bien pero no conseguimos conectarnos... Tras varios intentos de conexión fallidos llegamos a la conclusión de que el router tiene un filtrado de MAC.

Como podemos saltarnos este pequeño obstáculo? La solución no es nada difícil: cambiar nuestra dirección MAC por otra en la que el router no nos denegue el servicio. A esto se le llama MAC spoofing, es decir, la suplantación de nuestra MAC por otra distinta a la nuestra.

Vamos por partes. Lo primero de todo es saber que son las direcciones MAC y para que se utilizan.

MAC (Media Acces Control o Control de Acceso al Medio) es una cadena hexadecimal que identifica unequívocamente cada tarjeta de red que existe (un ejemplo de esta cadena seria: 01:02:0b:3f:4d:ab) . Remarco el concepto de unequívocamente ya que no puede haber dos tarjetas en el mundo con la misma dirección MAC. Este identificador esta grabado "a fuego" cuando se diseña la tarjeta y no se puede cambiar. Las direcciones se sitúan en la capa 2 del modelo OSI (nivel de enlace) y aunque no todas las topologías de redes la utilizan (estoy hablando del nivel de capa 1 o enlace físico cuando me refiero a topología), el 99% de nuestras comunicaciones las usan, ya que siempre usamos redes del tipo ethernet o del modelo de redes WIFI (IEEE 802.11).

Como hemos visto la dirección MAC de nuestra tarjeta "debería" de ser única y por lo tanto utilizando la restricción MAC que nos proporciona el router, debería de ser suficiente para que nuestra red Wifi permaneciera segura de clientes no deseados.
Pero una cosa es la teoría y la otra bien distinta es la práctica. En la práctica existe la dirección hardware (la que estaba grabada a fuego por el fabricante), pero también existen aplicaciones software que permiten cambiar este valor.

Ahora que ya sabemos todo lo necesario acerca de la direcciones MAC, vamos pues a la practica!

Lo primero que hay que hacer es poner nuestra tarjeta wireless en modo promiscuo. No todos los chipset soportan este modo en Windows, así que dependiendo de la tarjeta que tengamos podremos utilizar Windows o decantarnos por Linux. En mi caso, tengo una ipw3945, luego utilizaré la distribución wifiway que me permite poner mi tarjeta Intel Pro Wireless 3945 en modo monitor. El siguiente paso es ver la MAC del cliente al cual queremos suplantar. Para ello lanzamos un programa que nos permita ver que clientes están conectados a las estaciones o bssid (además de darnos información adicional como la direcciones MAC de los clientes ;)). Uno de ellos podría ser el ariodump de la suite aircrak. Tras lanzarlo podemos ver el cliente (con la MAC xx:xx:xx:xx:xx:xx ) que queremos spoofear. Cojemos la dirección y la anotamos.
El siguiente paso será cambiar nuestra dirección MAC verdadera, a la dirección que hemos anotado, mediante un pequeño programa que nos permita hacer esto. Existe software tanto para Linux como para Windows.

Para Windows tenemos varias opciones. Si vamos a las propiedades de nuestro adaptador de red, algunos fabricantes (la mayoría) permiten cambiar directamente la dirección MAC. Otra opción seria modificar el registro del Windows. Por último podríamos utilizar también programas de terceros tipo MacShift, Etherchange, Smac, etc para cambiar nuestra dirección. Hay que señalar que es posible que algunos de los métodos no funcionen y por consiguiente tendríamos que aplicar otro hasta que veamos que nuestra MAC a cambiado realmente. Para comprobar que se ha cambiado correctamente nuestra MAC solo tenemos que ejecutar una consola y escribir en ella "ipconfig /all" y ver si realmente la dirección física se ha cambiado.

Por contra, para el sistema operativo Linux el cambio resulta más fácil, con solo ejecutar estos tres comandos habremos cambiado nuestra dirección a la que especifiquemos por xx:xx:xx:xx:xx:xx. Los comandos son: "ifconfig eth0 down" (deshabilitamos la interfaz de red) , "ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx" (cambiamos la dirección hardware de la tarjeta), e "ifconfig eth0 up" (volvemos a levantar la interfaz de red). También existen programas en Linux que permiten hacer el cambio y otras cosas más como GNU Mac Changer. De nuevo podemos ver si el cambio se ha realizado con éxito si hacemos un "ifconfig" y vemos que la MAC ha cambiado.

Aquí os dejo una página de kritopolis donde explica las distintas formas de hacer el cambio de MAC un poco mas detallado tanto para Linux como para Windows.

Una vez realizado el cambio solo nos queda si ya podemos conectarnos.

Esto ha sido todo por hoy. La intención de este artículo era de poner un escenario práctico donde teníamos un problema y ver el camino realizado (aplicando ciertos conocimientos que tenemos) hasta resolver el problema.

Un saludo.

domingo, 2 de diciembre de 2007

FAQ's

Hola!

Aunque existen enlaces para su descarga en sitios como Wadalbertia, Odiss... etc. Os voy a poner unos enlaces a dos FAQ's creadas por Lechon y yo.
En breve subiré los archivos a nuestro servidor y actualizaré los enlaces, mas que nada por conservar una copia en el nuevo servidor de I'm STraNgE... aNd I LiKe iT!!!

Aquí os dejo los enlaces! Espero que os gusten! ;)

Administración y Gestión de un Servidor Web Apache
Evolución de los Procesadores Intel

jueves, 22 de noviembre de 2007

dsniff: La suite definitiva

Hola gente!

Vengo a hablaros de un conjunto de herramientas que me han puesto los pelos de punta, no solo por su potencia, sino por su sencillez en el desempeño de técnicas de sniffing. Se trata de la suite dsniff, un maravilloso conjunto de herramientas diseñadas por Dug Song para auditar su propia red, pero que en manos de "otras" personas se convierte en el "Kit del pequeño cabroncete" XD

Conocí estas herramientas por el articulo del genial NeTTinG en la @rroba #122, y probada su eficacia decidí profundizar un poco mas en algunas de las herramientas proporcionadas.

La mayor parte de ellas necesitan de un MITM previo a su uso, y lo vamos a realizar con las propias herramientas que la suite nos ofrece. Para los mas despistados recordar que un MITM (man in the middle) es una técnica de sniffing específica para redes locales conmutadas, consistentes en realizar un envenenamiento de las tablas ARP del PC Victima y el router o cualquier otro host de la red. KrAmOx ya escribió sobre esto, así que los mas rezagados podrían empezar por leer este articulo ;)

La suite se compone de las siguientes herramientas:
  • dsniff -> Sniffer de contraseñas
  • filesnarf -> Captura y guarda ficheros pasados via NFS
  • mailsnarf -> Captura el trafico POP3 y SMTP, guarda el resultado en formato mailbox
  • msgsnarf -> Registra mensajes de sesiones de mensajería instantánea tipo msn.
  • webspy -> Visualiza en tiempo real el trafico web de la victima inyectando el trafico en nuestro navegador.
  • arpspoof -> Envenena la cache ARP
  • dnspoof -> Falsifica respuestas DNS
  • macof -> Inunda la red con direcciones MAC falsas provocando DoS
  • sshow -> Analiza el trafico SSH en versión 1 y 2
  • tcpkill -> Mata conexiones establecidas
  • tcpnice -> Ralentiza conexiones.
Existen algunas mas, pero si aprendierais a utilizar todas estas al dedillo ya iríais bien servidos ;)
Para instalar esta herramienta esta tan sencillo como realizar un simple:
apt-get install dsniff
Con esto ya tendremos la suite instalada en nuestra Ubuntu/Debian.

MITM
Este primer ataque que vamos a ver consiste en realizar un clásico MITM, que nos servirá luego de lanzadera para otros ataques.
Para ello vamos a utilizar arpspoof. Imaginemos que tenemos el siguiente escenario:

Vict(192.168.1.33) <--->Rout(192.168.1.1)<--->Atac(192.168.1.35)

Para conseguir el MITM tenemos que hacer que la conexión entre la Victima y el router pase antes por nosotros, y igualmente a la inversa la conexión entre el router y la victima pase también por nosotros, quedando el escenario así:

Victima==============Atacante===============Router

Para ello abrimos un terminal de consola en root y hacemos:

arpspoof -i eth0 -t 192.168.1.33 192.168.1.1

luego, en otro terminal en root, cubrimos el segundo canal de comunicación:

arpspoof -i eth0 -t 192.168.1.1 192.168.1.33

y para que no se note que estamos en medio activamos el forwarding para actuar como router y enviar los paquetes a su verdadero dueño.

echo 1 > /proc/sys/net/ipv4/ip_forward

si no hacemos esto, el tráfico quedara cortado para la victima y perderá la conexión, pudiendo así ser descubiertos.

Podemos comprobar en la maquina victima que el ataque esta en marcha haciendo un arp -a, sabremos que esta activo porque la dirección MAC del router coincidirá con la nuestra, esto es que habremos envenenado la cache ARP de la victima y los paquetes a la IP del router se enviaran a nuestra dirección MAC. También podremos detectar si somos victimas de este tipo de ataque si nuestra tabla ARP contiene MAC's duplicadas.

Importante!! no cerréis ninguna de las ventanas de consola en las que se esta ejecutando arpspoof, ya que de hacerlo se pararía el ataque!

Con esto ya tenemos el MITM en marcha.

Robo de contraseñas FTP
Ya sé que no es ningún mito conseguir la contraseña de un FTP, pero para ilustrar como funciona dsniff nos bastará ;)
Una vez realizado el MITM, en la maquina atacante ponemos dsniff a la escucha mediante:
dsniff -i eth0
y a continuación vamos a la maquina victima y abrimos una sesión FTP con cualquier proveedor...
Vaya! parece que dsniff tiene algo para nosotros!


Espiar conversaciones de Messenger
También es posible espiar conversaciones mediante la herramienta msgsnarf.
Habiendo hecho previamente el MITM podemos hacer:
msgsnarf -i eth0
y toda conversación msn que inicie la victima pasará por tu pantalla.

Capturar correos

Activando mailsnarf:
mailsnarf -i eth0
podremos capturar todo el correo enviado mediante Outlook, Thunderbird... etc por la victima. Si ademas activamos dsniff probablemente capturemos la contraseña de acceso a la cuenta de correo. Con mailsnarf obtendremos el cuerpo del mensaje enviado.

Espiar trafico web en tiempo real
Para esto es imprescindible utilizar el navegador Netscape... para esto no nos sirve el Firefox U_U el Netscape Navigator lo podemos bajar de la pagina oficial de Netscape, la ultima versión estable para Linux es la 9.0.0.3.
El ataque es tan fácil como realizar un MITM y activar webspy del siguiente modo:
webspy -i eth0 192.168.1.33
y en la barra de direcciones de Netscape poner la dirección http://192.168.1.33 ¡webspy irá inyectando el trafico web automáticamente y en tiempo real!!

Todo esto, por supuesto, no es necesario que suceda en una red cableada... perfectamente puede ser un escenario inalámbrico, en una red ajena... así que al loro en lo que sucede en vuestras redes...

Bueno hasta aquí hemos hecho un pequeño repaso a unos cuantos ataques, pero esto es solo la punta del iceberg! Mas adelante iremos exprimiendo un poco mas esta fantástica suite, aunque no dudéis en ir probando por vuestra propia cuenta!

Me hubiera gustado poner mas capturas de pantalla, pero hoy no ha sido posible, tal vez, si me acuerdo haré las capturas mas tarde y actualizaré el post, pero no os puedo prometer nada de momento...

Salu2!

domingo, 11 de noviembre de 2007

Navegar anónimamente. Parte II

Bueno ya estamos otra vez aquí. Este documento es una continuación de la primera parte: "Navegar anónimanente". Lo podeis encontrar aquí.
Para los que ya sepan de que va esto, en este segundo capítulo dedicado al anonimato, hablaremos sobre como crear una secuencia de proxys anónimos para hacer más difícil nuestra identificación dentro de internet.

La primera opción para el anonimato que tenemos seria la siguiente: configuramos nuestro navegador y le indicamos que todas nuestras conexiones del tipo HTTP (también podrian ser otras como FTP, SSL... ) pasen por un servidro proxy (que hallamos previamente elegido nosotros). Para ello, si Firefox es nuestro navegador predeterminado, tendremos que ir a Opciones-->Preferencias-->Red-->Configuración y en el apartado "Configurar proxies para el acceso al internet" poner la ip del proxy y el puerto por el que nos va a escuchar. Para los que usen IE las opciones y menus son muy parecidos.

Esta es la configuración más fácil (muy parecida a la que hacíamos al final de la primera parte), y por lo tanto la que menos "enmascara" nuestra identidad real (nuestra ip).
Si nuestra idea es tener una lista de proxies (para con un simple clic pasar de un proxy a otro y no tener que entrar en las configuraciones del naveagador), Firefox tiene un add-on que nos facilita la tarea de tener una lista de proxies. La herramienta en cuestión se llama "SwitchProxy Tool". Una vez descargada e instalada, tendremos otra barra de herramientas dedicada especialmente para el uso del programa. Su uso es sencillo. Podemos agragegar cuantos proxies queramos a la lista de proxies, para después seleccionar uno y haciendo clic en el botón "apply" hacer que nuestro tráfico HTTP se redirija hacia el proxy. De esta forma tan sencilla haremos que nuestro fujo de datos pase primero por el proxy antes de llegar al destino. Para encontrar nuestro servidro proxy favorito, sabemos que en internet existen sitios donde podremos encontrar listas de proxys anónimos (p.e: http://proxy-list.org/en/); solo hay que googlear un poco.

Otra opción bastante interesante de "SwitchProxy Tool" es la posibilidad de cargar una lista de proxies (en vez de introducirlos uno a uno) y hacer que cada x segundos nuestras comunicaciones vayan cambiando el proxy utilizado de acuerdo con la lista que tenemos. Para poder utilizar esta opción tendremos que descargarnos primero la lista de proxies que vamos a utilizar. En la página http://proxy-list.org/en/ podemos encontrar dichas listas (También existes programas como Proxy Switcher que puede descargarnos una lista de proxies de internet, testearlos y ordenarlos). Ahora seleccionaremos la opción "Add" de la barra de herramientas de SwitchProxy Tool y la opción "Anonymous". En la siguiente ventana es donde podremos importar el archivo con la lista y indicarle cada cuantos segundos queremos que cambie entre proxy y proxy. Es importante comprobar que los proxies funcionan todos correctamente, ya que si no podríamos quedarnos sin conexión.

Como hemos visto, las herramientas antes presentadas se basan pasar el tráfico por un único proxy y aunque podemos cambiar el servidor proxy por el que navegamos cada x segundos, no enmascara del todo nuestra ip. Otra opción diferente serian las herramientas que crean una cadena larga de proxies entre el origen y el destino por donde hacen pasar nuestras consultas. Una de las herramientas que usa esa tecnología es TOR, que hoy por hoy es sin duda la herramienta más usada en este sentido.

TOR (The Onion Router) es una red de multi-enrutadores que basa su concepción en que la comunicación entre origen y destino salta por varios de ellos de forma encriptada (excepto entre el último tramo y destino, detalle muy importante) sin que ninguno de ellos conozca de forma completa origen y destino, sino sólo el enrutador predecesor y el sucesor. De esta forma evitaremos que los sitios web rastreen nuestra presencia. Para saber a que quién conectarse, se usará un servidor de directorio que nos indicará a las personas que me puedo conectar. En la siguiente imagen podemos ver el funcionamiento de Tor.

La red Tor se apoya en voluntarios que donan ancho de banda. Cuanta más gente ejecute servidores, más rápida será la red Tor.
Si queremos ayudar a la comunidad y hacer de nuestro servidor un servidor Tor, aquí tenemos como: https://www.torproject.org/docs/tor-doc-server.html.es.

Por otra parte si lo que queremos es solo utilizar Tor, basta con descargarnos el add-on que existe para Firefox llamado TorButton. Además de instalarnos el TorButton, debemos también de instalarnos otro programa: Privoxy y el programa para Windows Tor. Privoxy filtra todo tipo de datos que se utilizan en la navegación web: cookies, encabezados; y además hace las preticiones DNS que algunos exploradores fallan al hacerlas. En vez de descargarnos el programa ensí, podemos bajarnos un paquete llamado Vidalia, que incluye el Privoxy y el programa para windows Tor. Una vez instalado Vidalia, si ejecutamos Firefox. Le damos al TorButton y lo ponemos "Enable". Deberemos apreciar una reducción en la velocidad de navegación (recordar TorButton no funcionará sino instalamos Vidalia ya que necesita privoxy). Para confirmar que estamos dentro de una red Tor solo tenemos que visitar esta página, la cual nos dirá si estamos o no dentro de la red Tor.


También cabe la posibilidad de utilizar Tor junto a SwitchProxy y a Privoxy. Es decir, dentro de la lista de poxies que tenemos en Switch Proxy tendremos un elemento más que será Tor. En la página web del proyecto explican muy detalladamente como se hace; no es nada difícil. El enlace es el siguiente.

Con todo esto ya tenemos una potente herramienta para el anonimato, aunque cabe recordar que este no 100% seguro en ningun caso.

Por último solo comentar un par de cosas que me parecen interesantes. Existe un paquete llamado Torparck, que incluyen las siguientes herramientas: el navegador Portable Firefox y un cliente para la red anónima Tor. Ocupa tan solo unos 10Mb, lo que nos permitirá grabarlo en nuestra memória USB y llevarlo a todas partes con nosotros para poder navegar anónimamente en cualquier sitio donde estemos. Por otro lado, también existe una distribución Linux (en formato Live-CD) basada en OpenBSD que trata de facilitar la navegación anónima. Su nombre es Anonym.OS.

Espero que esta guía sea de ayuda
Nos vemos pronto :).

Un Saludo.

martes, 6 de noviembre de 2007

Portable Applications

Perdonad por la desactualización tan tremenda del blog, pero ultimamente tanto yo como KrAmOx estamos bastante liados y no tenemos tanto tiempo como nos gustaria para poder postear articulos interesantes... :( aunque os puedo adelantar que estoy trabajando en un paper que espero que os interese, seguramente lo postee a trozos en el blog o lo libere definitivamente en un PDF, o las dos opciones, ya veremos ;)

Para no dejaros con el regusto en la boca os voy a dejar un enlace que si no lo conocíais seguramente me agradeceréis que os lo enseñe. Se trata de este.
Descargando esta aplicación e instalándola en nuestra memoria USB, tendremos a nuestra disposición un extenso conjunto de aplicaciones libres que seguro nos harán la vida mas fácil. Se trata de aplicaciones portables, es decir, instaladas en el USB y que para funcionar solo necesitan ser conectadas mediante el USB a un PC con el sistema operativo adecuado (Windows en este caso).

Asi podras llevar tu Firefox, con tu tema, tus Marcadores y tus Addons instalados siempre detras, o tu Thunderbird, o el antivirus Clam AV, el OpenOffice, el Notepad++... etc.

En la misma web puedes consultar las aplicaciones disponibles y descargar instaladores a la medida de la capacidad de tu memoria. Aunque la Base Edition parece la mas interesante para personalizar completamente tu Portable Apps.

Sin mas que contar espero que podamos en breve seguir el ritmo de posts que llevábamos antes.

Salu2!

domingo, 21 de octubre de 2007

Navegar anónimamente

Cuando nos conectamos a cualquier máquina, en esta queda registrada nuestra ip. Con ella pueden saber de dónde venimos, cual es nuestra máquina, dónde estamos ubicados y un montón de información más que puede quedarse resgistrada. Si ha esto le añadimos la inclusión de cookies en la mayoria de las peticiones, aún se puede recoger mucha más información acerca de nosotros. Con todo esto se pueden confeccionar perfiles de usuarios muy exhaustivos, con información personal que podrían adquirir un valor económico bastante grande para las empresas publicitarias.

El creciente aumento del uso de internet ha provocado que la intimidad y el anonimato de las personas que navegan resulten claramente amenazadas. Esto no debería ser así ya que la intimidad personal es un derecho que queda perfectamente legislado en la constitución. Por ejemplo en los metodos tradicionales, vease correo postal, este derecho estaba perfectamente garantizado. Pero con la llegada de la red de redes todo cambia...

Para poder hacer uso del derecho de anonimato tendremos que utilizar servicios de terceros, como son los proxys. Supongo que muchos sabréis que es un proxy. Para lo que nos sepan exactamente lo que es (aunque seguro que habrán oído mucho hablar de ellos) es una máquina/software que se interpone entre la conexión fuente y la conexión destino. Nosotros le mandamos la petición al proxy, y este después se la manda al destino que nosotros queríamos enviárselas en un principio (ver imágen). Podríamos decir que el proxy hace la operación por nosotros y por tanto es él el que envía el paquete en cuestión al destino. Actúa de intermediario entre la máquina origen (la nuestra) y la máquina destino (donde queremos enviar la información).

Aunque no lo creamos cuando realizamos una conexión (y más si estamos dentro de una empresa) la realizamos a través de proxys. Por ejemplo cuando un usuario que tiene contratado los servicio de un ISP para conectarse a internet, y hace una consulta, esta no va directamente al dominio en cuestión (por ejemplo http://www.blogger.com/) sino que esa petición llega al servidor proxy de nuestro ISP. Este tipo de proxy (que utilizan los ISP y las empresas) se llaman transparentes (es decir, transparentan tu ip real y realmente no cambian la ip por la ip del la maquina proxy sino que actúan sin cambiar ningún dato de la ip). Por ejemplo Telefónica y muchos de los operadores que usan su red, tienen proxies transparentes. Para más información acerca de los proxies de Telefónica consultar esta página. Estos proxys (los transparentes) no son los que nos interesaran a nosotros, ya que lo que nosotros buscamos es que el proxy ponga su ip en las peticiones en lugar de dar a conocer nuestra ip.

Otro tipo de proxy seria el proxy-cache. En este caso, el proxy almacenarían las consultas realizadas por distintos usuarios dentro de una red para que cuando alguien haga la misma consulta (es decir, una consulta que antes realizó algun usuario y se quedó almacenada en la cache), la repuesta la obtendremos desde la cache del servidor proxy (siempre que la pagina no este obsoleta). De esta forma se nos mostraría la consulta mas rápidamente. Algunos ISP implenentan también este tipo de proxys. Podrían añadirse más funcionalidades como filtrado de páginas web o algunas cosas más.
Como hemos visto, este es otro tipo distinto de proxy (no es que sea distinto, solo añade la funcionalidad de cache-web) que se le denomina proxy cache web.

Aquí os dejo una imagen aclarativa de que es un proxy en general:


Hasta ahora hemos visto que dos tipos de proxys: transparentes y cache-web. Pero visto lo visto, ¿para que nos podrían servir a nosotros para ocultar nuestra identidad? Vamos a verlo.

Cuando navegamos por internet y nos conectamos a distintas máquinas y a distintos servicios todos estos equipos loguean tu ip y esta queda registrada. Por lo tanto si vas ha hacer algo que no sea muy ético (o no quieres por el motivo que sea que tu ip quede registrada), seria interesante usar proxies, que no sean transparentes, para que no quede registrada tu ip y si la del proxy en cuestión. Analogamente a los proxy transparentes, los proxys normales si cambian nuestra ip por la ip de la maquina proxy.

Dicho esto no quiero que se piensen que por usar proxies somos anónimos al 100% y nadie nos podrá descubrir. Resalto: el anonimato al 100% es imposible, pero si que podremos confundir acerca de nuestra identidad. Esta claro que para confundir totalmente a nuestra victima lo mejor seria realizar un ataque o la petición desde otra máquina que tendrá otra ip que en nada se parecerá a la nuestra, ni tendrá relación con ella. Pero vamos a centrarnos en el tema de los proxies, y no nos vamos a desviar.......

Un primer acercamiento para ver que es eso de los proxies seria entrar en la página de http://anonymouse.org/anonwww.html (que lo que hace es redirigir la peteción hacia un servidor proxy) y poner por ejemplo la siguiente página web: http://www.whatismyip.org/, que nos dirá cual es nuestra ip. Después abrimos otra ventana o pestaña del navegador y ponemos directamente http://www.whatismyip.org/, ahora sin usar un proxy y veremos como ha cambiado nuestra ip. En esta segunda ocasión nuestra flujo de datos no ha pasado por una maquina intermedia (denominada proxy ;)).

Lo interesante ahora seria conseguir una cadena de proxies o algún mecanismo similar para poder navegar de forma más segura anónimamente.

Pero esto lo veremos en el siguiente capítulo que sino se hace esto demasiado largo para poder leerlo ;).

Un saludo y hasta el próximo episodio!

viernes, 19 de octubre de 2007

InstantBird: nueva competencia en la Mensajeria instantanea

Aquí en España, el boom de la mensajería instantánea empezó con la aparición del Messenger de Microsoft alla por el año 2003 en su versión 6. Hoy por hoy es el método mas utilizado para comunicarse.

Más tarde, le surgieron competidores tales como GTalk, de Google, que parece que no ha acabado de cuajar y que no parece que vaya a ser una amenaza mayor a corto plazo, aunque ya incorpora soporte para conversaciones de voz y da soporte para las cuentas de GMail, añadiendo todos tus contactos al programa.

La cosa siguió con el fenómeno VoIP, programas como Skype o VoIPBuster empezaron a dar "mucho que hablar" ;) pero rápidamente Microsoft incorporó conversaciones de voz y volvió a estar en cabeza (aunque realmente nunca dejó de estarlo).

Hoy, 19 de octubre de 2007 nace el que podría ser su mayor competidor, InstantBird de Mozilla.

El programa está todavía muy muy verde, es la versión 0.1 y apenas tiene funcionalidades, aunque augura buenos presagios.
Lo interesante de este cliente es que va a ser multiprotocolo, es decir, podrás conectarte con cuentas de:
  • AIM
  • Gadu-Gadu
  • Google Talk
  • ICQ
  • MSN
  • QQ
  • XMPP
  • Yahoo!
Pantalla de Selección de protocolo


Otro aspecto interesante es que estará disponible para las tres plataformas mas utilizadas: Windows, Linux y Mac.
La aplicación está basada en otras dos mas conocidas: XULRunner y el conocido Pidgin.

Esperemos que al igual que Firefox, esta nueva competencia haga ponerse las pilas a Microsoft y que siga la lucha por ofrecer el mejor producto, que es lo que al fin y al cabo quiere el consumidor ;)

Si queréis descargar la versión 0.1 de InstantBird podéis entrar en la pagina oficial del proyecto y ya de paso consultar su roadmap para ver las futuras innovaciones que incorporarán las próximas versiones.

Salu2!


sábado, 13 de octubre de 2007

Ubuntu 7.10 Gutsy Gibbon

Canonical Ltd ha anunciado que liberara la nueva version de Ubuntu, la 7.10, codename Gutsy Gibbon, la segunda mitad de Octubre, hacia el 18.
Para eso queda apenas nada pero de momento ya podeis descargar la Release Candidate de aquí.

Entre las nuevas características que incorporará destacamos:

  • Kernel 2.6.22
  • X.org 7.3

  • Compiz y Beryl (Escritorio 3D Compiz Fusion)
  • Winmodems soportados, si existen drivers disponibles

Ubuntu incorporara GNOME 2.20 y Kubuntu 7.10 (KDE 3.5.7) aunque también incluirá los paquetes de KDE 4.0 RC2 para que ambos puedan ser instalados. Por otra lado el escritorio 3D Compiz Fusion se activará como Gestor de Ventanas por defecto en sistemas que lo soporten.

Estará disponible también en una edición "Mobile and Embedded" para dispositivos portátiles. Esta versión también integraría los componentes Hildon UI desarrollados por Nokia.

En el servidor, el framework de seguridad AppArmor de Novell estará disponible como una opción durante la instalación, ademas de importantes mejoras de administración y deployment.

Si dispones de una Feisty Fawn instalada podrás actualizar a Gutsy Gibbon siguiendo las instrucciones de Canonical.

Mas información aquí.
Fuentes:

Mename
VivaLinux!

lunes, 8 de octubre de 2007

VNC, el escritorio remoto

Hemos hablado ya aquí de diversos servicios como: ftp, ssh que nos pueden ofrecer nuestros pc para incrementar su potencia. Ahora es hora de hablar de otro servicio muy interesante que nos abre un gran abanico de posibilidades como es el escritorio remoto.
Al principio de todo (no digo de la creación del hombre sino de los primeros computadores ;)) los ordenadores eran maquinas enormes que solían ocupar una habitación entera. Entonces la idea la tener para cada computadora para cada usuario con una entrada de teclado era una utopía. Es aquí donde aparece la necesidad de conectar diversas consolas a una maquina a través de una interfaz (podríamos decir que es aquí donde aparece al idea de crear un servicio parecido a lo que después será el ssh o telnet). Con el paso del tiempo los ordenadores fueron reduciendo su tamaño, evolucionando su tecnología y aumentando las prestaciones. Pero en la década de los 90 vuelve a surgir una revolución más. Los sistemas operativos eliminan parte de la interacción textual para dar vida a la interacción gráfica. Nacen los escritorios gráficos. Inicialmente en el sistema UNIX ya se pensó en la opción de poder conectar varios clientes a un mismo servidor gráfico. Esa es la filosofía (cliente-servidor) en la que se basa el x-windows (hemos hablado ya sobre el en este blog: "Las X y ese mundo tan confuso"). Hoy por hoy, en el año 2007, dispones de una gran variedad de productos que nos permiten acceder remotamente a nuestro ordenador con toda la potencia que ofrece el entorno gráfico. Además el avance en las velocidades de conexión aumentan más y mejor las prestaciones de estos servicios.

Existe una gran variedad de protocolos para la implantación de diversas soluciones para el escritorio remoto. Me voy a centrar únicamente en el VNC (que hace uso del protocolo "Remote FrameBuffer", para más información acerca del funcionamiento ir a aquí ), ya que es el más utilizado hoy por hoy además de ser código abierto, ligero, sencillo y multiplataforma.
VNC (Virtual Network Computing) es un programa que se utiliza para el control remoto de equipos. Podremos manejar el ordenador al cual estamos conectados (es decir podremos tener el control de recursos como el ratón, el teclado, la pantalla... ) como si estuviésemos delante de el. El programa se basa en la arquitectura cliente-servidor. En un ordenador (supuestamente el que queremos controlar y digo supuestamente porque después veremos que se pueden hacer conexiones inversas) ejecutamos el servidor y el en otro lanzaremos el cliente que controlara al ordenador del servidor.

Para realizar las prácticas usaré MS Windows como sistema operativo y el cliente/servidor VNC a utilizar será el TightVNC (ya que es una versión mejorada de VNC, optimizada para conexiones lentas que comprime el tráfico usando un algoritmo de compresión propio). Existe también una versión la Linux. Para instalarla solo tenemos que ejecutar la orden "apt-get install tightvncserver xtightvncviewer" si queremos instalar tanto el cliente como el servidor (para hacer nuestras pruebas) o elegir el cliente o el servidor dependiendo de lo que queramos instalar.
Para instalar el tightVNC para Window tenemos que dirigirnos a la página del proyecto. Podemos descargarnos una versión sin instalación muy útil para ejecutarlo en cualquier maquina donde estemos sin necesidad de instalarlo en el propio sistema, y otra versión con instalación. Su ejecución es muy fácil. En la maquina a la cual queremos administrar remotamente lanzamos el servidor. Veremos que en la parte inferior derecha (en la barra de inicio) nos aparece un nuevo icono con una "V", que nos indica que se esta ejecutando el servidor correctamente. Abriremos ahora el programa (es decir, el servidor, haciendo clic con el botón derecho sobre el icono en forma de "V"), cambiaremos el password y dejaremos las demás opciones como están.
Ahora le toca el turno al cliente. En la maquina donde queremos controlar al servidor lanzamos el cliente (como vemos es una aplicación muy sencilla). Solamente tendremos que introducir su dirección ip o el nombre del host y automáticamente tendremos acceso a la maquina donde esta instalado el servidor. Recordar que habrá que mapear/nattear los puertos del router para que el puerto utilizado por el VNC apunte hacia nuestro ordenador. Estos puertos son: 5900, 5800 (tendremos que abrir dichos puertos en el servidor).
Si tenemos una maquina a la cual vamos a administrar remotamente muchas veces, seria interesante ponerle un programa tipo noip o dyndns, para poder acceder a el siempre que queramos mediante un nombre de host. Como hacer esto, lo hemos visto en "Dyndns,tu ip fija (o casi)".

Existe también otra forma de conectarnos al servidor que no sea mediante el cliente del tightVNC: el navegador. Si escribiremos "nombre_del_host:5800" en la barra de direcciones, podremos controlar remotamente también el servidor mediante el navegador.
También existe la posibilidad de hacer conexiones inversas. A todos nos ha pasado el caso de estar en una red que no es de propiedad y no poder tener acceso al router para natear los puertos. En estas situaciones podemos hacer conexiones inversas. Será el servidor el que se conecte al cliente y no al revés. Para ello lanzaremos el cliente en modo "Listening Mode". En la parte del servidor lo lanzaremos, haremos clic en el botón derecho sobre el icono del TightVNC que aparece en la barra de inicio (en la esquina inferior derecha), y seleccionamos la opción "Add New Client". Aquí le indicaremos el nombre del host de la maquina cliente. Cuando el cliente vea que el servidor se ha ejecutado. Automáticamente obtendremos el control sobre el servidor. Señalar que para poder realizar las conexiones inversas hay que abrir el puerto 5500 (o el que nosotros elijamos, se pude cambiar) en el cliente.

Por ultimo y para terminar, un importante dato. Las conexiones VNC no van cifradas. Así que cualquier visitante que tengamos podría husmear el tráfico de la red. Eso si, la contraseñan no se envía en texto plano sino que utiliza un mecanismo llamado desafió-repuesta, pero el resto de la conexión no va cifrado. Para cifrar las conexiones se pueden utilizar otro tipo de programas como UltraVNC o utilizar VNC sobre ssh.

Espero que sirva de ayuda, y así poder aumentar la potencia de nuestro PC.
Un saludo.

domingo, 7 de octubre de 2007

HP MScape Realidad ¿Virtual?

HP ha desarrollado un nuevo concepto de jugabilidad, y lo va a hacer patente a través de su nueva consolo MScape.

Aunque es muy similar en aspecto a la PSP, esta nueva consola propone un rompedor modo de juego: jugar a través de tu propio escenario.
Y es que no es para menos, la nueva consola incorpora una cámara con la que, al enfocar nuestro entorno, lo convierte en el escenario de juego. Podrás caminar por tu barrio viviendo una aventura, resolviendo puzzles... etc, formaras parte del juego.

Os adjunto un vídeo de youtube para que veáis a que me refiero:



Fuente

sábado, 6 de octubre de 2007

Microsoft "libera" IE7

Los antiguos usuarios del navegador de Microsoft que no pudieron instalar IE7 están hoy de enhorabuena, pues el gigante de Redmond ha liberado la instalación, ya no sera necesario validar la copia de Windows para poder instalar el nuevo navegador.

Según Microsoft, "aquellos que deseaban validad su sistema operativo para actualizarse a Internet Explorer 7 ya lo hicieron durante el último año, y los que no, probablemente nunca lo harán"

así que ya sabéis, si aun no tenéis IE7 y lo queréis usar, ahora es el momento. Y yo personalmente os aconsejo que lo instaléis, pues como ya sabéis, el IE va integrado en el kernel del XP y no tener actualizado el IE7 significa no tener actualizado el XP.

Fuente

miércoles, 3 de octubre de 2007

Runlevels en Sistemas Unix

Hola de nuevo a tod@s...!

Después de "algo" de tiempo vuelvo a la carga con un nuevo tema, espero que os interese ;)

El tema a tratar, como indica el titulo del post son los runlevels de los sistemas Unix y Unix-like. Creo que todos los usuarios de sistemas Linux nos hemos topado alguna vez con esta "palabreja" y muy pocas veces hemos estado seguros de su significado, pues bien, vamos a echar un poco de luz sobre el tema:

Los runlevels o niveles de ejecución en un sistema *nix son una característica heredada del System V, una versión de Unix sobre la que se han basado la mayoría de distribuciones Linux, exceptuando algunas como Slackware o Gentoo.
En realidad, el concepto de runlevel o nivel de ejecución es bastante sencillo,hay varios runlevels, del 0 al 6 y basicamente son scripts de inicio de sistema, y cada uno de estos runlevels es una configuración de arranque distinta.

Vayamos por partes... que es todo esto?

Imaginemos que tenemos una maquina con Linux instalado, y esta maquina a su vez la utilizamos de dos "modos" o como PC de escritorio o como Servidor de Red, de archivos, web... lo que sea.
Esta claro que si vamos a utilizar la maquina como PC de escritorio vamos a necesitar un entorno gráfico y otros servicios al gusto del consumidor. En cambio si lo vamos a utilizar como servidor es totalmente innecesario un entorno gráfico, pero si es interesante que cargue en el arranque los servicios a los que esta destinado.
Para simplificar esto lo ideal seria utilizar dos runlevels, cada uno con un numero distinto, uno para la carga del servidor y el otro para el PC de escritorio. Ademas, si durante un tiempo solo fuéramos a utilizar el PC como servidor podríamos configurar el sistema para que cargue directamente con el runlevel deseado.

Existen algunos runlevels "reservados", el 0 y el 6, que se usan para apagar y reiniciar la maquina respectivamente ( es obvio que si configuras tu maquina para que arranque con cualquiera de estos dos runlevels no arrancara, así que ojo con estas cosas). El runlevel 1 esta reservado para el modo monousuario, que se usa para administrar la maquina y no tiene acceso a red. El 3 y el 5 se usan para el arranque en multiusuario, uno con arranque gráfico y el otro sin él.

Los runlevels, como ya hemos dicho son scripts de inicio de sistema, se encuentran en /etc/rcN.d, donde N es un numero para identificar cada runlevel, del 0 al 6, en el interior de estos directorios se encuentran enlaces simbólicos a los scripts contenidos en /etc/init.d, cada uno de estos enlaces mandara el parámetro start al servicio asociado y hará que arranque en el inicio del sistema.

Contenido de /etc/rc3.d


Como podemos ver el contenido de este directorio son enlaces simbólicos a los distintos servicios.
Los nombres de los enlaces siguen una nomenclatura ANNservicio, donde A es una letra, y NN un numero entero de dos cifras, esto es para que se carguen los servicios ordenados de forma alfabética, no tiene mayor importancia, a no ser que un servicio dependa de otro, en ese caso hay que tenerlo en cuenta.

Llegados a este punto tenemos una buena base sobre lo que son los runlevels en sistemas *nix, y para ir un poco mas alla, hablaremos sobre como configurar la maquina para que arranque en un determinado runlevel.

El primer proceso que se carga en un sistema *nix despues de la carga del kernel en memoria es el llamado proceso init, contenido en /sbin/init, este proceso (entre otras cosas) lee el archivo /etc/inittab, y de ahi determina en que runlevel arrancar.


Contenido de /etc/inittab

En la imagen vemos un extracto de mi inittab, en él he resaltado en blanco la linea en la que podemos modificar el runlevel de arranque, en mi caso, al tratarse de un sistema Debian el runlevel por defecto es el 2, equivalente al runlevel 5 anteriormente citado (multiusuario con arranque gráfico).
En rojo he resaltado una linea que me ha parecido interesante, y es que esta linea indica al sistema que hará en caso de arrancar en modo monousuario. En este caso indica que se ejecutar sulogin, para autenticar al usuario root, imaginaos lo que se puede hacer en una maquina con la que tengas acceso fisico a ella y una LiveCD... ;) y es que como una vez me dijo alguien... una maquina solo es segura si se encuentra aislada en una habitacion, sin que nadie mas que el administrador tenga acceso.

Por supuesto, el inittab tiene mucha mas chicha, que vosotros mismos podréis descubrir con un man inittab o con el gran Google.

Por ultimo ya, si quereis cambiar el runlevel sobre la marcha...

# telinit -t SEC NUM

Siendo SEC el numero de segundos que se esperara a un proceso antes de matarlo, por defecto es 5 segundos, y NUM, por supuesto, el numero de runlevel al que se desea cambiar. Esto solo lo podrán hacer usuarios con permisos, puesto que claro esta, no podran matar un proceso si no les pertenece... ;)

En fin, espero que hayáis disfrutado leyendo tanto como yo escribiendo, solo ya animaros a que mireis mas a fondo las posibilidades del fichero inittab y posteeis todas vuestras dudas... sin nada mas que decir...

Nos vemos en el proximo post!



miércoles, 19 de septiembre de 2007

Phrack ha vuelto!

La mítica revista Phrack (PHRehacker-hACK) ha vuelto a sacar un nuevo numero a la luz.
Exactamente el 64.
Editada desde 1985, esta revista (las mas popular seguramente del mundo hablando de temas de seguridad) publicó su último numero hace ya dos años (el numero 63 de la revista).
Para los que no sepan de que va todo este rollo, hay que decir que Phrack Magazine es una revista que se distribuye en ingles, es gratuita y abarca temas como: sistemas operativos, redes, telefonía y casi qualquier tema que abarque el mundo de la informática y su seguridad.
Pues bien, después de que en un principio "The Circle of the lost hackers" dediciera no publicar
ninguna noticia más, ahora aparece un numero más (espectacular!).
Aquí os dejo el índice:

0×01 Introduction The Circle of Lost Hackers
0×02 Phrack Prophile of the new editors The Circle of Lost Hackers
0×03 Phrack World News The Circle of Lost Hackers
0×04 A brief history of the Underground scene The Circle of Lost Hackers
0×05 Hijacking RDS TMC traffic information signal lcars
danbia
0×06 Attacking the Core: Kernel Exploitation Notes twiz
sgrakkyu
0×07 The revolution will be on YouTube gladio
0×08 Automated vulnerability auditing in machine code Tyler Durden
0×09 The use of set_head to defeat the wilderness g463
0×0a Cryptanalysis of DPA-128 sysk
0×0b Mac OS X Wars - A XNU Hope nemo
0×0c Hacking deeper in the system scythale
0×0d The art of exploitation: Autopsy of cvsxpl Ac1dB1tch3z
0×0e Know your enemy: Facing the cops Lance
0×0f Blind TCP/IP hijacking is still alive Lkm
0×10 Hacking your brain: The projection of consciousness keptune
0×11 International scenes Various

La pagina web principal de la revista es la siguiente: http://www.phrack.org

God save phrack!

lunes, 17 de septiembre de 2007

El sistema de archivos /proc

Muchos serán los que ven en su sistema raíz un montón de carpetas, con nombres un tanto extraños, las cuales no se saben para que se utilizan. Dentro de esta categoría estaría la carpeta /proc. Vamos a ponerle un poco de luz a esta oscura carpeta que muy pocas veces visitamos y que puede sernos de gran utilidad.Todo sistema debería ofrecer un servicio para saber que esta ocurriendo dentro del propio sistema, así como fijar algunos parámetros operacionales. En MS Windows tenemos el registro del sistema que hasta cierto punto cumple con dichas expectativas. Pero en el sistema GNU\Linux tenemos una potente sistema de archivos virtuales que es sistema /proc. Como sabemos en linux todo son archivos y procesos. Todo se guarda en archivos. Los mas comunes son los archivos de texto y los binarios, pero el sistema /proc entra en otro grupo de archivos que se denominan archivos virtuales (mas adelante veremos porque es esto así). Es por eso que decimos que /proc es un sistema de archivos virtuales.

Como sabemos el núcleo de Linux es el elemento clave del sistema, por lo tanto es importante que exista un método para intercambiar información con el. Debido a esto se creo el sistema de fichero /proc, que mejoraba la comunicación entre los usuarios y el núcleo de Linux.
En principio este sistema fue diseñado para permitir un fácil acceso a la información sobre procesos (de aquí viene su nombre), pero ahora es utilizado por cualquier elemento del núcleo que tiene algo interesante que informar.
Dentro de este directorio /proc podemos encontrar una gran cantidad de información, con muchos detalles (mas de los que nos esperaríamos), sobre el hardware del sistema y también sobre casi cualquier proceso que se esté ejecutando actualmente. Por ejemplo en /proc/modules encontraremos la lista de los módulos que tenemos instalados, mientras que en /proc/cpuinfo encontraremos información acerca del micro.
El directorio /proc/ tiene una jerarquía de fácil lectura para porder encontrar fácilmente la información que buscamos. Además, todos los archivos que contienen información referente a temas semejantes están agrupados juntos. Algunos de los archivos interesantes que aparecen dentro de este sistema de archivos son:

  • /proc/meminfo tiene estadísticas de uso de la memoria
  • /proc/cpuinfo contiene información sobre el procesador
  • /proc/sys/net/ipv4 nos muestran información sobre la pila del sistema
  • /proc/interrupts Uso de IRQ de su sistema
  • /proc/iomem Mapa actual de la memoria del sistema para diversos dispositivos.
  • /proc/pci Dispositivos PCI conocidos en el sistema
  • /proc/version Nos muestra la version del núcleo que esta instalado, así como la hora y la fecha en la que compilo
  • /proc/dev/net Info acerca de los dispositivos de red
  • /proc/net/arp Tabla ARP del sistema
  • /proc/sys/net/ipv4 parámetros de la pila TCP/IP
  • /proc/modules Muestra los módulos que tenemos instalados
  • /proc/ide/ información de los dispositivos IDE
  • /proc/scsi/ información de los dispositivos SCSI

Puede que muchos hayáis observado que existen algunos archivos de 0 bytes. Esto es debido a lo que habíamos dicho al principio: el sistema de archivos /proc es virtual, no existe realmente en el disco. Por ejemplo cuando hacemos un cat para leer un archivo en /proc/cpuinfo este es de 0 bytes. El contenido de ese archivo se genera de forma dinámica por medio de un programa que se encuentra en el núcleo y se nos muestra a nosotros por pantalla. Cabe destacar que el sistema de archivos /proc al ser un sistema virtual, los cambios que hagamos a los ajustes predeterminados no sobreviven a los reinicios. Para hacer que los cambios permanezcan al reinicio deberíamos de modificar los scripts de inicio o utilizar una herramienta que haga esto por nosotros, como podría ser sysctl (que ajusta parámetros que están bajo el directorio /proc/sys).
Además de la posibilidad de que el sistema nos de información a nosotros, nosotros también podemos pasarle información al núcleo. Si hemos sido observadores, habremos visto que alguno archivos son de solo lectura, mientras que otros son de lectura/escritura (por ejemplo en /proc/sys/net/ipv4). En este caso podremos modificar algunos de los datos al vuelo. Es bien conocida la modificación del fichero /proc/sys/net/ipv4/ip_forward para que nuestro ordenador haga de enrutador.Por ultimo decir que el sistema /proc (también llamado procfs) se monta generalmente en el sistema raiz (/proc) durante el arranque del equipo. Si vamos al fichero /etc/fstab veremos como en la primera línea se monta el sistema virtual. En caso de que no existiera tal línea habría que agregarla para que el sistema monte de forma automática el sistema cada vez que se inicie el sistema. De todas formas el procfs viene configurado actualmente en la mayoría de los núcleos por omisión. Si no tienes el procfs en su núcleo, al intentar montarlo obtendrá un mensaje como este: mount: "fs type procfs not supported by kernel". Si nos apareciera dicho mensaje habría que recompilar en kernel añadiendo el soporte para el sistema de archivos procfs.

Espero que este pequeño manual os sirva de ayuda.
Un saludo!

sábado, 15 de septiembre de 2007

Form Tampering: Manipulando la verdad

Hace tiempo que no posteaba, y para que KrAmOx no se me mosquee me voy a poner manos a la obra, ya he terminado exámenes y trabajo, así que espero poder tener mas tiempo para escribir… aunque en breve os quiero dar una sorpresita ;)

El tema de hoy es ni más ni menos que una de las vulnerabilidades mas extendidas en la programación web, el Form Tampering.

Básicamente consiste en manipular el contenido de los campos de un formulario antes de ser enviado. Muchos pensareis…”pues vaya utilidad, si quiero cambiarlo, lo hago antes…” y sí, tenéis razón, pero bueno, haremos un pequeño repaso a la historia para que veáis porque puede ser interesante.

La programación de páginas web dinámicas mediante PHP y bases de datos es algo relativamente moderno. PHP nació en 1995, y hasta hoy han pasado 12 años (que es mucho hablando en términos informáticos), pero eso no implica que desde ese año todo hayan sido webs dinámicas.
La programación de webs dinámicas es muy interesante para, por ejemplo, el desarrollo de comercios electrónicos, pudiendo ofrecer a cada cliente una tarifa de precios ajustada y obtenida a través de una base de datos. Permite el uso de sesiones de usuario, por lo cual puede haber varios usuarios haciendo uso de la misma web de comercio sin interferir uno con el otro.

Todo esto esta muy bien… pero claro! Antes de 1995 la gente ya vendía a través de Internet! y muchos mas lo hicieron después mediante paginas web estáticas… puro HTML y JavaScript…
La diferencia estribaba en que no podían obtener los precios de los productos ni las tarifas personalizadas de una base de datos, por lo que eran paginas mas bien genéricas.

Como los precios no se podían obtener de una base de datos y a su vez, tenían que estar en el formulario que se enviaba para el pedido muchos webmasters optaron por utilizar campos ocultos para evitar que la gente pudiera modificarlos, y con ello “ajustarse” su propia tarifa.

OJO! No quiero decir con esto que las paginas dinámicas estén exentas de este tipo de ataque! Pueden ser igual de vulnerables si no se toman las medidas adecuadas. Lo más importante es recordar que nunca debemos coger el valor de un campo del formulario si lo podemos obtener de la base de datos, porque todos los campos son sensibles de ser modificados, pero no la base de datos…

Existen una serie de programas llamados Interceptores HTML que nos permiten modificar las cabeceras, los campos pasados con GET y POST… antes de mandarse definitivamente, lo cual nos sitúa en una posición ventajosa.
Algunos de estos programas son Achilles, Odysseus… cada cual a su gusto, pero yo quiero destacar una herramienta que sirve para este y muchos mas fines:
La Firefox webdeveloper:

Mediante esta sencilla barra podemos mostrar el contenido de los campos ocultos, remover maximos permitidos, desbloquear campos de solo lectura, observar la disposicion de las tablas.... TODO.

Si hacemos como en la imagen:
Mostraremos los campos ocultos y obtendremos información de todos los campos de un formulario. A partir de ahi modificar su valor es cosa de niños:


En este ejemplo podemos modificar la referencia del producto, poniendo la de uno mas caro y pagando un precio inferior...

Este tipo de fallos deben ser reportados lo mas breve posible para evitar que alguien haga uso de ellos, y son bastante comunes.

A partir de aquí os recomiendo que os familiaricéis mas con la Webdeveloper y exprimáis sus capacidades, por ejemplo, remover máximos permitidos es de gran ayuda para intentar inyecciones SQL, convertir métodos puede venir bien para depurar paginas en desarrollo, porque ante todo, esto es una herramienta para desarrollo de webs.... o no? ;)

Salu2!

viernes, 7 de septiembre de 2007

ARP poison practico

Continuamos con la segunda parte del ataque ARP Poison. En este bloque veremos como poner en practica la teoria vista en el primer capitulo.

Vamos a hacer que todo el trafico existente entre dos dispositivos, pase por nuestra maquina y de esta forma podremos analizarlo (o simplemente observarlo lo que nosotros queramos). Con un hub es muy sencillo, ya que solo hay que poner la tarjeta de red en modo monitor, pero cuando estamos conectador a un switch la cosa se complica un poquito (muy poquito) más. Para conseguir nuestro objetivo envenenaremos las tablas ARP de los dispositivos y de esta forma haremos que todo el trafico se dirija hacia nosotros.

Vamos pues a la práctica del ataque!

Existen varios programas que nos permiten hacer un envenenamiento de la cache ARP. Para MS Windows tenemos el famoso Cain & Abel de oxid, que podemos descargar de la web y es totalmente gratuito. Para el otro gran sistema operativo, GNU\Linux, tenemos dos grandes soluciones: ettercap y dentro de la suite dnisff el programa arpsoof (también son gratuitas).

Empezaremos viendo en envenenamiento de ARP en Windows.

Lo primero que haremos será bajarnos la ultima versión del Cain y Abel. Al instalarlo y ejecutarlo si tenemos un antivirus ejecutándose puede que nos de problemas ya que detectará el programa como un troyano. Una vez solucionado este pequeño problema podemos ir a la barra de herramientas principal y darle al botón "Start/Stop Sniffer" para activarlo. Ahora escanearémos la red para saber los dispositivos que están conectados. Esto se hace seleccionando la pestaña "Sniffer" y pulsando el botón "+" que aparecen también en la barra de herramientas. Luego vamos a subpestaña ARP y presionamos el botón + y seleccionamos los dispositivos que queremos envenenar. Si queremos husmear toda la red, seleccionaremos la ip del router que es por donde van a pasar todas las comunicaciones y de esta forma suplantaríamos su identidad. Por último activamos el botón de para envenenar las tabla de ARP (Start/Stop ARP).

Solo un pequeño inciso: esto no es una practica guiada, solo es para que despertar la curiosidad de la gente, luego no pienso incluir imágenes de como imágenes, y si incitar ha investigar un poco para saber exactamente como se hace y que es lo que estamos haciendo ;).

Con esto ya hemos realizado el ataque con éxito. Podremos ver todas las contraseñas y los password de las comunicaciones de los protocolos que no vayan cifrados (que son casi todas).


Ahora le toca el turno a nuestro querido Linux.

Vamos a hacer una pequeña prueba ahora. Primero vamos a ver la tabla ARP que tiene el sistema en este momento. Para ello hacemos en el ordenador victima un "arp -a". Nos mostrara la cache ARP correcta. Una vez finalizado el ataque volveremos a ver la tabla ARP y veremos como esta tabla ha cambiado....

Primero que todo nos bajamos el paquete ettercap con el apt y lo instalamos en modo superusuario. Vamos a realizar ahora un ataque MITM (Man in the middle). Esto significa ponerse entre dos ordenadores para poder ver el tráfico entre ellos dos.

Antes de empezar a jugar con el ettercap tenemos que activar el forwarding para que nuestra maquina actúe como un router y cuando recibamos paquetes que no están destinado a nosotros intente entregarlos al destino correcto. Esto lo hacemos con la instrucción "echo 1 > /proc/sys/net/ipv4/ip_forward". Para hacer esto mismo en Windows (si vemos que el Cain i Abel no funciona) tendremos que ir al registro de windows y en la entrada "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameter" el valor ipenabelrouter lo ponemos a 1. Arrancamos ahora si el ettercap.

Tenemos tres opciones: modo texto, con una interfaz basada en las librerías ncurses y con una interfaz con gtk2. Elegimos por ejemplo, en modo texto (la ventaja de lanzarlo en modo texto es que podríamos ejecutarlo en bakground). Para ello es "ettercap -t q -M arp:remote /ip1/ /ip2/" donde -t quiere decir que lo lanzamos en modo texto, -q que no muestre el contenido capturado, -M el tipo de ataque (man in the middle) y las dos ips que queremos envenenar. Para ver todos los paquetes que circulan por nosotros (que van a ser muchos), ya que vamos en medio de dos ordenadores utilizaremos el sniffer wireshark que es mejor que el que incorpora el ettecap. Si lo activamos podremos ver toda la información que trascurre entre los dos ordenador. Igual que en el Cain i Abel si queremos ver el tráfico de toda red ponemos en la ip2 la ip del router. De esta forma podremos analizar todo el tráfico que circula. Si nos fijamos en la salida del wireshark vemos también como cada cierto tiempo se envían paquetes arp falsos. Ettecap posee muchos plugings y herramientas adicionales que lo hacen más potente. Esta es una buena forma de empezar a descubrir el potencial de ettercap ;).

Recordamos la cache ARP? Si vamos al ordenador víctima, veremos como su cache ha cambiado. Ahora aparece nuestra MAC en lugar de la MAC del dispositivo en cuestión. El ataque ha sido todo un éxito.

Por último no si nos habremos dado cuenta que al hacer un envenenamiento de ARP cuando emitimos un certificado digital no dice algo similar como a la imagen. Pero como la costumbre es hacer clic en aceptar o si sin leer previamente lo que se nos dice, pues en un 99% de los casos este mensaje pasará inadvertido y seguiros sin problemas con el ataque.

Y muchos os preguntareis, cual es la posible solución para este ataque tan tan fácil de hacer? La respuesta es únicamente una: desactivar el uso del ARP en maquinas que se conecten a la vlan y poner las entradas arp estáticas (con el consiguiente aumento de trabaja para el administrador).

Esto ha sido todo por hoy. No he explicado como hacer el ataque en el arpsoof lo dejo como trabajo para vosotros ;).

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.