Ich erstelle makin , um die anfängliche Malware -Bewertung für mich etwas einfacher zu machen. Ich denke, es ist auch für andere nützlich. Es hilft, eine Debugger -Erkennungstechniken zu enthüllen, die von einer Probe verwendet wird.
makin eröffnet eine Probe als Debuggee und injiziert asho.dll (Hauptmodul wird vor der Injektion alle dlls umgebaut), asho.dll haken mehrere Funktionen unter ntdll.dll und kernelbase.dll -Bibliotheken und nach Parametern die entsprechende Nachricht an die Debugger ( makin.exe ).
makin generiert auch ein Skript für IDA Pro, um Breakpoints auf erkannten APIs festzulegen.
In diesem Moment kann makin folgende Techniken aufdecken:
ntdll.dll :
NtClose - Ref: Die "ultimative" Anti -Debugging -Referenz: 7.b.iiNtOpenProcess - Ref: Die "ultimative" Anti -Debugging -Referenz: 7.biNtCreateFile - Ref: Die "ultimative" Anti -Debugging -Referenz: 7.b.iii (öffnen sich selbst)NtCreateFile - Ref: Die "ultimative" Anti -Debugging -Referenz: 7.b.iii (öffnen Sie einen Treiber)LdrLoadDll - REF: Die "ultimative" Anti -Debugging -Referenz: 7.b.ivNtSetDebugFilterState - Ref: Die "ultimative" Anti -Debugging -Referenz: 7.d.viNtQueryInformationProcess - Ref: Die "Ultimate" Anti -Debugging -Referenz: 7.d.viii.a, 7.d.viii.b, 7.d.viii.c.NtQuerySystemInformation - Ref: Die "ultimative" Anti -Debugging -Referenz: 7.e.iiiNtSetInformationThread - ref: Die "ultimative" Anti -Debugging -Referenz 7.f.iiiNtCreateUserProcess - REF: Die "ultimative" Anti -Debugging -Referenz 7.giNtCreateThreadEx - Ref: Ntuery Blog -BeitragNtSystemDebugControl - Ref: @Waleedassar - PastebinNtYieldExecution - Ref: Die "ultimative" Anti -Debugging -Referenz 7.d.xiiiNtSetLdtEntries - Ref: Anti -Unpacker -Tricks: Teil eins - 2.1.2NtQueryInformationThread Thread - Ref: NtQuery - NtQueryInformation ThreadNtCreateDebugObject und NtQueryObject - Ref: Anti -Debug NtQueryObjectRtlAdjustPrivilege - Ref: Verwendung von rtladjustPrivilege, um Debugger durch INDID3CODEAM zu erkennen PEB->BeingDebugged - Anstatt IsDebuggerPresent() aufzurufen, überprüfen einige Programme den PEB (Process Environment Block) manuell auf die Flagge BeingDebugged .PEB->NtGlobalFlag -Ref: Al-KhaserUserSharedData->KdDebuggerEnabled - Ref: Al -Khaser - SharedUserData_KernelDebuggerPROCTECTED -Handlungstrick schließen - Ref: Al -Khaser - Handle_Flag_protect_from_close kernelbase.dll :
IsDebuggerPresent - ref: msdnCheckRemoteDebuggerPresent - Ref: MSDNSetUnhandledExceptionFilter - REF: Die "Ultimate" Anti -Debugging -Referenz: D.XVRegOpenKeyExInternalW - prüft die RegistrierungsschlüsselRegQueryValueExW - Überprüfung der Schlüsselwerte der Registrierung Sie können weitere VM -Überprüfungen über Bearbeiten checks.json -Datei hinzufügen, ohne die ausführbare Datei zu ändern
Das ist alles vorerst, Sie können so viel hinzufügen, wie Sie möchten :)
