Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Obteniendo Strings

16/18
Recursos

Aportes 2

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Para Windows:
Parte del análisis estático, es extraer cadenas desde un binario para conocer a grandes rasgos el comportamiento y las características del mismo. Por lo regular, cuando ya se tiene experiencia analizando malware, es muy fácil identificar la correlación entre las llamadas a la API de Windows y el posible comportamiento. Para realizar este procedimiento de forma mucho más satisfactoria, hace falta que el binario no se encuentre ofuscado/empaquetado.

Por ejemplo, analizando una muestra de malware con la herramienta online https://suip.biz/?act=rabin2 estraemos las siguientes cadenas:

DllGetClassObject
DllRegisterServer
PluginInit
RunObject
SHGetFolderPathA
SHELL32.dll
wsprintfA
wsprintfW
USER32.dll
WinHttpSetStatusCallback
WinHttpOpen
WinHttpCloseHandle
WinHttpConnect
WinHttpReadData
WinHttpQueryDataAvailable
WinHttpSetOption
WinHttpOpenRequest
WinHttpSendRequest
WinHttpReceiveResponse
WinHttpQueryHeaders
WinHttpQueryOption
WINHTTP.dll
Sleep
ExitProcess
CreateThread
HeapAlloc
HeapFree
GetProcessHeap
CreateFileA
WriteFile
CloseHandle
HeapReAlloc
GetLastError
SwitchToThread
GetTickCount64
GetComputerNameExW
GetProcAddress
LoadLibraryA
CreateDirectoryA
GetTempPathA
lstrcpyA
lstrcatA
VirtualAlloc
VirtualProtect
GetComputerNameExA
KERNEL32.dll
LookupAccountNameW
GetUserNameA
ADVAPI32.dll
memset
msvcrt.dll

De todas ellas, las más interesantes serían la familia de WinHTTP, Sleep, GetProcessHeap, CreateFileA, CreateDirectoryA.

Se trata de funciones pertenecientes a la API de Windows que proveen funcionalidad estándar para agilizar el proceso de codificación de los programadores en general.

Entonces, si el programa bajo análisis no requiere capacidades para crear archivos, directorios o establecer consultas a una URL en específico, probablemente se trata de un malware.

Asimismo, existen otras rutas en el registro de Windows donde se crean entradas con el propósito de garantizar la persistencia de la amenaza o ejecutar el archivo maliciosos cada vez que se enciende el equipo. Algunas de ellas son:

HKCU\Software\Microsoft\Windows\CurrentVersion\Run 
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce 
HKLM\Software\Microsoft\Windows\CurrentVersion\Run 
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services

Como comenté antes, las llamadas a un subconjunto de funciones de la API de Windows son muy repetitivas en malware, por lo que a veces con un simple análisis estático, puede determinarse más o menos el comportamiento del virus.

Finalmente, si las cadenas que se han extraído son numerosas, pordemos volcarlas en un archivo de texto y utilizar Python u otro lenguaje, combinado con expresiones regulares para cazar formatos de cadena específicos, como por ejemplo IPs del tipo: x.x.x.x o rutas locales como x/x/x.ext.

Saludos cordiales.
P.D. Lo siento, no sé cómo pegar imágenes en este coso. 😛

Usando los dorks de google, puede que nos faciliten la búsqueda. Lista 2021 dorks google