APÉNDICE: Las lecciones del curso de hacking.
Asunto: Curso de HACKING. Primera leccion (REPOST)
Fecha: Wed, 26 May 1999 02:02:25 +0200
De: El_Lite
Empresa: Telefonica Transmision de Datos
Grupos de noticias: es.comp.hackers
jakear no es tan difícil cuando se sabe programar, es cuestión
de echarse cantidad de horas probando esto y aquello. Cojes un producto,
sea una aplicación, un sitio web, un servicio email, un protocolo...
lo examinas a fondo, lo destripas, averiguas cómo funciona. Cuando ya
sabes cómo funciona ya puedes ver los fallos y encontrar el modo de
explotarlos.
Por ejemplo, veamos como explotamos un formulario web para enviar correo
anónimo.
Tomemos un de los muchos programillas CGI que existen para formularios
web. Por ejemplo vamos a jakear el de esta paginilla:
http://www.tahitianhealth.com/english/request.htm
Copiamos la página a nuestro disco y editamos el HTML. Quitando todo lo
que sobra el formulario nos queda:
Para adaptarlo a nuestras necesidades:
1.- Cambiamos todos los campos "hidden" por campos de texto, EXCEPTO el
campo "subject" que lo cambiamos por un TEXTAREA ya veremos para qué.
Cambiamos
el SELECT y otros campos por un campo de texto a voleo para evitar posibles
errores de campos "requeridos". No os preocupeis que no saldrán en vuestro
emilio, ya explicaré por qué. El "recipient" poneis a quien enviais el
emilio
por ej. lamer@aol.com y en email el vuestro falso
"SuperHacker"
Nos queda así:
2.- Ahora viene el truco del almendruco!! Agarrarse porque aquí empieza el
verdadero jakeo del formulario. Para darse cuenta de este exploit hay que
conocer el protocolo SMTP que es:
conectar smtp.mailhost.com port 25
helo quiensea
>> tu IP xxx.yyy.zzz.ttt
mail from: jaker_no_tan_anonimo@timofonica.es
>> sender OK
rcpt to: victima@hotmail.com
>> recipient OK
data <<--------- aqui empiezan las cabeceras del mensaje
Subject: Hola mamoncete
Cabecera1: loquesea
Cabecera2: todomentira
<<--------- aqui una línea vacía (CR+LF)
No sabes lo que te espera <<-- aqui el cuerpo del mensaje
Repito, no sabes lo que te espera
Repito, no sabes lo que te espera
. <<--------- un punto en una línea indica el fin del mensaje
>> OK message sent
quit <<--------- desconexión
>> Goodbye
Sabiendo como se envian los emails "a pelo" por el puerto 25 pues os dareis
cuenta de que los datos del formulario irán por el mismo camino. Que pasaría
si en el formulario en vez de un "subject" de una sola línea (como esperaba
el que programó el formulario) enviamos todo el chorizo de SUBJECT+CABECERAS
+CR+LF+CUERPO_DEL_MENSAJE+PUNTO+QUIT ?
Pues que PODEMOS ENVIAR LAS CABECERAS QUE QUERAMOS!! podemos confeccionar
el emilio a nuestro gusto, el mensaje se interrumpirá donde queramos y el
servidor
web no podrá escribir sus propias líneas en nuestro mensaje (que podria ser
nuestra
IP, el referrer, propagandas etc). Normalmente la IP que se ve en las
cabeceras
"Received:" es la del servidor web. Para mas seguridad configuramos el
navegador
para usar un proxy anónomo. Esto es virtualmente imposible de tracear como
he
podido comprobar personalmente después de hacer mil perrerías.
El formulario final con nuestro mensaje nos quedaría:
Con esto hemos utilizado un inocente formulario para enviar directamente
comandos y cabeceras SMTP al servidor de correo. La misma tecnica se puede
usar para jakear formularios de postear en las nius y enviar cabeceras
y comandos NNTP.
Mi pequeña contribución a todos los ávidos de iniciarse. Probad a enviaros
mensajes con el formulario modificado y sin modificar, observad las
cabeceras,
ved las diferencias, las IPs que salen etc... Buscad otros formularios por
la
red, otros ofrecen muchas posibilidades que no me da tiempo ahora a
comentar.
Os lo dejo a vosotros el seguie experimentando que es de lo que va el
"hacking".