NailaoLoader employs sophisticated techniques to obscure its execution flow, leveraging Windows Management Instrumentation (WMI) for lateral movement and file transfer.
Threat actors use WMI to deploy three files—usysdiag.exe, sensapi.dll, and usysdiag.exe.dat—to targeted machines. The process begins with the execution of usysdiag.exe, a legitimate signed executable by Huorong Internet Security.
usysdiag.exe calls LoadLibraryA() to load sensapi.dll. However, a malicious version of sensapi.dll (NailaoLoader) is side-loaded from the same directory. Once loaded, the malicious DLL’s DllMain() function is executed..text section of usysdiag.exe. If the bytes match expected values, it proceeds; otherwise, it exits without executing malicious code. This ensures that only the intended executable (usysdiag.exe) can trigger the loader..text section of usysdiag.exe. It retrieves the address of VirtualProtect() from kernel32.dll and changes memory protection to PAGE_READWRITE. The patched instructions redirect execution to NailaoLoader’s decryption function.usysdiag.exe.dat) using a XOR key. The decrypted payload is mapped into memory, and control is transferred to its entry point.PAGE_EXECUTE_READ). This final step helps avoid detection by security tools.The critical innovation lies in NailaoLoader’s ability to hide its execution flow. By patching instructions in a legitimate process (usysdiag.exe) rather than calling malicious functions directly from its own DLL, it avoids raising suspicion.
This technique ensures that security tools monitoring DLL behavior are less likely to detect malicious activity.
NailaoLoader exemplifies advanced malware techniques like DLL side-loading, memory patching, and execution flow obfuscation. These methods make it challenging for defenders to trace or block its activities effectively.
The sort command in Linux reads lines from files or standard input and writes them to standard…
The wall command in Linux sends a message to the terminals of all currently logged-in users. The…
journalctl queries logs collected by systemd-journald, the systemd logging daemon. It gives you structured access to kernel…
The stat command in Linux displays detailed metadata about files and filesystems. Where ls gives a condensed summary suitable…
In Linux, groups organize user accounts and define shared access to files and resources. Every…
The touch command in Linux does two things: it creates new empty files, and it updates the…