Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - kub0x

#151
Descifrar es siempre la parte más complicada  del análisis de datos en red. Hay ciertas maneras para controlar que el usuario utilice nuestra criptografía en vez de la proporcionada por el servidor al que se conecta, es decir, un Man-In-The-Middle (MITM).

El paso más logico para establecer un MITM y poder descifrar los datos es sutituyendo el certificado SSL/TLS que se transmite en el TLS Handshake, en concreto, en el mensaje Certificate. Hay herramientas que ya  hacen esto. No es todo oro lo que reduce, es decir, el usuario de la red al verá que sale una alerta en su navegador mencionando que existe un error de certificado, ya que el que has sustituido no puede validar el nombre de dominio por ejemplo google, facebook, ya que es prácticamente imposible que te emitan un certificado a tí bajo ese nombre de dominio. En cambio, esta técnica funciona con aplicaciones móviles, pues los programadores fallan bastante en validar cadenas de certificados, por ejemplo.

Ahora, si consigues instalar el certificado raíz en sus máquinas por ejemplo en la lista de certificados de Firefox, entonces, funcionaria a la perfección.

Otra opción es tirar por DNS spoof y conseguir que el usuario sea redireccionado a una web distinta que tu controlas. Pero el navegador ahora incluye más protecciones que impiden que ciertos dominios principales google se visualicen sin HTTPS, pero quizá valdría para páginas menos relevantes.

La criptografía es díficil de atacar, por lo tanto, para romper comunicaciones aprovechamos los "fallos de diseño" que tienen ciertos mecanismos y protocolos.
#152
Criptografía / Re: SSL/TLS y clave privada
6 Mayo 2020, 11:45 AM
Cita de: ace99 en  6 Mayo 2020, 02:20 AM
En SSL/TLS si tengo la clave privada del cliente de una conexión no puedo descifrar el tráfico, pues la clave privada del cliente sólo se usa para firmar en caso de que sea necesario.

Es opcional que el cliente disponga de su propio par pub/privkey asociado a un certificado en el handshake TLS. En cambio es obligatorio que el servidor tenga dicho certificado + par de claves. Hasta aquí bien, supongo.

Si el servidor, en este caso, tú, tuvieras la clave privada del cliente, podrías impersonarlo. Es decir, serías capaz de suplantarlo dentro de la organización a la que el cliente pertenece. En este caso, si tu alojas el servidor y sabes su privada, podrías registrar en un log que negociaste una password simétrica derivada de una PMK (pre-master key) con firma digital X, pero realmente lo hiciste con otra PMK y otra signature Y. Es decir, podrías forgear o engañar a tus supervisores sobre las negociaciones con el cliente al que pertenece dicha clave etc. También, si esa clave privada se utiliza en otros medios, como para autenticar firmas sobre archivos o mensajes, no hace falta que diga lo que puede pasar jejeje game over.

Cita de: ace99 en  6 Mayo 2020, 02:20 AM
El cliente ofrece algoritmos al servidor => el servidor le responde con el que quiere.
El cliente envía un PMS (Pre-Master-Secret) cifrado con la PÚBLICA del servidor => el servidor recibe clave, y se genera a la vez que el cliente las claves definitivas.

Bueno, depende de la cipher suite. Con RSA seguro que sí, cogiendo la pública del certificado y envíando la PMS bajo la exponencial modular. En los algoritmos que cumplen PFS (perfect forward secrecy), el servidor, envía una firma digital sobre los parámetros ephemeral en cada handshake, el cliente válida con la pubkey del certificado si esos datos fueron firmados por el server. Si fuera así, entonces genera un valor público y un privado, no cifra con la pública ni nada, sino que transforma el valor público de B en la PMS y B transforma el público de A en la PMS. A partir de aquí, A y B tienen la misma PMS y derivan la PMK. Entonces, se ve perfectamente como B no descifra para conseguir la PMS de A, sino que ambos llegan a la misma conclusion transformando valores públicos. Esta propiedad caracteriza la función del key exchange, por ejemeplo si es PMS_B=(g^x)^y y  PMS_A=(g^y)^x vemos como conmuta en el grupo de los enteros multiplicativos mod p (falta el operador mod primo, y eso, al conmutar, se consiguen los mismos valores en PMS_A y PMS_B.

Imagina que en vez de tener una clave RSA fija en el certificado, pudieras tener una distinta en cada handshake, eso es PFS, pero sin utilizar RSA claro, en vez, RSA se usa para firmas digitales y el resto viene a ser ECDHE. ES DECIR, en los algoritmos de intercambio de claves (key-exchange) no se cifra ni se descifra a no ser que el algoritmo criptográfico subyacente sea un criptosistema.
#153
Foro Libre / Re: Temas makineros
4 Mayo 2020, 22:58 PM
Grande fary no esparaba verte aquí. Vaya temazos, los últimos dos los conocía pero no su nombre. Ruboy lo acabo de escuchar y pfff ritmo a saco!!! Tampoco sabía que Marian Dacal era la voz por ejemplo de flying free.

Esa voz me suena de más temas como este de Sweet Revenge:

[youtube=180,180]https://www.youtube.com/watch?v=Oe-anw4M_ME[/youtube]

Citar
o su variante inglesa 'Happy Hardcore', o 'Makina inglesa' (La cual es una variación de la nuestra).

El happy hardcore lo descubrí hace unos años escuchando old skool hc y piano hay mucho hateo en internet por el happy,  pero a mi mola, por ejemplo DJ Slipmatt mezcla oldskool hc y happy en recopilatorios. Lo que no sabía es que se basaron en la makina catalana, bua lo que uno aprende. La verdad que la época inglesa dio auténticos temazos, no sé si atreverme a compararlo con la makina catalana, dejemoslo en que los dos lo parten ;)

En españa mucha gente piensa que la makina es el bakalo sin sentido pastillero a tope, pero ¡qué va! se equivocan yo no comulgo con eso y me gusta. Ya ves el xque, la scorpia, pont aeri vaya trío calavera jaja Aquí en Euskadi existía la ruta del norte, pero déjate de makina y tal, era + progressive, house luego minimal y bumping (hardbass ruso-vasco).

Cita de: fary en  4 Mayo 2020, 14:51 PM
Y respecto a ir a  discotecas donde ponen este tipo de música hoy en día..... No te lo recomiendo, por desgracia.

¿Algo que nos quieras contar? ¿Has llegado a ver alguna sesión wapa en vivo? Aunque yo no decía de ir remembers y eso. Antes del corona tenía pensado ir a ver a pastis, buenri, metralla y skudero que pinchaban en bcn.
#154
Foro Libre / Temas makineros
4 Mayo 2020, 13:51 PM
Sé que por este foro hay catalanes y valencianos, algunos que pudieron vivir aquella época, en concreto la música makina y me gustaría que compartieramos algunos temas. Yo no la viví, pero esa música tiene algo que te hace mover y ser feliz mientras dure la melodía  ;D Aunque este último año parece que ha resurgido en salas y eso me da unas ganas de viajar palli jeje. Os dejos unos temas a ver si algun nostálgico comparte más, sobre todo si son de BIT music. Si alguno sabe de un enlace con discos etc que pase por privado ;)

[youtube=200,200]https://www.youtube.com/watch?v=9309mKJqhi4[/youtube]

[youtube=200,200]https://www.youtube.com/watch?v=bEaWW3R3W8U[/youtube]

[youtube=200,200]https://www.youtube.com/watch?v=c1qmrTf8yu0[/youtube]

[youtube=200,200]https://www.youtube.com/watch?v=fV0jXZYcTRg[/youtube]

[youtube=200,200]https://www.youtube.com/watch?v=aNwMmxWyrUw[/youtube]

[youtube=200,200]https://www.youtube.com/watch?v=k0QceyYW9w8[/youtube]

[youtube=200,200]https://www.youtube.com/watch?v=xxXl6ljKSq4[/youtube]

[youtube=200,200]https://www.youtube.com/watch?v=9M-acwJoqaw[/youtube]

[youtube=200,200]https://www.youtube.com/watch?v=2pZoryks9Mo[/youtube]

[youtube=200,200]https://www.youtube.com/watch?v=ujEcLGMhLUw[/youtube]

[youtube=200,200]https://www.youtube.com/watch?v=wIEpDRDu43E[/youtube]

[youtube=200,200]https://www.youtube.com/watch?v=5YIKaap1H0w[/youtube]

[youtube=200,200]https://www.youtube.com/watch?v=q1pp46OcGtg[/youtube]

[youtube=200,200]https://www.youtube.com/watch?v=SeAeZ2UY6nk[/youtube]

[youtube=200,200]https://www.youtube.com/watch?v=nWlMnUl9KuU[/youtube]

[youtube=200,200]https://www.youtube.com/watch?v=Wd588S9edoU[/youtube]

[youtube=200,200]https://www.youtube.com/watch?v=A3HTps4BuWs[/youtube]

Saludos!!
#155
Criptografía / Re: Digest y sha-1
3 Mayo 2020, 18:28 PM
Son cifrados asimétricos. Antisimétrica es una propiedad de relación que guardan ciertos elementos en teoría de conjuntos, entre otras.

Cita de: ace99 en  3 Mayo 2020, 17:20 PM
¿Un Digest SHA-1 es un resumen de algo (un mensaje, una clave,etc) conseguido a través de pasar la información a través de una función hash criptográfica, en este caso sha-1?

Sí, el digest es un formalismo para hacer referencia al hash o resumen resultante de una función hash. Normalmente en literatura se menciona como message digest.
#156
Criptografía / Re: Digest y sha-1
3 Mayo 2020, 14:12 PM
Voy a plantear una serie de escenarios:

1. El servidor coge tu pública, cifra la simétrica y te envia el mensaje cifrado con la simétrica, junto con la simétrica cifrada. Tu recuperas la simétrica y descifras. No tienes más que confidencialidad. Carece de integridad y autenticación.

2. El servidor con tu pública cifra la simétrica, cifra el mensaje con la simétrica y el hash del mensaje con tu pública también. Tu recuperas simétrica con la privada, descifras y verificas el hash descifrando con tu privada. Tienes integridad y confidencialidad, pero no autenticación. Cualquiera pudo enviarte el mensaje.

3. El servidor con tu pública cifra la simétrica, cifra el mensaje con la simétrica y computa una FIRMA DIGITAL con su privada. Recuperas simétrica con tu privada, descifras y con la púiblica de la otra parte, verificas si el hash que sale del descifrado es igual al hash que sale al aplicar la pública sobre la firma digital. Si se cumple, sabes que esa firma digital fue creada por la otra parte sobre ese mensaje. Tienes auth, confidencialidad e integridad, pues sabes que te lo envió la otra parte (auth), que el mensaje no fue modificado porque los hash coinciden y la clave simétrica la obtienes por tu privada (de aquí sacas integridad y confidencialidad mientras el cifrado simétrico nos de esta propiedad).

El nivel de seguridad es 1 < 2  < 3 como bien se puede observar. Son conceptos muy liosos pero creo que al final todo tiene sentido :D

Saludos.

#157
Como ya han comentado algunos compañeros la opción de recorrer fila a fila hasta el elemento anterior al diagonal i=j, pues me he decidido a hacerlo en base a las diagonales de todas las filas. Como bien sabeís, toda fila tiene una diagonal siempre empezando desde el primer elemento es decir, esos elementos están en la primera columna, a_0,0, a_2,0, ..., a_(n-1),0. Entonces, trazando estas diagonales compruebo si el elemento es distinto de 0, si asi fuera, sabemos que no es upper triang.

En cambio, si no detectamos un 0, pasamos a la siguiente diagonal, recursivamente. Para los curiosos, N-i nos da el pivot al inicio de la función UpperTriangleDesc, por lo que si le sumamos 1 es decir N-i+1 siempre tendremos pivot+1. Cuando llegue pivot a ser igual a N, devolvemos 1, y es en efecto upper triang. Para rizar el rizo, implemento recursividad y me deshago de un doble "for" o bucle.

int upperTriangleDesc(const int **A, const int N, int pivot) {
    if (pivot == N) return 1;
    for (int i=0; i<N && pivot < N; i++)
     if (A[pivot++][i] != 0) return 0;
return upperTriangleDesc(A,N,N-i+1);
}


No será la forma más obvia y eso me gusta :D

P.D : La función ha de llamarse así upperTriangleDesc((const int **)A,N,1)
#158
Para más inri, en el primer esquema hace la rotación si el bit 127 del poly V es 0, sino hace rotacion con XOR.
En el segundo esquema, esto es reflejado en el bloque V_i+1, donde si el LSB (el último bit) es 0 entonces rotamos derecha, y si el LSB es 1 entonces rotamos V_i y Xoreamos con R para obtener V_i+1.

Otra forma sería hacerlo con lenguaje matemático, es decir, un sumatorio dividido en distintos casos. Pero no creo que sea muy útil en papers donde se toca la implementación.

De nada, cpu2. Cualquier duda ya sabes.

Saludos.
#159
Hola,

Cita de: cpu2 en 29 Abril 2020, 21:56 PM
A lo mejor es igual, solo que me esta liando la sintaxis...

Así es, te has liado con la sintáxis :D Realmente es lo mismo en ambas descripciones, voy a proceder a explicarlo:

Partiendo del pseudocode siguiente:

if Yi = 1 then
Z <- Z xor V
end if

en cada iteracción se actualiza la Z si el bit/coeficiente Yi del polinomio en GF(2^128) es 1.

En cambio, en la segunda descripción, esta operación de Z xor V se realiza con subíndices dependiendo del número de iteracción.

Es decir, tomando como referencia la i-esima iteración:

si xi = 1 entonces Z_(i+1) <- Z_i xor V_i
si xi = 0 entonces Z_i <- Z_i (se mantiene constante)

Una diferencia notable es que en el primero utiliza el bit i-esimo del poly Y y en la segunda descripcion utiliza el i-esimo bit del poly X.

Resumiendo, en la primera descripción se abstienen de utilizar esos subindices para cada iteracción en las tuplas/polinomios/bloques Z y V y prefieren dejarlo de una manera general. En la segunda, prefieren incluir dichos subíndices. Muchas veces se hace así (personalmente lo hago), para más tarde introducir elementos como el Z_i, Z_i+1, Z_j, Z_k y demás.

De esta forma, al lector le cuesta menos asociar, incluso a nosotros mismos.

Un saludo.
#160
En Linux puedes utilizar ntfs-3g para montar unidades NTFS y mkfs.ntfs para dar formato. Es bastante intuitivo, pues recuerda que el comando mkfs.FORMATO es el estandar, en este caso nosotros usamos mkfs.ext4. Algunas distros permiten hacer mount -t ntfs /dev..... lo que igual resulta hasta mejor

Y como siempre, escribiendo esto me he dado cuenta de que otro ya lo ha escrito antes https://wiki.archlinux.org/index.php/NTFS-3G

CitarThe mount type ntfs-3g does not need to be explicitly specified in Arch. The mount command by default will use /usr/bin/mount.ntfs which is symlinked to /usr/bin/ntfs-3g after the ntfs-3g package is installed.

Saludos.