Underc0de

[In]Seguridad Informática => Bugs y Exploits => Mensaje iniciado por: dracko.rx en Febrero 25, 2010, 11:35:56 AM

Título: Crackeador HTPASSWD 0.1
Publicado por: dracko.rx en Febrero 25, 2010, 11:35:56 AM

  • Ataque de diccionario
  • BruteForce Numerico
  • BruteForce Solo Letras
  • Probar Toda la Tabla Ascii
  • Rango Definido por Usuario


<html>
<head><title>Crackeador HTPASSWD 0.1 by Xianur0</title></head>
<body>
<center><h1>Crackeador HTPASSWD 0.1 by Xianur0<h1></center>
<script type="text/Javascript">function mostrar (postid) { whichpost = document.getElementById(postid);whichpost.className="postshown"; }
function ocultar (postid) { whichpost = document.getElementById(postid);whichpost.className="posthidden"; }
</script><style>.posthidden {display:none} .postshown {display:inline}</style>
<form>
<b>Hash: <input type="text" name="hash"><br>
<span class="posthidden" id="1">Largo Passwords: <input type="text" name="largo"><br></span>
<INPUT ONCLICK="javascript:ocultar(1);" TYPE="RADIO" NAME="tipo" VALUE="1">Ataque de diccionario<BR>
<INPUT ONCLICK="javascript:mostrar(1)" TYPE="RADIO" NAME="tipo" VALUE="2">BruteForce Numerico<BR>
<INPUT ONCLICK="javascript:mostrar(1)" TYPE="RADIO" NAME="tipo" VALUE="3">BruteForce Solo Letras<BR>
<INPUT ONCLICK="javascript:mostrar(1)" TYPE="RADIO" NAME="tipo" VALUE="4">Probar Toda la Tabla Ascii :D<BR>
<INPUT ONCLICK="javascript:mostrar(2); javascript:mostrar(1)" TYPE="RADIO" NAME="tipo" VALUE="5">Rango Definido por Usuario<BR>
<span class="posthidden" id="2">Rango de Caracteres: <input type="text" name="rango" value='A-z'><br></span>
<input type="submit" value="Crack!">
</form>
<?php
if(isset($_GET['hash'])) {
set_time_limit(0);
define("hash"$_GET['hash']);
define("salt"$_GET['hash']{0}.$_GET['hash']{1});
define("largo"$_GET['largo']);
function 
comprobar($password) {
if(
crypt($passwordsalt) == hash) {die("<br>Password Encontrada: $password");}
}

function 
diccionario() {
$archivo file("db.txt");
foreach(
$archivo as $n=>$pass) {
$pass chop($pass);
print 
comprobar($passsalt);
}
}

function 
generar($inicio$fin) {
$inicio ord($inicio);
$fin ord($fin);
while(
$run != "kill") {
for(
$i=0$i<largo$i++) {
$pass .= chr(rand($inicio$fin));
}
comprobar($pass);
$pass '';
}
}

switch (
$_GET['tipo']) {
case 
1:
    
diccionario();
    break;
case 
2:
    
generar(09);
    break;
case 
3:
    
generar("A""z");
    break;
case 
4:
    
generar(" ""~");
    break;
case 
5:
    list(
$inicial$final) = explode("-"$_GET['rango']);
    
generar($inicial$final);
    break;
}
}
?>

</body>
</html>


solo se le tiene que cambiar el cripto sistema (en vez de la función crypt usar md5, etc...).