Hola amigos hoy veremos la solución del reto 7 de la página rogerfm.net, este reto hace tiempo lo había resuelto y ahora lo traigo de nuevo.
aquí una foto del reto
Este reto primeramente lee un valor desde el registro, si estas en una máquina de 32 bits el valor de registro será este
HKEY_LOCAL_MACHINE\SOFTWARE\A Challenge for Newbies
y dentro de este la clave REG_SZ llamado password tenemos que encontrar el valor de esa clave
y si estás usando una máquina de 64bits la ruta es
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\A Challenge for Newbies
Con los mismos valores... Bueno la clave a encontrar y que se guarda en el registro en la ruta mencionada anteriormente es de 8 dígitos y se divide en partes.
La primera es que se suma cada dígito por su valor ASCII y el resultado lo multiplica por su posición y el resultado tiene que ser igual a 4684666
Nota: estamos en JavaScript, y este lenguaje lees desde la posición 0 o sea el dígito 0.... Pero en vez de empezar desde el dígito 0 empezaremos desde el dígito 1 o posición 1...
después toma los dígitos 5 y 4 y resta digito 5 - dígitos - 1
después toma los dígitos 4 y 2 y resta digito 4 - digito 2 - 1
después toma los dígitos 2 y 1 y resta digito 2 - digito 1 - 2
después toma los dígitos 1 y 6 y resta digito 1 - digito 6 - 7
después toma los dígitos 6 y 7 y resta digito 6 - digito 7 - 2
después toma los dígitos 7 y 8 y resta digito 7 - digito 8 - 2
después toma los digitos 8 y 3 y resta digito 8 - digito 3 - 0
como pueden ver es por fuerza bruta como el anterior así que yo hice un fuerza bruta, pero ami manera y es calando dígito por dígito y nos va diciendo que tan lejos o que tan cerca andamos y nos muestra el valor ASCII de cada dígito y la resta aquí se los dejo.... Nota: a ver si le entienden o yo solo me entiendo y me da pereza explicarlo
<head><title>Brute Force</title>
</head>
<body>
<br><br><br>
<center>
Solo Letras de (e) Hasta (t)<br><br>
<input type="text" id="clave" maxlength="8" style="width:150;height:40;font-size:25;text-align:center;"><br><br>
<input type="button" value="Manual" onclick="calcular()">
<br><br>
<div id="eti1" style="background:#FA0404;width:500;">Valor a encontrar es 4684666 ----></div><br>
<div id="eti2" style="background:#FA0404;width:500;"></div><br>
<div id="eti3" style="background:#FA0404;width:500;"></div><br>
<div id="eti4" style="background:#FA0404;width:500;"></div><br>
<div id="eti5" style="background:#FA0404;width:500;"></div><br>
<div id="eti6" style="background:#FA0404;width:500;"></div><br>
<div id="eti7" style="background:#FA0404;width:500;"></div><br>
<div id="eti8" style="background:#FA0404;width:500;"></div><br>
</center>
<script>
function calcular()
{
let pass,x,d1,d2,s,sum=0;
pass=document.getElementById("clave").value;
if(pass.length==8)
{
for(x=7;x>=0;x--)
{
digi=pass[x];
sum=(sum + digi.charCodeAt(0)) * (x + 1);
}
document.getElementById("eti1").innerHTML="Valor a encontrar es 4684666 ----> " + sum;
if(sum==4684666)
{
document.getElementById("eti1").style.background="#2FF807"; //verde
}
else
{
document.getElementById("eti1").style.background="#FA0404"; //rojo
}
d1 = pass[4];
d2 = pass[3];
s = d1.charCodeAt(0) - d2.charCodeAt(0) - 1;
document.getElementById("eti2").innerHTML= "digitos 5 y 4_____" + d1 + " - " + d2 + "_____" + d1.charCodeAt(0) + " - " + d2.charCodeAt(0) + " - 1 = " + s + " igual a cero";
if(s == 0)
{
document.getElementById("eti2").style.background="#2FF807";
}
else
{
document.getElementById("eti2").style.background="#FA0404";
}
d1 = pass[3];
d2 = pass[1];
s = d1.charCodeAt(0) - d2.charCodeAt(0) - 1;
document.getElementById("eti3").innerHTML= "digitos 4 y 2_____" + d1 + " - " + d2 + "_____" + d1.charCodeAt(0) + " - " + d2.charCodeAt(0) + " - 1 = " + s + " igual a cero";
if(s == 0)
{
document.getElementById("eti3").style.background="#2FF807";
}
else
{
document.getElementById("eti3").style.background="#FA0404";
}
d1 = pass[1];
d2 = pass[0];
s = d1.charCodeAt(0) - d2.charCodeAt(0) - 2;
document.getElementById("eti4").innerHTML= "digitos 2 y 1_____" + d1 + " - " + d2 + "_____" + d1.charCodeAt(0) + " - " + d2.charCodeAt(0) + " - 2 = " + s + " igual a cero";
if(s == 0)
{
document.getElementById("eti4").style.background="#2FF807";
}
else
{
document.getElementById("eti4").style.background="#FA0404";
}
d1 = pass[0];
d2 = pass[5];
s = d1.charCodeAt(0) - d2.charCodeAt(0) - 7;
document.getElementById("eti5").innerHTML= "digitos 1 y 6_____" + d1 + " - " + d2 + "_____" + d1.charCodeAt(0) + " - " + d2.charCodeAt(0) + " - 7 = " + s + " igual a cero";
if(s == 0)
{
document.getElementById("eti5").style.background="#2FF807";
}
else
{
document.getElementById("eti5").style.background="#FA0404";
}
d1 = pass[5];
d2 = pass[6];
s = d1.charCodeAt(0) - d2.charCodeAt(0) - 2;
document.getElementById("eti6").innerHTML= "digitos 6 y 7_____" + d1 + " - " + d2 + "_____" + d1.charCodeAt(0) + " - " + d2.charCodeAt(0) + " - 2 = " + s + " igual a cero";
if(s == 0)
{
document.getElementById("eti6").style.background="#2FF807";
}
else
{
document.getElementById("eti6").style.background="#FA0404";
}
d1 = pass[6];
d2 = pass[7];
s = d1.charCodeAt(0) - d2.charCodeAt(0) - 2
document.getElementById("eti7").innerHTML= "digitos 7 y 8_____" + d1 + " - " + d2 + "_____" + d1.charCodeAt(0) + " - " + d2.charCodeAt(0) + " - 2 = " + s + " igual a cero";
if(s == 0)
{
document.getElementById("eti7").style.background="#2FF807";
}
else
{
document.getElementById("eti7").style.background="#FA0404";
}
d1 = pass[7];
d2 = pass[2];
s = d1.charCodeAt(0) - d2.charCodeAt(0)
document.getElementById("eti8").innerHTML= "digitos 8 y 3_____" + d1 + " - " + d2 + "_____" + d1.charCodeAt(0) + " - " + d2.charCodeAt(0) + " = " + s + " igual a cero";
if(s == 0)
{
document.getElementById("eti8").style.background="#2FF807";
}
else
{
document.getElementById("eti8").style.background="#FA0404";
}
}
}
</script>
</body>
</html>
aquí les dejo una foto
Así que ingresamos 8 dígitos y damos clic al botón y vamos calando letra por letra y hay nos muestra que dígitos está comparando y con cuanto nos hemos pasado en su valor negativo o positivo y cuando le atines se pondrá en verde
El valor que encontraremos sera prestige y verificamos en el programa de fuerza bruta
ahora lo aguardamos en el registro
Como nos sigue marcando error y no muestra el cartelito correcto así que ingresamos el valor 12345678 en el cuadro de texto y vemos que es comparado los primeros 4 dígitos por 61736964 y después los otros 4 por 72657473 así que juntamos los números así 72657473 61736964 y nos vamos a una página para pasarlos de hexadecimal a texto y nos da esto
Como vemos nos da la palabra retsasid, pero la voltearemos porque el depurador x64dbg los lee al revés y nos queda la palabra disaster
luego ingresamos ese valor al crackme y nos arroja esto
Bueno creo que eso es todo espero les guste saludos Flamer
No hay comentarios.:
Publicar un comentario