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


 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Necesito una Lista de HexTypes | WinAPI
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Necesito una Lista de HexTypes | WinAPI  (Leído 966 veces)
**Aincrad**


Desconectado Desconectado

Mensajes: 506



Ver Perfil
Necesito una Lista de HexTypes | WinAPI
« en: 21 Marzo 2019, 23:38 »

Hola, como dice el titulo, Estoy en busca de una lista de Signaturas Hexadecimal , de las Funciones de WinAPI. por ejemplo :

Funcion :

Código
  1. Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Integer) As Short

HexType :

Código
  1. Dim KeyboardHook As String() = {"48 6F 6F 6B 43 61 6C 6C 62 61 63 6B", "47 65 74 41 73 79 6E 63 4B 65 79 53 74 61 74 65"}

Entonces con un Scaner Puedo tomar esa signatura Hexadecimal y Identificar los .exe que Usan la funcion GetAsyncKeyState

----------------------------------------------------------------------

En si No se como sacar esa Signatura hexadecimal o no se si hay alguna lista ya con todas las signaturas.


Gracias De antemano


En línea


Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.709



Ver Perfil
Re: Necesito una Lista de HexTypes | WinAPI
« Respuesta #1 en: 22 Marzo 2019, 04:36 »

HexType :

Código
  1. Dim KeyboardHook As String() = {"48 6F 6F 6B 43 61 6C 6C 62 61 63 6B", "47 65 74 41 73 79 6E 63 4B 65 79 53 74 61 74 65"}

¿...?. ¿De donde has sacado eso?.


En línea


**Aincrad**


Desconectado Desconectado

Mensajes: 506



Ver Perfil
Re: Necesito una Lista de HexTypes | WinAPI
« Respuesta #2 en: 22 Marzo 2019, 16:21 »

¿...?. ¿De donde has sacado eso?.

Me han pasado un code por dicord diciendo que es una scaner de antivirus, Y le Scanner funciona bien, de verdad detecta. Pero lo q no se como es que Obtuvieron esa Signatura HEXADECIMAL.

Gracias por ayudarme siempre, xd.
« Última modificación: 28 Marzo 2019, 01:36 por **Aincrad** » En línea


ThunderCls


Desconectado Desconectado

Mensajes: 432


Coder | Reverser | Gamer


Ver Perfil WWW
Re: Necesito una Lista de HexTypes | WinAPI
« Respuesta #3 en: 24 Marzo 2019, 01:11 »

Hola, como dice el titulo, Estoy en busca de una lista de Signaturas Hexadecimal , de las Funciones de WinAPI. por ejemplo :
En si No se como sacar esa Signatura hexadecimal o no se si hay alguna lista ya con todas las signaturas.



HEX("48 6F 6F 6B 43 61 6C 6C 62 61 63 6B") = ASCII("HookCallback")
HEX("47 65 74 41 73 79 6E 63 4B 65 79 53 74 61 74 65") = ASCII("GetAsyncKeyState")

Lo que hace el codigo con esa variable es buscar ambas cadenas como bytes en los ficheros. Si encuentra el patron de bytes supuestamente lo reconoce como infectado:

Código
  1. Dim KeyboardHook As String() = {"48 6F 6F 6B 43 61 6C 6C 62 61 63 6B", "47 65 74 41 73 79 6E 63 4B 65 79 53 74 61 74 65"}
  2. For Each KeyHook As String In KeyboardHook
  3.    If ReturnHex(File).Contains(KeyHook) Then
  4.        infected += 1
  5.        '...
  6.        infect.Text = infected
  7.    End If
  8. Next
En línea

-[ "…I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.709



Ver Perfil
Re: Necesito una Lista de HexTypes | WinAPI
« Respuesta #4 en: 24 Marzo 2019, 13:13 »

HEX("48 6F 6F 6B 43 61 6C 6C 62 61 63 6B") = ASCII("HookCallback")
HEX("47 65 74 41 73 79 6E 63 4B 65 79 53 74 61 74 65") = ASCII("GetAsyncKeyState")

No si... es obvio que eso es formato Hexadecimal, mi sensación de extrañez viene dada a que el término "hex type" no significa absolutamente nada, y hay dos nombres codificados (HookCallback, GetAsyncKeyState) en lugar de uno (GetAsyncKeyState) por lo que no tiene equivalencia con lo que el usuario intentaba dar a mostrar como equivalente, así que no llegaba a estar muy claro lo que el usuario busca.

Además de que detectar esos bytes/strings en un archivo executable no lo convierte en virus como tal, ya que para empezar el nombre "HookCallback" en realidad puede ser cualquier otro nombre que el desarrollador haya querido darle a la función de callback del hook ( https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nc-winuser-hookproc ), aparte de que esto no tiene por que implicar que sea un código malicioso, ni mucho menos el uso de la función GetAsyncKeyState.
Por ende, considerar que un exe se trata de un virus simplemente por encontrar uno de esos dos strings, o ambos, me parece completamente inapropiado/inefectivo, más que nada por que cualquier código que use la función GetAsyncKeyState para otros menesteres y/o que haya declarado un hook de cualquier tipo (y aunque este fuese un hook del teclado o el ratón no-malicioso) y casualmente haya declarado una función con el nombre "HookCallback", no se salvará de un falso positivo en la frente por un "escaner" de este estilo.



Pero lo q no se como es que Obtuvieron esa Signatura HEXADECIMAL.

Puedes convertir un string a ese formato hexadecimal delimitado por espacios en blanco, así por ejemplo:

Código
  1. Dim names As String() = {"HookCallback", "GetAsyncKeyState"}
  2. Dim hexNames As String() = Array.ConvertAll(names, Function(str) BitConverter.ToString(Encoding.Default.GetBytes(str)).Replace("-"c, " "c))
  3.  
  4. For Each str As String In hexNames
  5.    Console.WriteLine(str)
  6. Next str

Saludos.
« Última modificación: 24 Marzo 2019, 13:59 por Eleкtro » En línea


ThunderCls


Desconectado Desconectado

Mensajes: 432


Coder | Reverser | Gamer


Ver Perfil WWW
Re: Necesito una Lista de HexTypes | WinAPI
« Respuesta #5 en: 24 Marzo 2019, 16:36 »

No si... es obvio que eso es formato Hexadecimal, mi sensación de extrañez viene dada a que el término "hex type" no significa absolutamente nada, y hay dos nombres codificados (HookCallback, GetAsyncKeyState) en lugar de uno (GetAsyncKeyState) por lo que no tiene equivalencia con lo que el usuario intentaba dar a mostrar como equivalente, así que no llegaba a estar muy claro lo que el usuario busca.

Estamos de acuerdo, pero como la pregunta de Aincrad consistía en cómo habían sacado esos patrones, supuse que no se había percatado que eran simples cadenas de caracteres en formato hex.

Además de que detectar esos bytes/strings en un archivo executable no lo convierte en virus como tal, ya que para empezar el nombre "HookCallback" en realidad puede ser cualquier otro nombre que el desarrollador haya querido darle a la función de callback del hook ( https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nc-winuser-hookproc ), aparte de que esto no tiene por que implicar que sea un código malicioso, ni mucho menos el uso de la función GetAsyncKeyState.
Por ende, considerar que un exe se trata de un virus simplemente por encontrar uno de esos dos strings, o ambos, me parece completamente inapropiado/inefectivo, más que nada por que cualquier código que use la función GetAsyncKeyState para otros menesteres y/o que haya declarado un hook de cualquier tipo (y aunque este fuese un hook del teclado o el ratón no-malicioso) y casualmente haya declarado una función con el nombre "HookCallback", no se salvará de un falso positivo en la frente por un "escaner" de

Volvemos a estar de acuerdo 100%, solo comentaba el código citado, el cual es bien ineficiente por lo que se puede ver
Saludos
En línea

-[ "…I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.709



Ver Perfil
Re: Necesito una Lista de HexTypes | WinAPI
« Respuesta #6 en: 24 Marzo 2019, 16:55 »

solo comentaba el código citado

Hombre, no hacia falta ser tan "correcto" y dar este tipo de explicaciones (aunque se agradecen). Es obvio que tu respuesta no iba dirigida a mi, puesto que citabas al usuario Aincrad, pero simplemente al ver tu respuesta quise citar la tuya para comentar lo que comenté.

el cual es bien ineficiente por lo que se puede ver

Totalmente de acuerdo yo también.

¡Un saludo!
« Última modificación: 24 Marzo 2019, 16:57 por Eleкtro » En línea


**Aincrad**


Desconectado Desconectado

Mensajes: 506



Ver Perfil
Re: Necesito una Lista de HexTypes | WinAPI
« Respuesta #7 en: 25 Marzo 2019, 23:10 »

@Eleкtro @ThunderCls Por las respuestas, me quedo claro.

Es que me parecía raro también a mi. es que vi un video hace días sobre un usuario que hacia un motor antivirus en c# . Lo que hacia Primero era Debuggear un .exe que previamente fue pasado por un Crypter. usaba ollydbg y cuando empezó con el motor declaraba la signatura así :

 ????(Parte de una Cadena Hexadecimal) ??x64x84x54????? . algo así. y por eso me entro la duda.
En línea


ThunderCls


Desconectado Desconectado

Mensajes: 432


Coder | Reverser | Gamer


Ver Perfil WWW
Re: Necesito una Lista de HexTypes | WinAPI
« Respuesta #8 en: 25 Marzo 2019, 23:59 »

Esta lectura te pudiera ayudar a entender un poco varios conceptos respectos a este tema, si te interesa echales un ojo

http://hooked-on-mnemonics.blogspot.com/2011/01/intro-to-creating-anti-virus-signatures.html
https://searchsecurity.techtarget.com/tip/How-antivirus-software-works-Virus-detection-techniques
https://research.thea.ie/bitstream/handle/20.500.12065/1189/Malware%20Analysis%20And%20Antivirus%20Signature%20Creation.pdf?sequence=1&isAllowed=y

Saludos
« Última modificación: 26 Marzo 2019, 00:04 por ThunderCls » En línea

-[ "…I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines