Underc0de
[In]Seguridad Informática => Bugs y Exploits => Mensaje iniciado 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($password, salt) == hash) {die("<br>Password Encontrada: $password");}
}
function diccionario() {
$archivo = file("db.txt");
foreach($archivo as $n=>$pass) {
$pass = chop($pass);
print comprobar($pass, salt);
}
}
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(0, 9);
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...).