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ú

Temas - kub0x

#1
Holas,

últimamente me hallo jugando por las noches al Zelda: Ocarina Of Time y pues cada vez que abro el Project64 sale el dialogo de donar, y un boton deshabilitado con una cuenta atrás o timer de 30 segundos. No sólo eso, sino que si cambio la config gráfica y me pongo a experimentar crashea y a volver a esperar los 30 secs...

Como en este foro no nos gustan las esperas, he bypasseado dicho timer para no tener que esperar como un buen ciudadano, y simplemente clickar ese botón. Sé que hay más posibilidades, como por ejemplo, impedir que se abra esa ventana que es un dialog en términos de la winAPI o bien habilitarlo en su creación, recompilar porque es software libre y un largo etc.

Antes de empezar, muestro el ANTES y el DESPUÉS de lo que sucede al abrir la aplicación:

ANTES



DESPUÉS (BYPASS)



Como Project64 ofrece un binario de 32bit en su release stable utilizamos nuestro debugger favorito, en mi caso OllyDbg ver2 va fenomenal. Abrimos OllyDbg e iniciamos Project64.exe

Ahora, para empezar, runeamos el software con F9. Cuando veamos que salga la ventana "molesta" le damos a Pause. Como el botón contiene el mensaje "Continue (X segundos)" abrimos el listado de ventanas instanciadas:



Click derecho en la fila del boton (ventana) Continue(27), y seleccionamos "Follow ClassProc"

Ponemos un breakpoint en la dirección de memoria donde nos ha llevado Olly y ejecutamos con F9:



Con Alt+K mostramos el Call Stack para ver que llamadas se han realizado hasta acabar en dicha dirección de memoria.



Hacemos doble click sobre la última llamada, la cual esta seleccionada en la imagen anterior. Esto nos lleva a la dirección de memoria donde se encuentra dicho procedimiento. Ahora estamos en 0x41D368.

En la direccion 0x41D56C vemos como hay una llamada a KillTimer. Además, hay un salto condicional, que evita la llamada a KillTimer:



Parcheamos con NOP la instrucción JNZ SHORT 0041D579 para que llame a KillTimer.



Y el resto es historia...

Dejo enlace a mega con el .exe para los que queraís usarlo y no sepaís utilizar esta guía, está limpio sentiros libres de pasarlo por Virustotal o vuestro AV. https://mega.nz/file/WxZTAKAC#Z6MV1MO7LloE1o4aCRPbqnnfvgRaZtCa_MWqxcEGLgQ
#2
Ha existido mucho criticismo desde que en 1994 se publicó el libro de Design Patterns el cual introduce numerosos patrones que intentar extender la funcionalidad de los lenguajes de la programación.

Me gustaría saber que opinaís aquellos que como un servidor, llevaís muchos años en esto. Sé que se pueden prescindir de éstos, por ejemplo, creando tu propia funcionalidad para lo que necesites. También se comenta que los lenguajes a medida que avanzan (JDK, estandar C++, .NET Framework...) también introducen sus propia forma de solventar la funcionalidad que no proveían anteriormente, eliminando el uso de patrones por parte del programador.

La pregunta sería, Patrones de Diseño: ¿Necesarios o "parcialmente" irrelevantes?

Saludos.
#3
Normalmente, en este foro hablamos de la criptografía estándar, aquella que corre en nuestros dispositivos. Muchos sabreís que algunos de los esquemas criptográficos basados en clave pública o en una única clave (simétricos) sufrirán debilidades cuando el cuántico se torne realidad.

Esto es debido a que problemas como la factorización de enteros, el cálculo del logaritmo discreto, ya sea el aplicado a curvas elípticas o en finite fields podrán ser resueltos. Una respuesta obvia sería aumentar el tamaño de clave en la parametrización de estos esquemas, pero implicaría hacerlo cada vez que la computación cuántica avance.

Hoy vamos a explicar una forma de factorizar números compuestos por dos primos, es decir, semiprimos. Es un problema conocido pues nos daría la habilidad de romper esquemas como RSA. Nótese que RSA también presenta el RSA Problem y está basado en calcular raices e-ésimas mod n.

Antes de empezar, quiero decir que el lector tiene que tener un buen conocimiento en matemáticas: tanto en teoría de números como en algebra lineal.

Factorización De Fermat (Punto Medio)

Sea [latex]N=p\cdot q[/latex] tal que [latex]p,q \in \mathbb{P}[/latex] es un producto de dos primos, por lo tanto [latex]N[/latex] es semiprimo.

Queremos encontrar los factores [latex]p,q[/latex] que componen el módulo utilizado por una clave pública RSA. Esto nos permitiría generar firmas digitales válidas, además de intervenir en el TLS Handshake bien en falsificando valores cuando RSA se usa para firma, o bien, descifrando la PMK (Pre Master Key) lo cual nos permitiría hacer un Man In The Middle en plano, como antiguamente :D

Hace unos años, cuando empecé en esto, mi problema favorito era el de la factorización de enteros, curiosamente, la de semiprimos. Resulta que reinventé la rueda al descubrir que entre dos primos siempre existe un punto medio [latex]r[/latex] el cual equidista con misma distancia [latex]d[/latex] sobre los primos [latex]p,q[/latex]. Si traducimos a cristiano esto sería:

[latex](r %2B d) \cdot (r-d)=n[/latex] donde [latex]r=\frac{p %2B q}{2}[/latex] y [latex]d=\frac{p-q}{2}[/latex]. Si vemos más alla nos damos cuenta que [latex](x %2B y)\cdot (x-y)=x^2-y^2=n[/latex], lo que nos da la expresión [latex]r^2-d^2=p\cdot q=n[/latex]. ¿Bonito verdad? ¿Pero cómo aplicarlo?

Un ejemplo sería [latex]p=17,q=11,n=17\cdot 11=187[/latex] entonces [latex]r=\frac{17 %2B 11}{2}=14[/latex] y [latex]d=17-14=3[/latex]. Si nos imáginamos los enteros positivos alineados en una línea horizontal, vemos que [latex]14[/latex] equidista [latex]3[/latex] posiciones de [latex]17,11[/latex].

Para usarlo, al saber que [latex]r^2-d^2=n[/latex] hacemos [latex]\sqrt{n-r^2}=d^2[/latex] desde [latex]r=\sqrt n %2B 1[/latex] hasta dar con una solución entera. Pena que a Pierre de Fermat, se le ocurriera hace casi 400 años, conociéndose este método por Fermat Factorization.

En el mundo real nunca sabremos [latex]p,q[/latex] de antemano, sólo [latex]n[/latex] y nuestro interés se centra en encontrar los valores [latex]r,d[/latex] mediante una técnica llamada Quadratic Sieve o Criba Cuadrática.

Quadratic Sieve : Primera Fase

En teoría de números un número b-smooth es aquel que tiene factores primos menores o iguales que [latex]b[/latex], por ejemplo [latex]30=2\cdot 3 \cdot 5[/latex] es 5-smooth pero no 3-smooth. Establecemos [latex]b \in \mathbb{P}[/latex] como primo y seguimos nuestro análisis.

Si tomamos la congruencia [latex]x^2 \equiv y^2 \pmod{N}[/latex] entonces [latex]x^2 - y^2 \equiv 0 \pmod{N} \rightarrow x^2-y^2 \mid N[/latex] (divide a N) por lo tanto [latex](x %2B y)\cdot (x-y) \mid N[/latex] y tanto [latex]x %2B y[/latex] como [latex]x-y[/latex] son factores de [latex]N[/latex].

Empezamos tomando valores [latex]y[/latex] de la congruencia [latex]x^2 \equiv y \pmod{N}[/latex]. Para eso vamos generando valores [latex]x[/latex].  Expresamos [latex]y[/latex] en la base prima b-smooth [latex]y=p_1^{e_1} \ldots,p_b^{e_b}=\prod_{i=1}^{b}p_i^{e_i}[/latex].

Guardamos y reducimos mod 2 los exponentes de la base prima de cada residuo [latex]y[/latex] en una matriz de exponentes [latex]M_e \in F_2^{b \times k}[/latex], donde [latex]k[/latex] indica el número de congruencias [latex]y[/latex] que hemos obtenido de la criba. En cada columna guardamos los exponentes [latex]e_i[/latex] de cada congruencia [latex]x_i^2 \equiv y_i \pmod{N}[/latex]. Entonces vemos [latex]M_e[/latex] como:

[latex]M_e=\begin{bmatrix}e_{1,1}, \ldots, e_{k,1}\\ \vdots \ldots \vdots \\ e_{1,b} \ldots e_{k,b} \end{bmatrix}[/latex]

Segunda Fase

¿Por qué hemos reducidos los exponentes [latex]e_i[/latex] modulo 2 y encima en columnas? Tened en cuenta que si multiplicamos dos números, sus exponentes se suman. Si tras realizar la multiplicación todos los exponentes son pares/even, entonces [latex]a \cdot b[/latex] tiene raíz cuadrada entera. Si los exponentes de [latex]a,b[/latex] son [latex]\alpha=(\alpha_1,\ldots,\alpha_b), \beta=(\beta_1,\ldots,\beta_b)[/latex] entonces la multiplicación resulta en [latex]a \cdot b = \prod_{i=1}^{b}p_i^{\alpha_i %2B \beta_i}[/latex], si cada sumando [latex]\alpha_i %2B \beta_i[/latex] es par, la tupla modulo 2 resultado de [latex]\alpha %2B \beta[/latex] daría [latex]0[/latex] en cada posición.

De esta forma, encontramos residuos b-smooth cuyo producto resulta en una tupla de exponentes enteramente par, y como estamos en [latex]\mathbb{F}_2[/latex], obtenemos una tupla que consiste de 0's y de longitud [latex]b[/latex] por lo tanto  [latex]\alpha %2B \beta=(0,\ldots,0)_b[/latex].

Si revisaís los apuntes de Álgebra Lineal, el rango de una matriz nos indica la dimensión de la imagen. Una matriz se toma como una transformación lineal, cuenta con dominio y codominio. Como nuestra matriz tiene dimensión [latex]b \times k[/latex] entonces el sistema [latex]M_e \overrightarrow{x} = \overrightarrow{0}[/latex] nos daría en el vector [latex]\overrightarrow{x}=(x_1,\ldots,x_k)[/latex] la ansiada combinación lineal, puesto que una matriz por un vector, no es más que la suma de una combinación lineal de sus columnas. Las ecuaciones de tipo [latex]A \cdot \overrightarrow{x} = \overrightarrow{0}[/latex] se resuelven calculando el kernel o nullspace de la matriz [latex]A[/latex]. Si tenemos una matriz [latex]m \times n[/latex], con [latex]m>n[/latex] entonces [latex]rk(A) \leq n[/latex] por lo tanto [latex]Dim(A)=n[/latex] y [latex]Dim(A)-rk(A)=n-r=Dim(Ker(A))[/latex].

Por lo tanto la matriz que representa el kernel de [latex]M_e[/latex] tiene dimension [latex]k \times (k-rk(A)[/latex]. Si el rango de [latex]M_e[/latex] no baja de [latex]\min(b,k)[/latex] la única solución es [latex]\overrightarrow{x}=(0,\ldots,0)_k[/latex] llamada solución trivial. Para hallar soluciones no triviales el rango ha de ser inferior a [latex]\min(b,k)[/latex] y para esto, como las columnas de [latex]M_e[/latex] corresponden a los exponentes de cada residuo, si el rango baja sabemos que existe un producto de residuos que tiene raíz entera. De esta forma, encontramos una combinación lineal [latex]\sigma=(\sigma_1,\ldots,\sigma_k)[/latex] sobre las columnas que representan los exponentes, es decir, una suma finita de estas columnas (modulo 2) que da como solución una tupla de longitud [latex]b[/latex] con todos los elementos a [latex]0[/latex]. Entonces [latex]M_e \cdot \sigma = \overrightarrow{0}_b[/latex] tal y como deseabamos.

Tercera Fase

Ahora, vamos a encontrar los valores [latex]a,b[/latex] tal que [latex]a^2-b^2=(a %2B b)(a-b)=N[/latex]. Como hemos guardado todos los valores [latex]x_i,y_i[/latex] tal que [latex]x_i^2 \equiv y \pmod{N}[/latex], haciendo uso de la tupla [latex]\sigma[/latex] calculamos el producto de los valores [latex]x_i=\sigma_i[/latex] en [latex]a[/latex]. Lo mismo para los valores de [latex]y_i[/latex] y lo hacemos en [latex]b^2[/latex]. Entonces [latex]b=\sqrt{b^2}[/latex] y [latex]\gcd(a \pm b,N) \mid N[/latex].

La fase de criba finalizaría al dar con el kernel de [latex]M_e[/latex]. Como podeís ver es una fase muy amplía, donde necesitamos muchas congruencias para encontrar una combinación lineal de los exponentes que sea par. Además es necesario en todo momento almacenar las listas de las congruencias, tanto los [latex]x_i[/latex] como los [latex]y_i[/latex]. Todo ello mediante una representación matricial, donde cada columna corresponde a los exponentes de cada termino [latex]y_i[/latex] en la base b-smooth. Para concluir, vemos como el kernel nos permite extraer valores para los cuales existe una combinación lineas de las tuplas de exponentes que da cero. De esta forma sabemos que valores [latex]y_i[/latex] forman un cuadrado mediante su producto o multiplicación.

Ejemplo Quadratic Sieve


Vamos a poner un pequeño ejemplo para ilustrar la teoŕia anteriormente expuesta.

Tomamos [latex]p=4663, q=3581, N=16698203[/latex] la base está compuesta de los 50 primeros primos entonces es 229-smooth es decir [latex]B=\{2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229\}[/latex]. Todos los valores[latex]y_i[/latex] que tratemos tienen que ser 229-smooth, es decir, factorizables entre productos de los primos en la base B.

Si empezamos con [latex]x=\lfloor \sqrt{N} \rfloor %2B 1[/latex], tras [latex]11[/latex] iteracciones, tenemos la lista [latex]X=(4107, 4114, 4125, 4371, 4401, 4657, 4745, 4836, 5217, 5221, 5355)[/latex] y la de residuos cuadraticos [latex]Y=(169246,226793,317422,2407438,2670598,4989446,5816822,6688693,10518886,10560638,11977822)[/latex].

La matriz de exponentes [latex]M_e[/latex] tiene dimensión [latex]50 \times 11[/latex] porque cada columna tiene longitud [latex]b=50[/latex] por lo tanto 50 filas y al haber 11 congruencias, de ahí sale. Nos enfrentamos al sistema [latex]M_e \cdot \overrightarrow{x} = \overrightarrow{0}_{50}[/latex]. Queremos una suma de columnas en [latex]M_e[/latex] que nos de completamente cero, y de esta forma sabremos que productos [latex]y_i y_j[/latex] dan un cuadrado mod N. La matriz [latex]M_e[/latex] se muestra a continuación:


\
La matriz [latex]M_e[/latex] tiene rango [latex]10[/latex] modulo 2. Por lo tanto, su kernel o nullspace tiene dimensión 1 y es representable mediante una matriz [latex]11 \times 1[/latex] en este caso [latex]nsM = \begin{bmatrix}0 \\ 0 \\ 1 \\ 0\\ 0\\ 0\\ 0\\ 0\\ 0\\ 0\\1 \end{bmatrix}[/latex]. Entonces, la ecuación [latex]M_e \cdot x = 0 \rightarrow A \cdot (nsM \cdot c) = 0[/latex] tiene dos soluciones (una de ellas la trivial) porque la dimensión es 1, por lo tanto una tupla en [latex]\mathbb{F}_2[/latex] tiene [latex]2[/latex] valores, en este caso 0 ó 1. Por lo tanto fijamos [latex]\sigma=(0,0,1,0,0,0,0,0,0,0,1)[/latex]  y [latex]A \sigma = 0[/latex]. Comprobad vosotros mismos que la tercera columna y la onceava columna de la matriz [latex]M_e[/latex] suman 0 mod 2 en cada coordenada/posición.

Por lo tanto, sabemos que de la lista X multiplicamos los valores 3º y el 11º, esto es, [latex]a=4125 \cdot 5355=22089375[/latex] y lo mismo con la lista Y, nos queda [latex]b^2=317422 \cdot 11977822=3802024214884[/latex]. Calculamos [latex]\sqrt{b^2}=\sqrt{3802024214884}=1949878[/latex]. Entonces [latex]\gcd(a %2B b,N)=\gcd(22089375 %2B 1949878,N)=3581[/latex] y [latex]\gcd(a-b,N)=\gcd(22089375-1949878,N)=4633[/latex].

Aquí os dejo el código del algoritmo en Mathematica. Sé que lo puedo mejorar, lo he hecho en un par de horas para colgarlo junto a este tuto. En C++ utilizando la lib de GMP es igual de sencillo, mientras tengas las matemáticas de tu lado, todo va bien. El code es lenguaje de Mathematica aunque ponga el GeShI en MatLab, recuérdenlo.

Código (matlab) [Seleccionar]

bsmooth[x_] := (
   exps = Array[0 &, Length[plist]];
   found = False;
   i = 1;
   While[found == False && i <= Length[x],
    pos = Position[plist, x[[i]][[1]]] ;
    If[pos == {},
     found = True;
     ,
     pos = pos[[1]];
     exps[[pos]] = Mod[x[[i]][[2]], 2];
     ];
    i++;
    ];
   If[found == True,
    Return[{}];
    ,
    Return[exps];
    ];
   );

ComputeFactors[list_] := (
  k = 1;
  Do[If[list[[i]] != 0, k = k*list[[i]]], {i, 1, Length[list]}];
  Return[k];
  )

QSieve[n_, blen_, limit_] := (
  ctr = 1;
  xlist = Array[0 &, limit];
  ylist = Array[0 &, limit];
  plist = Table[Prime[i], {i, 1, blen}];
  A = ConstantArray[0, {blen, limit}];
  k = 1;
  While[ctr <= limit && k <= n,
   x = Floor[Sqrt[n] + k++];
   x2 = PowerMod[x, 2, n];
   bx2 = FactorInteger[x2];
   bx2 = bsmooth[bx2];
   If[bx2 != {},
    xlist[[ctr]] = x;
    ylist[[ctr]] = x2;
    A[[All, ctr]] = bx2;
    ctr++;
    ];
   ];
  If[MatrixRank[A, Modulus -> 2] < Min[limit, blen],
   nsM = NullSpace[A, Modulus -> 2] // Transpose;
   inNS = Mod[nsM.RandomInteger[{0, 1}, Dimensions[nsM][[2]]], 2];
   factorsX = inNS*xlist;
   factorsY = inNS*ylist;
   a = ComputeFactors[factorsX];
   b = Sqrt[ComputeFactors[factorsY]];
   Return[{GCD[a + b, n], GCD[a - b, n]}];
   ,
   Print[-1];
   ];
  )


Para llamar a la función, se necesita el semiprimo n, un número blen que indica la longitud de la base de primos b-smooth y un límite, cuantas congruencias ha de recolectar. Después de recolectar, intenta obtener una solución en la transpuesta del nullspace de la matriz de exponentes. El resto es componer los factores y hacer el GCD.

He capturado un .GIF para mostrar un ejemplo del algoritmo corriendo en Mathematica:


Vemos que el nullspace aquí ya no es [latex]11 \times 1[/latex] sino [latex]1000 \times 869[/latex]. Obviamente, el ejemplo que he puesto, era facilito pero el código trabaja para valores más altos.

Y nada, ha quedado demostrado que la criba cuadrática encuentra una solución mientras que seamos capaces de factorizar números en una base b-smooth. Además de necesitar una combinación lineal válida que nos asegure la obtención de un cuadrado mediante producto de residuos cuadráticos.
#4
De los creadores de:

* Debian victima de lo politicamente correcto https://foro.elhacker.net/gnulinux/debian_gnulinux_vicitma_de_lo_politicamente_correcto-t496417.0.html;msg2195297#msg2195297 vuelve por navidad:

*Los RedSkin de fútbol Americano se cambian el nombre por obligación y no por recomendación.

Guías para la inclusión de la terminología utilizada en el Kernel de Linux https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.8-Inclusive-Terminology

Buenísima idea, síiiiiiiiii. Cambiemos BlackList por DenyList o BlockList. Cambiemos WhiteList por AllowList.

¿Master, Slave? NOOOO nadie ha ser esclavo ni dueño. LLamemoslo principal y secundario.

Eso sí, para cambiar terminología hay dinero, inversiones e interés. Para encontrar bugs, optimizar, e incluir nuevas features y dropear las obsoletas, nooooooo. Bueno, jajaj ciertamente el kernel mejora cada versión, pero ya me entendeís.

En criptografía, cambiaremos el blackbox por OpaqueBox y WhiteBox por TransparentBox. Algun día.

El negro es negro, el moro es moro, el árabe es árabe y tu madre es tu madre. J.oder con el mundo en el que vivimos.

Saludos.
#5
Abril negro / Votacion Abril Negro 2020
11 Mayo 2020, 15:22 PM
Antes de nada, agradecer a los concursantes su empeño, trabajo, y compromiso con el evento. Sin vosotros, habría sido imposible su realización.

Como bien sabeís, la presentación de proyectos terminó y por lo tanto comienza la fase de votación, que tendrá como una duración de 7 días, desde ahora. El ganador será anunciado una vez terminada la fase, teniendo en cuenta el nº de votos y los criterios comentados en https://foro.elhacker.net/abril_negro/abril_negro_2020-t503770.0.html.

Las normas de la votación son bastante simples, no se puede votar más de un proyecto, y el voto se puede cambiar.

Por lo demás, ¡qué gane el mejor!  ;D
#6
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!!
#7
Criptografía / El futuro de la criptografía
23 Abril 2020, 14:10 PM
Hace tiempo que no escribo para este subforo, todavía queda gente interesada en la criptografía e intento participar en las conversaciones. Creo que es útil explicar un poquito para donde está llendo el estudio pues en unos años el que no se renueva ahorá tendrá que hacerlo.

En la década de los 70 se descubrió el concepto de PKC (criptografía de clave pública), destacando el algoritmo de intercambio de claves de Diffie-Hellman y el hecho por Merkle en acertijos o puzzles (está tecnica se sigue utilizado en protocolos de commitment). Más tarde vino RSA, DSA, ElGamal y un poquito más tarde las curvas elípticas. Hoy día entendemos bastante bien el problema del logaritmo discreto en grupos cíclicos, pues un generador de estos grupos tiene un periodo/orden que está estrechamente relacionado con la factorización del orden del grupo. Lo mismo sucede con los residuos cuadráticos, estos permiten la factorización.

Entonces logaritmo discreto y factorización son equivalentes. El problema de la factorización se ha estudiado bastante durante la historia, genios como Gauss, Euler, Fermat, Riemann... dedicaron tiempo a ello y en el s.XX con la llegada de las máquinas, muchos otros a destacar Pollard y Shor se han dedicado a ello también, desde la parte computacional, es decir, como optimizar una máquina para buscar factores de un número. Con la llegada del ordenador cuántico esta tarea es factible para los tamaño de claves utilizados hoy día. Si nosotros aumentasemos el tamaño de la clave el doble, entonces sería resistente. Es decir, un ordenador cuántico de 2048 qubit puede factorizar un semiprimo de 1024 bits utilizado en RSA, si utilizamos un entero de 2048 bit entonces necesitaremos 4096 qubit. No sabemos si en el futuro la capacidad de aumentar qubits es factible, pero vemos que aparentemente existe una relación del doble. Lo mismo pasaría con Diffie-Hellman y derivados.

Con las curvas elípticas sucede que son más veloces a la hora de computar por ser de 128-256 bit. Un ordenador cuántico necesitaria 6 veces más qubit es decir para una de 256 pues 1530 qubits. Vemos incluso que es más factible romper una curva que resolver la factorización.

Desde los 90 se propusieron nuevas variantes del concepto de clave pública, por ejemplo: la criptografía de clave pública no conmutativa, la criptografía de clave pública multivariada, lattices, curvas elípticas supersingulares, criptografía basada en código (code-based). De esta forma, se intenta crear nuevos protocolos y criptosistemas basados en problemas matemáticos existentes o no. Analizando la complejidad de reducir el problema a otro o bien de resolverlo directamente, podemos establecer si el criptosistema/protocolo es seguro y plantear su uso futuro. Suponemos que los anteriormente dichos son resistentes a ataques en ordenadores cuánticos porque no tenemos ninguna solución para ellos, o la que tenemos no es factible ni en un clásico ni en un cuántico.

Estos campos son muy jóvenes, cada vez reciben más atención por parte de la comunidad y empresas como Google, Amazon, Microsoft, CloudFlare, Apple y guvernamentales como la NSA están ya contribuyendo a la implementación de estos. Se espera que para el año 2023 y antes de la década del 2030 anden funcionando dentro del protocolo TLS como cipher suite. El problema que los tamaños de las claves públicas son bastante más grandes que los clásicos ECC, DH, RSA.. pero hoy día la tecnología es capaz de manejarlos rápidamente sin verse afectada, y ya no te digo en el futuro...

Una conclusión bastante aparente es que la información que está siendo intercambiada, la cual es generada por la inmensa mayoría de librerías criptográficas, será legible en un futuro relativamente cercano cuando la cuántica se torne realidad. Evidentemente, la información confidencial se trata de distinta forma, y con tamaños de clave pública que por el momento retrasarían los ataques en máquinas cuánticas, pero es cuestión de tiempo.

Entonces, todo apunta a una transición en la criptografía de clave pública, un plan renove que busca asegurar los tres principios básicos de cara al futuro: confidencialidad, integridad y autenticación.

Para acabar, guste o no, nuestra capacidad de romper y descifrar en criptografía depende enteramente de nuestra habilidad para entender los problemas matemáticos subyacentes. Es imposible crear o destruir sin conocer las herramientas que te lo permiten. Puede que la criptografía sea un campo incomprendido, marginado por la mayoría de instituciones de nuestro país, pero si no estamos a la vanguardia del cambio, será imposible entenderlo, e iremos aun más por detrás.

P.D: El tema va sobre el futuro de la crypto, no cabe mención para el espionaje, backdoors y criptoanálisis realizado de forma indiscriminada por ciertas entidades.

Saludos a todos.
#8
Muchos linuxeros conocen el framework QT el cual incluye un conjunto de librerías para crear interfaces gráficas. En el ámbito del software libre siempre ha existido la lucha de GTK contra QT, otorgando a los usuarios el poder de decantarse por uno o ambos.

Resulta que ahora los futuros lanzamientos de versiones de QT podrían estar restringidas solo a usuarios de pago. Por lo que la comunidad linuxera plantea realizar un fork del proyecto para continuarlo de una forma libre. Un claro ejemplo es el desktop manager KDE el cual está basado en QT.

URL: https://www.phoronix.com/scan.php?page=news_item&px=More-Interest-Possible-Qt-Fork
#9
Hola, bienvenidos a Abril Negro 2020



Este post servirá para preguntar dudas, ofrecer sugerencias y anunciar los enlaces a vuestros proyectos, los cuales deben ser publicados en un tema a parte en este subforo.

Recordad, que podeís encontrar información del concurso así como las reglas de participación aquí -> https://foro.elhacker.net/abril_negro/abril_negro_2020-t503770.0.html
Dicho post queda bloqueado para que pueda ser visualizado "sin contaminarse".

Saludos.
#10
Abril negro / Abril Negro 2020
6 Abril 2020, 12:45 PM
Bienvenidos participantes a el evento Abril Negro 2020.



Como muchos sabeís, Abril Negro se caracteriza por ser un concurso que abarca distintas ramas de la seguridad informática, independientemente de la eticidad  >:D. Los proyectos deben tratar temas como los siguientes:

Temas


  • Exploiting
  • Cracking/Reversing
  • Forense
  • Hacking general (Wireless, Web, OS...)
  • Desarrollo y análisis de malware
  • Técnicas subversivas y/o de detección
  • Teoría de la computación aplicada a la seguridad informática (i.e: cracking de contraseñas, criptografía, privacidad ...)
  • Optimización de herramientas infosec

No es obligatorio presentar herramientas en formato binario ejecutable (PE/ELF). Podeis entregar una memoria o archivo .PDF que explique detalladamente lo que realiza vuestro proyecto, por ejemplo, una píldora informativa o tutorial sobre como evadir distintas técnicas de detección en tiempo real.

Estructura de la presentación

Todo trabajo debe de ser open source, para poder apreciar la verdadera calidad del mismo. El post de presentación del trabajo debe tener una estructura similar a la siguiente:

   Nombre del autor
   Nombre de la herramienta/píldora
   Lenguaje(s) en los que está diseñado
   Descripción del trabajo
   Captura de pantalla (en el caso de tener interfaz)
   Link de descarga que contendrá el código fuente y el archivo ejecutable (en caso de consistir en un binario ejecutable)
   Opcional: Las licencias disponibles son: GPL, MIT o CC-BY.

Importante presentar vuestros proyectos en un tema nuevo en este mismo subforo. Se irán incluyendo sobre la marcha en la sección de participantes de este post.

Bases del concurso

Para poder participar, primero, habeís de tener en cuenta las bases del concurso:


  • El plazo máximo de entrega se situa el día 8 de Mayo de 2020
  • Cualquier usuario de la comunidad de elhacker.net puede participar, sin importar antigüedad, nº de menasjes u estadísticas varias
  • El nº máximo de proyectos por usuario es 2
  • El lenguaje de programación es indiferente. Elegid el que mejor os parezca pero es recomendable que esté en la siguiente lista: ASM, C/C++, Java, C#, VB.NET, Python, Delphi, JS
  • Esta terminadamente prohibido la copia de proyectos/trabajos ajenos a vuestra propiedad intelectual. Esto se revisará, y en caso de romper la regla UD quedará descalificado
  • Queda totalmente prohibido presentarse múltiples veces bajo distintas cuentas. Igual que el punto anterior, será revisado.
  • Los proyectos presentados pueden tener una antigüedad máxima de 1 año. De esta forma, los participantes pueden seleccionar trabajos anteriormente realizados

Criterio de la evaluación

Se procederá a la fase de evalucación una vez que vuestros proyectos hayan sido presentado y el plazo del concurso se de por finalizado. Acto seguido, entra la fase de evalucación, cuyas reglas son:


  • Las votaciones empezarán el día 9 de Mayo y terminarán el día 16 del mismo mes. Cualquier miembro de la comunidad puede participar en la misma.
  • Las votaciones representan el 80% de la puntuación final sobre los proyectos
  • El 20% restante es otorgado por el jurado, el cual es parte del Staff de elhacker.net
  • De ese 20% se tendrán en cuenta: originalidad, creatividad, pulcritud/orden, documentación, funcionalidad, aplicaciones, tecnicidad
  • Por lo tanto, en caso de empate en las votaciones, la decisión final para elegir un ganador será tomada por los miembros del jurado en base a los criterios anteriormente citados

Los miembros del jurado son:


  • kub0x
  • WHK
  • fary
  • #drvy

Premios

Los premios serán dictados en cada post de publicación de cada evento, estos pueden variar cada año. De todas maneras los ganadores siempre aparecerán en el tablón principal de www.elhacker.net y en el listado de ganadores del post del evento.

Participantes

CrazyKenny - malwaretipo Bomba Fork
https://foro.elhacker.net/abril_negro/abril_negro_2020_malwaretipo_bomba_fork-t503780.0.html

**Aincrad** - Shareware Ransomware
https://foro.elhacker.net/abril_negro/abril_negro_2020_shareware_ransomware-t504255.0.html

mr-medi - phpRecon
https://foro.elhacker.net/analisis_y_diseno_de_malware/abril_negro_2020_phprecon-t504592.0.html

Emertech - BrianaWare
https://foro.elhacker.net/analisis_y_diseno_de_malware/abril_negro_2020_brianaware-t504608.0.html

@XSStringManolo - JEX
https://foro.elhacker.net/abril_negro/abril_negro_2020_jex-t504624.0.html

@XSStringManolo - RS
https://foro.elhacker.net/abril_negro/abril_negro_2020_rs-t504626.0.html

Votaciones

El periodo de votaciones comenzará el día 9 de Mayo de 2020.

Ganador

**Aincrad** - Shareware Ransomware
https://foro.elhacker.net/abril_negro/abril_negro_2020_shareware_ransomware-t504255.0.html

Mucha suerte y ¡Happy Hacking!  >:D


EDIT: Por el momento las bases y reglas están sujetas a cambios, tanto en entregas como en requerimientos/prohibiciones.
#11
Hola buenas,

me gustaría que me recomendaraís para Arch un proyecto de software libre el cual tenga una interfaz sencilla ya sea CLI (consola-terminal) o GUI y que pueda sacar por pantalla o en un archivo todo aquello que he ido dictando, en Inglés. Lo quiero para hacer un archivo de notas, estilo podcast conmigo mismo.

El software debe de ser transparente (y libre como dije) nada de enviar info a terceros que para eso tenemos Alexa o el speech recog. de Google.

Saludos.
#12
Buenas.

hace ya años del ataque Delorean el cual permitía a un atacante experimentado hacer un "MITM" (Man in the middle) en la conexión del cliente con el servidor NTP, pudiendo asi cambiar la hora del cliente hacia el futuro o el pasado, haciendo que éste falle los handshakes TLS ya que los certificados aparecerían como expirados.

Resulta que mi PC, la cual corre ARCH LINUX con Xfce4 como Desktop tiene un problemilla, y es que el reloj está 7 minutos atrasado respecto a la hora real. Por lo tanto he activado el servicio "systemd-timesyncd" el cual utiliza SNTP el hermano pequeño de NTP. Se que en mi hogar no pasará nada ya que es un bunker, y el que entre golpe de remo ya sabeís.

Pero, por ejemplo en mi laptop si lo activo y me conecto a redes conjuntas (eduroam o Wifis abiertas) que peligros tendría?
¿Cómo es que todavía no han implementado la criptografía necesaria en NTP para al menos asegurar la autenticación con el servidor remoto?

Pues eso, ¿alguna solución segura para utilizar NTP y no ser engañado por un atacante malicioso el cual pueda adelantar o retrasar mi reloj?

Saludos.

Paper delorean: https://eprint.iacr.org/2015/1020.pdf
#13
Hardware / [TECLADO] Mecánico vs Membrana
30 Agosto 2019, 11:19 AM
Siempre pensé que el teclado no es tan importante a la hora de comprar un buen equipo ya que hay otras piezas de las que preocuparse más incluido el mismo ratón.

Últimamente veo muchos teclados mecánicos a precios desorbitados y me ha dado por leer reviews y parece que son bastante cómodos para la gente como yo que se pasa tecleando todo el día en el pc.

Ahora tengo un teclado de membrana que cuando typeo muy rápido no coge bien las letras y he de pulsar muchas veces de nuevo retrasando mi escritura. Por lo demás es ligero y podría ser transportable, además de barato (marca china de estas).

Vosotros qué ventajas veis en este debate de membrana vs mecánico? Y cuál me recomendariais? De vez en cuando juego por Steam así que debe ser versátil.

Saludos.
#14
Hace unos días se hablabá de la inclusion de DNS over HTTPS en Firefox, el cual resuelve uno de los problemas más graves del ancestral protocolo DNS: la privacidad. Cada vez que visitas un sitio web, tu navegador se encarga de enviar y recibir una solicitud que traduce la dirección web que estás visitando a una dirección IP, este proceso puede ser visto por cualquiera dentro de tu red local o bien por tu ISP, aunque la web cuente con HTTPS esto no evita que terceros sepan que sitios visitas, aunque no sepan que contenidos de dichos sitios visualizas. Esto se evita realizando una petición HTTPS encapsulándo la consulta DNS, y cómo HTTPS autentica al servidor además de negociar una clave de cifrado con el mismo, pues el resultado es que ningún tercero sepa que sitios visitas, además de que le es imposible modificar dichos paquetes. OJO que DoH no ofrece autenticación, es decir, nadie puede leer ni modificar los paquetes, pero el servidor DNS puede ser o no el legítimo (para paliar esto tenemos Dnssec).

Lo he activado hoy, y verificado mediante Wireshark que todo va cifrado. Firefox de normal hace las consultas DNS en plano así que cuando lo abres, las entradas mas visitadas o los highlights los puede ver un atacante puesto que Firefox hará consultas DNS, pero con DoH eso ya no sucede. Tened en cuenta que esto solo se aplica al tráfico DNS generado en Firefox, el resto de componentes de tu sistema operativo están sujetos al servidor DNS especificado en la pila TCP/IP o bien del router.

Después de esta introducción tan simple, os dejo un enlace donde podeís activar el uso de este protocolo -> https://www.zdnet.com/article/how-to-enable-dns-over-https-doh-in-firefox/

Y si alguien utiliza los servidores de Google, dejo la URL necesaria para sustituir la que viene de cloudflare en Firefox -> https://dns.google/dns-query

Saludos.
#15
Bueno, una gran parte de los españoles nos sentimos como tal. Pero eso no quiere decir que estemos orgullosos de lo que carecemos. Vengo a preguntar para informarme sobre el I+D en ciencia en España en comparación con otros países de la UE, no me interesan otros ya que no son miembros del organismo. Dígamos que me dedico a la investigación desde hace bastante, y cada vez más estoy viendo que encontrar un trabajo "bien remunerado" en este sector es misión imposible si no  has cumplido el proceso de grado+master+doctorado. Bueno, nunca me han llamado las universidades lo suficiente como para proponerme trabajar e investigar en una, ¿que otras alternativas tenemos para investigar? Si por ejemplo mis investigaciones fueran positivas para cualquier ministerio de defensa del mundo, siendo el Español el que más me interesa, ¿cómo podría terminar instalándome allí? ¿Aceptan aplicantes?

Lo siento por tanta preguntilla, pero me deprime la idea de que la ciencia les parezca un campo inútil, y que jamás me dará de comer. La gente que me rodea me dice que me deje de tonterias de organismos públicos y/o gubernamentales y que acuda a la empresa privada, pero me temo que en la empresa privada seré un currito más y que para investigar tendré que sacrificarme mucho tiempo hasta llegar ahí, es decir, escalar mediante méritos (cosa que es normal). Para mi investigar es estar agusto, en un entorno tranquilo, cualquier trabajo fuera del ámbito retrasaría mis logros, de ahí la idea de investigar y ganar dinero haciéndolo para al menos mantenerme de forma "digna". Ahora mismo publicar una investigación me cuesta a mi dinero, si la envío a un journal cientifico me cobran a mí ya que no tengo una afiliación que me respalde económicamente. Si lo subo al arxiv (el repositorio científico con más renombre) no veo un duro, aunque la satisfacción cubra el vacío. Como dato personal, para el que se lo pregunte, me dedico a la criptografía y no encuentro ni una sola oferta de trabajo relacionada al 100% con la misma, ¿tan mal está el tema? ¿tan poco es valorado nuestro trabajo? quizá sea yo que no estoy puesto en el mercado laboral por eso acudo aquí a informarme, a que me conteís vuestras experiencias.

Saludos.
#16
Bueno me hallo soprendido ya que desconocía esta situación. Al parecer Debian cuenta con un equipo anti acoso que trabaja a favor de romper barreras de género, inclusiorias (raza), en general, acabar con la discriminación dentro de sus distintos equipos.

Cuando alguien con dos dedos de frente ve que se forma dicho comité, sabe perfectamente que va a acabar mal. Cuando incluyes gente que su único esfuerzo es hacer que las cosas parezcan perfectas, como una película de Barbie o Disney, cuando la visión del trabajador no es mas que la de sufrir para llevar a cabo la meta conjunta, que es pulir un OS para que compita con el resto de distros TOP. Competir conlleva insultar al compañero de al lado cuando la caga de vez en cuando, aunque sea en un plan suave. Son cosas del trabajo, no queremos que venga el tipo coreano o la mami a corregir nuestra actitud, faltaría más  ;-) ;-) :laugh:

Os dejo dos posts en los que acabo de perder la fé COMPLETA en Debian:

Debian continua luchando mediante su equipo Anti-Acoso: https://www.phoronix.com/scan.php?page=news_item&px=Debian-AHT-June-2019

Debian banea un paquete debido a su nombre ¿ofensivo?: https://www.phoronix.com/scan.php?page=news_item&px=Debian-AH-Archive-Removal

Y me tomo el derecho para postear la imagen de un usuario de phoronix que puso en los comentarios de la primera noticia. Imagen que explica el 100% de la era moderna:



El mundo se va a pique, ya que cuatro colectivos de *****, los cuales ni trabajan para bien, intentan controlar las empresas introduciendo políticas absurdas que infunden el miedo en el trabajador a expresarse libremente. Montas una empresa, incluyes a estos holgazanes y destruyen tu proyecto. En fin feminismo, igualdad, inclusión, discriminación-zero, meteros un buen chute e iros al año 69 a ver si la petaís pero bien. Sin MÉRITO.

Saludos.
#17
Buenas compañeros,

¿sabeís si existe algún archivo que compile fake news o casos de desinformación que sean propiamente relevantes, es decir, con un impacto medio/alto en la sociedad el cual pueda influir en nuestra opinión? De vez en cuando me gustaría leer ejemplos reales y desmentidos de noticias que se creían veraces por un gran número de personas.

Supongo que la desinformación ha perseguido a nuestra especie desde el comienzo de los tiempos, pero ahora con la globalización y el todos somos uno gracias a internet, ha derivado en una intratabilidad a la hora de contrastar la veracidad de un suceso. Y esto amigos, es muy interesante.

Saludos.
#18
Hola, hace ya tiempo que no escribo un post, pero como siempre digo, os leo en las sombras y todos los días.

Resulta que en 2014 opté por un procesador AMD FX-9370 cuyo TDP es de 220W y compré una Asrock chipset 970 que sólo soportaba 140W ademas con un diseño de VRM malo. Vamos que me colaron la placa base y luego rectificaron. Si mi equipo sigue aguantando a día de hoy, según expertos en el foro de Asrock, es porque el flujo del aire es bueno y en la VRM tengo otro ventilador. Lo malo que la cpu esta underclockeada.

Este año 2018, no tiene sentido renovar la mobo para que mi FX 9370 funcione al 100% o más, ya que mobos con el chipset 990FX no se fabrican y son las únicas que soportan las cpus de 220W (serie 9000). Existen mobos reacondicionadas o reparadas entre 100-150euros. Así que no tiene sentido comprar algo que salió en 2012 por 150€ para que la cpu vaya a su máximo, teniendo ryzen y el chipset b450 en el mercado a muy buen precio.

Se perfectamente que un ryzen 2600 incluso un 1600 le da vueltas a mi cpu AMD FX-9370 8core/8thread. He estado mirando el ryzen 1700X y el 1800X, siendo el 1800 un refrito del anterior pero con mas frecuencia. Ambos tienen 8core/16thread, mejor que un ryzen 2600 en multithreading ya que yo no soy gamer, necesito el PC para cómputo bruto y cosas nazis varias  >:D

He visto la MSI B450 Mortar Titanium por buen precio y el Ryzen 1800X también. La placa base pone que es diseño militar, con eso quiere decir que el VRM esta bien protegido. PERO es micro-ATX.

No sé si eso tiene implicaciones a la hora de overclockear y no se siquiera si mi disipador va a entrar. Quisiera hacerle OC al 1800X en esa placa y saber si podrá.

Os pido opiniones sobre si mATX, ATX, OC en ryzen, memorias, chipset y si fuera posible responder mis cuestiones en negrita.

EDIT:

He leído que sale mejor el ryzen 1700 y overclockearlo ya que su rendimiento es casi el mismo al del 1800x al overclockearlo (aunque a 4.0Ghz no creo que llegue) y su precio bastante más económico.

EDIT2: Ya he comprado el PC al final opté por otra mobo. Quizá algun día suba una review a git y la enlace aquí, la verdad que tengo mucha info que aportar sobre el funcionamiento de las tecnologías internas del ryzen.
#19
Como la gran mayoría sabeís se acerca la tormenta de pseudo iluminados Europeistas empujados por los lobbys del Copyright y el "todo es mío y de nadie más". Pero a grandes rasgos ¿como nos va afectar esta ley si entra en vigor?

De forma general lo que he visto es que los que más pierden siempre serán los medios independientes y los particulares. Si yo no pertenezco a una institución académica no puedo hacer uso de obras registradas nisiquiera para fines no comerciales:

Citar
El artículo 4 propone una excepción obligatoria para el uso de obras protegidas por derechos de autor como parte de «actividades docentes digitales y transfronterizas». Este artículo, cuando se implemente, aclarará que los establecimientos educativos pueden hacer un uso no comercial de obras protegidas por derecho de autor con fines ilustrativos.

En  mi caso que voy por libre, no podría hacer un paper haciendo referencia a material el cual está registrado ya que no pertenezco a ninguna institución académica. Como todo en esta ley, no sabemos hasta que punto sería "ilegal" referenciar el contenido registrado, quizá se permita hacer uso de links, pero quotear/citar el contenido quizá se tome como "ilegal" (de risa).

Como ser independiente que soy, tampoco puedo participar en la extracción y tratamiento de datos de manera automatizada, ya que sólo contempla el derecho de tratamiento a investigaciones científicas, cualquier software cuyo propósito no sea científico caería dentro de aquí en mi opinión.

Citar
El artículo 3 propone una excepción de derecho de autor para la extracción de datos y textos a efectos de investigación científica.

Ahora todos aquellos que tengan un espacio web para compartir información tendrán que jugar a ser policias sin sueldo claro, puesto que hay que revisar de forma constante todo lo que los usuarios publican ya que si está sujeto a copyright se debe pedir permiso al autor. Obviamente ahora los responsables de violar las leyes del copyright es de los dueños de las plataformas, cuando ahora se interpone una queja y se quita el contenido y todos contentos:

Citar
El artículo responsabiliza a estos servicios de las actividades violatorias de derechos de autor por parte de los usuarios, sustituyendo a la Directiva de Comercio Electrónico, que otorgaba un puerto seguro a los proveedores de contenido que eran "meros conductos".

La única alegría que contemplo es que excluyen servicios sin ánimo de lucro, como enciclopedias online como la Wikipedia, pero ojo, no todos los servicios del grupo Wikimedia:

Citar
La definición de proveedor de servicios de intercambio de contenido en línea excluye servicios que almacenan contenido para enciclopedias en línea sin fines de lucro, plataformas sin fines de lucro para el desarrollo de software de código abierto y repositorios educativos y científicos sin fines de lucro, así como servicios de alojamiento de archivos que permiten a los usuarios y/o empresas subir archivos para su propio uso, proveedores de servicios de Internet y mercados minoristas en línea.

Vale, resulta que ahora si puedo hacer un paper si lo subo al arxiv o al eprint, perfecto ya que se pueden considerar plataformas educativas sin fines lucrativos. Espero que así sea...

Será un calvario controlar la gran cantidad de mensajes que puedan infringir el copyright ya sea con citas, parodias, fotos y multimedia en general, etc. A simple vista parece intratable ponerle puertas al campo, pero todo sea para hacer pasta mediante el control.

Y muchas más cosas, ¿qué opinaís?

¿Montamos un buffete de abogados y nos empezamos a forrar demandando a diestro y siniestro?

Espero que Europa deje el sillón para los que realmente saben y luchan por la libertad y privacidad digital.

Saludos!
#20
Hola compañeros ya es tiempo sin escribir ni nada, pero siempre os leo en las sombras  >:D

No sé si se habrá preguntado antes pero estoy aquí para proponer la idea de lanzar una revista ¿mensual? donde usuarios del foro compartan sus conocimientos en distintas secciones.

La revista se organizaría en secciones, el contenido de las mismas tendrá que hacer referencia al título de los subforos de este foro. Así quedaría una sección para Seguridad, Bugs/Exploits, Análisis de Malware, Programación (todos los lenguajes), Win/Linux, Crypto etc

Los usuarios no tendrían porque ser parte del staff, aquellos usuarios que no formen parte podrían aplicar para escribir un artículo. Se acordarían unas pautas de redacción y presentación como: fuente y tamaño, márgenes y demás.

No me enrollo más porque no se si gustará, tengo más ideas para este proyecto pero primero he de saber si la gente será capaz de aportar.

Make elhacker great again.

Saludos !
#21
S.P.O.K

Versión Actual: v1.0.4

Simple Production Of Keys es una herramienta de cracking de contraseñas la cual implementa un algoritmo altamente eficiente para la generación de diccionarios de palabras formadas a partir de un alfabeto personalizable. La tool ha sido codeada en C++11 en GNU/Linux Fedora 24 x86_64, pero es multiplataforma.

ANTES DE NADA: Recomiendo leer el paper de mi investigación sobre este ámbito, ya que podreís encontrar ideas muy positivas y vanguardistas a parte de ver las entrañas de mi herramienta como son: las definiciones matemáticas, implementación y diseño, benchmark, coste operacional, escenarios de cracking, ahorro y comparativas con métodos tradicionales. Os invito a meteros en mi cabeza por unos minutos ;) (El paper está en Inglés y consta de 16 páginas).

Una vez invitados a leer el paper, si aún no lo habeís leído, el método de S.P.O.K ahorra un 6% comparado con el método tradicional de generación de palabras de longitud i,j generándo todas las palabras entre i y j usando sólo las de longitud j. En la sección de ideas futuras un metodo del 94% de ahorro es comentado. La versión Release en este mismo momento genera 2.5 mil millones de palabras por minuto en mi pc al escribir en fichero.

Ahora veremos que funcionalidades aporta la herramienta:

- Modo Verbose para imprimir el total de palabras por minuto, segundo y el tamaño escrito sobre el tamaño final del diccionario (ver fórmulas matemáticas en el paper).

- Modo de generación de palabras escritas a un diccionario. Por defecto genera todas las palabras de longitud 1 hasta 5 (utilizando sólo las palabras de longitud 5 (ver paper)). Si no se especifica se imprimen las words por pantalla (para uso de pipe por ejemplo).

- Modo customizable de alfabeto. Por defecto es abcdefghijklmnopqrstuvwxyz.

- Modo customizable de intervalo de generación de palabras. Permite especificar la longitud i,j de las palabras a generar utilizando sólo las palabras de máxima longitud.

- Modo de hasheado de palabras escritas a un diccionario. Si se especifica este parámetro y el modo verbose esta presente, se utilizará la fórmula matemática correspondiente para calcular el tamaño del diccionario. La herramienta permite hashear cada palabra con 1, 2 o 3 primitivas siendo estas: MD5, SHA-1 y SHA-256.

- Modo de guardado y carga de sesiones. Esta joyita os permite cerrar la herramienta durante su ejecucción sin preocupaciones guardando todo el input especificado y la última palabra generada. Al volverla abrir se retomará el progreso anterior. Tampoco generará palabras repetidas que ya hayan sido guardadas (ver paper).

Si después de emplear la herramienta o leer el paper quereís colaborar escribid aquí. También para reportar bugs: kub0x@elhacker.net

Cualquier duda sobre uso -> leer el paper ya que tiene su propia sección de uso aunque la misma herramienta incluye un apartado de help al no introducir ningún parametro.

Link al PAPER -> https://github.com/FreeJaus/gea-PRISM/blob/master/Research/spok_v.1.0.3.pdf (falta upgradear a 1.0.4, coming soon)
Link al SOURCE -> https://github.com/FreeJaus/gea-PRISM/tree/master/Programming/SPOK
Link descarga PROYECTO+SOURCES+EJECUTABLE GNU/LINUX -> https://github.com/FreeJaus/gea-PRISM/releases/tag/v.1.0.4

USUARIOS DE WINDOWS: Lo he compilado satisfactoriamente en 32bit pero al ser incapaz de encontrar las librerías y .lib de OpenSSL para x64, la versión para Windows tendrá que esperar.

Linkar con librerías: libssl, libcrypto, libpthread (En Linux). En Windows con las de OpenSSL bastaría.

Saludos, disfrutadlo y sed buenos ;)
#22
Buenas,

el título lo dice todo. Va a hacer tres años desde que compre los componentes para mi PC, y hoy, pensándolo bien decidí instalar la update del firwmare para UEFI del fabricante. Para sorpresa al arrancar el PC tras la update me dice que "CPU is not in CPU supported list".

Por lo tanto busqué si mi CPU es soportada por el fabricante y por sorpresa, en la página oficial no es listada, pero entonces, ¿por qué con la versión del firmware por defecto es soportada y con la nueva actualización no?.

Motherboard: Asrock Pro 970 r2.0 versión firmware UEFI 2.80 (tras actualizar, esta versión es la que da problemas en la CPU). La versión inicial del firwmare era 1.80 creo recordar y con la misma funcionaba de maravilla.
CPU: AMD FX-9370.

Probraré a flashear con la versión 2.60 ya que la 1.80 no la encuentro en la página oficial. Me gustaría al menos saber por que una version mas moderna del firmware no soporta mi CPU y una más antigua si lo hace.

EDIT: Ando sin suerte, probando la 2.60 sigue saliendo el mismo mensaje de que no soporta mi CPU. He creado un post en el foro técnico de Asrock para ver si alguien puede facilitarme la versión original del firmware que venía al comprar la motherboard, la versión 1.80, ya que realmente necesito hacer un rollback  :P El link al post en cuestión es: http://forum.asrock.com/forum_posts.asp?TID=4604&PID=25124&#25124

EDIT2: Bueno buscando di con este enlace a la v1.80 y flasheando el firmware he tenido suerte y todo ha vuelto a la normalidad (http://drivers.softpedia.com/get/BIOS/Asrock/ASRock-970-Pro3-R20-BIOS-180.shtml). Ahora, la cuestión sigue en pie, porque deja mi CPU no soportada al actualizar a las versiones más modernas, mi entendimiento sobre firmware y low level me dice que el código del microcontrolador de UEFI ha cambiado no pudiendo comunicarse/reconocer la CPU. Seguiré probando versiones más modernas ya que los que me conocen saben que antepongo la seguridad ante cualquier otra cosa.

Saludos!
#23
Hola compañeros, hace tiempo que no creo un post tratando mis inquietudes y me gustaría que me intentaraís ayudar:

Hace ya unos años me picó el gusano de la matemática, a partir de estudiar a fondo las ramas de la criptografía que mas interés me generan, ya que si quieres crear contenido primero has de entenderlo, cuestionarlo, trabajarlo y conectarlo con tu pensamiento. Por muchas herramientas que te den es imposible que construyas una casa el primer día.

Muchas veces al estar contemplando los teoremas y métodos matemáticos de un campo concreto me sorprendo a mi mismo debatiendo internamente sobre el origen de los mismos y el por que de su existencia, a esto lo conocemos como Metamatemática, donde se discuten dichos axiomas y su aplicación en el mundo real, científico pero también ideal. Es la clave que a la mayoría de los estudiantes o amateurs les falta por analizar, ya que es donde más se afianza el conocimiento, pero bueno el tema de enseñarnos como a máquinas (aprendete esto y lo otro) iría en otro post y tampoco me interesa debatir aquí sobre el criterio académico-social (total todo seguirá igual y nosotros cada vez más viejos ;) ).

Últimamente leo bastante material académico para afianzar mis bases y poder progresar sin tener que estar un mes con un problema, pero me gustaría también incluir la Metamatemática en mis lecturas y quisiera preguntaros si conoceís autores tanto contemporáneos y antiguos que en sus obras discuta el por que de los métodos y su conexión con la naturaleza y la "realidad". Al ser posible incluir la obra que más os llame la atención. Conozco varias decenas de autores pero me interesaría leer vuestras recomendaciones.

Gracias por vuestra atención y un saludo!
#24
GNU/Linux / Seguridad en GNU/Linux
6 Noviembre 2016, 17:57 PM
Buenas tardes compañeros,

llevo cosa de un año usando Fedora como OS principal, aunque tuve experiencias previas con otras distros, esta es la que más se ajusta a mis necesidades (por el momento).

Me gustaría saber que suites de seguridad u aplicaciones son las más utilizadas para esta temática (HIPS, IDS, AVs, Firewalls, anti-rootkits etc).

En Fedora 24 ahora mismo cuento con SELinux que por lo que veo es como un HIPS ya que monitorea ciertos recursos del sistema y previene en caso de mal funcionamiento o de compromiso, vi que también cumple la opción de Firewall.
Para rootkits cuento con RootkitHunter y chkrootkit. No tengo AV, no creo que sea necesario en Linux algo así al menos en mi caso ya que no descargo nada raro y si me explotan el navegador u otro servicio el AV no serviría de nada.

En Windows solía utilizar la suite de COMODO ya que tenía AV+FW+HIPS+Sandbox+CloudScan.

Saludos!
#25
Chinese Remainder Theorem

Buenas.

Hoy os traigo uno de los pilares matemáticos más impresionantes descubierto múltiples veces en la historia. Se le atribuye al gran Sun Tzu, es por eso que lo suelen nombrar Chinese Remainder Theorem (Teorema del resto chino), aunque otras culturas lo reinventaran con otro enunciado diferente ( para los amantes de la historia revisad: http://www.math.harvard.edu/~knill/crt/lib/Kangsheng.pdf )

¿De que trata este teorema? El siguiente planteamiento del mismo no difiere del planteamiento ancestral descrito por aquellas intrigantes culturas:

¿Cómo podemos hallar el número X que al dividir por 3 nos deja resto 2, al dividir por 5 nos deja resto 3 y al dividir por 7 nos deja resto 2? Simple, ¿verdad?. Es como si hubiera repartido una serie de objetos entre varias personas y hubiera olvidado la cantidad de objetos y solo me acuerdo de a cuantas personas he repartido y el resto de dichas operaciones.

El gran Grauss formalizó los teoremas de Euler, Lagrange, Fermat y Legendre entre tantos, formalizando de esta forma la aritmética modular en su obra maestra Disquisitiones Arithmeticae (si teneís una biblioteca en la uni corred a leerlo), y cómo no, no pudo dejar pasar la ocasión de plantear este mismo teorema, en su caso con calendarios y ciclos lunares.

Explicado el planteamiento, empecemos a adentrarnos en las profundidades matemáticas (ojalá algún día pongan LateX en este foro ... )

ATENCIÓN: Tanto la explicación algebraíca general como el ejemplo posterior son fruto de mi conocimiento y práctica, pudiendo haber mínimas diferencias con el proceso estándar/general.

Primero definamos lo que es una relación de congruencia:

[latex]3\equiv 7\pmod 4[/latex] lo expresamos como "3 es congruente a 7 módulo 4" porque "(4*1)+3=7" y porque "4 divide a 7-3".
[latex]3\equiv 11\pmod 4[/latex] "4 divide a 11-3" además "4*2 + 3 = 11"

De forma general tenemos:

[latex]b\equiv a\pmod n[/latex] , su expresión en forma de ecuación sería "a = n*k + b", además "n | a-b" es decir "a-b es el múltiplo k de n". Si "a" es divisible entre "n" tendríamos [latex]0\equiv a\pmod n[/latex]

Si no entendiste la parte anterior, tranquilo, revisa este tema https://en.wikipedia.org/wiki/Modular_arithmetic y vuelve cuando quieras.

Por lo tanto el CRT se basa en resolver el siguiente sistema de congruencias:

Dada una coleción de pares (ai, ni) tal que ai < ni donde ai es el residuo y ni el módulo de cada congruencia,

hallar x tal que:

[latex]x\equiv a_{1}\pmod n_1[/latex]
[latex]x\equiv a_{2}\pmod n_2[/latex]
[latex]x\equiv a_{3}\pmod n_3[/latex]
...
[latex]x\equiv a_i\pmod n_i[/latex]

Es decir, x dejará residuo [latex]a_{1}[/latex] al dividir por [latex]n_1[/latex], residuo  [latex]a_2[/latex] al dividir por [latex]n_2[/latex] etc.

Para que este sistema tenga solución, los módulos desde [latex]n_1[/latex] hasta [latex]n_i[/latex] deben de ser coprimos es decir gcd(n1...ni)=1. En cristiano, ninguno de los módulos puede estar compuesto por factores primos de otro módulo.

Si la coprimalidad se cumple, entonces expresaremos el módulo total como:

[latex]N = n_1*n_2*n_3*...*n_i -> lcm(n_1...n_i)[/latex]

y aplicamos la siguiente fórmula:

[latex]q = \sum_{k=0}^i a_k*N_k*[N_k^{-1}]_{n_k}[/latex] Donde [latex]N_k= \frac{N}{n_k}[/latex] y [latex][N_k^{-1}]_{n_k}[/latex] denota la multiplicativa modular inversa, [latex]1\equiv N_k*t\pmod n_k[/latex]

Si lo reescribimos tenemos:

[latex]q = \sum_{k=0}^i a_k*N_k*t_k[/latex]

Una vez calculadas y almacenadas en "q" las sucesivas iteraciones, obtenemos el residuo de nuestro nuevo sistema de la siguiente forma:

[latex]u\equiv q\pmod N[/latex] por lo tanto nuestra solucion al sistema final quedaría:

[latex] x = N*k + u [/latex]

Ejemplo:
[latex]x\equiv 2\pmod 3[/latex]
[latex]x\equiv 3\pmod 5[/latex]
[latex]x\equiv 2\pmod 7[/latex]

Primero probamos que los módulos son coprimos entre sí. Para ello comprobamos que gcd(3,5)=1 gcd(3,7)=1 gcd(5,7)=1.
Ahora calculamos el módulo total o variable multiplicativa del módulo:

[latex]N = 3*5*7 = 105[/latex]

y aplicamos la fórmula arriba descrita paso por paso:

[latex]q = \sum_{k=1}^i a_k*N_k*[N_k^{-1}]_{n_k}[/latex]

Empezamos por k=1, por lo tanto tenemos:

[latex]a_1 = 2
n_1 = 3
N_1= \frac{N}{n_1} = \frac{105}{ 3} = 35[/latex]
[latex][N_1^{-1}]_{n_1}[/latex] => para ello calculamos "t1" mediante la multiplicativa modular inversa de N1 en n1, [latex]1\equiv 35*t_k\pmod 3[/latex], a través de euler [latex]t_1\equiv 35^{\phi(3)-1}\pmod 3[/latex] por lo tanto t1=2. Si hacemos 1=35*2 (mod 3) se satisface la relación.

Ahora multiplicamos a1*N1*t1 y lo dejamos en q:

q = 2*35*2 = 140

Sigamos

i=1

a2 = 3
n2 = 5
N2 = N / n2 = 105 / 5 = 21
[(N2)-1]n2 -> Resolvemos t2 para hallar la mult. inv. mod. 1=21*t2 (mod 5) de la siguiente forma: t2 = 21phi(5)-1 (mod 5), que equivale a t2 = 213 (mod 5), por lo tanto t2=1.

y sumamos en q:

q = q + a2*N2*t2 = q + 63 = 140 + 63 = 203

Última iteración

i = 2

a3 = 2
n3 = 7
N3 = N / n3 = 105 / 7 = 15
[(N3)-1]n3 -> Resolvemos t3 para hallar la mult. inv. mod. 1=15*t3 (mod 7) de la siguiente forma: t3 = 15phi(7)-1 (mod 7), que equivale a t3 = 155 (mod 7), por lo tanto t3=1.

y sumamos en q:

q = q + a3*N3*t3 = q + 30 = 203 + 30 = 233

Ahora falta el último paso para obtener la solución al sistema inicial:

Para ello computamos:

u = q (mod N)

u = 233 (mod 105)

u = 23

y la solución al sistema inicial sería:

x = u (mod N)

x = 23 (mod 105)

Para comprobar que la solución es fidedigna sustituimos x por 23 en el sistema inicial:

2 = 23 (mod 3)
3 = 23 (mod 5)
2 = 23 (mod 7)

Y como vemos se satisfacen las congruencias en su totalidad. Otras soluciones para X serían x = 105*k + 23 -> {23, 128, 233...}

Cosas a tener en cuenta:

En la vida real las multiplicativas modulares inversas se computan mediante el Extended Euclidean y no cómo yo he hecho en mi ejemplo, ya que necesitas la factorización de cada módulo mediante el procedimiento de Euler.

CONCEPTOS A TENER EN CUENTA:

https://en.wikipedia.org/wiki/Congruence_relation
https://en.wikipedia.org/wiki/Modular_multiplicative_inverse
https://en.wikipedia.org/wiki/Modulo_operation
https://en.wikipedia.org/wiki/Euler's_totient_function
https://en.wikipedia.org/wiki/Chinese_remainder_theorem
https://en.wikipedia.org/wiki/Pairwise_coprime
https://en.wikipedia.org/wiki/Disquisitiones_Arithmeticae
https://en.wikipedia.org/wiki/Extended_Euclidean_algorithm#Computing_multiplicative_inverses_in_modular_structures

He implementado una función en C# la cual dadas dos listas que representan un sistema de congruencias, una de residuos y otra de módulos, devuelve una lista donde el primer elemento es X y el segundo elemento es N = n1*n2*..*ni. La multiplicativa inversa modular se computa de forma iterativa sin el Extended Euclidean, ya que "ai*ti" dejarán un múltiplo "ki" de "ni" pequeño.



Código (csharp) [Seleccionar]
private static BigInteger MultInv(BigInteger a, BigInteger b)
        {
            BigInteger inv = BigInteger.Zero, rem = BigInteger.Zero;
            BigInteger i = BigInteger.One;
            bool found = false;
            while (!found)
            {
                inv = BigInteger.DivRem(BigInteger.Add(BigInteger.Multiply(b, i), BigInteger.One), a, out rem);
                if (rem == BigInteger.Zero)
                    found = true;
                i++;
            }
            return inv;
        }

        private static List<BigInteger> ChineseRT(List<BigInteger> residues, List<BigInteger> modules)
        {
            List<BigInteger> sol = new List<BigInteger>(2);
            BigInteger N = BigInteger.One, ai = BigInteger.Zero, Ni = BigInteger.Zero, res = BigInteger.Zero;
            foreach (BigInteger m in modules)
                N = BigInteger.Multiply(N, m);
            for (int i = 0; i < modules.Count; i++)
            {
                ai = residues[i];
                Ni = BigInteger.Divide(N,modules[i]);
                res += BigInteger.Multiply(BigInteger.Multiply(ai, Ni), MultInv(Ni, modules[i]));
            }
            res = BigInteger.Remainder(res, N);
            sol.Add(res);
            sol.Add(N);
            return sol;
        }

        static void Main(string[] args)
        {
            List<BigInteger> residues = new List<BigInteger>();
            List<BigInteger> modules = new List<BigInteger>();
            residues.Add(2); residues.Add(3); residues.Add(2);
            modules.Add(3); modules.Add(5); modules.Add(7);
            List<BigInteger> sol = ChineseRT(residues, modules);
        }


EDIT: Seguiré adaptándolo a LateX.

Saludos!
#26
Buenas gente,

siempre ha sido tedioso escribir notación matemática en este foro, y apuesto a que no soy el único que lo sufre, seguro que muchos de vosotros sufristeís o lo seguís haciendo. No tengo constancia de si esto se ha debatido anteriormente, pero me gustaría lanzar la siguiente propuesta:

¿Podría integrarse un plugin para LateX? Así como teneís GeSHi para representar múltiples lenguajes de marcado/programación/scripting, seguro que hay un plugin para LateX en SMF que solucione el tema. Otra cosa es que sea trivial ponerlo.

Espero vuestros comentarios.

Saludos!
#27
Sugerencias y dudas sobre el Foro / Avatar y HTTPS
12 Diciembre 2015, 19:53 PM
Buenas tardes foreros,

esta consulta va hacia mis compañeros del Staff de elhacker.net pero publico aquí para que otros usuarios, si lo desean, comenten.

A media tarde he cambiado mi avatar por los dos grandes del flamenco, he subido la foto a imgur.com, donde ellos usan HTTPS y para mi sorpresa no he podido realizar dicho cambio de  avatar a través de HTTPS por lo que he tenido que especificar HTTP, probadlo por vosotros mismos https://i.imgur.com/uDpxu8H.jpg

El tema es que sale un warning en el candado de la versión HTTPS del foro lo cual nos indica que hay contenido "no seguro" concretamente contenido que viaja a través de HTTP (la imagen del avatar) y no me gusta nada ver como algo va en plano, los que me conocen saben por que.

Espero respuestas y como no, solución, HTTPS no vale de nada si hay un mixed content ;)

Saludos!
#28
Bases de Datos / Case sensitive charset español
12 Diciembre 2015, 15:58 PM
Buenas a todos, especialmente a drvy  :rolleyes:

Tengo un campo con primary key con el charset utf8_spanish_ci y el problema es que al ser case insensitive no distingue 'A' de 'a' por lo tanto no crea entradas si la upper o la lowercase ya existen. He visto que se arregla con el collate, pero cree la DB con phpMyAdmin porque mi tiempo es oro y la DB es algo trivial.

Agradecería cualquier tipo de ayuda, básicamente quiero algo case sensitive para solventar el problema con la clave primaria.

Os dejo un extracto del code SQL:

Código (SQL) [Seleccionar]
 `WORD` varchar(30) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL DEFAULT '',

Saludos.
#29
Seguridad / [TUTORIAL] Certificado HTTPS ¡GRATIS!
11 Diciembre 2015, 07:46 AM
Muy buenas a todos, sé que hace tiempo que no entro al foro pero sigo leyendo todo cada día desde modo invitado.

Hoy os traigo lo mejor de lo mejor, hace algo más de una semana, LetsEncrypt, una iniciativa de la EFF (Electronic Frontier Foundation), anunció su nueva herramienta la cual promueve el uso e instalación de certificados de forma gratuita. Bueno, ya en las charlas de mi git hablé de ello, pero todavía estaban en pañales y bueno ahora está en beta.

Haré una breve introducción del porque es una gran iniciativa que realmente está orientando el control de internet hacia nosotros, los usuarios, ya que la privacidad ahora está de nuestra parte.

INTRODUCCIÓN:

HTTPS se basa en la utilización de PKI + SSL/TLS. A través de estos estándares podemos garantizar la integridad, confiabilidad y la autenticidad de la conexión pertinente, gracias a la criptografía de clave pública y a los certificados X509v3. No os quiero aburrir con tecnicismos, podeís pedirme si quereis un tutorial extendido sobre criptografía asimétrica, TLS, PKI y certificados.

Cuando uno se conecta a una Web mediante HTTPS se realiza una negociación de claves para establecer una conexión segura, uno de los pasos de esta negociación tiene que ver con el certificado. Éste sólo es válido si ha sido firmado por una entidad certificadora (CA), y estas entidades obviamente cobran por certificado emitido, y sí, son cantidad muchas veces desorbitadas.

Gracias a la iniciativa LetsEncrypt podemos obtener un certificado de manera gratuita. ¿Pero, el certificado ya será válido? Sí, al 100%, puesto que el mismo es firmado por una CA de confianza (IdenTrust CA). ¿Y no pierden dinero las otras CA (competencia)? Sí, pero dar este paso era fundamental para retomar el control sobre nuestra privacidad.

Resumiendo, lo que quiero que entendaís es que podeís proteger el tráfico de vuestras Webs personales de ataques Man-In-The-Middle (MITM) sin gastar vuestro dinero en certificados costosos que para colmo hay que pagar por cada renovación del mismo. Esto supone una gran patada al gran hermano amigos.

INSTALACIÓN

Primero, remarcar que la herramienta sólo es empleable por ahora en GNU/Linux, preveen portarla pronto a Windows, pero como bien dije todavía están en Beta.

Para los interesados estoy utilizando CentOs. Abrid vuestra terminal, situaros en el directorio que queraís, descargadla mediante el cliente de git de la siguiente forma y acto seguido corred el cliente letsencrypt-auto para que instale las dependencias auxiliares necesarias (OJO: necesitareís permisos de root):

$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt
$ ./letsencrypt-auto

Si no podeis correr el cliente letsencrypt-auto probad a ejecutarlo de la siguiente forma:

$ ./letsencrypt-auto --debug (esto sucede con versiones de Python obsoletas/antiguas.)

USO DE LA HERRAMIENTA

Aquí os explicare el método manual, el cual consiste en generar un par de claves pública/privada además del CSR. El CSR (Certificate Signing Request) es el archivo que contiene la información de nuestra entidad, dominios a proteger, algoritmos de firma digital y nuestra clave pública, que será enviado mediante el cliente de LetsEncrypt a su entidad certificadora (CA) para que nos lo firme y nos devuelva un certificado SSL/TLS.

Existen métodos automatizados que facilitan la obtención del certificado sin tanto rodeo, interesados -> https://letsencrypt.org/howitworks/

Os aviso de antemano que encontrareís MUY POCA info del método manual, todo lo que os voy a explicar a continuación es una recopilación de mi esfuerzo y horas invertidas en este proceso.

Primero generamos nuestro par de claves pública/privada junto al CSR, todo a la vez. En este comando incluiremos la información personal del sitio así como los dominios a proteger:

openssl req -new -newkey rsa:2048 -sha256 -nodes -keyout privkey.pem -out signreq.der -subj "/C=SP/ST=BI/O=NoLucro,S.A./CN=dominio.com" -outform der -reqexts SAN -config <(cat /etc/pki/tls/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:dominio.com,DNS:www.dominio.com,DNS:subdominio.com,DNS:www.subdominio.com"))

Os explico los parámetros:

-newkey: Genera un par de claves, en este caso RSA 2048 bit. También soporta 4096 bit.
-sha256: Algoritmo empleado para la verificación de la firma digital del certificado. Recordad, SHA-1 se considerá inseguro.
-nodes: La clave privada no será cifrada mediante criptografía simétrica.
-keyout: Archivo donde se guardará la clave privada, su contenedor es del tipo .pem.
-out: Archivo donde se guardará el CSR, IMPORTANTÍSIMO que sea .der pues LetsEncrypt no soporta .pem para el CSR.
-subj: Información personal del dueño de nuestra Web (nosotros). "C" es Country (país, 2 letras, SP=España), ST (ciudad, ¿2 letras?, BI=Bilbao), O (organicación), CN (dominio de la web).
-outform der: Como ya he dicho, este comando es fundamental para convertir el CSR en formado .der para que sea reconocible por LetsEncrypt.
-reqexts: Nos permite espicificar más de un dominio para el certificado, así un mismo certificado sirve para varios dominios/subdominios.
SAN: Subject Alter Name, campo del CSR donde podemos especificar más de un dominio, como ya he dicho previamente. Importante incluir los dominios sin www y con www, además de incluir el dominio del campo "CN".

Si todo va bien obtendreís el siguiente output al ejecutar el comando:

Generating a 2048 bit RSA private key
.........................................................................................+++
....................................................+++
writing new private key to 'privkey.pem'
-----


Ahora que tenemos el CSR, necesitamos que la entidad certificadora (CA) de LetsEncrypt nos lo firme con su clave privada, bueno, realmente firma el SHA256 de nuestro certificado y lo incluye en un nuevo campo, y ese resultado es lo que conocemos por certificado x509v3 o certificado SSL/TLS.

Para ello ejecutamos el cliente de LetsEncrypt de la siguiente forma:

./letsencrypt-auto certonly --authenticator manual --email vuestro@email.com --csr signreq.der --text --debug

Bueno no os preocupeis de la cascada de datos que se muestra en pantalla. Llegará un punto en el que el cliente se detenga y os pregunte si le dais consentimiento para almacenar vuestra IP, por seguridad, aceptaís y estareís en la siguiente fase, donde tendremos que provar a LetsEncrypt que somos los dueños de los dominios pertenecientes al CSR. Obtendreís algo como:

Make sure your web server displays the following content at
http://www.dominio.com/.well-known/acme-challenge/XU61P5E-sEefZB5vjllHeQWRpkDs2G_AvlxitI6hOIQ before continuing:

XU61P5E-sEefZB5vjllHeQWRpkDs2G_AvlxitI6hOIQ.BON7JEeVn9miBfADQ34eQIcUTsSTVsHRQqCeXuVUGVs


Simplemente nos dicen que creemos el directorio .well-known/acme-challenge en el directorio raíz de nuestro servidor. Una vez creado, en este ejemplo, crearemos el archivo XU61P5E-sEefZB5vjllHeQWRpkDs2G_AvlxitI6hOIQ con la siguiente cadena dentro XU61P5E-sEefZB5vjllHeQWRpkDs2G_AvlxitI6hOIQ.BON7JEeVn9miBfADQ34eQIcUTsSTVsHRQqCeXuVUGVs. Cuando hayais terminado visitad la URL en vuestro navegador para cercioraros de que la cadena es visible. Una vez completado el proceso presionad ENTER en la terminal donde estaís ejecutando el cliente LetsEncrypt.

Daros cuenta que las cadenas de arriba son un ejemplo, además tendreís que repetir este proceso por cada dominio especificado en el apartado SAN del CSR, ya que por cada dominio tendreís que probar a LetsEncrypt que sois vosotros sus respectivos dueños.

Si la verificación del challenge ha sido satisfactoria obtendreís un mensaje como este:

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
   /home/kub0x/letsencrypt/0001_chain.pem. Your cert will expire on
   2016-03-10. To obtain a new version of the certificate in the
   future, simply run Let's Encrypt again.


Felicidades, ya teneis vuestro propio certificado gratuito firmado por una entidad de confianza, por lo que vuestro certificado es válido en cualquier plataforma, navegador etc. El siguiente paso os lo dejo a vosotros. Si teneis apache simplemente modificad vuestra configuración de VirtualHosts e indicar donde está la clave privada, el certificado que habeís obtenido y la certificate chain, pues sin esta última es imposible verificar que el certificado fue emitido por LetsEncrypt.

PROS:

- Certificado válido bajo cualquier plataforma y firmado por una entidad de confianza (CA), ya que LetsEncrypt delega en IdenTrust, CA (trust-anchor) confiada por todo tipo de plataformas. + info sobre la CA en: https://letsencrypt.org/certificates/
- Renovación del certificado gratuita.
- Dentro de poco implementarán la emisión de certificados mediante la prueba de DNS, junto a la previamente expuesta basada en HTTP.

CONTRAS:

- Se encuentra en fase Beta, por lo que requiere de un conocimiento avanzado (según el modo de instalación) y no está para nada libre de bugs.
- Los certificados tienen que ser renovados cada cierto tiempo, es una política de seguridad para evitar que estén activos largos periodos de tiempo.
- En algunos hostings gratuitos o administrados es necesario deshabilitar el módulo de apache mod_security puesto que obtendremos un error "403 forbidden". En nginx ni idea.
- No se puede obtener un certificado de tipo WildCard, es decir, no emiten certificados del tipo *.dominio.com. por lo que debemos especificar en el campo SAN del CSR todos los dominios a proteger.
- Por ahora no tiene soporte en Windows.

Estaré encantado en responder cualquier cuestión relacionada con el tema. Si me animais a hacer un tutorial sobre certificados, HTTPS, SSL/TLS, RSA e incluso la matemática interna, pues obviamente, lo realizaré muy agusto, pues ahora mi entretenimiento es la criptografía al 100%.

Saludos!
#30
Buenas noches,

Como todos sabemos, en mayo postee sobre las actualizaciones espía de Windows. Hace poco los medios han empezado a informar sobre esta tendencia por parte de Microsoft, ya que Windows 10 sigue en la línea.

Es por ello por lo que he desarrollado una tool para la eliminación de estas updates. Es totalmente gratuita, código abierto y libre de virus.

Para los interesados el código lo podeís encontrar en mi repositorio-> https://github.com/FreeJaus/gea-PRISM/tree/master/Programming/WinUpdate%20Removal/WinUpdate%20Removal

Si no sabeís como funciona github o bien os da pereza os dejo el source con los ejecutables (código + .exe) -> https://mega.nz/#!a04UFKbJ!UvjjUr6FxBFtTnkCu8hUsEsShMA2i_5KrUdnoFP8eqs

En la carpeta "executables" encontrareis los .exe para 32 y 64 bits. Ejecutad el correspondiente a vuestra plataforma, sino el desinstalador no funcionará correctamente.

Os explico el funcionamiento:

Esta herramienta codeada en C++ lista vuestras actualizaciones e identifica las actualizaciones espía instaladas en vuestro sistema. Una vez identificadas trata de desinstalarlas.

Captura (las updates que aparecen son legítimas, las puse de ejemplo que conste):



Si sabeís de alguna actualización espía adicional no dudeís en contribuir en el siguiente post -> https://foro.elhacker.net/windows/actualizacion_espia_oficial_de_windows_update-t435355.0.html

Ahí encontrareís todas las actualizaciones espía que he ido identificando.

Saludos y no dejeís que invadan vuestra privacidad sin vuestro consentimiento.
#31
Windows / Clonar HDD a SSD sin formatear
11 Julio 2015, 18:35 PM
Buenas tardes a todos,

pues hace relativamente poco compré un SSD pues las tasas de lectura y escritura de mi HDD actual son muy bajas.

El problema es que mi partición de Windows contiene muchos datos y me gustaría migrar el Sistema operativo y ciertos programas al SSD.

Sé que se puede hacer, pero lo que más me preocupa son aquellas claves y subclaves que albergan valores del disco duro actual, si transpaso esa data al SSD, esos valores del registro habría que retocarlos para que apunten al SSD.

Mi disco duro viene con una app para realizar dicha clonación de disco, pero tampoco sé si fiarme, puesto que no se como trata lo del registro.

Link a la app de clonación -> http://transcend-info.com/Support/Software-10/

Mi pregunta es, ¿Habeís utilizado alguna app para transpasar/clonar directorios entre discos en Windows 7/8? ¿Cuál sería la mejor forma de mover el OS actual al SSD sin formatear?

Saludos.
#32
Buenas tardes a todos,

Desde ayer Tapatalk no me funciona al entrar al foro, pero si que lo hace con otras comunidades.

El error que obtengo es el siguiente: get_config Network error, please try again later.

Quisiera saber si algun usuario más del foro está teniendo los mismos problemas al intentar acceder.

Saludos!
#33
Buenas tardes señores,

Desde Windows Vista y posteriores un kernel-mode driver no booteable (non-boot) es instalado validando el certificado emitido para firmar el archivo del catálogo (.cat) y cada uno de los archivos asociados al catálogo.

El procedimiento se realiza comprobando si la cadena de certificado es válida, esto significa que la Root CA que firmó nuestro certificado debe de estar en la local Trusted Root CA (Entidades de raíz de confianza) y además nuestro certificado (no el Root CA) debe de estar en la local Trusted Publisher (Editores de Confianza).
De esta forma al usuario no se le pregunta si confía en el sujeto que firmó el driver.

Vale nos hemos quitado un peso de encima, pero queda la cuestión más importante y es subir al kernel.

Al finalizar la instalación, el driver supongo que es cargado por winload, y el problema es que falla al verificar la firma digital.
Esto es debido a que el certificado no ha sido firmado por una CA de confianza dado que winload tendrá su propia lista de Root CAs, así que la única manera LEGAL de pasar el checkeo es comprar un certificado emitido por una CA de confianza, las cuáles están en esta lista -> https://msdn.microsoft.com/en-us/library/windows/hardware/dn170454%28v=vs.85%29.aspx

Ahora mi pregunta,

existe alguna manera de patchear windload para insertar una nueva Root CA para que cuando se cargue nuestro driver valide el certificado correctamente? Sé que al modificar winload su firma digital se romperá, pero podríamos refirmarlo con la clave privada asociada a nuestra nueva Root CA, que ahora reside en winload, por lo que la verificación sería satisfactoria.

Espero que alguien de aquí haya pensado en esto alguna vez, sino es un tema muy extenso :/ Aun así gracias por vuestra atención.

Este post lo he escrito también en la comunidad Stackexchange de Ingeniería Inversa, por si os interesa el tema -> http://reverseengineering.stackexchange.com/questions/9243/patch-driver-loading-process

Saludos!
#34
Buenas a todos,

os vengo a proponer un tema curioso y de índole personal el cual consiste en definir nuestras metas para un futuro no tan lejano, donde se supone que debiéramos de estar asentados trabajando en un área concreta.

Os traigo las siguientes custiones:

¿Qué profesión te gustaría ejercer?
¿Cuál sería tu trabajo ideal considerando tu modo de vida (filosofía de vida)?
¿Te gustaría trabajar en una gran empresa? ¿O a su vez te gustaría fundar la tuya propia? ¿Por qué?
¿Contribuirías o publicarías avances en alguna rama tecnológica?
¿Qué tipo de productos te gustaría desarollar?
¿Estaría tu trabajo destinado a resolver problemas actualmente no solucionados?


Si se os ocurre alguna pregunta más no dudéis en comunicarlo.

Saludos.
#35
Buenas,

a todos los usuarios de Windows 7/8/8.1 y 10. Microsoft ha lanzado varias updates últimamente. Una de ellas es de carácter espía dónde se recolectan datos de todo tipo y son enviados a sus servidores.

No. No estoy loco. Esta update es originaria de Windows 10, donde los testers envían info personal y del sistema mediante un servicio de Windows. Ahora esa update ha parado en versiones actuales de Windows 7 y 8/8.1.

CitarIt collects HUGE amounts of data in Windows 10. Since it's the exact same service, chances are it collects the same huge amount of data in Windows 8.1 as well.

Traducido para el que no sepa Inglés:

CitarEste servicio recolecta montones de datos en Windows 10. Dado que es el mismo servicio, las posibilidades de que recolecte la misma cantidad en Windows 8.1 o anteriores es la misma.

Para desinstalar la actualización id a Windows Update. Clickad sobre la lista de Actualizaciones Instaladas y desinstalad la Actualización KB3022345

+ Info en:

http://thepcwhisperer.blogspot.com.es/2014/10/microsofts-windows-10-preview-has-built.html
http://malwaretips.com/threads/diagnostic-tracking-service-in-windows-7-sp1-8-1.45940/
http://www.dslreports.com/forum/r30018831-Diagnostics-Tracking-Service-MS-KB-3022345

Saludos.

EDITO:

Resumiendo: desinstalad las siguientes Actualizaciones -> KB3035583 KB3068708 KB3022345 KB2976978 KB3068708 KB3075249 KB3080149 KB2952664 KB2976978 KB3021917 KB3044374 KB2990214 KB2505438 KB2670838
#36
Abril negro / Sobre Abril Negro
5 Abril 2015, 19:06 PM
Buenas tardes a todos,

hace unos años se celebraba el mítico concurso Abril Negro donde todos los foreros presentaban sus tools hackerianas, donde luego eran revisadas y evaluadas por el staff del foro. Sé que alguno de vosotros también lo echa en falta, así que ¿por qué no lo traemos de vuelta este año?

Hay muchos users que se están iniciando en el mundo de la seguridad y que mejor que presentar sus proyectos para que el resto de usuarios opinen/valoren. Los veteranos también podríamos participar, pero sería bueno que hubiera de todo un poco. Si os gusta la idea podría organizarlo junto a otro miembro del staff :)

Espero respuesta y opiniones.

¡Saludos!
#37
Noticias / Vulnerabilidad descubierta en Tuenti.com
4 Diciembre 2014, 03:48 AM
Muy buenas,

hoy me encontraba auditando la seguridad en Tuenti, especialmente en la gestión de Cookies por parte de este servicio. Como todos sabemos Tuenti ofrece cifrado por TLS por lo que el tráfico generado por el usuario es díficil de descifrar por un atacante sin recurrir a la ingeniería social.

Las Cookies funcionan de manera distinta ya que sin la secure-flag estás pueden ser transmitidas en peticiones HTTP a URLs del mismo servicio. Este es el caso de Tuenti pues no marca sus cookies con la secure-flag además de realizar peticiones HTTP a URLs de su mismo servicio por lo que esto deriva en que las cookies pueden ser capturadas en texto plano al interceptar dichas peticiones HTTP. Resumiendo, ellos implementan SSL/TLS (HTTPS) pero no han tenido en cuenta que si sus cookies no están securizadas pueden revelar la sesión del usuario permitiendo a un atacante ejecutar una suplantación de sesión lo que le permitiría el acceso total a la cuenta intervenida.

Tuenti ya ha sido avisado del bug y ando esperando respuesta por su parte. Les he dejado la solución al problema así que esperemos que lo solucionen lo antes posible.

Aquí os dejo una PoC del tema en cuestión. Doy por supuesto que teneís nociones básicas sobre ataques MITM (ARP Spoofing). Podríamos también obligar al usuario a visitar un enlace legítimo de Tuenti en HTTP (mediante DNS spoof) para que incluya las cookies de sesión del usuario comprometido.

[youtube=640,360]https://www.youtube.com/watch?v=a8_B8DDDYWc[/youtube]

Para protegernos podemos seguir los siguientes pasos:

- Tuenti debería de marcar sus cookies con la secure-flag para forzar su inclusión solo en tráfico cifrado (muerto el perro se acabó la rabia).
- No utilizar cookies persistentes cuya sesión no expire. El atacante tendría acceso permanente a la cuenta del usuario.
- Cerrar la sesión de Tuenti al terminar de usar el servicio. Tened en cuenta que el atacante y la víctima comparten la misma cookie de sesión, si uno de los dos cierra la sesión ambos se quedarían sin servicio.
- No utilizar redes Wi-Fi inseguras para conectarse a Tuenti o bien utilizar alternativas como VPN en dichos entornos.

No he auditado la app del movil, sin embargo, puede que sufran del mismo problema por lo que estad al loro. Os lo haré saber cuando tenga una respuesta por parte de su equipo.

Saludos.
#38
Foro Libre / Cybercamp 5/12 - 7/12 - Madrid
2 Diciembre 2014, 16:47 PM
Buenas,

como muchos sabreis este viernes día 5 comienza en Madrid el congreso mundial de cyber seguridad "Cybercamp".

Tengo el placer de asistir y abro este post con la intención de que los que vayamos podamos juntarnos, conocernos mejor y compartir experiencias entre todos, además de tomarnos unas cañas jejeje. Para los interesados -> https://cybercamp.es/principal

Happy hacking!
#39
Seguridad / Tapatalk inseguridad elhacker.net
2 Diciembre 2014, 16:41 PM
Muy buenas a todos,

hace unos dias audité la seguridad en Tapatalk y pude comprobar que las credenciales son enviadas en plano y encodeadas en Base64. No sé si alguno más de vosotros utiliza Tapatalk para conectarse al foro, ¿existe la posibilidad de forzar el tráfico del foro por SSL/TLS en Tapatalk? Sé que otros foros si usan SSL en las conexiones por Tapatalk así que supongo que se podrá adaptar, corregidme si meto la pata ;)

Por lo demás, si quereis estar protegidos en entornos Wi-Fi usad una conexión VPN que cifre vuestro tráfico para que los posibles atacantes no puedan acceder a tu información sensible, sea cual sea.

Saludos!
#40
Seguridad / OpenSSL vs NSS
30 Noviembre 2014, 19:30 PM
Buenas,

quisiera saber que librería SSL/TLS utilizais en vuestros proyectos y el porque. Si miramos al pasado tenemos el caso Poodle, donde un atacante podía hacer un downgrade al canal SSL para que utilizara SSLv3 en la comunicación y Heartbleed, relacionado con OpenSSL. También me gustaría saber si se deshabilitó el uso de SSLv3 en NSS y OpenSSL.

Por lo que veo debería utilizar TLSv1.2 ya que la 1.0 y la 1.1 son inseguras : http://tools.ietf.org/html/rfc5246#section-1.2

Enlace interesante que comprueba la seguridad de nuestras conexiones SSL: https://www.howsmyssl.com/

Aquí os dejo una comparativa de las librerías SSL/TLS actuales:
http://en.wikipedia.org/wiki/Comparison_of_TLS_implementations#Protocol_support

Saludos.
#41
Seguridad / Charlas seguridad informática
28 Noviembre 2014, 15:44 PM
Muy buenas,

Este año empecé a impartir charlas en mi universidad (País Vasco) sobre diversos temas relacionados con la seguridad informática: hacking ético, malware, vulnerabilidades web/software/OS , bugs y exploits, SSL/TLS, privacidad ...

Ayer impartí dos sesiones y quería compartir con vosotros el material expuesto y las referencias que he consultado.

Enlaces para los interesados:

Charlas: https://github.com/FreeJaus/gea-PRISM/tree/master/Security%20Talks
Trabajo de investigación: https://github.com/FreeJaus/gea-PRISM/tree/master/Research/Microsoft/Bugs%20%26%20Exploits
Referencias: https://github.com/FreeJaus/gea-PRISM/tree/master/Documentation

Iré subiendo contenido frecuentemente pues falta alguna charla y documentación.

Además contamos con soporte en vídeo en: https://www.youtube.com/user/FreeJaus este finde subiré los vídeos de sesiones anteriores.

Si sois de Euskadi y os interesa la electrónica y/o la informática no dudeis en suscribiros a https://twitter.com/FreeJaus para estar atentos de los últimos eventos a organizar.

Gracias y saludos.
#42
Foro Libre / Sobre las pirámides egipcias
16 Noviembre 2014, 19:46 PM
Buenas a todo el mundo,

documentándome acerca de los detalles arquitectónicos de las pirámides he quedado sorprendido con algunos detalles sobre la precisión y error mínimo de la colocación de las piedras, así como los largos y kilométricos pasadizos que alberga en su interior, además del corto plazo de construción y las herramientas y materiales empleados para la misma.

Os dejo un vídeo que lo expone bastante bien:

[youtube=640,360]https://www.youtube.com/watch?v=Gl_yvuEcIRQ[/youtube]

Me gustaría que diérais vuestra opinión al respecto. Según algunos expertos del vídeo, todavía hoy día no contamos con la precisión con la que los egipcios construyeron dichos bloques.

Saludos.
#43
Seguridad / explorer.exe conexiones TCP salientes
12 Noviembre 2014, 18:02 PM
Buenas tardes,

hace tiempo que leí que explorer.exe se conecta a servidores de Microsoft para mejorar la experiencia de conectividad de red, y seguramente, para más cosas como envío de información personalizada, cosa que te dejan deshabilitar al instalar Windows 8.1 (mi OS), por lo que me deshice de aquellas configuraciones que permiten el envío de informes, smartscreen y la cloud de Microsoft (SkyDrive). Como soy paranoico tengo creada una extensa regla de firewall para filtrar conexiones indeseadas bajo mi criterio.

Por lo tanto, ¿es normal que cada 10 minutos explorer.exe abra conexiones a estos hosts? En algunos utiliza SSL como podeis ver en la imagen de abajo.



Os dejo info de algunas de las IPs:

Esta siempre va por SSL y pertence a Microsoft -> http://www.elhacker.net/geolocalizacion.html?host=157.56.122.47
Esta otra ni siquiera es de Microsoft y siempre va por puerto 80 asi que pondré WIRESHARK a la escucha a ver que saco -> http://www.elhacker.net/geolocalizacion.html?host=204.245.63.67
También otra por puerto 80 y no es de M$ -> http://www.elhacker.net/geolocalizacion.html?host=64.208.186.27

Si alguno de vosotros sabe si Windows hace uso de otros ejecutables para enviar info a sus servidores ponedlo por aquí.


EDITO:


He analizado con Wireshark las conexiones con 64.208.186.27:80 (HTTP) y afirmo que explorer.exe se encarga de mantener los gadegts del escritorio metro, ya que descarga varios .xml relacionados con el tiempo o con las finanzas, en mi caso, seguramente se ocupe de actualizar otros gadgets.

Aquí os dejo las URLs que he obtenido con Wireshark, así como unas capturas de los .xml solicitados y los gadgets de metro, veréis que guardan relación.

URL: http://finance.services.appex.bing.com/Market.svc/AppTileV2?symbols=&contentType=-1&tileType=0&locale=es-ES

XML:



Gadget metro:



URL: http://weather.tile.appex.bing.com/WeatherService.svc/PreInstallLiveTile?lang=es-ES&region=ES&appid=C98EA5B0842DBB9405BBF071E1DA76512D21FE36&FORM=APXWEA

XML:



Gadget metro:



Que conste que no soy de Madrid, ya que deshabilite que las apps de Windows pudieran saber de mi localización.

Saludos!
#44
Buenos días a todos,

me gustaría saber donde encontrar un mercado de exploits 0-day, en este caso, para vender dicho contenido. ¿Hay alguna zona de compra/venta legal?

Lo ilegal como que no me llama, pero me pica la curiosidad por saber como se llevan a cabo ese tipo de transacciones.

Saludos!
#45
Muy buenas,

llevo toda la semana profundizando en el tema de escalación de privilegios y subversión de UAC en Win7/Win8 (x86/x64). Ayer por casualdiad encontré una nueva forma de escalar privilegios (SYSTEM) en Windows 8.1 Pro x64. La técnica es conocida pero fue parcheada hace tiempo. Lo que he logrado es modificar dicho procedimiento así que la escalada de privilegios es viable y no conocida por Microsoft. Básicamente te permite ejecutar un programa como Admin/SYSTEM sin tener privilegios y sin saltar UAC.

He estado leyendo acerca del programa de recompensas de Microsoft y piden firmar un pre-acuerdo -> http://technet.microsoft.com/en-us/security/dn425049
Ahí podeis fijaros en los requisitos previos, pero también dicen que quieren todo tipo de vulnerabilidades, vivas o muertas (0-days o técnicas conocidas).

¿Alguien ha tenido alguna experiencia previa con este tipo de programa? ¿Qué me recomendais hacer? Realmente me gustaría reportarlo y obtener una recompensa. Ayer les envié un mensaje a la dirección del pre-registro, todavía espero su respuesta.

Saludos!