ROMPER XOR -cifrado

Iniciado por THEGAME008, 1 Mayo 2020, 20:17 PM

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

THEGAME008

Hola muchachos tengo un código XOR el cual contiene una palabra, que debo utilizar para saber esa palabra.

61 FA 1E 51 7C 94 24 D0 D7

Cualseía la palabra oculta? que debo utilizar para saberla?

[MOD] No esta permitido publicar simultaneamente el mismo post en distintos subforos. los demas seran borrados.

BloodSharp

#1
Cita de: THEGAME008 en  1 Mayo 2020, 20:17 PMque debo utilizar para saberla?

Podrías crear un mini programa en Python, C, o algún otro lenguaje para descifrarla...

EDIT: Ya intenté romperla y no tiene solución o es erronea...
Código (python) [Seleccionar]
#!/usr/bin/env python3

OriginalBytes=[0x61, 0xFA, 0x1E, 0x51, 0x7C, 0x94, 0x24, 0xD0, 0xD7]
TempBytes=[None]*len(OriginalBytes)

for i in range(256):
for j in range(len(OriginalBytes)):
TempBytes[j]=OriginalBytes[j]
for j in range(len(OriginalBytes)):
TempBytes[j]^=i
bPrint=True
for j in range(len(TempBytes)):
if TempBytes[j] < ord(' ') or TempBytes[j] > ord('~'):
bPrint=False
if bPrint:
TempBytes_string=""
for j in TempBytes:
TempBytes_string+=str(chr(j))
print(TempBytes_string)



B#



ThunderCls

#2
El inverso de XOR es XOR, en otras palabras, como te comentaron puedes hacer un sencillo codigo que haga bruteforce hasta encontrar el contenido descifrado. Por otra parte, ten en cuenta que necesitas saber:

1- El dominio de los caracteres que podrian haber sido usados en el texto plano (letras, numeros, caracteres especiales, etc).
2- El posible tamaño de la llave.

Dependiendo de cuanta informacion tengas con respecto a lo anterior te sera mas o menos factible encontrar un texto descifrado correcto.
Un ejemplo es este sencillo codigo en C. Intenta descifrar la palabra con las premisas de que la palabra solo contiene letras, espacios y/o numeros y una llave no mayor que 4 bytes

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>

typedef enum {false, true} bool;

#define KEY_LIMIT 0xFFFFFFFF
#define DATA_LEN 9

int main()
{
   char cdata[] = {0x61, 0xFA, 0x1E, 0x51, 0x7C, 0x94, 0x24, 0xD0, 0xD7};
   char ddata[DATA_LEN] = {0};
   
   bool invalidChars = false;
   for(int keyValue = 0; keyValue < KEY_LIMIT; keyValue++)
   {
       for(int wordIndex = 0; wordIndex < DATA_LEN; wordIndex++)
       {
           ddata[wordIndex] = cdata[wordIndex] ^ keyValue;
           if(!isalnum(ddata[wordIndex]) && !isspace(ddata[wordIndex]))
           {
               invalidChars = true;
               break;
           }    
       }
       
       if(!invalidChars)
       {
           printf("Data: %s - Key: 0x%X\n", ddata, keyValue);
       }
       
       memset(ddata, DATA_LEN, 0);
       invalidChars = false;
   }
}


Saludos
-[ "...I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/

THEGAME008

perdón para hacerme entender

Este código  61FA1E517C9424D0D7  lo saque del editor hexadecimal, ya que ese código contiene unas palabras (contraseña), la cual fue utilizada a través, del software camouflage a continuación relaciono la pagina en donde indican como romperla,   
https://www.guillermito2.net/stegano/camouflage/index.html

Se que este codigo 61FA1E517C9424D0D7 lo debo convertir a algo y de hay a hexadecimal, peor no comprende el procedimiento y las herramientas..

Alguno podría ayudarme a entender esa parte

ThunderCls

El procedimiento esta bien explicado en el escrito.

1- El "codigo" 61FA1E517C9424D0D7 es solamente el password cifrado en formato hexadecimal
2- Como se explica, la aplicacion usa un simple cifrado XOR con una llave de 254 bytes para guardar la contraseña

02957A220CA614E1E1CFBF65206F9EB3 99654A53FBF67554AD23CD7E9C29E7FC
E2F94DD2424E06C0F89A1C6238742400 55DF41CB01A2B7F38F8ADDAC33836029
F378243E7AEBD3E49D9D43944AC7456D 2574EB0B98C97CFCC8BA326B00D3C5C2
9434AFB0E5957D2A84A45FE56E272ADB 967E3E483946CF6F71AA3C319AA99E8F
8973B339CA32D5F031597C022E8637F9 2B7E51F241810CD46515F770D4199820
BF20B85567CC81188C133C633C9211E4 5B1B0822604C4AC58AB3C575C3907AF2
B2B6C8D0388AC286F0ACE9CA5C4E3E09 297829995A84D5BA5ED5927A38FAD060
ECF527BAEEB7DE9F9BDE65D47639769C DA688DA8A0A61ED9DB0F4DAB92CD71


3- Para descifrar cualquier password solo necesitas aplicar un XOR del password cifrado con esta llave
4- En tu caso la cadena descifrada deberia ser: "codsp2016" (61FA1E517C9424D0D7 xor 02957A220CA614E1E1)
-[ "...I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/

THEGAME008

Hola ThunderCls

Es perfecto, porque si funciono, sin embrgo quisiera entender lo siguiente,como pude encontrar el codigo

02957A220CA614E1E1CFBF65206F9EB3 99654A53FBF67554AD23CD7E9C29E7FC
E2F94DD2424E06C0F89A1C6238742400 55DF41CB01A2B7F38F8ADDAC33836029
F378243E7AEBD3E49D9D43944AC7456D 2574EB0B98C97CFCC8BA326B00D3C5C2
9434AFB0E5957D2A84A45FE56E272ADB 967E3E483946CF6F71AA3C319AA99E8F
8973B339CA32D5F031597C022E8637F9 2B7E51F241810CD46515F770D4199820
BF20B85567CC81188C133C633C9211E4 5B1B0822604C4AC58AB3C575C3907AF2
B2B6C8D0388AC286F0ACE9CA5C4E3E09 297829995A84D5BA5ED5927A38FAD060
ECF527BAEEB7DE9F9BDE65D47639769C DA688DA8A0A61ED9DB0F4DAB92CD71

y después que realizo para aplicar un XOR y dar con la palabra clave.