[Batch] Generador de Diccionario

Iniciado por SmartGenius, 16 Noviembre 2008, 00:49 AM

0 Miembros y 1 Visitante están viendo este tema.

SmartGenius

Este script lo que hace es generar un archivo de texto plano con todas las posibles combinaciones de letras del abecedario segun la longitud de pass que se haya especificado, para ello se usa la polimetria y una caracteristica del FOR que permite pasarse parametros entre si...

Veamos...

@echo off
title BruteForce Attack
REM Coded by :: SmartGenius ::
color 0a

setlocal enabledelayedexpansion
:ini
if exist dic.txt del /f /q dic.txt
cls
echo.
set /p long="Longitud de Pass >:"
if not defined long goto ini
echo  Generando...
echo  Por favor Espere.
set c=0

:main
for %%a in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%b in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%c in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%d in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%e in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%f in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%g in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%h in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%i in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%j in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%k in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%l in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%m in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%n in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%o in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%p in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%q in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%r in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%s in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%t in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%u in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%v in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%w in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%x in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%y in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%z in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
call :comp %%a%%b%%c%%d%%e%%f%%g%%h%%i%%j%%k%%l%%m%%n%%o%%p%%q%%r%%s%%t%%u%%v%%w%%x%%y%%z
)
set c=1
)
set c=2
)
set c=3
)
set c=4
)
set c=5
)
set c=6
)
set c=7
)
set c=8
)
set c=9
)
set c=10
)
set c=11
)
set c=12
)
set c=13
)
set c=14
)
set c=15
)
set c=16
)
set c=17
)
set c=18
)
set c=19
)
set c=20
)
set c=21
)
set c=22
)
set c=23
)
set c=24
)
set c=25
)
goto :fin

:comp
set word=%*
set dic=!word:~-%long%!
echo %dic% >>dic.txt
if %c%==%long% goto :fin
goto :eof

:fin
echo  Finalizado...OK.
pause
exit


Si especificamos una lontigud de Pass de 4, el codigo nos generara un archivo de texto con todas las combinaciones desde AAAA hasta ZZZZ, luego esto seria uril para usarlo como diccionario para algun programa de ataque por fuerza bruta...de los tantos que hay en internet.

Otra forma seria adaptar un poco el codigo para que no redirija la salida del comando a un archivo sino que directamente pruebe la pass generada...esto para los crackmes que se han hecho en BATCH  :xD

No solo puede ser el abecedario, tambien pueden agregarse los numeros y algunos simbolos que no causan problemas en batch como $ ! # " etc....

Mientras mas larga sea la longitud de la pass mas tiempo tomara en crear el diccionario, pero el trabajo es impecable generando todas las miles de posibles combinaciones...

Espero sea de gran utilidad... =D

Saludos.

PD: Greets to carlitos.java


Enemy

Muy bueno smart !! no lo habia leido, muy interesante...  :D

es como el de novlucker pero en batch  :)

Gracias por el aporte!!




SALUD.O.S

Novlucker

Aunque el mío esta primero... la idea la tome de Smart  :rolleyes:
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

SmartGenius

Cita de: Novlucker en 24 Noviembre 2008, 10:51 AM
Aunque el mío esta primero... la idea la tome de Smart  :rolleyes:

mas te vale....xD xD  :rolleyes:

El code sirve comobase para otros programas de cracking que necesiten de diccionarios, y pues puede ser modificado y adaptado a las necesidades....

Saludos.


DarkItachi

Come to me when you have these eyes...

By more that you try it, a feather never will achieve to fly.

Darioxhcx

Cita de: Dudasamonton en 14 Diciembre 2008, 16:14 PM
Jajajaja, poned -1 , ya veréis!
if %c% LSS 0 ( echo u.u  & goto:eof )

(?
saludos

DarkItachi

Pues a mi no me pone u.u , a mi me escribe en el fichero word:~--1  si pongo -1 :huh:
Come to me when you have these eyes...

By more that you try it, a feather never will achieve to fly.

Darioxhcx

no podes usar numeros negativos U.U

SmartGenius

Cita de: Darioxhcx en 14 Diciembre 2008, 19:33 PM
Cita de: Dudasamonton en 14 Diciembre 2008, 16:14 PM
Jajajaja, poned -1 , ya veréis!
if %c% LSS 0 ( echo u.u  & goto:eof )

(?
saludos

Lo que dario quiso hacer fue una broma...jaja...para cuando se pusiesen numeros negativos en el Script imprimiera eso en el archivo resultado...jajaja.....que humor...  :rolleyes: :rolleyes:

Solo le hace falta eso al script, y ya estaria listo, podria adaptarse hasta para crackear FTPs....xD

Saludos.