miércoles, 30 de diciembre de 2009

Averiguar la IP de tus contactos de MSN (Parte II)

Continuamos con los métodos para averiguar la IP de los contactos de MSN...

Método 0.5: Enviar un email trucado.

A éste método le puse 0.5 por que no es un método nuevo sino una forma especial de aplicar el método anterior (es recomendable leerlo primero):


La parte mas difícil del método 0 es lograr que tu contacto de clic en el link que le mandas. Para eso hay que aplicar algo de "ingeniería social", tener un argumento creíble, ser natural y saber mentir. No hay algoritmo para esto, es un don. O lo tenemos o no.

Así que si no logramos conseguir que nuestro contacto de clic en el link. Aun podemos intentar que lo haga de forma indirecta y sin darse cuenta. Ese es el objetivo de este método.

En realidad no necesitamos que nuestro contacto visite el link directamente para que sus datos se queden grabados. Lo único que necesitamos es que él pida un recurso que esté en ese servidor. ¿Entiendes la diferencia? Me explico, una de las grandes ventajas de la web es la reutilización de recursos. Podemos construir un sitio web utilizando recursos de servidores externos (imágenes, vídeos, sonidos, scripts, hojas de estilo, etc.) simplemente haciendo referencia a esos recursos en el código HTML de nuestra web. Luego cuando alguien visite nuestra web su navegador entenderá que debe solicitar esos recursos a otros servidores y lo hará automáticamente.

Por ejemplo este código solicita una imagen de Google:

<img src="http://www.google.com/favicon.ico">

Lo que haremos sera enviarle un email a nuestro contacto con una orden HTML para que inserte en el mensaje una imagen alojada en un servidor del cual podamos leer los logs. Así que cuando nuestro contacto abra el email su navegador solicitara la imagen y sus datos quedaran registrados en dicho servidor. No es necesario que la imagen exista. Usaremos el nombre de la imagen para identificar la IP de nuestro contacto.

Seguiré usando los logs del ejemplo del método 0:


El código para insertar la imagen sería:

<img src="http://www.yellowcreeksbesthunting.com/nombre_contacto.jpg" width=0 height=0 border=0>

Los atributos width=0, height=0 y border=0 son para que la imagen no sea visible.

Para insertar este código en el email tenemos que que editar el mensaje en HTML. En Hotmail le damos clic a "Nuevo" luego a "Texto enriquecido" y seleccionamos "Editar en HTML" escribimos el código en el área de redacción y le damos clic a "Enviar". Eso es todo. Cuando tu contacto abra el correo su ip quedara registrada en los logs del servidor.

Bueno, es todo. Gracias por leer. Espero que les haya gustado y que me haya dejado entender XD.

Hasta pronto.

martes, 29 de diciembre de 2009

Averiguar la IP de tus contactos de MSN (Parte I)

¿Alguna vez te ha sucedido que estas en tu MSN y de pronto alguien te habla y no sabes quien es? A mi muchas veces. En parte es culpa mía por aceptar todas las solicitudes que me llegan pero es que pienso y... ¿si es alguien que me conoce o un amigo de un foro o un interesado en este blog o una hermosa chica que me vio en el facebook y decidió agregarme? (bueno lo ultimo es poco probable pero quien sabe...) Claro que también podría ser un secuestrador roba órganos, una enamorada celosa, alguien que quiere sacarte información, la DIVINDAT, el FBI, la CIA, etc, etc... (¿Que, acaso no ven NCIS?)

¿Qué es lo primero que harías? Si claro yo también lo hago:

-Hola, ¿Quien eres? :)

Pero... ¿confiarías en lo que dicen? Bueno este post se trata de obtener algo mas de información sobre tus contactos, específicamente sobre como obtener la IP. ¿Y para que me sirve la IP? Bien pues puedes geolocalizar la IP y saber mas o menos de donde se conecta tu contacto. Estas paginas te pueden ayudar:

http://www.elhacker.net/elhackernet/geolocalizacion.html
http://ip2loc.jerodsanto.net/

También puedes intentar entrar a su router y obtener mas datos.

Bueno empecemos...

Metodo 0: Usar logs de webs mal configuradas.

Los servidores web normalmente guardan logs (registros) de los usuarios que se conectan a su sitio web. En estos logs se incluye la IP del visitante, la solicitud HTTP, algunos headers como el User-Agent (navegador y sistema operativo) o el Referer. Los logs se guardan en texto plano en un archivo llamado "access.log" que no debería estar accesible a visitantes.

Lo que haremos sera buscar un servidor web mal configurado que deje accesible su archivo de logs y luego enviarle al contacto un link a alguna pagina de ese servidor. Si nuestro contacto clickea el link entonces el servidor guardara sus datos y ya solo nos queda ver los logs para tener su IP.

Buscamos el servidor mal configurado en Google:

http://www.google.com.pe/search?q=inurl%3Aaccess.log+filetype%3Alog

Hay muchos, escoge uno parecido a este:

http://www.yellowcreeksbesthunting.com/logs/access.log

Cada registro ocupa una linea y tiene mas o menos este formato:

[IP] [FECHA] [SOLICITUD] [RESPUESTA] [REFERER] [USER-AGENT] [HOST]

Si estas viendo los logs, al final deberías ver tu dirección IP. Si no la ves actualiza la pagina. Si no sabes cual es tu IP mira este sitio:

http://www.whatismyip.com/

Bueno y... ¿Como reconoceremos la IP de nuestro contacto? Para ello usaremos el campo de la solicitud haciendo que pida un recurso que no existe y luego buscamos la IP que solicito ese recurso. Además los últimos logs siempre están al final.

Entonces el link que le enviaremos al contacto seria mas o menos asi:

http://www.yellowcreeksbesthunting.com/recurso_que_no_existe.html

Si no queremos mostrar el link de forma tan directa podemos ocultarlo en paginas como esta:

http://hide-url.net/

y quedaría de esta forma:

http://hide-url.net/cca7a230

También podemos camuflarlo explotando alguna vulnerabilidad XSS como se explica en este post:

http://alguienenlafisi.blogspot.com/2009/12/vulnerabilidad-xss-en-el-sistema-de.html

Este es el log del ejemplo:

190.232.145.172 - - [29/Dec/2009:18:10:42 -0800] "GET /recurso_que_no_existe.html HTTP/1.1" 404 - "http://hide-url.net/cca7a230" "Mozilla/5.0 (X11; U; Linux i686; es-AR; rv:1.9.1.3) Gecko/20091020 Ubuntu/9.10 (karmic) Firefox/3.5.3" "www.yellowcreeksbesthunting.com"

He resaltado mi IP que seria 190.232.145.172 (es dinámica así que seguro ya cambio) y el campo de solicitud donde se pide la pagina "recurso_que_no_existe.html". También se pueden observar otros datos como la versión de mi navegador Firefox/3.5.3 y mi sistema operativo Ubuntu/9.10 Karmic Koala.

Bueno eso es todo. Este método es uno de mis favoritos pues es muy sencillo y además nos da información extra ;)

Luego escribiré otras formas de obtener la IP pero en otros posts porque este ya ha crecido demasiado.

Hasta pronto.

Todo lo explicado aquí es solo con fines didácticos. El autor no se hace responsable del uso que se le pueda dar a esta información.

jueves, 17 de diciembre de 2009

Vulnerabilidad XSS en el sistema de bibliotecas

¿Que es una vulnerabilidad XSS? Veamos que nos dice la Wikipedia:

"XSS, del inglés Cross-site scripting es un tipo de inseguridad informática o agujero de seguridad basado en la explotación de vulnerabilidades del sistema de validación de HTML incrustado."

El articulo completo aqui.

Traduciendo nos dice que podemos añadir código HTML en las webs vulnerables. Este código puede ser ordenes javascript para realizar redirecciones, robo de cookies, modificar el documento original, etc. Esto se debe a un descuido del programador del sitio pues no valida las entradas de los formularios aceptando caracteres especiales y con ello la inyección del código.

Este error se presenta en el buscador del sistema de bibliotecas de la UNMSM.

La URL del buscador es:

http://catalogo-01.unmsm.edu.pe/sabini/sm1spa.htm

Testeamos el buscador escribiendo este codigo:

<script>alert('xss');</script>

Ahora le damos clic a "Buscar" y si todo salio bien debería aparecer una ventana de alerta con el mensaje "xss". Esto significa que la web es vulnerable a XSS. Posiblemente tu navegador bloquee la ejecucion del script y te avise como es el caso del IE8. Pero esto no quiere decir que la web no sea vulnerable solo que tu navegador es un poco mas seguro. Bueno hay que decirlo : punto para el IE8.

Una de las ventajas que tiene un atacante al explotar un XSS es la confianza del usuario en la web afectada, es decir, el usuario no sospecharía de la web pues conoce el sitio y cree que es seguro. Entonces el atacante puede formar un link malicioso que explote el XSS y camuflándolo bajo una URL del sitio afectado redirigir al usuario a otra dirección.

Bueno, ahora hagamos algo más que mostrar mensajes en pantalla. Haremos un link para redirigir a este blog explotando el XSS.

Si vemos el código fuente del buscador encontraremos estas lineas de código:

<form action="/cgi-bin/sm1spa" method="get" name="frmBuscar" align="left" onsubmit="frmBuscar.cmdBuscar.disabled=true ;return true;>

<input name="C2" size="50">

Quiere decir que el formulario se envía a "/cgi-bin/sm1spa" mediante el método "get" y el texto buscado va en la variable "C2". Con esos datos ya sabemos que la estructura del link sera:

http://catalogo-01.unmsm.edu.pe/cgi-bin/sm1spa?C2="[SCRIPT]"

Debemos reemplazar [SCRIPT] por el código que haga la redirección. El código para la redirección seria:

<script>document.location.href='http://alguienenlafisi.blogspot.com/'</script>

Con lo que el link completo queda así:


A primera vista parece un link a algún servidor de la UNMSM pero al darle clic nos enviara a éste blog.

Tal vez no parezca nada peligroso pero imagina que te redirijan a una de esas paginas que mueven la ventana por toda la pantalla y no se dejan cerrar. Puede llegar a ser muy fastidioso y claro nadie sospechó del link por que era un sitio de la universidad.

Bueno eso es todo, espero que les haya gustado.

Como reto podría ser explotar el XSS para mostrar el mensaje "cross site scripting detected". Créanme que no va a ser tan fácil como están pensando ;P

Hasta pronto.

Todo lo explicado aquí es solo con fines didácticos. El autor no se hace responsable del uso que se le pueda dar a esta información.

sábado, 12 de diciembre de 2009

Transferencia de zona en el DNS de la UNMSM

Hola, en esta oportunidad voy a hablarles de un error de configuración que encontré en el DNS de la universidad. Se trata de la posibilidad de hacer una transferencia de zona del DNS ¿Pero que es una transferencia de zona? Bueno el DNS de la universidad guarda toda la información del dominio "unmsm.edu.pe" es decir las IPs de todos los servidores de la UNMSM. Ahora bien se puede acceder a esa información realizando consultas DNS y resolver uno por uno los dominios que conocemos y eso es totalmente legitimo. Lo que no está permitido es pedirle al DNS que nos dé de una toda la información que guarda ya que esta información podría darle a un atacante una idea bastante clara de la estructura interna de la red y de la configuración del DNS. Bueno una transferencia de zona es justamente pedirle al DNS toda la información que guarda de su red y que éste nos la dé. Pero... ¿Por que el DNS aceptaría la transferencia de zona? Normalmente no solo existe un DNS en una red sino que pueden haber mas pero siempre uno de ellos es el principal o autoritativo él tiene la información actualizada del dominio y los demás sirven como apoyo por si es que el DNS principal se cae o simplemente para no sobrecargarlo. De vez en cuando los DNS's secundarios le piden al DNS autoritativo una transferencia de zona para actualizarse y almacenar la misma información que él y esto también esta permitido. Sin embargo ¿Que pasaría si una maquina cualquiera le pide al DNS autoritativo que le transfiera su zona? Lo normal es que el DNS rechace la solicitud pero dependiendo de que tan bien o mal configurado esté también podría aceptarla y eso es precisamente lo que esta pasando con el DNS de la universidad aunque solo acepta desde la red interna así que para hacerlo necesitaremos acceder a una de las maquinas de la universidad. Yo lo hice desde la videoteca.

Ahora explicare como...

Vamos a utilizar la herramienta nslookup que ya viene con windows. Asi que abrimos una consola y ejecutamos la orden "nslookup".

C:\Documents and Settings\Eestudio>nslookup
*** No se puede encontrar el nombre de servidor para la dirección 192.168.3.1: Non-existent domain
*** Los servidores predeterminados no están disponibles
Servidor predeterminado: UnKnown
Address: 192.168.3.1

>


Nos dice que el servidor DNS por defecto es 192.168.3.1 es decir la puerta de enlace. Pero este no guarda la informacion que queremos asi que le vamos a preguntar las IPs de los servidores DNS de la universidad.

> set type=ns
> unmsm.edu.pe
Servidor: UnKnown
Address: 192.168.3.1

unmsm.edu.pe nameserver = celendin.unmsm.edu.pe
unmsm.edu.pe nameserver = juliaca.unmsm.edu.pe
unmsm.edu.pe nameserver = urubamba.unmsm.edu.pe
unmsm.edu.pe nameserver = mochica.unmsm.edu.pe
unmsm.edu.pe nameserver = yungay.unmsm.edu.pe
celendin.unmsm.edu.pe internet address = 172.16.156.11
juliaca.unmsm.edu.pe internet address = 172.16.156.5
urubamba.unmsm.edu.pe internet address = 172.16.156.10
mochica.unmsm.edu.pe internet address = 172.28.24.51
yungay.unmsm.edu.pe internet address = 172.16.156.4


Ahi los vemos son 5 servidores escogemos cualquiera de ellos yo lo hize con el primero "celendin.unmsm.edu.pe" o lo que es lo mismo "172.16.156.11". Ahora le diremos a nslookup que use ese DNS para resolver las consultas.

> server 172.16.156.11
DNS request timed out.
timeout was 2 seconds.
Servidor predeterminado: [172.16.156.11]
Address: 172.16.156.11

>


Por ultimo pedimos una transferencia completa del dominio "unmsm.edu.pe".

> ls -d unmsm.edu.pe

Luego de un momento nos responderá...

[[172.16.156.11]]
unmsm.edu.pe. SOA celendin.unmsm.edu.pe admin.unmsm.edu.pe. (200344142 108000 900 864000 3600)
unmsm.edu.pe. A 172.16.156.20
unmsm.edu.pe. A 172.16.156.19
unmsm.edu.pe. A 172.16.156.10
unmsm.edu.pe. A 172.16.156.6
unmsm.edu.pe. A 172.28.24.51
unmsm.edu.pe. A 172.16.156.4
unmsm.edu.pe. A 172.16.156.11
unmsm.edu.pe. A 172.16.156.17
unmsm.edu.pe. A 172.16.156.5
unmsm.edu.pe. NS celendin.unmsm.edu.pe
unmsm.edu.pe. NS juliaca.unmsm.edu.pe
unmsm.edu.pe. NS urubamba.unmsm.edu.pe
unmsm.edu.pe. NS mochica.unmsm.edu.pe
unmsm.edu.pe. NS yungay.unmsm.edu.pe
unmsm.edu.pe. MX 1 abancay.unmsm.edu.pe
unmsm.edu.pe. TXT "v=spf1 mx -all"

6c51b446-0d68-4b8f-8bbd-c11b1f07e714._msdcs CNAME sbpri.sisbib.unmsm.edu.pe
730e17ca-5f0e-460a-9d1d-5a094d7dc76c._msdcs CNAME yungay.unmsm.edu.pe
84586033-b815-49d7-8a16-ad80c28d1d3f._msdcs CNAME juliaca.unmsm.edu.pe
a4c61a41-1251-43a2-8e9a-c5522c774342._msdcs CNAME camana.unmsm.edu.pe
bd6c65d5-a9d5-44f1-addb-397e8ab1ea3b._msdcs CNAME mochica.unmsm.edu.pe
d8c06ada-28b2-4ed4-b986-7d21ec34c3cb._msdcs CNAME urubamba.unmsm.edu.pe
_kerberos._tcp.Nombre-predeterminado-primer-sitio._sites.dc._msdcs SRV priority=0, weight=100, port=88, camana.unmsm.edu.pe
_kerberos._tcp.Nombre-predeterminado-primer-sitio._sites.dc._msdcs SRV priority=0, weight=100, port=88, urubamba.unmsm.edu.pe
_kerberos._tcp.Nombre-predeterminado-primer-sitio._sites.dc._msdcs SRV priority=0, weight=100, port=88, mochica.unmsm.edu.pe
_kerberos._tcp.Nombre-predeterminado-primer-sitio._sites.dc._msdcs SRV priority=0, weight=100, port=88, yungay.unmsm.edu.pe
_kerberos._tcp.Nombre-predeterminado-primer-sitio._sites.dc._msdcs SRV priority=0, weight=100, port=88, vicus.unmsm.edu.pe
_kerberos._tcp.Nombre-predeterminado-primer-sitio._sites.dc._msdcs SRV priority=0, weight=100, port=88, juliaca.unmsm.edu.pe
_kerberos._tcp.Nombre-predeterminado-primer-sitio._sites.dc._msdcs SRV priority=0, weight=100, port=88, pucallpa.unmsm.edu.pe
_kerberos._tcp.Nombre-predeterminado-primer-sitio._sites.dc._msdcs SRV priority=0, weight=100, port=88, celendin.unmsm.edu.pe
_ldap._tcp.Nombre-predeterminado-primer-sitio._sites.dc._msdcs SRV priority=0, weight=100, port=389, yungay.unmsm.edu.pe
_ldap._tcp.Nombre-predeterminado-primer-sitio._sites.dc._msdcs SRV priority=0, weight=100, port=389, urubamba.unmsm.edu.pe
_ldap._tcp.Nombre-predeterminado-primer-sitio._sites.dc._msdcs SRV priority=0, weight=100, port=389, juliaca.unmsm.edu.pe
_ldap._tcp.Nombre-predeterminado-primer-sitio._sites.dc._msdcs SRV priority=0, weight=100, port=389, pucallpa.unmsm.edu.pe
_ldap._tcp.Nombre-predeterminado-primer-sitio._sites.dc._msdcs SRV priority=0, weight=100, port=389, vicus.unmsm.edu.pe
_ldap._tcp.Nombre-predeterminado-primer-sitio._sites.dc._msdcs SRV priority=0, weight=100, port=389, camana.unmsm.edu.pe
_ldap._tcp.Nombre-predeterminado-primer-sitio._sites.dc._msdcs SRV priority=0, weight=100, port=389, mochica.unmsm.edu.pe
_ldap._tcp.Nombre-predeterminado-primer-sitio._sites.dc._msdcs SRV priority=0, weight=100, port=389, celendin.unmsm.edu.pe
_kerberos._tcp.dc._msdcs SRV priority=0, weight=100, port=88, camana.unmsm.edu.pe
_kerberos._tcp.dc._msdcs SRV priority=0, weight=100, port=88, urubamba.unmsm.edu.pe
_kerberos._tcp.dc._msdcs SRV priority=0, weight=100, port=88, mochica.unmsm.edu.pe
_kerberos._tcp.dc._msdcs SRV priority=0, weight=100, port=88, yungay.unmsm.edu.pe
_kerberos._tcp.dc._msdcs SRV priority=0, weight=100, port=88, vicus.unmsm.edu.pe
_kerberos._tcp.dc._msdcs SRV priority=0, weight=100, port=88, juliaca.unmsm.edu.pe
_kerberos._tcp.dc._msdcs SRV priority=0, weight=100, port=88, pucallpa.unmsm.edu.pe
_kerberos._tcp.dc._msdcs SRV priority=0, weight=100, port=88, celendin.unmsm.edu.pe
_ldap._tcp.dc._msdcs SRV priority=0, weight=100, port=389, yungay.unmsm.edu.pe
_ldap._tcp.dc._msdcs SRV priority=0, weight=100, port=389, urubamba.unmsm.edu.pe
_ldap._tcp.dc._msdcs SRV priority=0, weight=100, port=389, juliaca.unmsm.edu.pe
_ldap._tcp.dc._msdcs SRV priority=0, weight=100, port=389, pucallpa.unmsm.edu.pe
_ldap._tcp.dc._msdcs SRV priority=0, weight=100, port=389, vicus.unmsm.edu.pe
_ldap._tcp.dc._msdcs SRV priority=0, weight=100, port=389, camana.unmsm.edu.pe
_ldap._tcp.dc._msdcs SRV priority=0, weight=100, port=389, mochica.unmsm.edu.pe
_ldap._tcp.dc._msdcs SRV priority=0, weight=100, port=389, celendin.unmsm.edu.pe
_ldap._tcp.28884c43-0966-44bf-982a-66dfef264c56.domains._msdcs SRV priority=0, weight=100, port=389, yungay.unmsm.edu.pe
_ldap._tcp.28884c43-0966-44bf-982a-66dfef264c56.domains._msdcs SRV priority=0, weight=100, port=389, urubamba.unmsm.edu.pe
_ldap._tcp.28884c43-0966-44bf-982a-66dfef264c56.domains._msdcs SRV priority=0, weight=100, port=389, juliaca.unmsm.edu.pe
_ldap._tcp.28884c43-0966-44bf-982a-66dfef264c56.domains._msdcs SRV priority=0, weight=100, port=389, pucallpa.unmsm.edu.pe
_ldap._tcp.28884c43-0966-44bf-982a-66dfef264c56.domains._msdcs SRV priority=0, weight=100, port=389, vicus.unmsm.edu.pe
_ldap._tcp.28884c43-0966-44bf-982a-66dfef264c56.domains._msdcs SRV priority=0, weight=100, port=389, camana.unmsm.edu.pe
_ldap._tcp.28884c43-0966-44bf-982a-66dfef264c56.domains._msdcs SRV priority=0, weight=100, port=389, mochica.unmsm.edu.pe
_ldap._tcp.28884c43-0966-44bf-982a-66dfef264c56.domains._msdcs SRV priority=0, weight=100, port=389, celendin.unmsm.edu.pe
_ldap._tcp.bc29b8b2-027f-45ed-980b-7c3f3465f3fa.domains._msdcs SRV priority=0, weight=100, port=389, sbpri.sisbib.unmsm.edu.pe
e7550465-d750-420c-b57d-c444c0d148c1._msdcs CNAME vicus.unmsm.edu.pe
f3ebba03-cc2a-4d73-a8dc-72881ed1701a._msdcs CNAME pucallpa.unmsm.edu.pe
fb4fdfdc-d00f-4d1d-9ea0-f912de401d46._msdcs CNAME celendin.unmsm.edu.pe
gc._msdcs A 172.16.156.11
gc._msdcs A 172.28.24.51
_ldap._tcp.Nombre-predeterminado-primer-sitio._sites.gc._msdcs SRV priority=0, weight=100, port=3268, celendin.unmsm.edu.pe
_ldap._tcp.Nombre-predeterminado-primer-sitio._sites.gc._msdcs SRV priority=0, weight=100, port=3268, mochica.unmsm.edu.pe
_ldap._tcp.gc._msdcs SRV priority=0, weight=100, port=3268, celendin.unmsm.edu.pe
_ldap._tcp.gc._msdcs SRV priority=0, weight=100, port=3268, mochica.unmsm.edu.pe
_ldap._tcp.pdc._msdcs SRV priority=0, weight=100, port=389, yungay.unmsm.edu.pe
_ldap._tcp.pdc._msdcs SRV priority=0, weight=100, port=389, celendin.unmsm.edu.pe
_gc._tcp.Nombre-predeterminado-primer-sitio._sites SRV priority=0, weight=100, port=3268, celendin.unmsm.edu.pe
_gc._tcp.Nombre-predeterminado-primer-sitio._sites SRV priority=0, weight=100, port=3268, mochica.unmsm.edu.pe
_kerberos._tcp.Nombre-predeterminado-primer-sitio._sites SRV priority=0, weight=100, port=88, camana.unmsm.edu.pe
_kerberos._tcp.Nombre-predeterminado-primer-sitio._sites SRV priority=0, weight=100, port=88, urubamba.unmsm.edu.pe
_kerberos._tcp.Nombre-predeterminado-primer-sitio._sites SRV priority=0, weight=100, port=88, mochica.unmsm.edu.pe
_kerberos._tcp.Nombre-predeterminado-primer-sitio._sites SRV priority=0, weight=100, port=88, yungay.unmsm.edu.pe
_kerberos._tcp.Nombre-predeterminado-primer-sitio._sites SRV priority=0, weight=100, port=88, vicus.unmsm.edu.pe
_kerberos._tcp.Nombre-predeterminado-primer-sitio._sites SRV priority=0, weight=100, port=88, juliaca.unmsm.edu.pe
_kerberos._tcp.Nombre-predeterminado-primer-sitio._sites SRV priority=0, weight=100, port=88, pucallpa.unmsm.edu.pe
_kerberos._tcp.Nombre-predeterminado-primer-sitio._sites SRV priority=0, weight=100, port=88, celendin.unmsm.edu.pe
_ldap._tcp.Nombre-predeterminado-primer-sitio._sites SRV priority=0, weight=100, port=389, yungay.unmsm.edu.pe
_ldap._tcp.Nombre-predeterminado-primer-sitio._sites SRV priority=0, weight=100, port=389, urubamba.unmsm.edu.pe
_ldap._tcp.Nombre-predeterminado-primer-sitio._sites SRV priority=0, weight=100, port=389, juliaca.unmsm.edu.pe
_ldap._tcp.Nombre-predeterminado-primer-sitio._sites SRV priority=0, weight=100, port=389, pucallpa.unmsm.edu.pe
_ldap._tcp.Nombre-predeterminado-primer-sitio._sites SRV priority=0, weight=100, port=389, vicus.unmsm.edu.pe
_ldap._tcp.Nombre-predeterminado-primer-sitio._sites SRV priority=0, weight=100, port=389, camana.unmsm.edu.pe
_ldap._tcp.Nombre-predeterminado-primer-sitio._sites SRV priority=0, weight=100, port=389, mochica.unmsm.edu.pe
_ldap._tcp.Nombre-predeterminado-primer-sitio._sites SRV priority=0, weight=100, port=389, celendin.unmsm.edu.pe
_gc._tcp SRV priority=0, weight=100, port=3268, celendin.unmsm.edu.pe
_gc._tcp SRV priority=0, weight=100, port=3268, mochica.unmsm.edu.pe
_kerberos._tcp SRV priority=0, weight=100, port=88, camana.unmsm.edu.pe
_kerberos._tcp SRV priority=0, weight=100, port=88, urubamba.unmsm.edu.pe
_kerberos._tcp SRV priority=0, weight=100, port=88, mochica.unmsm.edu.pe
_kerberos._tcp SRV priority=0, weight=100, port=88, yungay.unmsm.edu.pe
_kerberos._tcp SRV priority=0, weight=100, port=88, vicus.unmsm.edu.pe
_kerberos._tcp SRV priority=0, weight=100, port=88, juliaca.unmsm.edu.pe
_kerberos._tcp SRV priority=0, weight=100, port=88, pucallpa.unmsm.edu.pe
_kerberos._tcp SRV priority=0, weight=100, port=88, celendin.unmsm.edu.pe
_kpasswd._tcp SRV priority=0, weight=100, port=464, camana.unmsm.edu.pe
_kpasswd._tcp SRV priority=0, weight=100, port=464, urubamba.unmsm.edu.pe
_kpasswd._tcp SRV priority=0, weight=100, port=464, mochica.unmsm.edu.pe
_kpasswd._tcp SRV priority=0, weight=100, port=464, yungay.unmsm.edu.pe
_kpasswd._tcp SRV priority=0, weight=100, port=464, vicus.unmsm.edu.pe
_kpasswd._tcp SRV priority=0, weight=100, port=464, juliaca.unmsm.edu.pe
_kpasswd._tcp SRV priority=0, weight=100, port=464, pucallpa.unmsm.edu.pe
_kpasswd._tcp SRV priority=0, weight=100, port=464, celendin.unmsm.edu.pe
_ldap._tcp SRV priority=0, weight=100, port=389, yungay.unmsm.edu.pe
_ldap._tcp SRV priority=0, weight=100, port=389, urubamba.unmsm.edu.pe
_ldap._tcp SRV priority=0, weight=100, port=389, juliaca.unmsm.edu.pe
_ldap._tcp SRV priority=0, weight=100, port=389, pucallpa.unmsm.edu.pe
_ldap._tcp SRV priority=0, weight=100, port=389, vicus.unmsm.edu.pe
_ldap._tcp SRV priority=0, weight=100, port=389, camana.unmsm.edu.pe
_ldap._tcp SRV priority=0, weight=100, port=389, mochica.unmsm.edu.pe
_ldap._tcp SRV priority=0, weight=100, port=389, celendin.unmsm.edu.pe
_kerberos._udp SRV priority=0, weight=100, port=88, camana.unmsm.edu.pe
_kerberos._udp SRV priority=0, weight=100, port=88, urubamba.unmsm.edu.pe
_kerberos._udp SRV priority=0, weight=100, port=88, mochica.unmsm.edu.pe
_kerberos._udp SRV priority=0, weight=100, port=88, yungay.unmsm.edu.pe
_kerberos._udp SRV priority=0, weight=100, port=88, vicus.unmsm.edu.pe
_kerberos._udp SRV priority=0, weight=100, port=88, juliaca.unmsm.edu.pe
_kerberos._udp SRV priority=0, weight=100, port=88, pucallpa.unmsm.edu.pe
_kerberos._udp SRV priority=0, weight=100, port=88, celendin.unmsm.edu.pe
_kpasswd._udp SRV priority=0, weight=100, port=464, camana.unmsm.edu.pe
_kpasswd._udp SRV priority=0, weight=100, port=464, urubamba.unmsm.edu.pe
_kpasswd._udp SRV priority=0, weight=100, port=464, mochica.unmsm.edu.pe
_kpasswd._udp SRV priority=0, weight=100, port=464, yungay.unmsm.edu.pe
_kpasswd._udp SRV priority=0, weight=100, port=464, vicus.unmsm.edu.pe
_kpasswd._udp SRV priority=0, weight=100, port=464, juliaca.unmsm.edu.pe
_kpasswd._udp SRV priority=0, weight=100, port=464, pucallpa.unmsm.edu.pe
_kpasswd._udp SRV priority=0, weight=100, port=464, celendin.unmsm.edu.pe
abancay A 172.16.156.6
administracion A 172.16.68.33
virtual.administracion A 172.16.68.4
admision A 172.28.16.90
intranet.admision A 172.28.16.7
r02.admision A 172.28.16.91
r03.admision A 172.28.16.92
r04.admision A 172.28.16.93
r05.admision A 172.28.16.94
r06.admision A 172.28.16.95
r07.admision A 172.16.156.87
r08.admision A 172.16.156.88
s01.admision A 172.16.156.81
s02.admision A 172.16.156.82
s03.admision A 172.16.156.83
s04.admision A 172.16.156.84
www.admision A 172.28.16.90
admision1 A 172.16.156.14
www.admision1 CNAME admision1.unmsm.edu.pe
admisionpg A 172.30.48.5
www.admisionpg A 172.30.48.5
alpha A 172.16.156.103
andromeda A 172.16.156.38
asdopen A 172.16.156.14
autoseguro A 172.16.160.16
biblioteca A 172.16.160.5
biblioteca-02 A 172.16.160.8
bioinformatica A 172.16.28.53
biologia A 172.16.156.14
camana A 172.16.156.19
campusvirtualfce A 172.16.12.4
campusvirtualfii A 172.16.156.76
catalogo-01 A 172.16.160.9
ccibc A 172.16.156.14
ccsm A 172.16.156.14
www.ccsm CNAME ccsm.unmsm.edu.pe
celectoral A 172.16.156.14
celendin A 172.16.156.11
cenprolid A 172.16.156.14
cepre A 172.16.156.14
chancay A 172.16.156.18
chavin A 172.16.156.8
chimu A 172.16.156.9
cinfo A 172.16.67.135
cinfo1 A 172.28.144.103
cinfo2 A 172.16.164.7
clinica A 172.16.180.5
contabilidad A 172.16.156.91
virtual.contabilidad A 172.16.156.14
correo A 172.16.156.42
correo MX 10 correo.unmsm.edu.pe
csi A 172.16.160.32
cvirtual A 172.16.88.31
cybertesis A 172.16.160.6
derecho A 172.16.156.14
economia A 172.16.12.4
virtual.economia A 172.16.12.7
electronica A 172.16.156.14
epg A 172.16.156.14
www.epg A 172.16.156.14
farmacia A 172.16.156.14
figmmg A 172.16.156.14
www.figmmg CNAME figmmg.unmsm.edu.pe
fisica A 172.16.56.5
ftp.fisica A 172.28.176.32
ftp A 172.16.156.15
ftp-bc A 172.16.160.10
geografica A 170.16.156.14
grupos A 172.16.156.41
grupos MX 10 grupos.unmsm.edu.pe
imprenta A 172.16.156.43
www.imprenta A 172.16.156.43
industrial A 172.16.24.5
infosanmarcos A 172.16.164.7
www.infosanmarcos A 172.16.164.7
jabber A 172.16.156.75
juliaca A 172.16.156.5
lcfm A 172.16.56.10
letras A 172.16.40.20
linux A 172.16.156.14
lurin A 172.16.156.39
maestranza A 172.16.156.14
mail A 172.16.156.69
mail MX 10 mail.unmsm.edu.pe
mail2 A 172.16.156.50
mail2 MX 10 mail2.unmsm.edu.pe
matematicas A 172.16.28.4
matricula A 172.16.156.52
medicina A 172.28.24.52
mhcf A 172.16.56.6
mochica A 172.28.24.51
museohn A 172.16.156.23
www.museohn A 172.16.156.23
nazca A 172.16.156.7
odontologia A 172.16.156.14
ogbu A 172.16.156.14
orion A 172.16.156.44
paracas A 172.16.156.14
pc000 A 172.16.56.163
www.peg A 172.16.156.14
postgradogeologia A 172.16.72.69
psicologia A 172.16.48.4
pucallpa A 172.16.156.20
quimica A 172.16.156.14
quipu A 172.16.156.24
quipucamayoc A 172.16.156.24
redtel A 172.16.156.14
REDTEL1 A 172.16.156.25
rrpp A 172.16.91.107
ftp.rrpp A 69.93.97.194
www.rrpp A 69.93.97.194
rsm014e A 172.16.157.14
rsm250e A 172.20.60.207
sad195e A 172.16.88.196
sad197 A 172.16.88.198
secgen A 172.16.91.102
www.secgen A 172.16.91.102
seguridad A 172.16.156.14
server-f A 172.16.156.6
server-g A 172.16.156.6
siaf A 172.16.91.104
sindusm A 172.16.156.14
sisbib A 172.16.160.4
_kerberos._tcp.Nombre-predeterminado-primer-sitio._sites.dc._msdcs.sisbib SRV priority=0, weight=100, port=88, sbpri.sisbib.unmsm.edu.pe
_ldap._tcp.Nombre-predeterminado-primer-sitio._sites.dc._msdcs.sisbib SRV priority=0, weight=100, port=389, sbpri.sisbib.unmsm.edu.pe
_kerberos._tcp.dc._msdcs.sisbib SRV priority=0, weight=100, port=88, sbpri.sisbib.unmsm.edu.pe
_ldap._tcp.dc._msdcs.sisbib SRV priority=0, weight=100, port=389, sbpri.sisbib.unmsm.edu.pe
_ldap._tcp.pdc._msdcs.sisbib SRV priority=0, weight=100, port=389, sbpri.sisbib.unmsm.edu.pe
_kerberos._tcp.Nombre-predeterminado-primer-sitio._sites.sisbib SRV priority=0, weight=100, port=88, sbpri.sisbib.unmsm.edu.pe
_ldap._tcp.Nombre-predeterminado-primer-sitio._sites.sisbib SRV priority=0, weight=100, port=389, sbpri.sisbib.unmsm.edu.pe
_kerberos._tcp.sisbib SRV priority=0, weight=100, port=88, sbpri.sisbib.unmsm.edu.pe
_kpasswd._tcp.sisbib SRV priority=0, weight=100, port=464, sbpri.sisbib.unmsm.edu.pe
_ldap._tcp.sisbib SRV priority=0, weight=100, port=389, sbpri.sisbib.unmsm.edu.pe
_kerberos._udp.sisbib SRV priority=0, weight=100, port=88, sbpri.sisbib.unmsm.edu.pe
_kpasswd._udp.sisbib SRV priority=0, weight=100, port=464, sbpri.sisbib.unmsm.edu.pe
sbweb.sisbib A 172.16.160.4
sisbib-02 A 172.16.160.14
sisbib-03 A 172.16.160.15
sistemas A 172.16.64.4
www.moodle.sistemas A 172.16.66.10
www.pgis.sistemas A 172.16.65.10
www.sistemas A 172.16.64.4
sistemas2 A 172.16.67.44
www.sistemas2 A 172.16.67.44
sociales A 172.16.52.4
virtual.sociales A 172.16.52.5
software A 172.16.156.14
sql1 A 172.16.160.7
sueldosserver A 172.16.159.13
sum A 172.16.156.51
urubamba A 172.16.156.10
veterinaria A 172.16.156.14
viceacademico A 172.16.88.37
vicus A 172.16.156.17
vracademico A 172.16.88.31
vrinvestigacion A 172.16.91.118
webserve A 172.16.156.75
www A 172.16.156.14
www1 A 172.16.156.75
yungay A 172.16.156.4
unmsm.edu.pe. SOA celendin.unmsm.edu.pe admin.unmsm.edu.pe. (200344142 108000 900 864000 3600)


Bueno ahí les dejo el resultado de la transferencia de zona. Examínenlo con cuidado y tal vez encuentren cosas interesantes. Aclaro que lo que están ahí son las IPs locales de los servidores de la universidad.

Por ultimo decirles que hace unos dias quise hacer un video de esto pero las maquinas de la videoteca ya no estaban conectadas a la red de la universidad ¿Se habrán dado cuenta del error o simplemente nos quedamos sin salida a internet otra vez? No importa la idea es que no pude hacer el video y tal vez lo que he explicado ya no funcione.

Espero que les haya gustado y naa...
Saludos, hasta la próxima.

Todo lo explicado aquí es solo con fines didácticos. El autor no se hace responsable del uso que se le pueda dar a esta información.

lunes, 16 de noviembre de 2009

Entrar a Hi5 o Facebook desde la videoteca.

Problema

No se si has intentado entrar a estos websites pero lo que sucede despues de que escribes por ejemplo la direccion: www.hi5.com y le das enter es que inmediatamente te redirigen a la pagina web de la facultad.

Objetivo

De lo que se trata es de saltarnos el filtro que hay en las maquinas de la videoteca para poder entrar a nuestro Hi5, Facebook, o cualquier otra pagina restringida.

Experimentación

Situacion: Estamos en windows en una de las maquinas de la videoteca en la FISI. Entonces abrimos el navegador (Firefox) y escribimos en la barra de direcciones:

http://www.hi5.com

Ahora presionamos enter y... aparece la pagina de la facultad con anuncios del CEUPS, de conferencias para postgrado y demas noticias que ni nos interesan (por ahora :P).

Lo primero que se nos ocurre es que en soporte han configurado un firewall con muchas reglas complicadas entre las cuales dice: si alguien trata de conectarse a hi5.com entonces bloquea la conexion y redirigelo a sistemas.unmsm.edu.pe. Sin embargo si nos fijamos nuevamente en la barra de direcciones observaremos algo como:

http://www.hi5.com/news.php

Lo que es muy extraño pues esto significa que estamos viendo la pagina news.php de hi5.com y lo que nuestros ojos nos dicen es que estamos viendo la pagina principal de la facultad. Ademas news.php no me suena a ser un recurso de hi5.com mas bien me hace recordar a:

http://sistemas.unmsm.edu.pe/news.php

Que es la pagina principal de la facultad.

Hipotesis

Al parecer nuestro navegador ha sido engañado y le da lo mismo si escribimos www.hi5.com o sistemas.unmsm.edu.pe. ¿Como es posible esto? En mi opinion esto es culpa de un servidor DNS mentiroso.

Si no sabes que es un DNS leete este parrafo. No quiero entrar en detalles asi que digamos que para establecer conexion con un servidor nescesitamos saber su direccion IP. Una IP es un numero en base 256 de 4 digitos separados por puntos, ejemplo: 200.48.225.130 ¡Vamos, si sabes que es una IP! A lo que voy, es una þµŧ@ð@... bueno algo complicado memorizar todas las IPs de los sitios que frecuentamos. Por ello existen los nombres de dominio que son algo como: hi5.com, facebook.com, sistemas.unmsm.edu.pe, etc, etc mas faciles de recordar. Aqui interviene el servidor DNS, él se encarga de resolver el nombre de dominio en una direccion IP segun sus registros. Es decir cuando precionamos enter en la barra de direcciones del navegador primero se envia el nombre de dominio a un servidor DNS, este busca en sus registros y nos devuelve la IP asociada a ese dominio. Ya con la IP nuestro navegador se conectara al sitio web. Bien espero que me haya dejado entender... sino aun te queda google.

La hipotesis es que el servidor DNS configurado en las maquinas de la videoteca resuelve de forma incorrecta algunos dominios (hi5.com, facebook.com, etc) asociandolos a la IP del servidor web de la facultad. Por ello el navegador no cambia el contenido de la barra de direcciones pues cree que esta en el sitio correcto es decir que hi5.com es el dominio del servidor de la facultad. Y de esta forma se consigue restringir el acceso a ciertos sitios web.

Demostración

Abrimos la consola. "Inicio>Ejecutar" escribimos "cmd" y persionamos enter. Ahora ejecutamos esta orden:

ping sistemas.unmsm.edu.pe


Observamos en la respuesta algo como:

PING sistemas.unmsm.edu.pe (200.62.146.25) 56(84) bytes of data.

Hemos conseguido la IP asociada a sistemas.unmsm.edu.pe ésta es: 200.62.146.25. Ahora hagamos lo mismo para hi5.com:

ping hi5.com

La respuesta es la que esperabamos:

PING hi5.com (200.62.146.25) 56(84) bytes of data.

Efectivamente ambos dominios se resuelven a la misma direccion IP. Ahora hagamosle ping a una web permitida por ejemplo Google:

ping google.com
PING google.com (74.125.53.100) 56(84) bytes of data.

La IP es diferente y es la IP correcta de Google. Esto lo comprobamos escribiendo la IP en la barra de direcciones:

http://74.125.53.100

Le das a enter y debes entrar a la pagina de Google.

Lqqd XD.

Solución

Bien ahora lo que estabamos esperando ¿Como nos saltamos esta restriccion? Pues se me vienen muchas ideas a la cabeza:

0. Nos memorizamos todas las IPs de los sitios a los que queremos entrar o bien las anotamos en un papelito y las escribimos directamente en la barra de direcciones como hicimos con la IP de Google.

1. Averiguamos de alguna forma la direccion IP verdadera del servidor restringido y la metemos directamente como en el metodo anterior.

2. Reconfiguramos la maquina para que use un servidor DNS que no sea mentiroso. (Puede que no tengamos permisos para hacerlo, me refiero a los permisos de usuario)

3. Usamos un servidor proxy externo de intermediario. Haci el encargado de resolver el dominio sera el DNS que tenga configurado el proxy y no el de nuestra maquina.

4. Montamos nuestro propio servidor DNS e intentamos envenenar la cache del servidor DNS de la universidad con las IPs correctas. Mas informacion al respecto en:

http://blogs.sun.com/mgil/entry/font_id_s03t_size_5

5. Nos vamos a una cabina, total la velocidad en las maquinas de la videoteca es una W1€Rð@...

Las opciones 0 y 4 son joder... la 2 y la 3 son viables pero me da flojera explicarlas, voy a explicar solo la opcion 1 aunque la mas recomendable es la opcion 5 XD.

Metodo 1

Entramos a esta pagina:

http://network-tools.com

Marcamos la opcion "Ping", en la caja de texto escribimos "www.hi5.com" y le damos click a "GO!". Veremos algo como:

Ping 66.218.161.6
[www.hi5.com]
Round trip time to 66.218.161.6: 56 ms
Round trip time to 66.218.161.6: 54 ms
...

Y bien he ahi la IP verdadera de hi5.com. Ahora solo la ponemos en el navegador y listo.

http://66.218.161.6

Conclusión

Podemos concluir que usar el servidor DNS para prohibir el acceso a ciertas paginas web no es muy efectivo. Lo adecuado para este fin es usar un firewall aunque siempre hay una forma de saltarse este tipo de restricciones.

Espero que les haya gustado este post.

Todo lo explicado aqui es solo con fines didacticos. El autor no se hace responsable del uso que se le pueda dar a esta informacion.

domingo, 5 de abril de 2009

Jugando con el HTTP

Bueno en esta oportunidad no voy a hablar de mi vida, que ya debe resultar bastante aburrido. Creo que ha llegado la hora de publicar alguna de las webadas a las que se refería Salomón (entiéndase por webadas toda aquella acción inútil realizada en la WEB).

Hace unas semanas comencé a investigar sobre el protocolo HTTP pues quería desarrollar un programa que use el protocolo HTTP para descargar automáticamente alguna información que necesitará de Internet. En mi investigación encontré algunas cosas que me resultaron bastante interesantes. Y bueno ese es el tema de este... “POST”.
Los que saben que es un protocolo y para qué sirve pueden saltarse este apartado. Sí, sí, tú sigue leyendo ;D. Hablando informáticamente los protocolos son reglas de comunicación que permiten el intercambio de información entre dos maquinas distintas. Un protocolo consta de un conjunto de órdenes que las maquinas intercambian para poder negociar algún trámite. El internet esta soportado sobre un gran número de protocolos que estandarizan diferentes servicios: correo electrónico, navegación web, transferencia de archivos, resolución de nombres de dominio, etc. Todos estos protocolos forman parte de la familia de protocolos TCP/IP. El protocolo HTTP es uno de ellos y sirve para la navegación web. A cada protocolo se le asigna un numero de puerto estandar por donde el servidor atiende las peticiones de los clientes. El puerto asociado al protocolo HTTP es el puerto 80. Las órdenes HTTP son generadas por nuestro navegador web automáticamente cuando nosotros visitamos un website por ello no tenemos que preocuparnos por el protocolo, es decir, el protocolo es transparente a nosotros.
La comunicacion entre cliente y servidor se lleva a cabo en dos etapas:
  1. El cliente envia al servidor una solicitud HTTP.
  2. El servidor procesa la solicitud y envia una respuesta HTTP.

Las sintaxis de la solicutud HTTP es la siguiente:

[Metodo HTTP] [URL del recurso] [Version del protocolo]

Por ejemplo:

GET /index.htm HTTP/1.0

A continuacion se envian los headers que aportan informacion adicional sobre la solicitud como el nombre del navegador, el sistema operativo, etc. la sintaxis de los headers es la siguiente:

[Header]: [Valor]

Por ejemplo:

Host: servidorweb.com
Accept: text/html
User-Agent: Mozilla/4.0

Una solicitud HTTP completa seria:

GET /index.htm HTTP/1.0
Host: servidorweb.com
Accept: text/html
User-Agent: Mozilla/4.0

Estos son algunos de los metodos del protocolo HTTP:

GET: Solicita el recurso especificado en la URL.
POST: Envia los datos de un formulario al programa ubicado en la URL.
HEAD: Solicita el encabezado del recurso especificado en la URL.
PUT: Envia datos a la URL especificada.
DELETE: Borra el recurso especificado en la URL.
OPTIONS: Solicita los metodos permitidos.
TRACE: Envia datos al servidor y esos datos son devueltos. Es una especie de eco.
CONNECT: Crea una conexion con el servidor.

Algunos headers:

Accept: Tipo de contenido aceptado por el navegador. (por ejemplo, text/html).
Accept-Charset: Juego de caracteres que el navegador espera.
Accept-Encoding: Codificación de datos que el navegador acepta.
Accept-Language: Idioma que el navegador espera (de forma predeterminada, inglés)
Authorization: Identificación del navegador en el servidor.
Content-Encoding: Tipo de codificación para el cuerpo de la solicitud.
Content-Language: Tipo de idioma en el cuerpo de la solicitud.
Content-Length: Extensión del cuerpo de la solicitud.
Content-Type: Tipo de contenido del cuerpo de la solicitud (por ejemplo, text/html).
Date: Fecha en que comienza la transferencia de datos.
User-Agent: Cadena con información sobre el cliente, por ejemplo, el nombre y la versión del navegador y el sistema operativo.

La respuesta HTTP consta de una linea de estado y mas headers. La linea de estado contiene la version del protocolo y un codigo de respuesta. Por ejemplo:

HTTP/1.1 200 OK
Date: Sun, 05 Apr 2009 17:05:26 GMT
Server: Apache/2.2.3 (Red Hat)
Content-Type: text/html
Content-Length: 2600

<HTML><HEAD>... </HTML>


Estos son algunos headers de respuesta:

Content-Encoding: Tipo de codificación para el cuerpo de la respuesta.
Content-Language: Tipo de idioma en el cuerpo de la respuesta.
Content-Length: Extensión del cuerpo de la respuesta.
Content-Type: Tipo de contenido del cuerpo de la respuesta (por ejemplo, texto/html).
Date: Fecha en que comienza la transferencia de datos.
Location: Redireccionamiento a una nueva dirección URL asociada con el documento.
Server: Características del servidor que envió la respuesta.

Algunos codigos de respuesta:

200 OK: La solicitud se llevó a cabo de manera correcta
201 CREATED: Sigue a un comando POST e indica el éxito, la parte restante del cuerpo indica la dirección URL donde se ubicará el documento creado recientemente.
202 ACCEPTED: La solicitud ha sido aceptada, pero el procedimiento que sigue no se ha llevado a cabo.
203 PARTIAL INFORMATION: Cuando se recibe este código en respuesta a un comando de GET indica que la respuesta no está completa.
204 NO RESPONSE: El servidor ha recibido la solicitud, pero no hay información de respuesta.
205 RESET CONTENT: El servidor le indica al navegador que borre el contenido en los campos de un formulario.
301 MOVED: Los datos solicitados han sido transferidos a una nueva dirección.
302 FOUND: Los datos solicitados se encuentran en una nueva dirección URL, pero, no obstante, pueden haber sido trasladados.
303 METHOD: Significa que el cliente debe intentarlo con una nueva dirección; es preferible que intente con otro método en vez de GET.
400 BAD REQUEST: La sintaxis de la solicitud se encuentra formulada de manera errónea o es imposible de responder.
401 UNAUTHORIZED: Los parámetros del mensaje aportan las especificaciones de formularios de autorización que se admiten. El cliente debe reformular la solicitud con los datos de autorización correctos.
403 FORBIDDEN: El acceso al recurso simplemente se deniega.
404 NOT FOUND: Un clásico. El servidor no halló nada en la dirección especificada.
411 CONTENT LENGHT REQUIRED: Nescesita especificar la longitud en la solicitud.
413 REQUESTED ENTITY TOO LARGE: La longitud es mayor a la que permite el servidor.
500 INTERNAL ERROR: El servidor encontró una condición inesperada que le impide seguir con la solicitud (una de esas cosas que les suceden a los servidores...)
501 NOT IMPLEMENTED: El servidor no admite el servicio solicitado.
503 SERVICE UNAVAILABLE: El servidor no puede responder en ese momento debido a que se encuentra congestionado.



Jejeje ahi una representacion bastante grafica de algunos codigos de respuesta.

Bueno hasta aqui llego la teoria ahora vamos a la practica. Vamos a usar una herramienta muy conocida: el Netcat. Llamada también la navaja suiza de los hackers. Es un programa de red que permite hacer muchas cosas: Abrir puertos, conectar a algún servidor, actuar como proxy, escanear puertos, fingerprint, etc. Lo podemos descargar de aquí:

http://joncraton.org/files/nc111nt.zip

Posiblemente su antivirus lo detecte, pues es una herramienta muy usada por hackers, como ya dije, pero no es malware, es inofensivo. Bien crea una carpeta en el disco C: llamada por ejemplo "nc" y descomprime ahi el contenido del archivo que has descargado.

Ahora ve a Inicio>Ejecutar>Accesorios>Simbolo del sistema (se abre la linea de comandos)

Ejecuta las siguientes ordenes:

C:\Documents and Settings\user>cd \
C:\>cd nc
C:\nc>

Ahora les dejo este video, vale ya me canse de escribir :P.

http://www.youtube.com/watch?v=ijyVppPluoY

Sitios web revisados:
http://www.taringa.net/posts/info/1969535/El-protocolo-HTTP-+-Yapa.html
http://es.wikipedia.org/wiki/Protocolo_de_comunicaciones

sábado, 28 de marzo de 2009

Como llegue a la FISI (Parte II)

San Marcos es la universidad donde ha estudiado casi toda mi familia. Ingresar a San Marcos simplemente no es fácil. Su examen de admisión es uno de los más exigentes del país y ni que decir de la competencia. Año tras año compiten decenas de miles de postulantes para tratar de ocupar alguna de las vacantes que ofrece la “Decana de América”.

Desde que estaba en el colegio, cuando los profesores preguntaban, siempre dije que yo iba a estudiar ingeniería de sistemas en San Marcos. A mis amigos también les decía lo mismo y claro en ese entonces no tenía ni la más mínima idea del nivel de un examen de admisión. Pero era libre de soñar, nadie podía negármelo.

¿Cómo se me ocurrió estudiar sistemas? Nadie nunca me dijo que yo podría servir para esto. Nadie tampoco me dijo lo contrario. Todo empezó después de un curso de ofimática. Aprendí Excel y el profesor se dio cuenta que yo sobresalía al momento de implementar formulas. Entonces me recomendó aprender algún lenguaje de programación. ¿Lenguaje de qué? Vamos, que en esa época yo no sabía ni usar el MSN. No serio, no es broma. Le pedía ayuda a la chica que atendía el ciber para entrar a mi correo o para agregar algún contacto. Estoy hablando de cuando yo estaba en tercer año de secundaria: tenía 15 años, las computadoras servían para jugar Counter Strike 1.5 y Windows 98 se resistía a ser reemplazado por el XP.

Tuve presente el consejo de mi profe y de vez en cuando iba al ciber a buscar algo de información sobre lenguajes de programación. Así es como conocí a C/C++ y a Visual Basic y aunque al principio no entendía nada, empecé a cogerle el gusto a esas horas de investigación. Poco a poco las horas frente a la computadora fueron aumentando hasta llegar al extremo de quedarme “investigando” hasta que cerraban el ciber (10:00 PM aproximadamente). Más tiempo ya no me podía quedar, tal vez lo hubiera hecho si podía.

Vagando por la red, un buen día, conocí una palabra que marcaria mi vida y me abriría las puertas a un mundo de conocimiento oculto: “Hacker”. ¿Qué es un hacker? Escribí en Google. Esta fue la respuesta: Hacker en el más pleno sentido es aquella persona apasionada por el conocimiento, por aprender cosas nuevas y entender cómo funcionan. En cierta forma me sentí descrito, era lo que hace algún tiempo venía haciendo: Investigar y aprender cosas nuevas.

Mi investigación cambio de curso, no tanto en realidad, deje de lado la programación y, aunque más tarde la retomaría, empecé a investigar sobre cómo ser un hacker. Pronto me encontré frente a una pantalla negra tecleando comandos para ver mi IP, hacerle ping a algún servidor o ver los puertos que tenía abiertos. Eso no me convertía en hacker pero me dejaba soñar. ¿Puedo llegar un día a ser un Hacker? de esos que descubren bugs capaces de echarse abajo a algún servidor y el mundo les tiene miedo mientras ellos solo se divierten con lo que saben. Vamos, estás loco, claro que no. Esos tipos debieron ser engendrados en un tubo de ensayo y criados en un laboratorio para que la radiación solar no dañe su cerebro y por lo visto el tuyo ya esta quemadaso. Pero qué es la vida sino una lucha por alcanzar tus sueños. Si vas tras ellos puedes pasarte toda la vida y fracasar en el intento, si no lo haces ¿Para qué sigues viviendo? Mejor suicídate la muerte llegara tarde o temprano y no habrás hecho nada.

Desde entonces decidí estudiar ingeniería de sistemas. Por eso estoy aquí, para estar un paso más cerca de un sueño que tal vez nunca llegue a cumplirse pero que vale la pena vivirlo.

Era miércoles, habían pasado tres días desde que di el examen de admisión a San Marcos. Esta era la quinta vez que lo intentaba y no había tenido nada de especial. Excepto tal vez que no llegue a responder ninguna de las diez preguntas de matemática. Estaba tranquilo, no había visto los resultados pero no era necesario yo ya lo sabía: “era imposible”. En ese momento me encontraba en una fábrica con mi tía recogiendo unas telas. De pronto ella recibió una llamada en su Nextel, la expresión en su cara cambio. Parecía preocupada luego sorprendida y hasta emocionada. ¿Qué pasa? Le pregunte. Continuó conversando, se tomo su tiempo, colgó el aparato, me miro a los ojos y dijo: “¡Ingresaste!”

¿Qué era imposible? Dicen que el universo conspira a tu favor cuando vas tras sus sueños. Ahora lo creo.

jueves, 26 de marzo de 2009

Cómo llegue a la FISI (Parte I)

Esta historia empezó hace mucho tiempo cuando informe a todos que postularía a la UNSA. Al respecto hubo muchos comentarios: “que a la UNSA cualquiera ingresa”, “que solo serviría para levantar mi autoestima”, “que era un gasto inútil”, etc., etc. Aunque no falto quien me animara a seguir adelante con ello alegando que ya había perdido mucho tiempo en la academia. Yo no considero la academia como una pérdida de tiempo pues sé que he aprendido mucho allí. Al margen de lo aburrido que puede resultar la rutina casa-academia y lo tedioso que es despertarse todos los días muy temprano (6:00 A.M.) confieso que empecé a cogerle el gusto al estudio. Tal vez exagero si afirmo que nunca antes había estudiado en el sentido pleno de la palabra pero lo que si no es una exageración ni una vanidad es que aprobar los cursos del colegio no me exigía el menor esfuerzo, bastaba con escuchar la explicación del profesor en clase y resolver la tarea.

Pero ¿Cuan agradable puede ser escuchar una clase de física durante 3 horas seguidas? Tal vez lo agradable fue estar esas 3 horas escuchando al profesor y entenderlo. El simple hecho de entender ya es gratificante uno dice: después de todo no soy tan bruto. Aunque hay más, cuando logras resolver un problema aplicando lo que entendiste te sientes lo máximo y la cosa mejora cuando no es un problema cualquiera sino que es un problema difícil y entre más difícil la experiencia es mejor. Ante esto es válido preguntarse si uno aun esta dentro de sus cabales o si sufre de alguna especie de masoquismo intelectual. Hubo momentos en que pensé que me estaba volviendo loco. Resolvía problemas durmiendo, veía formulas en carteles publicitarios por la calle y hasta llegue a decir inconscientemente y repetidas veces: “¡qué bonito problema!”. Al escucharme pude deducir lo trastornado que estaba mi concepto de belleza.

Así, entre la genialidad y la locura, se desarrollaba mi vida académica, una etapa que no debería haber durado mucho pero que entonces era eterna. Percibía el curso de mi vida estancado en un círculo vicioso de ciclos de estudio: verano, anual, semianual, repaso, pre… era una estructura iterativa condicionada por el examen de admisión al final de cada ciclo. Siempre estuve consciente de cuanto me faltaba, quizás porque me hacían el favor de recodármelo todo el tiempo, lo que nunca supe fue cuándo llegaría al final del bucle, cuándo terminaría con el circulo vicioso, cuándo ingresaría. Pero el momento llego. Ese día desperté en Arequipa, hacia frio y no me bañe, dicen que tienen suerte los que no se bañan, tal vez fue eso, tal vez fue un golpe de suerte. Se lanzaron los dados y me toco a mí y aunque no haya sido suerte yo me sentí afortunado como si hubiera ganado la tinka, no lo podía creer ¡había ingresado! No recuerdo cuantas veces repetí lo mismo: ¡Ingrese!, ¡Ingrese!, ¡Ingrese!... y seguía sin creerlo. Estaba feliz, era feliz y no solo por el hecho de haber ingresado ni por lo que ello implicaba. Sino porque para mí fue como quitarme un gran peso de encima. Paradójicamente al hecho de ingresar a la universidad; que implica el inicio de un nuevo estilo de vida, un nuevo comienzo; yo pude expresar mi felicidad como: “Ahora puedo morir en paz” un tanto porque esta meta se había vuelto tan difícil que cuando la logre me sentí realizado en la vida y otro tanto porque en realidad sentía paz, un alivio indescriptible. Ya nadie volvería a decirme: “¡Estudia!”. Al menos no por un buen tiempo. Sin embargo la felicidad no fue completa, la meta no era ingresar. La meta tenia nombre: “San Marcos”.

Mi primer post

Este es el primer blog y tal vez el ultimo que vaya a crear. La idea no fue mía. A decir verdad no se me habría ocurrido hacerlo de no ser por que un día Salomón (un amigo de la universidad) me dijo mientras le contaba una de mis aventuras por la red: "Deverías crearte un blog para que pongas ahi todas tus webadas". La idea no era ni buena ni mala pero pasaron los dias y no se me quitaba de la cabeza. Y bueno pues aqui me tienen escribiendo mi primer post.
No se cuanto tiempo vaya a tener para publicar tampoco creo que a nadie le interse. Voy a tratar este blog como una especie de diario personal.
El nombre tal vez no diga mucho para los que no saben que es la FISI. Bueno FISI significa Facultad de Ingenieria de Sistemas e Informatica y es el lugar donde yo estudio.