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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Mensajes
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... 141
11  Programación / Ingeniería Inversa / Re: Ver contraseña con asteriscos en: 26 Marzo 2022, 03:20 am
La aplicación está en .net

la propiedad que indicas para quitar los asteriscos está ubicada en:
Name: 0x110 _FrmLogin (#Strings Heap Offset)
Namespace: 0xD7 capaPresentacion (#Strings Heap Offset)
Extends: System.Windows.Forms.Form (TypeDefOrRef: TypeRef[7], 0x01000007)

o si prefieres sin tanto dato:
{}capa Presentación
 >FrmLogin

Cambias
Me.txtPass.UseSystemPasswordChar = True     a
Me.txtPass.UseSystemPasswordChar = False

y con eso, no tendrías asteriscos.


sin embargo hay que entender que pasa por aquí
1) es una aplicación de 3ros
2) es una aplicación con usuario+clave, que accede a una base de datos provista , y con ello carga la información

Luego de pulsar el botón de login
Código:
Private Sub Button1_Click(sender As Object, e As EventArgs)
Me.CargaGridAdmin()
End Sub
Va hacia cargaGridAdmin(), la cual

Código:
Private Sub CargaGridAdmin()
Dim cargarAdministradores As CargarAdministradores = New CargarAdministradores()
Dim dataTable As DataTable = New DataTable()
dataTable = cargarAdministradores.CargaAdministradoresCM(Me.txtUser.Text, Me.txtPass.Text)
Dim flag As Boolean = dataTable.Rows.Count = 0
If flag Then
MessageBox.Show("Usuario Incorrecto")
Else
Variables.UsuarioLogin = Me.txtUser.Text
Variables.PassLogin = Me.txtPass.Text
Me.CargaPrivilegios(Me.txtUser.Text, Me.txtPass.Text)
MyProject.Forms.MDIPrincipal2.Show()
Dim frmPrincipal As frmPrincipal = New frmPrincipal()
frmPrincipal.MdiParent = MyProject.Forms.MDIPrincipal2
frmPrincipal.Show()
frmPrincipal.WindowState = FormWindowState.Minimized
Me.Hide()
End If
End Sub


como puedes apreciar, si el usuario ingresado, con la clave ingresada, pertenecen a datos que están en tu tabla, entonces, mostrará el form principal con los datos asociados a esa tabla.


respecto a "carga privilegios"
Código:
Private Sub CargaPrivilegios(userid As String, pass As String)
Dim dataTable As DataTable = New DataTable()
Dim cargarAdministradores As CargarAdministradores = New CargarAdministradores()
dataTable = cargarAdministradores.CargaAdministradoresCM(userid, pass)
Variables.Password = Conversions.ToString(dataTable.Rows(0)("OTPass"))
Try
Dim text As String = NewLateBinding.LateGet(dataTable.Rows(0)("OTPrivAdmin"), Nothing, "Chars", New Object() { 0 }, Nothing, Nothing, Nothing).ToString()
Dim text2 As String = NewLateBinding.LateGet(dataTable.Rows(0)("OTPrivAdmin"), Nothing, "Chars", New Object() { 1 }, Nothing, Nothing, Nothing).ToString()
MyProject.Forms.MDIPrincipal.btnDepartamentos.Enabled = Conversions.ToBoolean(NewLateBinding.LateGet(dataTable.Rows(0)("OTPrivAdmin"), Nothing, "Chars", New Object() { 0 }, Nothing, Nothing, Nothing).ToString())
MyProject.Forms.MDIPrincipal.btnEmpleados.Enabled = Conversions.ToBoolean(NewLateBinding.LateGet(dataTable.Rows(0)("OTPrivAdmin"), Nothing, "Chars", New Object() { 1 }, Nothing, Nothing, Nothing).ToString())
MyProject.Forms.MDIPrincipal.btnReportesAtiempo.Enabled = Conversions.ToBoolean(NewLateBinding.LateGet(dataTable.Rows(0)("OTPrivAdmin"), Nothing, "Chars", New Object() { 3 }, Nothing, Nothing, Nothing).ToString())
MyProject.Forms.MDIPrincipal.btniReglaAsistencia.Enabled = Conversions.ToBoolean(NewLateBinding.LateGet(dataTable.Rows(0)("OTPrivAdmin"), Nothing, "Chars", New Object() { 6 }, Nothing, Nothing, Nothing).ToString())
MyProject.Forms.MDIPrincipal.btniTipoSalida.Enabled = Conversions.ToBoolean(NewLateBinding.LateGet(dataTable.Rows(0)("OTPrivAdmin"), Nothing, "Chars", New Object() { 7 }, Nothing, Nothing, Nothing).ToString())
MyProject.Forms.MDIPrincipal.btniListaFeriado.Enabled = Conversions.ToBoolean(NewLateBinding.LateGet(dataTable.Rows(0)("OTPrivAdmin"), Nothing, "Chars", New Object() { 8 }, Nothing, Nothing, Nothing).ToString())
MyProject.Forms.MDIPrincipal.tbniAdministradores.Enabled = Conversions.ToBoolean(NewLateBinding.LateGet(dataTable.Rows(0)("OTPrivAdmin"), Nothing, "Chars", New Object() { 9 }, Nothing, Nothing, Nothing).ToString())
MyProject.Forms.MDIPrincipal.btnIAgregarDispositivo.Enabled = Conversions.ToBoolean(NewLateBinding.LateGet(dataTable.Rows(0)("OTPrivAdmin"), Nothing, "Chars", New Object() { 10 }, Nothing, Nothing, Nothing).ToString())
MyProject.Forms.MDIPrincipal.btniControlDispositivos.Enabled = Conversions.ToBoolean(NewLateBinding.LateGet(dataTable.Rows(0)("OTPrivAdmin"), Nothing, "Chars", New Object() { 11 }, Nothing, Nothing, Nothing).ToString())
Catch ex As Exception
End Try
End Sub

Ahi puedes observar como llama a las tablas en cuestión.


Es visible como hay validación o , en algunos métodos, hay en otros lados la gestión de la licencia, donde la almacena, como la llama y como la descifra.

Si tu interés es hacerle ingeniería inversa, te invito a que uses como bien indica fary  Reflector, o bien, hasta Dnspy, como mínimo.


Saludos Cordiales
Apuromafo.

pd:no está cifrado, asi que todo está relativamente visible , si no entiendes, mínimo aprender del lenguaje de programación .

pd2: tiene métodos donde guarda la activación(serial) , en otros donde activa las licencias(que está asociado a la máquina del equipo, además de un rut de la persona que ha pedido activar el servicio/programa , en general, está visible para cada tipo de año y en todos lleva un pequeño cifrado. No tengo intención alguna de seguir viendo mas allá, tu buscabas solo quitar el enmascaramiento de la contraseña.
pd3:  en una de las tantas activaciones se ve una tentativa:
Código:
version2(0.2 / ReportAtiempo / contraseña) : atiempo.com()
No veo nada malicioso por encima.

pd4: la gestión de horarios y otros, es posible hacer hasta en excel u otros, intenta ver alguna alternativa si es que no logras ir mas allá en esta aplicación.



12  Programación / Ingeniería Inversa / Re: Alguien me dice con que esta protegido este programa exe en: 17 Marzo 2022, 01:30 am
1) el programa que enviaste no está protegido, está infectado, que es distinto:  posee un rat (remote access tool), el analisis de virustotal te lo puede confirmar hasta que correos le manda la información (smtp) y de donde quería bajar mas archivos.
Sin embargo igual hace alusión al tema real que indicas:

2) el archivo que baja y conecta en discord, es el siguiente
Código:
cdn.discordapp.com:443/attachments/930660321293664318/941817175688216616/valtrigger.exe
Y petenece a un programa tipo cheat, del cual está en .net, es como bien te dice **Aincrad** un cheat para valorant.

si abordas con dnspy este archivo, confirmarás que no está ofuscado ni empacado.

Saludos Cordiales
Apuromafo
nota:creo que con todo lo dicho ya se abordó lo necesario.
13  Programación / Ingeniería Inversa / Re: Help reversing delphi binary / ayuda crackar binary delphi en: 31 Diciembre 2021, 20:48 pm
before start to analize any exe, and are packed, must unpack

About tool IDR, is good but i suggest there complement with IDA.

About reversing in apps of 3rs, this forum is not for crack request or similar.

If really are interested, try harder and you can!

i suggest there complement with x32dbg/x64dbg.

Best Regards, Apuromafo
14  Programación / Ingeniería Inversa / Re: Se puede hacer ingenieria inversa sobre un xlxs en: 31 Diciembre 2021, 20:44 pm
Queria saber si se puede hacer ingenieria inversa sobre archivos doc, docx, xls, psd, pdf y xlsx



cualquier archivo se le puede analizar y abordar, dependiendo de las intenciones y posibilidades

a) Archivo con contraseña, y no la conozcas, solo tienes bruteforce en muchos de los casos se necesitan herramientas de 3ros para llegar mas allá
te hago el caso de https://www.rixler.com/es/  que ofrece suite para recuperación basado en fuerza bruta por ejemplo.


b)Archivo con visualización, o con contraseña conocida, se la puedes quitar o modificar.

el caso mas simple seria el sitio online https://www.ilovepdf.com/es  donde cuentas con cada herramienta para pdf, a necesidad.


Si es de analizar, pues tienes el caso de analisis de malware como contexto mínimo:
https://remnux.org/#docs  por ejemplo te da tips para documentos de office https://docs.remnux.org/discover-the-tools/analyze+documents o pdf
 



en la 2da indicas como ofuscar... eso es pura imaginación y creación de tu parte va de la mano de que hará, si usará alguna macro o procedimiento, si usarás herramientas de 3ros como msfvenom, xls injector o lo que sea,
una contraseña solo cuidará la ejecución pero no el contenido..., siempre el contenido se puede analizar.
asi que como 2da respuesta, solo es tu creatividad y acceso a herramientas.


Saludos
15  Programación / Ingeniería Inversa / Re: A Dios no le gusta que modifiques explorer.exe en: 16 Noviembre 2021, 19:13 pm
explorer.exe funciona en el equipo y si buscas alternativas comienza por otros programas que hagan esa integración

https://www.softzone.es/programas/sistema/mejores-alternativas-explorador-archivos-windows/

si buscas hacer tampering/modificaciones en explorer, lo menos que debes saber es que tiene a mucho interactuando con el,

personalmente en exploracion de archivos y directorios prefiero winrar, es mas potente, no se tu, pero todos tenemos la opción de elegir, antiguamente usaba total commander, es bien accesible en precio y uso.

Saludos Cordiales.
16  Programación / Ingeniería Inversa / Re: Corrupted Crackme By Cheater10 en: 5 Octubre 2021, 14:56 pm
Mini tutorial:
al momento de descargar hay 4 bajadas:

0) la app es de 64bits, exeinfo pe refiere
Citar
x64 - MinGW-w64 GCC: (GNU) compiler (exe) - [v4.9.2 - no " libgcj-1.x " ]  - http://mingw-w64.sourceforge.net ,
Overlay : 2E6669... Nothing discovered
 igual el usuario indicó que estaba hecho en "mingw en el ide dev-c++"

1) al abordar vía IDA pro se tiene algo así

Código
  1. int __cdecl main(int argc, const char **argv, const char **envp)
  2. {
  3.  __int64 v3; // rax
  4.  __int64 v4; // rax
  5.  __int64 v5; // rax
  6.  int v7; // [rsp+2Ch] [rbp-4h]
  7.  
  8.  _main();
  9.  system("Title CrackNumb - by cheater10");
  10.  system("Color 0a");
  11.  v3 = std::operator<<<std::char_traits<char>>(refptr__ZSt4cout, "Ingresar la llave maestra:");
  12.  std::ostream::operator<<(v3, refptr__ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_);
  13.  std::istream::operator>>(refptr__ZSt3cin);
  14.  if ( v7 == 1 )
  15.  {
  16.    v4 = std::operator<<<std::char_traits<char>>(refptr__ZSt4cout, "Bienvenido al Sistema de Cheater10");
  17.    std::ostream::operator<<(v4, refptr__ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_);
  18.    system("Pause");
  19.  }
  20.  else
  21.  {
  22.    v5 = std::operator<<<std::char_traits<char>>(refptr__ZSt4cout, "Acceso no autorizado, vuelve a intentarlo.");
  23.    std::ostream::operator<<(v5, refptr__ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_);
  24.    system("Pause>Nul");
  25.  }
  26.  system("Pause");
  27.  return 0;
  28. }

esto indica que si el valor obtenido en la llamada del valor es 1, entonces será autorizado, si es otro, no será autorizado, veamos que tiene el call
Código
  1. std::ostream *__fastcall std::operator<<<std::char_traits<char>>(std::ostream *a1, char *Str)
  2. {
  3.  if ( Str )
  4.  {
  5.    strlen(Str);
  6.    std::__ostream_insert<char,std::char_traits<char>>(a1);
  7.  }
  8.  else
  9.  {
  10.    std::ios::clear(
  11.      (char *)a1 + *(_QWORD *)(*(_QWORD *)a1 - 24i64),
  12.      *(_DWORD *)((char *)a1 + *(_QWORD *)(*(_QWORD *)a1 - 24i64) + 32) | 1u);
  13.  }
  14.  return a1;
  15. }

calcula el largo y lo retorna dependiendo del formato del mismo

2)como su título indica validar números , validamos la clave "0"
Citar
Ingresar la llave maestra:
0
Acceso no autorizado, vuelve a intentarlo.
3) validamos la clave "1"
Citar
Ingresar la llave maestra:
1
Bienvenido al Sistema de Cheater10
Presione una tecla para continuar . . .


Con esto ya está ok
Plan b: parchar

4) abrimos x64dbg sin system entrypoint, sin tls de inicio, vemos el flujo al main, y validamos donde indica la bienvenida:

Citar
00000000004015 | 83F8 01               | cmp eax,1                          | eax:EntryPoint
00000000004015 | 75 30                 | jne corrupted.4015C2               |
00000000004015 | 48:8D15 AF6A0800      | lea rdx,qword ptr ds:[488048]      | rdx:EntryPoint, 0000000000488048:"Bienvenido al Sistema de Cheater10"
comparación de eax con 1, y un salto de no ser iguales, lo cual indicaría que debemos nopear el salto o forzar que esa comparación siempre sea 1
Sea como sea la decisión de cada uno , en mi caso nopearé el salto (nop x2)

patcher de x64dbg (export del parche indica:
Citar
>>corrupted.exe
0000000000001590:75->90
0000000000001591:30->90

para lo cual valido
5)
Citar
Ingresar la llave maestra:
apuromafo
Bienvenido al Sistema de Cheater10
Presione una tecla para continuar . . .


Saludos Cordiales
PD:
A ratos es bueno analizarlo en una fuente de 3ros:
Análisis de malware en virustotal:
0/0
https://www.virustotal.com/gui/file/7f4db208921587a1a1703ded3b6f64b2485f37a048a41522f79e50a1ae5b1b22?nocache=1
en resumen nada sospechoso: ejecuta los comandos como variable de sistema:
Citar
2396 - Corrupted.exe
 2752 - C:\Windows\system32\cmd.exe /c Pause
 2708 - C:\Windows\system32\cmd.exe /c Pause>Nul
 2664 - C:\Windows\system32\cmd.exe /c Color 0a
 2616 - C:\Windows\system32\cmd.exe /c Title CrackNumb - by cheater10
se valida en Virustotal Windows Sandbox, indicando que todas esas peticiones no arrojan ni modifican una app de 3ro, no hay nada raro.

Se aborda a analizar su pe header:
se aprecia que el checksum no está alineado

Y veamos potencialidad de apis y técnicas solo para tener referencia:

Potencialidad de APIS abordadas en este ejecutable de 1.8 MB (abordandolo en CAPA.exe) :
 
Código
  1. +------------------------+------------------------------------------------------------------------------------+
  2. | md5                    | f8fa9579daf56738008735b38fc2b6ae                                                   |
  3. | sha1                   | 293f3d7500a96ece4d29e49f791e2d668d28a832                                           |
  4. | sha256                 | 7f4db208921587a1a1703ded3b6f64b2485f37a048a41522f79e50a1ae5b1b22                   |
  5. | path                   | A:\Corrupted.exe                                    |
  6. +------------------------+------------------------------------------------------------------------------------+
  7.  
  8. +------------------------+------------------------------------------------------------------------------------+
  9. | ATT&CK Tactic          | ATT&CK Technique                                                                   |
  10. |------------------------+------------------------------------------------------------------------------------|
  11. | DEFENSE EVASION        | Obfuscated Files or Information [T1027]                                            |
  12. | DISCOVERY              | System Information Discovery [T1082]                                               |
  13. | EXECUTION              | Shared Modules [T1129]                                                             |
  14. +------------------------+------------------------------------------------------------------------------------+
  15.  
  16. +-----------------------------+-------------------------------------------------------------------------------+
  17. | MBC Objective               | MBC Behavior                                                                  |
  18. |-----------------------------+-------------------------------------------------------------------------------|
  19. | CRYPTOGRAPHY                | Encrypt Data::RC4 [C0027.009]                                                 |
  20. |                             | Generate Pseudo-random Sequence::RC4 PRGA [C0021.004]                         |
  21. | FILE SYSTEM                 | Read File [C0051]                                                             |
  22. |                             | Write File [C0052]                                                            |
  23. | MEMORY                      | Allocate Memory [C0007]                                                       |
  24. | PROCESS                     | Allocate Thread Local Storage [C0040]                                         |
  25. |                             | Create Mutex [C0042]                                                          |
  26. |                             | Create Thread [C0038]                                                         |
  27. |                             | Resume Thread [C0054]                                                         |
  28. |                             | Set Thread Local Storage Value [C0041]                                        |
  29. |                             | Suspend Thread [C0055]                                                        |
  30. |                             | Terminate Process [C0018]                                                     |
  31. +-----------------------------+-------------------------------------------------------------------------------+
  32.  
  33. +------------------------------------------------------+------------------------------------------------------+
  34. | CAPABILITY                                           | NAMESPACE                                            |
  35. |------------------------------------------------------+------------------------------------------------------|
  36. | encrypt data using RC4 PRGA                          | data-manipulation/encryption/rc4                     |
  37. | contain a thread local storage (.tls) section        | executable/pe/section/tls                            |
  38. | query environment variable                           | host-interaction/environment-variable                |
  39. | read file (2 matches)                                | host-interaction/file-system/read                    |
  40. | write file (3 matches)                               | host-interaction/file-system/write                   |
  41. | create mutex (32 matches)                            | host-interaction/mutex                               |
  42. | allocate thread local storage                        | host-interaction/process                             |
  43. | get thread local storage value (4 matches)           | host-interaction/process                             |
  44. | set thread local storage value (4 matches)           | host-interaction/process                             |
  45. | allocate RWX memory                                  | host-interaction/process/inject                      |
  46. | terminate process                                    | host-interaction/process/terminate                   |
  47. | create thread                                        | host-interaction/thread/create                       |
  48. | resume thread (3 matches)                            | host-interaction/thread/resume                       |
  49. | suspend thread                                       | host-interaction/thread/suspend                      |
  50. | link function at runtime (2 matches)                 | linking/runtime-linking                              |
  51. | parse PE header (10 matches)                         | load-code/pe                                         |
  52. +------------------------------------------------------+------------------------------------------------------+

en resumen puede haber posibilidad de apis que puedan cargar un header, crear rutinas, inyectar y crear de forma ofuscada, pero dado el comportamiento en virustotal, de seguro debe ser todas las apis que mete el compilador de forma genérica, pero como bien aprecian hay apis o funciones que están de más.

Solo comentar que no se aprecia nada irregular.

Saludos Cordiales
17  Programación / Desarrollo Web / Re: averiguar que fuente de letra utiliza esta pagina web en: 28 Septiembre 2021, 03:46 am
puedes usar herramientas como esta en firefox
https://foro.elhacker.net/desarrollo_web/saber_que_fuente_utiliza_un_sitio_web_con_firefox-t323437.0.html

o bien si usas otro navegador como chrome :
ver el codigo de fuente  en general se aprecia que el sitio utiliza las de google:
https://fonts.googleapis.com/css?family=Oswald:400,700,300

para bajar esa fuente es https://fonts.google.com/specimen/Oswald#about
 
por otro lado si colocas inspeccionar, verás como está en herramientas de desarrollador, en inspeccionar, estilos: algunos dirán "font-family", algunos podrás identificar que usan Helvetica, Arial, sans-serif

pero como te digo, todo dependerá del tamaño en pixeles y necesidad del mismo.

si quieres por plugins en chrome existe el "WhatFont" y también tiene la misma intención, de encontrar el tipo de tipografía utilizada.


Espero que puedas encontrar la fuente que estás necesitando.

Saludos Cordiales
18  Seguridad Informática / Seguridad / Re: ¿Riesgos al ver imágenes desde un buscador web? en: 12 Septiembre 2021, 19:16 pm
Hola, siempre he tenido la curiosidad de si al buscar imágenes desde un buscador web ¿se corre riesgo de malware o algo parecido? o al no acceder a la url específica no habría riesgo, gracias.

ya te lo han dicho, si usas un buscador como google, o bases de datos para imágenes, no debería haber riesgo

Si navegas por sitios poco éticos, pues claramente puedes encontrarte desde publicidad que ejecute scripts y comandos poco éticos...

de seguro existen sitios que usas con brechas de seguridad, y eso te hace pensar que todo es inseguro, pero ahi decides, por donde eliges ver y que hacer...

Saludos
19  Seguridad Informática / Seguridad / Re: Ransomware en: 12 Septiembre 2021, 18:59 pm
Hola:

Idea 0:
Las herramientas en el mercado que están publicas para descifrar ransomware o identificarlo es:
https://www.nomoreransom.org/  o inclusive  https://www.nomoreransom.org/en/decryption-tools.html
luego
https://id-ransomware.malwarehunterteam.com/

Idea 1:
Si ya validaste esa ruta, pues las sugerencias de backup, restauración u otros suele parecer como lo mas viable

Idea 2:
buscando algun responsable..denuncia y deja en manos de profesionales el seguimiento o historia de como inició todo eso , SI no confías en policía ni medios pues tema forense y vuelta de página e iniciar denuevo con nuevas medidas.


Idea 3:
Dime, si formateas, puedes recuperar información?, si tu respuesta es sí...pues tienes una idea nueva

Idea 4:
Si pagas es una opcion? Nadie de ciberseguridad te dirá que pagues, esto es porque nadie te asegura que realmente te entregarán la llave xD

Entender como funcionan los ransomware (tampoco es opción, cifran tus datos y le colocan una clave, abren puertos en tu dispositivo además para lekear los datos, aún si te regalaran la clave, pueden volver a hacerlo, si ya comprometieron tu equipo.)

Sea cual sea la ideas que te puedan indicar:
Un ransomware una vez ejecutado, no es una buena opción buscar mas ayuda, sino tomar medidas para solucionar y comenzar denuevo, si tienes suerte en descifrar, respalda lo necesario y inicia denuevo considerando las medidas mínimas , creo que ya te han comentado todo lo viable de hacer.


Saludos Cordiales Apuromafo
20  Programación / Ingeniería Inversa / Re: Ayuda para trabajar - Programa no comercial en: 24 Agosto 2021, 18:16 pm
algo leí del tema, tenías una app en visual basic, pero veo que dado que ya lo abordaste, decidiste borrar los mensajes

tema :pcode, eso es para largo si eres nuevo, intenta ver todos los tutoriales de la serie de ricardo mas el buscador a lo menos en temas de PCODE.

A estudiar y usar las herramientas (vb decompiler, ida, estudiar los opcodes y como funciona)
De lo demás, es importante que si estos son programas corporativos o hay NDA, no pueden ser difundidos ni comentados fuera de la empresa(te puedes exponer a multas)

Saludos Cordiales.
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... 141
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines