Autor
|
Tema: Para los caballeros de boinasnegras.com!!! (Leído 22817 veces)
|
cokeing
Desconectado
Mensajes: 1.039
SôNïC r0oLz
|
Poner aqui todos los posts que tengan relacion con boinasnegras, asi el foro se ve mas ordenado. Muchas gracias. Señores moderadores, poner una chincheta al tema, pa que lo vea todo el mundo  saludos.cokeing
|
|
|
|
|
En línea
|
|
|
|
zanosuke
Desconectado
Mensajes: 11
¡Amo YaBB SE!
|
no puedo pasarme el primer nivel!!!!
|
|
|
|
|
En línea
|
|
|
|
Arcangel
Desconectado
Mensajes: 491
Is About Power...
|
ummm, bueno ya estuve en boinas negras y nose la primera prueva no tenia nada que evr con hacking es solo tomar lo que te dicen textualmente, no se me parece ams un juego mental que un wargame, mejor me quedo con izhal 
|
|
|
|
|
En línea
|
Desafia los Limites de tu Mente -=Nihil ad Rem=-Adentrate en el Mundo de Tinieblas -=Dark Void=-
|
|
|
Arcangel
Desconectado
Mensajes: 491
Is About Power...
|
Me retracto, el concurso es muy bueno y esta muy bien echo, solo me deje llevar por las primeras 2 pruevas, pero si se requiere de un cierto nievel de conocimiento para poder pasar.
aprovechando el post, alguien sabe como desencriptar paginas cifradas?
|
|
|
|
|
En línea
|
Desafia los Limites de tu Mente -=Nihil ad Rem=-Adentrate en el Mundo de Tinieblas -=Dark Void=-
|
|
|
Arcangel
Desconectado
Mensajes: 491
Is About Power...
|
hola, yo e jugado ya, y el primer nivel es super facil solo deben seguir todo textual, doy pistas porque este nivel casi no incluye nada de conocimiento en informatica, este mismo post los puede ayudar, deben postear con el negro en la mente y unir esto con lo obio , es todo bye 
|
|
|
|
|
En línea
|
Desafia los Limites de tu Mente -=Nihil ad Rem=-Adentrate en el Mundo de Tinieblas -=Dark Void=-
|
|
|
FeUeRaDLeR
Desconectado
Mensajes: 13
|
 |
que tal...
« Respuesta #5 en: 29 Enero 2004, 01:27 » |
|
que tal, yo voy en el nivel 7 sobre encontrar el passw de el administrador, y me enkuentro un poko konfundido sobre que es lo que debo hacer, bueno en verdad no le he dedicado bien el tiempo para resolverlo, pero me pondre a chekarlo bien... Y si alguien tiene una pista, pues exelente!! bueno sigan hechandole ganas... kreo que el reto mas dificil, hasta el nivel que llevo fue el 3, pues me puso a pensar un buen rato, pero pasando ese los demas han estado mas faciles...  salodos!!
|
|
|
|
|
En línea
|
<<]]==[[~~ FeUeRaDLeR ~~]]==[[>>
|
|
|
FeUeRaDLeR
Desconectado
Mensajes: 13
|
Que tal!!, bueno buscando por la red me tope kon esto....
aunke desencriptar la pagina es solo el principio, es la parte facil del reto..... suerte!!
[/b][/size]
Rompiendo las contraseñas de Atrise htmlock, por TULKAS. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Este documento es solo con fines educativos, cualquier mal uso que se le de a e sta información no es responsabilidad del autor del articulo.
No se permite la modificación del siguiente documento sin la autorización del autor, como se que no me vas ha hacer caso por lo menos no seas tan lamer de sacar mi nombre y poner el tuyo.
Introducción.
Htmlock es un software de la empresa atrise (http://www.atrise.com/), el cual esta diseñado para encriptar el código html de una pagina de tal modo que nosotros no seamos capaces de ingresar al contenido de esta ( ver fichero locked.html) o de ver el código de fuente de dicha pagina aunque si somos capaces de ver el contenido de ella (ver fichero lockedscr.html), estos ejemplos los he tomado directamente de la sección de demos (http://www.atrise.com/htmlock/demos.php) de Atrise, es altamente recomendable que bajen el demo y encripten sus propias paginas con diferentes contraseñas de tal manera de que se familiaricen con el asunto.
Si observan el final de ambos códigos encontraran un javascript el cual intentare explicar para luego indicar las modificaciones que le deberemos hacer para que se comporte de manera mas interesante.
Lo primero que haremos es ordenar un poco ese montón de letras que se ve en nuestra pantalla quedando de esta manera.
var pw='default';
var t='\00\01\02\03\04\05\06\07\010\t\n\013\014\r\016\017\020\021\022\023\024\025\026\027\030\031\032'+ '\033\034\035\036\037\040!\042#$%&\047()*+,-./0123456789:;\074=\076?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\134]^_`abcdefghijkl'+ 'mnopqrstuvwxyz{|}~"''""o--¡¢£¤¥¦§¨©ª"®¯°±²³´µ·¸¹º"¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐ'+ 'ÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ';
var x='0123456789ABCDEF';var i,j,xs;var c=0;
Hasta el momento solamente hemos definido algunas variables, noten que la variable t contiene la totalidad del código ASCII y la variable pw es la palabra mágica utilizada para desencriptar el código del array h
for(i=0;i<pw.length;i++)c=c^t.indexOf(pw.charAt(i));
if(c!=parseInt(h[5].charAt(0)+h[5].charAt(1),16)) {}
Estas dos líneas no tienen sentido alguno, no se en que estaban pensando al momento de incluirlas, aunque en el caso de locked.html si son necesarias, lo que estas hacen es realizar una operación xor con el valor ASCII correspondiente a cada letra del password, en este caso default, como ven después la sentencia if(c!=parseint(h[5].charat(0)+h[5].charat(1),16)), la compara con el valor almacenada en h[5], pero independiente del resultado continua la ejecución, en el caso de locked.html se detendrá la ejecución del script y saldrá por pantalla un cuadro indicando que nuestra contraseña no es correcta
for(i=0;i<5;i++)document.writeln(h); for(i=0;i<40;i++)document.writeln();
Nada importante
var n=pw.length;
N es igual al numero de caracteres de la variable pw (default)
var m=0; var s='';
Definimos otras dos variables
for(j=6;j<h.length;j++) { for(i=0;i<h[j].length;i++) { xs=h[j].charAt(i); (1) if(x.indexOf(xs)>=0) (2) { i++; xs=xs+h[j].charAt(i); (3) c=parseInt(xs,16); (4) } else c=t.indexOf(xs); (5) c=c^44^t.indexOf(pw.charAt(m)); (6) m++; (7) if(m==n)m=0; (8) if(c==13){document.writeln(s);s='';} (9) else if(c==10){;} (10) else s=s+t.charAt(c); (11) } } document.writeln(s);return true; }
Esta es la parte interesante del código la cual es el encargado de realizar la desencriptación , en (1) se pasa a la variable xs el primer carácter de h[6] (que es el código html encriptado), a continuación se comprueba (2) que el carácter que esta contenido en xs forme parte de la variable x, si es así en (3) se agrega a xs el siguiente carácter de h[6], luego en (4) se toma el valor de xs se convierte a numero decimal y se almacena en la variable c, luego continuamos en la instrucción (6) . En caso de que el carácter almacenado en xs no forme parte de la variable x nos saltamos (3) y (4) para pasar directamente a (5) en la cual se busca la posición del carácter almacenado en xs dentro de la variable t almacenándose dicho valor en la variable c, o lo que es lo mismo c toma el valor ASCII del carácter almacenado en xs.
Independiente de cual ruta se haya tomado llegamos a la instrucción (6), en la cual se realiza la siguiente operación (c) xor (44) xor (valor ASCII del primer carácter de la variable pw) y el resultado se almacena en la variable c.
En (7) incrementamos el valor de m ( es decir pasamos al siguiente carácter de la variable pw) y en (8) se comprueba si ha llegado al ultimo carácter de pw, si es ese el caso volvemos al primer carácter.
En (9) y (10) se realizan unas comprobaciones sin gran importancia para nuestro objetivo (juajuajua!!!!!) Y finalmente en (11) se busca en la variable t el carácter de la posición dada por el valor de c y se almacena en la variable s.
Este proceso se repite n veces hasta que hallamos completado todo al campo de código encriptado.
Antes de continuar mejor ponemos un ejemplo para que se entienda mejor.
Supongamos que h[6] = "6BL"
Lo primero que ocurrirá es que xs valdrá 6, dicho carácter si forma parte de la variable x por lo tanto a xs se le agregara el carácter b por lo cual valdrá 6B, dicho numero hexadecimal será transformado a decimal (107) y dicho valor será almacenado en la variable c, a continuación se realizara la operación 107 xor 44 xor 100 (valor ASCII de la letra d) siendo el resultado 35, finalmente se buscara el carácter numero 35 de la variable t y este será almacenado en la variable s.
Luego xs será igual a la letra L la cual no esta contenida en la variable x por lo cual se buscara la posición de la letra l en la variable t se dará el valor 76 a la variable c y luego se realizara la operación 76 xor 44 xor 101 (código ASCII de la letra e) el resultado se almacena en c y se agrega a s el carácter de la posición del ultimo valor obtenido para c.
Como vemos lo que hace el javascript se puede representar de la siguiente manera
" defaultdefaultdefaultdefa XOR --------------------------------- <html><title>yahoo.com
Ahora pasemos a un lo que realmente nos interesa que es romper este débil mecanismo de protección para códigos web.
1._ Para el caso de lockedscr.html basta con agregar la siguiente tomar el siguiente trozo de código
if(c==13){document.writeln(s);s='';} else if(c==10){;} else s=s+t.charAt(c);
y reemplazarlo por el siguiente:
if(c==13){s+='<br>';} else if(c==10){;} else if (c==60){s+='';} else s=s+t.charAt(c);
Lo que aquí hemos hecho es evitar que incluya el caracter < en el código html que esta generando por lo cual todas las etiquetas del tipo <html>,<title>, <head>, etc quedaran de la siguiente manera html>, title>, head>, etc, por lo cual nuestro navegador no lo reconocerá como código web y lo desplegara como archivo de texto en nuestra pantalla.
2._ Para el caso de locked.scr debemos realizar una serie de modificaciones en el código.
Reemplazar:
if(c!=parseInt(h[5].charAt(0)+h[5].charAt(1),16)) {if(er==1)alert(emsg);return false;}
por:
if(c!=parseInt(h[5].charAt(0)+h[5].charAt(1),16)) {}
y donde dice :
<p align="center">Password: <input type="password" name="pwd">
por:
<p align="center">Password: <input type="text" name="pwd">
Con lo cual nos evitamos que al colocar una contraseña cualquiera nos muestre el mensaje de error.
Guardamos el código y recargamos la pagina en el navegador. Finalmente en el cuadro para la contraseña escribimos <HTML><TITLE> (ojo con mayusculas), y le damos a enter, veras como se despliegan una serie de caracteres extraños en tu pantalla pero si te fijas bien en las primeras líneas te darás cuenta de que se ha formado una palabra, en esta caso default, que es la contraseña que estamos buscando, es posible que se formen cosas como passpasspas, en cuyo caso ya sabes que la password es pass, en el caso de que la contraseña utilizada para encriptar el código tenga mas de 14 caracteres prueba con </HTML> y ve al final del código y ve que sale, intenta poniendo espacios en blanco antes de </HTML> hasta que veas algo que pueda parecer el resto de la contraseña.
Hay un detalle en todo caso yo me baso en que todo código web comienza con <HTML><TITLE>, lo cual no tiene por que se exactamente de esa manera, pero de lo que si estamos seguros es que dichas etiquetas se encontraran en alguna parte por lo cual es posible diseñar un programa el cual tome grupos de 14 caracteres del mensaje encriptado y realiza la operación xor con <HTML><TITLE> o otras cadenas que supongamos se encuentren en el mensaje desencriptado, y con el resultado y realiza un xor del los códigos ASCII de los caracteres de ella comprobando que el resultado sea el que se encuentra almacenado en h[5], personalmente no tengo el tiempo ni el animo como para realizarlo pero no se requiere ser un gran programador para hacerlo.
Breve explicacion, si clave xor (código web) = (clave encriptado) entonces (código web) xor (código encriptado) = clave, prueba con una calculadora científica las siguientes operaciones 44 xor 107 y obtendrás el valor 71, ahora realiza estas operaciones 71 xor 44 y 71 xor 107.
Tulkas independent coder. Lo único seguro es la inseguridad de las cosas.
|
|
|
|
|
En línea
|
<<]]==[[~~ FeUeRaDLeR ~~]]==[[>>
|
|
|
Arcangel
Desconectado
Mensajes: 491
Is About Power...
|
ni que lo digas, yo todavia voy trancado en el 3, me entero que se pueden encryptar los codigos html, y haora nose como desencriptarlo.
Shadow Lord
|
|
|
|
|
En línea
|
Desafia los Limites de tu Mente -=Nihil ad Rem=-Adentrate en el Mundo de Tinieblas -=Dark Void=-
|
|
|
Crack_X
Anti-War
Colaborador
Desconectado
Mensajes: 2.324
Peace & Love
|
Se lo que tengo que hacer , lo que no estoy muy seguro es como lo debo de hacer, alguna idea?
|
|
|
|
|
En línea
|
|
|
|
FeUeRaDLeR
Desconectado
Mensajes: 13
|
|
|
|
|
|
En línea
|
<<]]==[[~~ FeUeRaDLeR ~~]]==[[>>
|
|
|
Frost
Desconectado
Mensajes: 240
go Debian
|
Hola a todos mi pregunta es si el primer desafio tiene que ver con javasript?
|
|
|
|
|
En línea
|
|
|
|
Frost
Desconectado
Mensajes: 240
go Debian
|
no entiendo esta ..... alguien sabe de algun manual bueno
|
|
|
|
|
En línea
|
|
|
|
_PoindeXter_
Desconectado
Mensajes: 236
"Lo quE nO mE mAta...mE hAcE maS fUerTe..."
|
Pos yo estoy atascao en el reto 1 de autentificacion :S :S y no se que hacer...hago la misma pregunta que Frost: este reto tiene que ver con JavaScript???....
Gracias de antemano y saludos...
|
|
|
|
|
En línea
|
"..Deine Grösse macht mich klein...du bist mein Bestrafer sein..."
|
|
|
Crack_X
Anti-War
Colaborador
Desconectado
Mensajes: 2.324
Peace & Love
|
El primer desafio no tiene que ver con JavaScript , lo considero algo bien tonto. Es solo interpretar lo que dice, es mas bien un acertijo.
|
|
|
|
|
En línea
|
|
|
|
Frost
Desconectado
Mensajes: 240
go Debian
|
Se que la pregunta era tonta... solo que aquí no se puede ser sarcastico, en fin se supone que leyendo bien se puede ver la forma de pasar el 1º reto <td width="*" valign="top"> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr><td> <table border="0" width="100%" cellspacing="0" cellpadding="1" bgcolor="#000000"> <tr> <td width="100%" class="blanco"><STRONG>:: Reto de Autenticación Web :: Nivel 1</STRONG></td> </tr> <tr> <td width="100%"> <table border="0" width="100%" cellspacing="0" cellpadding="5" bgcolor="#ffffff"> <tr> <td valign="top"><IMG border=0 height=78 src="../../../img/torneo1.gif" width=60></td> <td class="negro"> <p>Para pasar al siguiente nivel, por favor introduce la contraseña y pulsa el botón <STRONG>Entrar</STRONG>:</p> <form action="default.asp" method="POST"> <table> <tr> <td align="right" class="negro">Contraseña:</td> <td><input type="password" name="pwd" size="20" maxlength="20"></td> </tr> <tr> <td></td><td><input type="submit" name="modo" value="Entrar"></td> </tr> </table> </form> <SCRIPT language="javascript"> <!-- document.forms[0].pwd.focus() //--> </SCRIPT> </td> </tr> </table> pero es por aqui?  donde hay que buscar o no
|
|
|
|
|
En línea
|
|
|
|
|
|