Encriptación y crackmes en Batch desde 0 (xassiz)

September 14, 2017 | Author: Herrera Anthony | Category: Password, Variable (Computer Science), Cybercrime, Computer Security, Online Safety & Privacy
Share Embed Donate


Short Description

Download Encriptación y crackmes en Batch desde 0 (xassiz)...

Description

"Encriptacion y crackmes en Batch desde 0" by xassiz

>INDICE: 1.Introduccion 2.Usando Variables 3.Extraccion de Caracteres 4.Reemplazo de Caracteres 5.Parametros 6.Despedida

1. Introduccion Bueno, en este tutorial explicare cosas sobre la encriptacion en Batch. Codificando nuestros codes, haremos que sea mas dificil la lectura a otras personas por ejemplo para que no nos copien. Sirve para muchas cosas por ejemplo para encriptar una contraseña dentro del .bat que no queremos que descubran dandole a editar, un virus para que el antivirus no lo detecte tan facilmente... y por supuesto para hacer crackmes.

2. Usando variables Para empezar veremos que ya se hace mas dificil leer un bat si escondemos palabras o incluso comandos en variables: @echo off set cls=echo set adios=hola set exit=pause %cls%.%adios% %exit% exit

que seria lo mismo que: @echo off echo.hola pause exit

En un virus podriamos "setear" (del comando set) estas variables: set a=s set b=h set c=u set d=t set e=d set f=o set g=w set h=n

y escribir: %a%%b%%c%%d%%e%%f%%g%%h% -s

para que se apagase el ordenador. Para disimular aun mas podemos por ejemplo crear varias variables para el mismo comando o valor, como en el ejemplo anterior. @echo off set pau=pau set se=se %pau%%se% exit

Por ejemplo tenemos un bat con contraseña: @echo off set/p pass="Password: " if %pass%==xassiz (echo.Bien) else (echo.Mal) pause>nul exit

..y en este se veria claramente que la password es "xassiz".

Si lo pusieramos asi, seria mas dificil: @echo off set abc=siz set cba=xas set/p pass="Password: " if "%pass%"=="%cba%%abc%" (echo.Bien) else (echo.Mal) pause>nul exit

Y si pusieramos asi, aun seria mucho mas dificil: @echo off set alg=xzsasi set/p pass="Password: " if "%pass%"=="%alg:~0,1%%alg:~3,1%%alg:~2,1%%alg:~4,1%%alg:~-1%%alg:~1,1%" (echo.Bien) else (echo.Mal) pause>nul exit

Este ultimo ejemplo es normal que no lo entendais, es algo mas avanzado que veremos en el siguiente capitulo: La extraccion de caracteres.

3. Extraccion de caracteres Bueno, esta tecnica, como su nombre indica, es extrayendo caracteres de una variable. Su sintaxis es sencilla: %nombre_variable:~caracteres_desechados,caracteres_cogidos% Si no lo entiendes ahora, no te preocupes, con unos ejemplos todo se arregla: @echo off set opc=zzholazz echo.%opc:~2,4% ::y mostraria "hola" pause>nul exit

% = Los dos por cientos indican que es una variable : = Indican que vamos a trabajar con dicha variable ~ = Indican que la tecnica va ser por extraccion nombre_variable = opc caracteres_desechados = 2 (los dos primeros caracteres son zz por lo que no los queremos y los quitamos) caracteres_cogidos = 4 (los cuatro siguiente caracteres son los que queremos utilizar) Los verdes son los campos reemplazables

Bien, pues veremos algunos ejemplos rapidos por encima: @echo off set alg=jajaHackjajBlackjaj echo.%alg:~4,4%%alg:~11,5% pause>nul exit

Que mostraria HackBlack @echo off set alg=jajaHackrBlack echo.%alg:~4,4%%alg:~9% pause>nul exit

Que mostraria lo mismo que el anterior. Aqui vemos que la variable alg no acaba en j, por lo que lo que queremos coger llegaria hasta el final. En la extraccion ponemos ~9, pero como no hay ninguna coma separando algun otro digito, tomaria todos los caracteres apartir del caracter numero 10. @echo off set alg=jajaHackBlackj echo.%alg:~-10,9% pause>nul exit

En esta extraccion, vemos que la variable alg tiene el valor jajaHackBlackj; entonces en este caso utilicé una extraccion con valor negativo: -10. Esto empezaria a contar por el final diez carácteres hasta llegar a la H. A partir de ahi cogeria los 9 siguientes hacia delante porque no queremos que coja la j.

@echo off set alg=jajaHackBlack echo.%alg:~-9% pause>nul exit

Este es como hace dos ejemplos, pero ahora con valores negativos. Vemos que elimine la j del valor de la variable! Entonces, contamos 9 hacia atras y llegamos a la H; como no hay coma separando otro digito coge hasta el final y muestra HackBlack. @echo off set alg=jajaHackBlackj echo.%alg:~-10,-1% pause>nul exit

Ahora le volvimos a cambiar el valor de alg a jajaHackBlackj. En este caso ves que podemos combinar valores negativos en la extraccion -10,-1, que seguiria mostrando HackBlack porque coge desde la H (-12) hasta la k (-1). Inventandonos ejemplos veremos cosas utiles que podemos hacer... ahora podemos hacer el programa de la Password usando la Extraccion de Caracteres: @echo off set alg=xzsasi

set/p pass="Password: " if "%pass%"=="%alg:~0,1%%alg:~3,1%%alg:~2,1%%alg:~4,1%%alg:~-1%%alg:~1,1%" (echo.Bien) else (echo.Mal) pause>nul exit

Este era el ultimo ejemplo del programa, que supongo que ahora ya entenderas.

4. Reemplazo de caracteres Bueno, esta es una tecnica usada mas bien para otro tipo de cosas, pero puede utilizarse tambien para encriptacion. La sintaxis es parecida a la extraccion pero es mas facil de entender: %nombre_variable:caracter_reemplazador=caracter_reemplazado% @echo off set alg=H4ckBl4ck echo.De %alg% a %alg:4=a% pause>nul exit

Muestra primero la variable alg (H4ckBl4ck) y luego muestra la misma variable pero los cuatros que aparecian se convirtieron en as (HackBlack). % = Los dos por cientos indican que es una variable : = Indican que vamos a trabajar con dicha variable caracter_reemplazador = 4 (cambiamos los cuatros..) = = Indica que se va a reemplazar caracter_reemplazado = a (..por as) Los verdes son los campos reemplazables

Bueno, con esta tecnica se juega mas cambiando el valor de la variable, por ejemplo que la variable alg de valor H4ckBl4ck se quede HackBlack (aunque no la mostremos). Cambiando la variable (o creando otra) podemos cambiar varios caracteres, como veremos en el siguiente ejemplo: @echo off set alg=x4ss1z set alg2=%alg:4=a% set alg2=%alg2:1=i% echo.De %alg% a %alg2% pause>nul exit

Que mostraria primero x4ss1z y despues xassiz.

Con esto podriamos crear un "encriptador": @echo off set/p palabra="Palabra>> " set alg=%palabra:x=123% set alg=%alg:a=234% set alg=%alg:s=345% set alg=%alg:i=456% set alg=%alg:z=567% cls echo."%palabra%" encriptado = %alg% pause>nul exit

Que si en donde nos pide la palabra escribimos xassiz, nos devolveria: "xassiz" encriptado = 123234345345456567

El programa de la contraseña podriamos hacerlo asi: @echo off set alg=xzsasi set alg=%alg:a=4% set alg=%alg:i=1% set/p pass="Password: " if "%pass%"=="%alg:~0,1%%alg:~3,1%%alg:~2,1%%alg:~4,1%%alg:~-1%%alg:~1,1%" (echo.Bien) else (echo.Mal) pause>nul exit

Que para que nos diera correcto tendriamos que cambiar las a por 4 y las i por 1: Password: x4ss1z Bien

5. Parametros Bueno, esto se utiliza mas bien para las llamadas Funciones, pero tambien se utiliza bastante en los virus para ahorrar lineas, o tambien en los crackmes! Vamos a poner un ejemplo sencillito para ver como se utilizan: @echo off set/p palab="Palabra>> " call :alg %palab% echo."%palab%" encriptado = %par% pause>nul exit :alg set par=%1 set alg=%par:x=123% set alg=%alg:a=234% set alg=%alg:s=345% set alg=%alg:i=456% set alg=%alg:z=567% goto:eof

Que seria exactamente igual que el encriptador de antes. La gente que no sepa usar parametros le va ser imposible de sacar y a la que los sabe utilizar le va ser mas complicado que de la otra manera, pero mas adelante veremos un ejemplo mejor. Analizando el codigo vemos lo que pasa: -Primero preguntamos el valor de la variable %palab%. -Ahora llamamos a la etiqueta :alg con call pasandole como primer parametro la palabra que escribiera el user: call :alg %palab%

Hasta ahi sencillo no? Pues ahora llegan los parametros. -Seteamos la variable par como %1. Eso es un parametro, el parametro 1. Los parametros son numeros, en este caso es el primer parametro. Es como una variable, cual sera su valor? pues lo que vaya despues de call+:etiqueta, que en este caso es otra variable, %palab%. Entonces si el user escribiera xassiz seria como si hiciesemos: set par=xassiz

A partir de ahi se van reemplazando los caracteres.. hacemos un goto:eof para salir de la etiqueta (eof= EndOfFile) y el programa vuelve a la linea siguiente al call.

Pondre un ejemplo mas facil: @echo off call :alg en Registrate Www.HackBlack.neT pause>nul exit :alg echo.%2 %1 %3

Que mostraria "Registrate en Www.HackBlack.neT". - Porque no mostraria "en Registrate Www.HackBlack.neT"? - Facil. Cuando usamos los parametros no ponemos: echo.%1 %2 %3

sino que ponemos: %2 %1 %3

ordenando las palabras. Tambien te preguntaras por que no puse goto:eof para salir de la etiqueta.. pues es solo para demostrar una curiosidad, que es que si cuando se acaba la etiqueta no hay mas codigo delante, no haría falta ponerlo. Por lo que si el code fuera asi no valdria: @echo off call :alg en Registrate Www.HackBlack.neT pause>nul exit :alg echo.%2 %1 %3 :nada cls echo.Esto se vera porque el code sigue despues de la etiqueta :alg pause>nul exit

Ahora os mostrare el programa de contraseña mezclando todo lo que vimos hasta aqui en el tutorial: @echo off set echo=set alg2 set alg=xassiz set/p pass="Password: " call :alg %alg% if "%pass%"=="%alg2%" (echo.Bien) else (echo.Mal) pause>nul exit :alg %echo%=%1 %echo%=%alg2:a=4% %echo%=%alg2:i=1%

La contraseña es x4ss1z, que si seguiste el tutorial supongo que sabrias ^^

6. Despedida Despues de todo este rollo espero que aprendierais.. xD O sino a leerlo otra vez! Para que os quede probad los codes y cread los vuestros =P Espero que os gustara.. Saludos! :)

www.hackblack.net [email protected]

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF