Creo makin para que la evaluación inicial de malware sea un poco más fácil para mí, creo que también es útil para los demás, es útil revelar las técnicas de detección de depuradores utilizadas por una muestra.
makin abre una muestra como una depuración e inyecta asho.dll (el módulo principal renombra todas dlls antes de la inyección), asho.dll engancha varias funciones en ntdll.dll y kernelbase.dll bibliotecas y después de los parámetros verificadores de parámetros, envía el mensaje correspondiente a la descargadora ( makin.exe ).
makin también genera un script para Ida Pro para establecer puntos de interrupción en API detectadas.
En este momento, makin puede revelar las siguientes técnicas:
ntdll.dll :
NtClose - Ref: La referencia anti -fondos "definitiva": 7.B.IINtOpenProcess - Ref: la referencia anti -fugginada "definitiva": 7.biNtCreateFile - Ref: La referencia anti -famosa "definitiva": 7.B.III (abrirse)NtCreateFile - Ref: la referencia anti -famosa "definitiva": 7.B.III (Abra un controlador)LdrLoadDll - Ref: la referencia anti -fondos "Ultimate": 7.B.IVNtSetDebugFilterState - Ref: La referencia anti -famosa "definitiva": 7.D.VINtQueryInformationProcess - Ref: La referencia anti -debugging "definitiva": 7.D.VIII.A, 7.D.VIII.B, 7.D.VIII.CNtQuerySystemInformation - Ref: la referencia anti -fugging "definitiva": 7.E.IIINtSetInformationThread - Ref: La referencia anti -fugging "definitiva" 7.f.iiiNtCreateUserProcess - Ref: la referencia anti -famosa "definitiva" 7.giNtCreateThreadEx - Ref: publicación de blog de NtueryNtSystemDebugControl - Ref: @waleedassar - PastebinNtYieldExecution - Ref: La referencia anti -debugging "definitiva" 7.D.XIIINtSetLdtEntries - Ref: Anti -Unpacker Tricks: Part Un - 2.1.2NtQueryInformationThread - Ref: ntQuery - ntQueryInformationThreadNtCreateDebugObject y NtQueryObject - Ref: anti -debug ntQueryObjectRtlAdjustPrivilege - Ref: Uso de rtladjustprivilege para detectar el depurador por insid3codeteam PEB->BeingDebugged : en lugar de llamar IsDebuggerPresent() , algunos programas verifican manualmente el PEB (Bloque de entorno de proceso) para la bandera BeingDebugged .PEB->NtGlobalFlag -Ref: Al-KhaserUserSharedData->KdDebuggerEnabled - Ref: Al -Khaser - SharedUserData_KernelDebuggerPROCTECTED - Ref: Al -Khaser - Handle_Flag_Protect_From_Close kernelbase.dll :
IsDebuggerPresent - Ref: MSDNCheckRemoteDebuggerPresent - Ref: MSDNSetUnhandledExceptionFilter - Ref: la referencia anti -famosa "definitiva": d.xvRegOpenKeyExInternalW - CHECKS REGISTRY KEYSRegQueryValueExW - Verifica los valores de la clave del registro Puede agregar más verificaciones de VM mediante la edición checks.json File, sin modificar el ejecutable
Eso es todo por ahora, puedes agregar tanto como desees :)
