Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Mensajes - @XSStringManolo

#1541
Dudas Generales / Re: TuEagles AntiPorn
27 Septiembre 2019, 23:31 PM
Cita de: MCKSys Argentina en 27 Septiembre 2019, 22:01 PM
Al parecer, los padres le han bloqueado el acceso a sitios porno. No lo están espiando.

Personalmente, creo que debería hablar con sus padres del asunto y no intentar "hackear" la PC.

Saludos!
Si mis padres me coartasen mi libertad en vez de aconsejarme o dejarme descubrir las cosas por mi mismo pensaría que tienen un buen retraso mental. Los padres tienen que proteger a sus hijos, aconsejarles, centrarles, guiarles, enseñarles, potenciarles... No castigar, prohibir, manipular, mentir, invadir la privacidad...


#1542
Dudas Generales / Re: TuEagles AntiPorn
27 Septiembre 2019, 18:53 PM
Usa un sistema operativo Xubuntu. Los pasos para usarlo sin necesidad de instalarlo son sencillos. Descargas xubuntu.iso de la web oficial de xubuntu. Descargas el programa Rufus. Ejecutas Rufus seleccionas el xubuntu y seleccionas un pendrive vacio que se borrará su contenido para meter Xubuntu(cuidado no equivocarte y borrar el disco duro del pc. Le das a instalar. Cuando acabe apagas el PC, le das a F11 todo el rato (puede cambiar la tecla, pero suele ser esa) mientras enciende y te saltará un menú de arranque. Seleccionas el pendrive y le das a enter. Así ya te arranca Xubuntu. Le das a correr como LiveCd y se cargará el sistema en la Ram. Metes la clave del wi-fi y listo, ya puedes hacer lo que quieras sin que te espien.
#1543
Desarrollo Web / Re: [Pregunta]: Métodos captchas
26 Septiembre 2019, 11:02 AM
Los bots pueden imitar a los humanos. Pero los humanos no pueden imitar a los bots.

Si intentas averigurar si es un humano, podría ser un bot o un humano.
Si intentas averiguar si es un bot, no puede ser un humano.

Mira los movimientos de cursor por la página. Le puedes poner un canvas, svg, o varios event listener a elementos con mouse over. Si se teleporta es un bot. Si va en linea recta perfecta es un bot. Si percorre la distancia en muy poco tiempo o va a tirones es un bot.

El capcha sería clickar 4 check boxes. Tras clickar cada checkbox usas un randomizador para situar el siguiente en un sitio aleatorio. Y compruebas la distancia recorrida. Si se hacen parones regulares. Si se percorre perfecto en varios trozos, velocidad de trazado, etc.

El tema está en que no se sepa que comprobaciones haces.

El tema de usar imágenes es horrible. Pueden simplemente hacer software para obtener las imágenes que usas en tus captchas. Tu esas imágenes las quitas de algún sitio. Se puede buscar en Google la imagen e introducir todas las palabras de la página original en la que sale la imagen y los tags asociados a ella en un array.
Cada vez que me salga esa foto mete una palabra distinta. Cuando la encuentre la guarda en un archivo de texto.

O podría hacer unas cuantas a mano y guardar las palabras y meterlas sin ni siquiera saber que imagen estas metiendo.
Entro a tu web, me sacas una foto de un perro de captcha, y solo tengo que decirle al bot:

Código (javascript) [Seleccionar]
MantenerBucle=true;
while(ManternerBucle)
{
NuevaPestañaUrl("www.example.com/captcha.php");
Input = "TAB, TAB, TAB, TECLA(p), TECLA(e), TECLA(r), TECLA(r), TECLA(o), ENTER";
MandarInput(Input);
Sleep(3000);
  if (PestañaUrl == "www.example.com/captcha.php")
  {
  Input ="Control + TECLA(o)";
  MandarInput(Input);
  }
  else {MantenerBucle = false;}
}
//Acceso Obtenido.


En algún momento volverás a sacar la imagen del perro y obtendré acceso. Si después de X números de accesos bloqueas la IP, se podría usar Tor para obtener una nueva identidad cuando bloqueas el bot o meterle una lista de proxychains.

También tendrías que tener cuidado con el generador pseudoaleatorio. Podría tenerse revisión de que imagenes usas. Si metes una semilla fija, te tiran el server y te piden captcha. Miran la imagen.

Hacen un bot con la palabra correspondiente a esa imagen. Te tiran el server y meten la palabra xD.

Lo mejor es que prohibas acceso por cuenta y no dejes al usuario no registrado hacer nada qie te pueda perjudicar. Cada 10 intentos fallidos seguidos bloqueas las cuentas asociadas al email y pones una dirección de correo de soporte para desbloquear el email.

Algo tipo: Se detecto actividad sospechosa en tu cuenta y por seguridad fue bloqueada. Si es un error envia un correo electrónico a soporteCaptcha@example.com indicando el problema para volver a activar tu cuenta.




Mod: Obligatorio el uso de etiquetas GeSHi para codigos.

#1544
Foro Libre / Re: ¿Se puede denunciar esto?
25 Septiembre 2019, 20:54 PM
A veces al registrarte a una sola página venden tus datos a terceros en un bucle sin fin. O simplemente obtienen la base de datos de un sitio en el cual estás registrado y envian spam.

Si crees que es una persona y no el caso anterior yo ni me molestaría en denunciar. No tienes forma de demostrar que fue él a menos que hagan una buena investigación. Cosa que no van a hacer porque te manden correos.

Imagínate que fuese yo y me denuncias.
Así como llegamos al juicio presento varios informes sobre como un vecino, amigo o familiar podría utilizar la misma IP que yo al conectarse a mi router. Otro informe donde se pruebe que existe la posibilidad de suplantar una IP o hackear el dispositivo/router para suplantarlo...
Otro informe que pruebe que se puede actuar de proxy a terceros para que se conecten usando tu misma ip.
Otro informe...



Al final, no se puede probar que yo fuese el que te registra en las páginas.

A parte por ley los sitios no pueden darte datos de terceros. En caso de hacer una filtración de este tipo sin orden judicial se esponen a multa que creo que podían llegar hasta 60.000€ en España.


Tampoco puedes hacer nada por tu propia mano para vengarte o devolvérsela. Al ser las IP dinámicas...
A menos que esté usando un bot y lo tenga corriendo en un servidor no vas a poder hacer nada.

A parte que seguramente pasen de ti como la ***** al no ser nada grave y ser difícil de demostrar.

Igual simplemente pillaron tu correo de cualquier sitio público y lo metieron en una base de datos. Se suelen vender bd muy grandes por tor para Spam.

En mis 2 correos más antiguos pasaba de 300.000 correos recibidos antes de que me las bloqueasen.



#1545
Programación C/C++ / Re: Problema con Dev C++ 4.9.9.2
25 Septiembre 2019, 09:52 AM
cin.get();
return 0;
#1546
Puedes estar tranquila, en la mayoría de casos no te avisan cuando te hackean ;D

Con este metodo que le hicieron a Ribera si te darías cuenta porque se te bloquearía el whatsapp.
#1547
Ya diseñe un algoritmo para hacer el padding tras cifrar para después volver a darle otra capa de cifrado y generar un cifrado de un tamaño determinado que yo quiera. Ya lo tengo implementado. Lo estoy debugeando.

Me fascina el número aureo asique me decante por utilizar una propiedad matemática en torno al numero de oro para generar la serie del padding.

La propiedad es:
Eliges 2 numeros aleatorios. Por ejemplo 2 y 4.
Le aplicas la serie fibonacci de tal forma que:
2 4 6 10 16 26 42 68 110 178 ...
Donde dividir un número entre el anterior te genera una aproximación del número aureo.

10/6 = 1.6666666667
16/10 = 1.6
42/26 = 1.6153846154
68/42 = 1.619047619
110/68 = 1.6176470588
178/110 = 1.6181818182

En mi algoritmo tomo la primera fracción la cual el mayor número pasa de 127.
En el ejemplo anterior el primero en pasarse es 178. Asique tomo 178/110.


Hago esta serie en base a la media aritmética de los caracteres de la contraseña en decimal.

Por ejemplo de a b c d e.
La media de 1 2 3 4 5 es 3.

Entonces tomo todas las series:
3y1
3y2
3y3
3y4
3y5

Y obtengo:
1.6178861789
1.6179775281
1.6176470588
1.6173913043
1.619047619

La clave serian 5 caracteres.
8.0899596891

8.0899596891/5=

1.6179919378 sería la media.

Ahora este número le elimino la parte más frecuente. (4 primeros digitos por la izquierda).
Y obtengo:
9919378

Si quiero por ejemplo un cifrado de 20 caracteres fijos multiplico por 2, añado con transposición y trunco al pasarme de 20 digitos:
9919378
19,838,756
199981398377586
399962796755172
319999996821739968735757157826
Resultado:
31999999682173996873

Le sumo el resultado del cifrado a todas las cifras, que por simplicidad en el ejemplo fue 12345

3 1 9 9 9 9 9 9 6 8 2 1 7 3 9 9 6 8 7 3
1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5

4 3 12 13 14 10 11 12 10 13 3 3 10 7 14 10 8 11 11 8

dclmnjkljmccjgnjhkkh

Lo bueno es que el tamaño del cifrado puede superar el tamaño fijado, como sería en el caso de que en vez de "abcde" fuese:
abcdefghijklmnopqrstvwxyz

3 1 9 9 9 9 9 9 6 8 2    1 7 3 9 9 6 8 7 3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25


4 3 12 13 14 15 16 17 15 18 13 13 20 17 24 25 23 26 26 23

Sobra:
21 22 23 24 25
Lo sumo otra vez en bucle:
4 3 12 13 14 + 21 22 23 24 25

15 16 17 15 18 + 21 22 23 24 25

13 13 20 17 24 + 21 22 23 24 25

25 23 26 26 23 + 21 22 23 24 25

Resultado
25 25 35 27 29 36 38 ...
z z J B D K M ...



Este algoritmo es solo para fixear el resultado final a un tamaño determinado. Se da por hecho que abcde es el resultado cifrado generado por mi algoritmo simetrico previo.
Utilizo este método de padding devido a que si el usuario quiere una seguridad rápida, le fixeo el tamaño de cifrado por ejemplo a 20 caracteres.

Pero si elige máxima seguridad y por ejemplo le devuelvo el texto cifrado en 5000 caracteres, no van a coincidir los 20 primeros caracteres del cifrado fragil con la misma clave y plaintext cifrados en 5000 caracteres.

Finalmente a este cifrado de tamaño fijo lo vuelvo a cifrar con la clave original usando asimétrico. Así con una clave de ***** o similar a la original no se obtiene información relevante.

Todo sigue dependiendo de la seguridad de la clave. Ya que se puede probar a fuerza bruta a descifrar y comparar con un diccionario hasta acertar con el plaintext.

Supongo que lo mejor es hacer una intro en el programa para dar unas guidelines para inducir de como generar la contraseña de forma que el atacante viéndo las guidelines no pueda averiguar que se le va a ocurrir o va a usar el usuario.

Algo en plan:
CitarPara generar una contraseña segura haz lo siguiente:
-Pon la hora a la que comiste ayer en letras.
-Abre un libro por la página 13 y escribe la primera palabra que veas.
-Pon el dia multiplicado por el mes en el que caduca algo de tu nevera.
-Pon el minuto que marca tu despertador.
-Pon la radio y escribe la primera frase que escuches. Primera palabra en minúsculas, segunda en mayusculas.. Intercalando las letras entre el resto de la contraseña.
-Añade símbolos.
-Utiliza una contraseña distinta por cifrado.

La clave debería ser algo así:
Hora-> dosymedia
Libro-> antecesor
Caducidad -> 32
Radio -> never CARE for WHAT they DO
Minuto -> 4
Simbolos -> ,.;


Contraseña:
dosymediaantecesor324

Contraseña Intercalada y con simbolos.
,ndeov,se.yr;mCe,Ad.RiE;afao,nrtW;eH.cAeTs,tohr.e3y,2D4O

Lo que buscaba con el post eran ideas ingeniosas propias de cada uno para hacer un cifrado nuevo. Si quisiese usar XOR o factorización para que iba a diseñar un cifrado propio si ya lo hacen todos?
Para eso pillo una librería y hago:
var texto=prompt("Pon texto a cifrar");
var clave=prompt("Pon clave segura");
var resultado = RSA(texto, clave, 8192);
clave=prompt("Pon otra clave distinta");
resultado = Chacha20(resultado, clave)
clave=prompt("Pon la ultima clave");
resultado = Serpent(resultado, clave);

Y ya. Si quisiese eso para que iba a preguntar nada? XD


Dices muchas cosas basadas en casos hipotéticos muy concretos que no se pueden aplicar como norma general.

Qué más da que pongas una espera en tu cifrado si no es un cifrado por oscuración para detener la potencia cuántica? Al ser el cifrado público se hará una implementación sin la limitación por hardware o se simulará de alguna forma.

Lo puse en foro libre porque es una pregunta sobre algoritmos matemáticos.

Te cito lo que pregunté:
CitarBusco ideas que tengais propias. No la "mejor manera" de hacerlo. Si no estaría usando números primos enormes y otros esquemas más apropiados para un sistema simétrico por clave donde el algoritmo de bastante igual.

El cifrado va a ser seguro independientemente del algoritmo que use ya que esto solo es una capa, usaré en otras capas bloques de 4096b y block chain entre otras cosas que me recomendó Kub0x y que tenía pensadas yo.

Solo quiero mejorar esta capa con algun algoritmo chulo y funcional. Este algoritmo que uso son 4 lineas tontas de código asique algo chulo no cuesta meterlo nada.

A mi se me ocurren ideas de medias aritméticas, geometrías básica y transposición de orden + bits con encoding en el propio cifrado. Esto último algo así como funciona la asimétrica. Indicar el orden cifrado con clave pública en el propio cifrado y descifrarla con la clave privada.

Qué se os ocurre? Ideas locas me gustan.  :D

Gracias por tomarte el tiempo de responder.
#1548
Hice una función que sume cada caracter del texto plano con cada caracter de la clave aplicando un algoritmo que me inventé a cada caracter de la clave. Primero hice la transformación de los caracteres a decimal en base a un diccionario con otra función y después utilicé esta.

Quiero un padding que mejore la seguridad. Al usar los métodos que comentais no sería más fácil dar con la clave? Estaba pensando usar la media aritmética de todos los caracteres de la clave para generar una serie  de X tamaño. Por ejemplo si quiero 20 caracteres haría:

Cita de: Diccionario Que UsoabcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890.!@#$/^&*()-'":;,?+×÷=<>{}[]€%~_\|abcdefghijklmnñopqrstuvwxyzESPACIO

Cita de: Ejemplo De Padding que se me ocurriovar semilla = mediaAritmeticaDigitosClave;
GenerarSeriePseudoaleatoria (semilla, "20");

En el caso de que la clave fuese 12345 la media es 3.
La serie generada podría ser: (Tengo que consultar algoritmos de generación pseudoaleatoria)
8 13 6 4 3 2 7 3 81 2 9 32 7 126 8 3 6 2 1 32

Le sumo la clave en bucle y cifro con el resultado:

8+1 9
13+2 15
6+3 9
4+4 8
3+5 8
2+1 3
7+2 9
3+3 6
81+4 85
2+5 7
9+1 10
32+2 34
7+3 10
126+4 130-127 ->3
8+5 13
3+1 4
6+2 8
2+3 5
1+4 5
32+5 37

Texto a cifrar hola -> 8 16 12 1

Clave -> 9 15 9 8 8 3 9 6 85 7 10 34 10 3 13 4 8 5 5 37

Resultado del cifrado -> sJwQPÑntyGfGÑe×PvvKn
Lo veis seguro? O creeis que es posible dar con la clave? O dependerá 100% del algoritmo pseudoaleatorio?



Código (javascript) [Seleccionar]
var textoEnDecimal="8 16 12 1";
var claveEnDecimal="1 2 3 4";
var resultado;

resultado = SumaDeStrings(textoEnDecimal, claveEnDecimal, " ");

/*Lo que pasa al cifrar este texto con esta clave:

1*1*(1+1)*5 -> 10
10+8 -> 18
Pos1 -> q

2*2*(2+2)*5 -> 80
80+16 -> 96
Pos2 -> \
Uso un diccionario de 127 caracteres (7bits) donde 96 es la barra invertida \

3*3*(3+3)*5 -> 270
270+12 -> 282
282-127 -> 155
155-127 -> 28
Pos3 -> A

4*4*(4+4)*5 -> 640
640+1 -> 641
641-127 -> 514
514 -127 -> 387
387 -127 -> 260
260-127 -> 133
133-127 -> 6
Pos4 -> f

Resultado de cifrar el texto "hola" con la clave "abcd" -> "q\Af"
*/

/*Aqui la función:*/

function SumaDeStrings (sumando1, sumando2, caracterSeparador)
{
var sum1Tam = sumando1.length;
var sum2Tam = sumando2.length;
var auxSum1 ="";
var auxSum2 ="";
var auxSum1INT =0;
var auxSum2INT =0;
var resultadoSTRING ="";
var resultadoSumaDeStrings ="";
var resultadoINT =0;
var x = 0;
--x;

  /*if(sum1Tam != sum2Tam)
  {
  alert("Error de programación en el código. El tamaño de la clave no coincide con el tamaño del texto a cifrar.\nRevisa código de parseo");
  resultadoSumaDeStrings+="Error. Es necesario que los bloques computados sean del mismo tamaño.";
  alert("Tamaño Texto + Padding = " + sum1Tam);
  alert("Tamaño Clave + Padding = " + sum2Tam);
  }*/if(1==2){}

  else
  {
     for (var y = 0; y<sum1Tam; ++y)
     {
        if(sumando1[y] != caracterSeparador)
        {
        auxSum1+= sumando1[y];
             // alert("Encontrado CaracterSum1: " + sumando1[y]);
        }

        else
        {
           //  alert("auxSum1 tiene dentro: " + auxSum1);
         
              ++x;
              while(sumando2[x] != caracterSeparador)
              {
              auxSum2+= sumando2[x];
              //       alert("Encontrado CaracterSum2: " + sumando2[x]);
             ++x;
              }

             
             
       //      alert("auxSum2 tiene dentro: " + auxSum2);
       //       alert("Contendio de auxSum1INT antes de parseo: " + auxSum1INT);

              auxSum1INT=parseInt(auxSum1);
      //  alert("Contendio de auxSum1INT despues de parseo: " + auxSum1INT);
      //  alert("Numero completo encontrado: " + auxSum1INT);
             
              auxSum2INT=parseInt(auxSum2);
      //  alert("Numero2 completo encontrado: " + auxSum2INT);
        /*      mediaAritClave = mediaAritClave + auxSum2INT;
              ++contadorAritClave; */

              auxSum3INT = auxSum2INT*auxSum2INT;
              auxSum3INT = auxSum3INT*auxSum2INT + auxSum2INT*5;
     

              resultadoINT=auxSum1INT+auxSum3INT;
              while (resultadoINT>127){
              resultadoINT=resultadoINT-127; }
              resultadoSTRING = resultadoINT.toString();
              resultadoSumaDeStrings+=resultadoSTRING;
              resultadoSumaDeStrings+=caracterSeparador;
       //  alert("Resultado String" + resultadoSumaDeStrings);

       
              auxSum1="";
              auxSum2="";
              auxSum1INT =0;
              auxSum2INT =0;
             
           }

     }
  }
return resultadoSumaDeStrings;
}
#1549
Software / Re: Uso de máquinas virtuales clonadas
24 Septiembre 2019, 09:58 AM
Cita de: decoder_2019 en 24 Septiembre 2019, 00:13 AM
Hola amigos. Necesito la ayuda de alguien sobre la clonación de máquinas virtuales. Sabiendo que hay dos tipos de clonación (completa y enlazada), en que caso se decidirían ustedes en utilizar un y otra? Gracias.
Las linked usan el mismo disco duro virtual. La completa crea un nuevo disco virtual.
#1550
Estoy mirando todo lo que comentais. La idea del Base64 para padding me parece curiosa. Igual la implemento de alguna forma.