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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Averiguar contraseńa propio bajo C#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Averiguar contraseńa propio bajo C#  (Leído 4,803 veces)
Meta


Desconectado Desconectado

Mensajes: 3.279



Ver Perfil WWW
Averiguar contraseńa propio bajo C#
« en: 7 Noviembre 2013, 18:52 pm »

Hola:

Como curiosidad hice un programa de consola bajo C# Express 2013. Consiste en introducir '1234' para acceder.

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Password
  8. {
  9.    class Program
  10.    {
  11.        static void Main(string[] args)
  12.        {
  13.            Console.Title = "Contraseńa"; // Título de la ventana.
  14.            int password_fijo = 1234; // Contrasela preficaja.
  15.  
  16.            Console.WriteLine("Introduce contraseńa o password: "); //Mostrar texto.
  17.            int contraseńa = Convert.ToInt32(Console.ReadLine()); // Leer contraseńa que pulsas en el teclado y lo almacena en una variable 'contraseńa'.
  18.  
  19.                    // Si 'contraseńa' introducida en el teclado es igual a 'password_fijo' o '1234' se cumple la condición.
  20.                    if (contraseńa == password_fijo)
  21.                    {
  22.                        Console.WriteLine("La contraseńa es correcta.");
  23.                    }
  24.                    else
  25.                    {
  26.                        Console.WriteLine("INCORRECTO. Vuelva a intentarlo.");
  27.                    }
  28.  
  29.                Console.ReadKey(); // Pulse una tecla cualquiera para salir.
  30.        }
  31.    }
  32. }
  33.  

El programa es muy sencillo. Supuestamente este código fuente no lo tienes. Pero si su ejecutable que lo habrí con H&D, un editor hexadecimal y lo pasé a un txt. Este txt indicado abajo no es fiable porque es en binario, y leerlo en txt no sirve, pero si con el H&D, es para coger un ejemplo.

Código
  1. MZ       ˙˙  ¸       @                                   €   ş ´ Í!¸LÍ!This program cannot be run in DOS mode.
  2.  
  3. $       PE  L ˝Č{R        ŕ    
  4.         ~)       @    @                       €          `…                           0)  K    @  @                   `     ř'                                                               H           .text   „      
  5.                    `.rsrc   @   @                   @  @.reloc      `                    @  B                `)      H     ź   <                                                      0 V      r  p(  
  6.  Ň  
  7. r  p(  
  8. (  
  9. (  
  10. ţţ - r[  p(  
  11.  +
  12. r‘  p(  
  13.  (  
  14. &*(  
  15. *  BSJB        v4.0.30319     l     #~  x  Ŕ  #Strings    8  Ô   #US      #GUID        #Blob         G    ú%3                                  
  16.       8 1  i O  ” ‚  Ť ‚  Č ‚  ç ‚   ‚  ‚  4‚  O‚  ‡h ›h Š‚  ‚  ňß?    5 U s1  ˜1  ¨1                    P     ‘ ?
  17.  ˛     †D      J  D   D  ! D  ) D  1 D  9 D  A D  I D  Q D  Y D  a D  i D  q D  y D  ‰ D $ ‘ D  ™ {) ™ …) ™ . Ą  2 ™ ˇ7 D  . B .  Œ .  š . # š . + š . 3 Œ . ;   . C š . S š . [ ¸ . k â . s ď . { ř . ƒ < €                              (        <Module> Password.exe Program Password mscorlib System Object Main .ctor args System.Runtime.Versioning TargetFrameworkAttribute System.Reflection AssemblyTitleAttribute AssemblyDescriptionAttribute AssemblyConfigurationAttribute AssemblyCompanyAttribute AssemblyProductAttribute AssemblyCopyrightAttribute AssemblyTrademarkAttribute AssemblyCultureAttribute System.Runtime.InteropServices ComVisibleAttribute GuidAttribute AssemblyVersionAttribute AssemblyFileVersionAttribute System.Diagnostics DebuggableAttribute DebuggingModes System.Runtime.CompilerServices CompilationRelaxationsAttribute RuntimeCompatibilityAttribute Console set_Title WriteLine ReadLine Convert ToInt32 ConsoleKeyInfo ReadKey   C o n t r a s e ń a CI n t r o d u c e   c o n t r a s e ń a   o   p a s s w o r d :   5L a   c o n t r a s e ń a   e s   c o r r e c t a . AI N C O R R E C T O .   V u e l v a   a   i n t e n t a r l o .   eţSiśýJ˝đçi´N/# ˇz\V4ŕ‰      A       UI .NETFramework,Version=v4.5 TFrameworkDisplayName.NET Framework 4.5
  18.  Password       Copyright Š  2013  ) $981582b7-8f6b-4a6d-94bc-9c2811816606    1.0.0.0               TWrapNonExceptionThrows    ˝Č{R         (  
  19.  RSDS{=’@ŽÝ@¤Ă^3$şÔ=   c:\Users\Meta\Documents\Visual Studio 2013\Projects\Password\Password\obj\Debug\Password.pdb                                                                                                                                                                        X)          n)                          `)        _CorExeMain mscoree.dll     ˙%  @                                                                                                                                                  €   8  €                  P  €                  h  €                   €                          @  °          PC  ę          °4   V S _ V E R S I O N _ I N F O     ˝ďţ                 ?                         D    V a r F i l e I n f o     $    T r a n s l a t i o n       °   S t r i n g F i l e I n f o   ě   0 0 0 0 0 4 b 0   <  F i l e D e s c r i p t i o n     P a s s w o r d     0   F i l e V e r s i o n     1 . 0 . 0 . 0   <
  20.  I n t e r n a l N a m e   P a s s w o r d . e x e     H   L e g a l C o p y r i g h t   C o p y r i g h t   Š     2 0 1 3   D
  21.  O r i g i n a l F i l e n a m e   P a s s w o r d . e x e     4  P r o d u c t N a m e     P a s s w o r d     4   P r o d u c t V e r s i o n   1 . 0 . 0 . 0   8   A s s e m b l y   V e r s i o n   1 . 0 . 0 . 0   ďťż<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  22. <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  23.  <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
  24.  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
  25.    <security>
  26.      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
  27.        <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
  28.      </requestedPrivileges>
  29.    </security>
  30.  </trustInfo>
  31. </assembly>
  32.                                                                                                                                                                                                             €9                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      

La pregunta definitiva es:

żHay posibilidad de averiguar la contraseńa que está dentro del ejecutable aunque sea con un editor hexadecimal?

En este caso es 1234, supuestamente no lo sabes. Ese es el lema.

Un saludo.


En línea

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/
El Benjo


Desconectado Desconectado

Mensajes: 391



Ver Perfil WWW
Re: Averiguar contraseńa propio bajo C#
« Respuesta #1 en: 8 Noviembre 2013, 02:15 am »

De hecho es más sencillo de lo que piensas. Busca ofuscación de código .NET

Te dejo además este enlace para que veas lo fácil que es mirar el código de un ejecutable .NET  :rolleyes:

http://msdn.microsoft.com/es-es/library/aa309387(v=vs.71).aspx


En línea

www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
.:Weeds:.

Desconectado Desconectado

Mensajes: 122



Ver Perfil
Re: Averiguar contraseńa propio bajo C#
« Respuesta #2 en: 9 Noviembre 2013, 00:02 am »

Las contraseńas en .net se sacan con una facilidad pasmosa, lo que no sabia yo es que dentro del ejecutable se guardaban datos como este:
Código:
c:\Users\Meta\Documents\Visual Studio 2013\Projects\Password\Password\obj\Debug\Password.pdb

Me da que pensar cuando haga un virus, si en vez de Users pusiera .:Weeds:. mal asunto jaja.

Saludos.
En línea


Meta


Desconectado Desconectado

Mensajes: 3.279



Ver Perfil WWW
Re: Averiguar contraseńa propio bajo C#
« Respuesta #3 en: 9 Noviembre 2013, 02:11 am »

De hecho es más sencillo de lo que piensas. Busca ofuscación de código .NET

Te dejo además este enlace para que veas lo fácil que es mirar el código de un ejecutable .NET  :rolleyes:

http://msdn.microsoft.com/es-es/library/aa309387(v=vs.71).aspx

Le he hechado un ojo por el aire. No me parece muy fácil, ejejejeje. Hay que probarlo como encontrarlo.

Lo encontré buscando 1234, luego compilé 1235 pero no es fácil. Lo encontré porque estaba buscando 1234, es decir, se la contraseńa, la idea es buscarla sin tener idea de saber que contraseńa es.



Comprobé que 1234 es D2 04.

Si lo cambio a 1235 su valor en hex es D3 04.

Por eso se el valor, si cambio directamente en el hexadecimal, no se que contraseńa es.

Las contraseńas en .net se sacan con una facilidad pasmosa, lo que no sabia yo es que dentro del ejecutable se guardaban datos como este:
Código:
c:\Users\Meta\Documents\Visual Studio 2013\Projects\Password\Password\obj\Debug\Password.pdb

Me da que pensar cuando haga un virus, si en vez de Users pusiera .:Weeds:. mal asunto jaja.

Saludos.



Haz aprendido algo nuevo. Hay más información dentro de las palicaciones, sobre todo de Microsoft. Se llama metadatos y e que has podido leer es legible, en cuanto a otros datos, a simplevista parecen NADA y obtienen información más de lo que imaginas.

Con un editor hexadecimal se puede cambiar todo eso por un largo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, asunto resuelto, en vez de c:\Users\.:Weeds:.\Documents\Visual Studio 2013\Projects\Password\Password\obj\Debug\Password.pdb

Por curiosidad miré Password.pdb y contiene esta información.
Código
  1. Microsoft C/C++ MSF 7.00
  2. DS                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               (0ţ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙óĎ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ Ę18             
  3. ˙˙   €                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  řbQ?ĆӐS ŔOŁĄÄEK™éćҐ? ŔOŁĄ †ZfÓ˝*  řI˝`Śn@Ďd‚LśđBԁr§™       íW
  4. „Űł‚Œa{ŢćĂ8(                 
  5.         
  6.                                                                                                                                                                                                                                                                                                                                                                                         Ę18              ˙˙   €                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   Ę18             ˙˙˙˙   €      ˙˙˙˙    ˙˙˙˙    ˙˙˙˙                                                                                                                                                                                                                                                                                                                                                                                                                                                                         Ę18             ˙˙˙˙   €      ˙˙˙˙    ˙˙˙˙    ˙˙˙˙                                                                                                                                                                                                                                                                                                                                                                                                                                                                                V       V                       X  ,  @  L   ˙˙˙˙(                 
  7.         
  8.                                                                                                                                                                                                                                                                                                                                                                                                                     â0€   Hč,÷ŰÎ
  9.                                                               S   (   â0[JüX      R   S   e                                                                                                                                                                                                                                                                                                                                                                                                           ţďţď   ¤    c:\Users\Meta\Documents\Visual Studio 2013\Projects\Password\Password\Program.cs  c:\users\meta\documents\visual studio 2013\projects\password\password\program.cs       R   S                                                                                                                                                                                                                                                                                                                                  â0€   ń÷ë3öŰÎ                                                               S   (   â0Ś…Š_X      R   S   e                                                                                                                                                                                                                                                                                                                                                                                                              . *    X      V                     Main          V         
  10. $USystem  $USystem.Collections.Generic  $USystem.Linq     $USystem.Text     $USystem.Threading.Tasks               CS$4$0000   "                password_fijo                  contraseĂąa   2 É?ęĆłYÖIź% ťŤ´`    M D 2                   ň   Ř         V          Ě         €     €     €     €     €(     €0   îďţ€3     €4     €?     €@   îďţ€B     €C     €N     €O   !  €U   "  €
  11.  
  12. *
  13. &  H  F  1        E          K    #
  14. ô                    4    E          K  
  15. 
  16.      ô                    4                                                                                                                                                                                                                                                                                                                                                                           ˙˙˙˙ /ń     !      5                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            COM+_Entry_Point   %        Main   )        06000001                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ˙˙˙˙ /ń                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ˙˙˙˙w 1
  17.  
  18.  ‹ úĆ čG\       ,   `                   îŔ        ˙˙      ˙˙˙˙    ˙˙             \      đ       V         Password.Program 2A75BA17   -ş.ń       V                    
  19.      ˙˙˙˙    V         ˙˙˙˙    ˙˙˙˙         c:\Users\Meta\Documents\Visual Studio 2013\Projects\Password\Password\Program.cs    ţďţď                  ˙˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙˙˙                                                                                                                                           œ   Ú   8   ˙˙˙˙8       Č   €   X              
  20.        rc/files/c:\users\meta\documents\visual studio 2013\projects\password\password\program.cs                 "           
  21.                 A‘2                                                                                                                                                                                                                                                                                                             Ú   8   w  8       Č   €   X   (   X  ,  @  L                 
  22.           
  23.                                                                                                                                                                                                                                                                                                                                                                                                                      ”.1˝Č{R
  24.   {=’@ŽÝ@¤Ă^3$şÔ=~   /LinkInfo /names /src/headerblock /src/files/c:\users\meta\documents\visual studio 2013\projects\password\password\program.cs                 "           
  25.                 A‘2                                                                                                                                                                                                                                                                                                         D   Ú   8   w  8       Č   €   X   X  ,  @  L   ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙(                 
  26.         
  27.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Un saludo.
« Última modificación: 9 Noviembre 2013, 02:16 am por Meta » En línea

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/
Keyen Night


Desconectado Desconectado

Mensajes: 496


Nothing


Ver Perfil
Re: Averiguar contraseńa propio bajo C#
« Respuesta #4 en: 9 Noviembre 2013, 18:05 pm »

No hace falta la magia negra de usar un editor hexadecimal para abrir el ensamblado, buscas un decompiler y abres el ensamblado y ya tienes no sólo la contraseńa sino también el código fuente completo. También puedes obtener el MSIL por reflexión y reconstruir el código (que es lo que realmente hace el decompiler), y si te conoces la estructura de los ensamblados de .Net sabrás donde buscar este tipo de información. No es algo para sorprenderse, evidentemente todo la información que compone el código estará en el ensamblado final, ya que se requiere para su uso en tiempo de ejecución, para el caso especial de la plataforma de lenguajes .Net como lo es C# y el muy conocido Java, son lenguajes intermedios o interpretados, que requieren de una maquina virtual que ayude como intermediario entre el código intermedio y la máquina, a diferencia de C/C++ donde el código es de ejecución directa, donde la única traducción que se hace es al lenguaje de la máquina; debido a esto, el código compilado en .Net o en Java, es fácilmente decompilable usando la misma máquina que lo tradujo, es decir si sabes traducir de Ingles a Espańol también debes saber de Espańol a Ingles, lo que no sucede en C/C++ por ejemplo, ya que obtenemos código ASM, que hay que analizar con un debugger, y en fin terminas necesitando a gente de la NASA, de la NSA o gente de elhacker.net :xD para devolver eso a lo que podría ser una medio interpretación de como era el código antes de ser compilado.
En línea

La Fé Mueve Montańas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...
Meta


Desconectado Desconectado

Mensajes: 3.279



Ver Perfil WWW
Re: Averiguar contraseńa propio bajo C#
« Respuesta #5 en: 9 Noviembre 2013, 21:37 pm »

Hola:

Voy hacer pruebas de descompilarlo y encontrar la contraseńa "1234" a ver si es tan fácil como parece. Vaya seguridad tiene el .NET. El de pago que me dieron en clase legalmente, tiene una función que se llama obfuscar. Se usa, pero he leído por Internet que aún con ello, la diferencia es que tarda más tiempo en hackearlo por decirlo de alguna manera.

http://msdn.microsoft.com/es-es/library/a3cwf295%28v=vs.120%29.aspx



Salu2.
En línea

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/
El Benjo


Desconectado Desconectado

Mensajes: 391



Ver Perfil WWW
Re: Averiguar contraseńa propio bajo C#
« Respuesta #6 en: 9 Noviembre 2013, 21:48 pm »

Eso es debido a que la ofuscación sólo cambia los nombres de las variables, propiedades y métodos que creas dentro del tu aplicación. Si lo que quieres es mantener segura una contraseńa no la incluyas dentro de tu código, además las contraseńas no se usan así como así, se hacen mediante técnicas de cifrado y hash.

Otra cosa, no es sólo cosa del .NET Framework, cualquier aplicación puede ser decompilada y se le puede aplicar ingeniería inversa, esté escrita en el lenguaje en el que esté escrita.
En línea

www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
Meta


Desconectado Desconectado

Mensajes: 3.279



Ver Perfil WWW
Re: Averiguar contraseńa propio bajo C#
« Respuesta #7 en: 9 Noviembre 2013, 23:14 pm »

Hola:

Por lo que he estado leyendo, las contraseńas no se guardan en un .exe, puede ser en un archivo a parte e incluso en el editor de registros de Windows por poner un ejemplo, eso si, muy bien cifrado.

Seguiré haciendo pruebas. Otra cosa, es cambiar un if else desde un ejecutable, eso parece algo más fácil.

Saludo.
En línea

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/
Keyen Night


Desconectado Desconectado

Mensajes: 496


Nothing


Ver Perfil
Re: Averiguar contraseńa propio bajo C#
« Respuesta #8 en: 10 Noviembre 2013, 17:54 pm »

Imagina que en el sistema de administración de un banco, dicha aplicación administrativa, guarde internamente un usuario/contraseńa, no importa donde, si en el código, en una base de datos local, en un archivo, en el registro, donde sea. En no más que unos pocos minutos, ya puedes hackear el sistema. La estructura general correcta para este tipo de cosas, es tener un servicio aislado en un servidor, donde se requiere que el usuario se autentique mediante certificados, o usuario/contraseńa, de manera que el cliente sólo hace las solicitudes y el servidor las procesa dependiendo de la autenticidad y autorización del cliente. Es como cuando vas al cajero automático, el software, sólo tiene el código para realizar las solicitudes, pero no tiene la contraseńa e información de la tarjeta de todos los clientes del banco, el cajero automático, envía la información a un servidor que procesa la información y toma decisiones por él, el software del cajero automático no tiene en ninguna parte, comprobaciones, ni operaciones de ningún tipo, sólo envía, recibe y muestra la información.

La seguridad de ensamblados en .Net no tiene nada que ver, es como bien dice El Benjo, todo lo que se compila se puede decompilar.

Ofuscar es una opción, hay diferentes niveles de ofuscación, los más básicos renombran toda la estructura por caracteres UNICODE, otros más avanzados, pueden transformarse en verdaderos dolores de cabeza para la ingeniería inversa, aplicando la reestructuración del código por medio de proxies, generando un código extremadamente desordenado (el código está, pero no se puede recuperar el orden), alterando la estructura de .Net para dejarle irreconocible pero funcional, empaquetando y cifrando el código en un ejecutable compilado en otro lenguaje que no sea de .Net. En fin hay mucha tela que cortar de ahí, y es un mundo muy grande del que no vale hablar mucho sino investigar, porque cada quien puede conseguir su forma de ofuscar, que por razones obvias no puede contar del todo :xD
« Última modificación: 10 Noviembre 2013, 17:57 pm por Keyen Night » En línea

La Fé Mueve Montańas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Averiguar contraseńa cifrada MD5 « 1 2 »
Hacking
juasjuas123 11 18,064 Último mensaje 19 Junio 2010, 15:25 pm
por La Muertع Blancα
Perdi mi contraseńa en mi propio sitio web!?
Dudas Generales
jeremy100 3 3,774 Último mensaje 4 Mayo 2011, 23:05 pm
por CAR3S?
Averiguar una contraseńa por defecto.
Hacking Wireless
Trackback 4 4,868 Último mensaje 10 Febrero 2012, 08:39 am
por skapunky
Averiguar como hackear mi propio portatil desde Intranet
Hacking
Meta 0 1,265 Último mensaje 28 Enero 2016, 17:22 pm
por Meta
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines