Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Suggestion - Anti Debug Tools Feature #42

Open
g4uss47 opened this issue May 9, 2024 · 0 comments
Open

Feature Suggestion - Anti Debug Tools Feature #42

g4uss47 opened this issue May 9, 2024 · 0 comments

Comments

@g4uss47
Copy link

g4uss47 commented May 9, 2024

It would be great to have a feature that searches through the running processes and if any debug process is present it doesnt inject the shellcode, something similar to this:

bool analysis_tools_running() {
    char* analysis_processes[] = {
        AY_OBFUSCATE("vmware.exe"),
        AY_OBFUSCATE("ollydbg.exe"),			// OllyDebug debugger
        AY_OBFUSCATE("ProcessHacker.exe"),	// Process Hacker
        AY_OBFUSCATE("tcpview.exe"),			// Part of Sysinternals Suite
        AY_OBFUSCATE("autoruns.exe"),			// Part of Sysinternals Suite
        AY_OBFUSCATE("autorunsc.exe"),		// Part of Sysinternals Suite
        AY_OBFUSCATE("filemon.exe"),			// Part of Sysinternals Suite
        AY_OBFUSCATE("procmon.exe"),			// Part of Sysinternals Suite
        AY_OBFUSCATE("regmon.exe"),			// Part of Sysinternals Suite
        AY_OBFUSCATE("procexp.exe"),			// Part of Sysinternals Suite
        AY_OBFUSCATE("idaq.exe"),				// IDA Pro Interactive Disassembler
        AY_OBFUSCATE("idaq64.exe"),			// IDA Pro Interactive Disassembler
        AY_OBFUSCATE("ImmunityDebugger.exe"), // ImmunityDebugger
        AY_OBFUSCATE("Wireshark.exe"),		// Wireshark packet sniffer
        AY_OBFUSCATE("dumpcap.exe"),			// Network traffic dump tool
        AY_OBFUSCATE("HookExplorer.exe"),		// Find various types of runtime hooks
        AY_OBFUSCATE("ImportREC.exe"),		// Import Reconstructor
        AY_OBFUSCATE("PETools.exe"),			// PE Tool
        AY_OBFUSCATE("LordPE.exe"),			// LordPE
        AY_OBFUSCATE("SysInspector.exe"),		// ESET SysInspector
        AY_OBFUSCATE("proc_analyzer.exe"),	// Part of SysAnalyzer iDefense
        AY_OBFUSCATE("sysAnalyzer.exe"),		// Part of SysAnalyzer iDefense
        AY_OBFUSCATE("sniff_hit.exe"),		// Part of SysAnalyzer iDefense
        AY_OBFUSCATE("windbg.exe"),			// Microsoft WinDbg
        AY_OBFUSCATE("joeboxcontrol.exe"),	// Part of Joe Sandbox
        AY_OBFUSCATE("joeboxserver.exe"),		// Part of Joe Sandbox
        AY_OBFUSCATE("joeboxserver.exe"),		// Part of Joe Sandbox
        AY_OBFUSCATE("ResourceHacker.exe"),	// Resource Hacker
        AY_OBFUSCATE("x32dbg.exe"),			// x32dbg
        AY_OBFUSCATE("x64dbg.exe"),			// x64dbg
        AY_OBFUSCATE("Fiddler.exe"),			// Fiddler
        AY_OBFUSCATE("httpdebugger.exe"), };

    for (int i = 0; i < 32; i++) {
        if (getFirstFilteredProcess((unsigned char*)analysis_processes[i]) > 0) {
            //printf("check if tool %s is running\n", analysis_processes[i]);
            return true;
        }
    }
    return false;

}

Note that it is using the AY_OBFUSCATE function from (https://github.com/adamyaxley/Obfuscate). My concern here would be implementing it being compatible with all possible unhooks, since this would differ from NTDLL.dll unhooking to Syswhispers2-3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant