Threat Database Trojans Trojan.MSIL.Inject.AAI

Trojan.MSIL.Inject.AAI

By CagedTech in Trojans

Threat Scorecard

Popularity Rank: 13,059
Threat Level: 80 % (High)
Infected Computers: 8
First Seen: June 15, 2021
Last Seen: June 26, 2026
OS(es) Affected: Windows

Overview

Trojan.MSIL.Inject.AAI is a heuristic detection assigned by EnigmaSoft's SpyHunter engine and other security products to a malicious Microsoft .NET (MSIL) executable that specializes in injecting hostile code into legitimate Windows processes. The "Inject" designation points to the trojan's core purpose: rather than running conspicuously as its own process, it borrows the identity and trust of a signed system binary to execute its payload quietly and evade user and analyst attention.

The analyzed sample carrying the Trojan.MSIL.Inject.AAI label is a 32-bit .NET assembly that exhibits high-entropy content, late-binding reflection, and built-in AES cryptography, and it clusters closely with well-known managed-code crypter and information-stealer families. Because it is a member of the broad .NET injector lineage rather than a single fixed program, its exact indicators change from build to build even as its behavior stays recognizable.

What Is Trojan.MSIL.Inject.AAI?

Trojan.MSIL.Inject.AAI is a code-injection trojan written for the Microsoft Intermediate Language (MSIL / .NET) platform. The Trojan.MSIL.Inject family, documented by vendors such as Kaspersky since roughly late 2015, is defined by its ability to inject malicious code into the address space of other processes running on an infected computer. This lets the malware masquerade as a benign application, defeat naive process-list inspection, and inherit whatever network and file permissions its host process already holds.

The sandbox profile of this particular sample lines it up statistically with several established managed-code threats. Its nearest neighbors in EnigmaSoft's similarity engine are multiple MSIL.Krypt variants (a family of .NET crypters/packers used to wrap other payloads), other MSIL.Inject builds, and, notably, MSIL.AgentTesla. Agent Tesla is a long-running .NET Remote Access Trojan and information stealer active since 2014 that harvests credentials, keystrokes, clipboard contents, and screenshots, and is publicly mapped in MITRE ATT&CK (software S0331) to Process Injection (T1055) and Process Hollowing (T1055.012). That kinship strongly suggests Trojan.MSIL.Inject.AAI functions as an injector/loader in the same ecosystem: a crypted .NET stub that unpacks and hollows a legitimate process to run a stealer payload. Family attribution here is by behavioral and structural similarity, not a definitive one-to-one identification.

How It Spreads / Distribution

Members of the .NET injector and Agent Tesla-adjacent ecosystem are overwhelmingly distributed through malicious spam. Typical vectors, drawn from well-established public reporting on these families, include phishing emails with weaponized Office documents, disk-image (ISO/IMG) or archive (ZIP/RAR/7z) attachments hiding an executable, and lures impersonating invoices, purchase orders, shipping notices, or account-security alerts. Cracked software, fake installers, bogus updates, and drive-by "pilot" downloads are secondary channels. Once the user runs the dropper, a crypted .NET stub like this one is responsible for decrypting and launching the final payload in memory. No network command-and-control indicators were observed in the analyzed sample, so distribution and delivery infrastructure specifics are not asserted here.

Technical Analysis & Behavior

The analyzed sample is a 520,704-byte (roughly 508 KB) 32-bit (x86) .NET executable. It is unsigned (no valid Authenticode signature or signer chain), which is consistent with commodity malware that cannot borrow legitimate publisher trust. Its file traits recorded during analysis are telling: .NET managed code, HighEntropy (indicating packed, compressed, or encrypted internal data), NewLateBinding (runtime reflection used to resolve types and methods dynamically and hide intent from static analysis), RijndaelManaged (the .NET AES implementation, used to decrypt embedded strings or a second-stage payload), and x86 architecture.

The sandbox recorded a behavior set that is characteristic of an evasive injector-stealer. It performs direct syscall use and process manipulation / evasion — the hallmark of code injection and process hollowing into a trusted host. It engages in anti-debug checks to detect and frustrate analysis environments. It reaches into user data, the behavior category associated with credential and personal-information theft. And it exercises several networking stacks — WinSock, WinSock2, and WinHTTP — while querying network information, the plumbing typically used to exfiltrate stolen data or fetch additional stages. An "other suspicious" catch-all behavior was also flagged. These categories reflect the observed run of one sample; the specific routines and targets rotate between builds.

Indicators of Compromise

The following indicators come from a single representative analyzed sample. Values reflect that one sample; specific indicators (hashes, sizes) rotate as operators recompile and re-crypt the trojan, so treat them as illustrative rather than exhaustive.

  • SHA-256: 3668A98412C30AFBDFA084E49012796F1A121B64CD4FE01A97B56A499B1B780D
  • SHA-1: aaebba6be92fdb01bea654889ff43a7aa76b78fd
  • MD5: b02b652fabf15ae7d9a46040a29df13f
  • File size: 520,704 bytes (~508 KB)
  • File type / arch: .NET (MSIL) PE executable, 32-bit (x86)
  • Signature: Unsigned (no valid digital signature or signer)
  • Notable traits: HighEntropy, NewLateBinding (reflection), RijndaelManaged (AES)

No packer was identified by name, no imported-hash (imphash) or network C2 indicators were available for this sample, and no distinct files were written to disk during the observed run.

Detection Heuristics

Antivirus engines flag Trojan.MSIL.Inject.AAI through a combination of static and behavioral heuristics rather than a single signature. Statically, the managed-code metadata reveals late-binding reflection, embedded high-entropy blobs, and use of the RijndaelManaged AES class — a pattern typical of .NET crypters that decrypt a payload at runtime. The PE carries an elevated count of notable header/characteristics flags (recorded as 11 in analysis) and lacks a valid signature. Behaviorally, engines weight the process-manipulation/evasion and direct-syscall activity (indicative of injection or hollowing), anti-debug tricks, access to user credential stores, and the WinSock/WinHTTP network usage. The sample's high structural similarity (above 80%) to known MSIL.Krypt, MSIL.Inject, and MSIL.AgentTesla clusters lets similarity-based and machine-learning classifiers group it with those families even when the exact bytes are new.

Digital Forensics

Investigators triaging a suspected Trojan.MSIL.Inject.AAI infection should focus on the artifact classes the sample actually touched. During analysis the trojan made 14 registry modifications and wrote 0 new files to disk — a profile consistent with an in-memory injector that establishes persistence and configuration through the registry rather than dropping obvious files. Hunt for:

  • Registry: Run/RunOnce autostart keys under HKCU/HKLM, and other value writes among the ~14 modifications, that point to a suspicious .NET binary or a script relauncher.
  • Processes: legitimate .NET utilities (for example RegSvcs.exe, RegAsm.exe, or MSBuild.exe) or other trusted binaries exhibiting anomalous outbound WinHTTP/WinSock traffic — a classic sign that code was injected/hollowed into a trusted host.
  • Managed-code indicators: a 32-bit .NET assembly of roughly half a megabyte with high entropy and reflection, unsigned, in user-writable locations (%AppData%, %Temp%, %LocalAppData%).
  • Network: unexpected HTTP(S) or raw-socket connections initiated by a normally quiet process.

These counts and categories reflect one analyzed sample and will vary across builds.

Symptoms of Infection

Because this trojan is designed to run silently inside trusted processes, overt symptoms may be subtle. Watch for: unexplained system slowdowns or spikes in CPU/network usage; security software alerts about an MSIL/.NET trojan or injector; a legitimate .NET process making outbound connections it normally would not; new or altered autostart registry entries; unexpected credential-reset prompts or account-compromise notices for email, banking, or social accounts (consistent with credential theft); and antivirus or Task Manager behaving abnormally because of the sample's anti-analysis and evasion routines.

How to Remove Trojan.MSIL.Inject.AAI

Because Trojan.MSIL.Inject.AAI injects into legitimate processes and may exist alongside a stealer payload, automated removal is strongly recommended.

  1. Run a full SpyHunter scan. Install and update SpyHunter, then run a complete system scan (not a quick scan) so the engine can inspect memory, running processes, and registry autostarts. Quarantine and remove everything it flags as Trojan.MSIL.Inject.AAI or related MSIL/injector components, then reboot and re-scan to confirm the system is clean.
  2. Boot into Safe Mode with Networking if the trojan blocks tools or resists removal, then repeat the full scan. Safe Mode prevents most injected payloads from launching so they can be deleted.
  3. Clean the browsers. Reset each browser to remove hijacked settings, rogue extensions, and cached credentials:
    • Google Chrome: Settings > Reset settings > Restore settings to their original defaults; then review Extensions and remove anything unfamiliar.
    • Mozilla Firefox: Help > More troubleshooting information > Refresh Firefox; then check Add-ons and Themes.
    • Microsoft Edge: Settings > Reset settings > Restore settings to their default values; then review Extensions.
    • Android: boot into Safe mode, uninstall recently installed or unknown apps, revoke suspicious app permissions and any Device Admin rights, and clear the default browser's data.
  4. Manual cleanup (advanced users): end suspicious injected processes, remove malicious Run/RunOnce and related registry values identified during forensics, delete unsigned high-entropy .NET executables from %Temp%/%AppData%, and clear scheduled tasks that relaunch the payload. Proceed carefully, since the code hides inside trusted processes.
  5. Post-removal hardening: from a known-clean device, change all passwords (email, banking, and any account entered on the infected machine), enable multi-factor authentication, and keep Windows and applications fully patched.

Conclusion

Trojan.MSIL.Inject.AAI is a stealthy .NET code-injection trojan that hides inside legitimate processes and shares strong structural and behavioral DNA with commodity MSIL crypters and the Agent Tesla information-stealer ecosystem. Its use of AES-encrypted payloads, runtime reflection, anti-debugging, process manipulation, and multiple networking stacks makes it both evasive and potentially data-hungry. Users who see this detection should treat it as a serious credential-theft risk: run a full SpyHunter scan, remove the malware, reset affected browsers, and rotate passwords from a clean device to close the door on any harvested data.

Analysis Report

General information

Family Name: Trojan.MSIL.Inject.AAI
Signature status: No Signature

Known Samples

MD5: b02b652fabf15ae7d9a46040a29df13f
SHA1: aaebba6be92fdb01bea654889ff43a7aa76b78fd
SHA256: 3668A98412C30AFBDFA084E49012796F1A121B64CD4FE01A97B56A499B1B780D
File Size: 520.70 KB, 520704 bytes

Windows Portable Executable Attributes

  • File doesn't have "Rich" header
  • File doesn't have debug information
  • File doesn't have exports table
  • File doesn't have security information
  • File is .NET application
  • File is 32-bit executable
  • File is either console or GUI application
  • File is GUI application (IMAGE_SUBSYSTEM_WINDOWS_GUI)
  • File is not packed
  • IMAGE_FILE_DLL is not set inside PE header (Executable)
Show More
  • IMAGE_FILE_EXECUTABLE_IMAGE is set inside PE header (Executable Image)

Windows PE Version Information

Name Value
Assembly Version 1.0.0.0
File Version 1.0.0.0
Internal Name DriverVideo.exe
Original Filename DriverVideo.exe
Product Version 1.0.0.0

File Traits

  • .NET
  • HighEntropy
  • NewLateBinding
  • RijndaelManaged
  • x86

Block Information

Total Blocks: 726
Potentially Malicious Blocks: 157
Whitelisted Blocks: 564
Unknown Blocks: 5

Visual Map

0 0 0 0 0 ? x 0 x ? x x ? ? ? x x x x x 0 x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x 0 0 0 0 0 x 0 0 0 0 0 0 0 0 x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x 0 0 0 0 0 0 0 x 0 0 0 0 0 0 x x x x 0 0 x 0 0 x 0 0 0 x x 0 0 x x x x x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x 0 x 0 0 0 x 0 0 0 0 0 0 0 0 0 0 0 0 0 x x 0 0 0 x 0 0 0 0 x 0 0 0 x x 0 x 0 0 0 x 0 0 x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x 0 0 0 0 0 0 x 0 x x x x 0 x 0 0 0 0 0 0 0 x x 0 0 0 0 0 0 x 0 0 x x x 0 0 0 x 0 x 0 0 0 0 0 x x 0 0 0 0 x 0 0 0 0 0 x x x 0 0 0 0 x x 0 x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x x 0 x x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x 0 x 0 0 0 0 0 0 0 0 0 x 0 0 0 0 0 x x x 0 0 0 0 0 0 x x x x 0 0 0 0 0 0 0 0 0 0 0 0 x 0 0 0 0 x x 0 0 x x 0 0 0 0 0 x x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x x 0 x x 0 0 0 0 x x x 0 0 0 0 0 0 0 x 0 0 x 0 0 0 0 0 0 0 0 x 0 0 0 0 0 0 0 0 0 0 0 0 x 0 x 0 0 0 0 0 x x 0 x 0 x 0 0 0 0 0 0 x 0 0 0 0 0 0 0 0 x x x 0 0 0 0 x x x x x x x 0 0 0 x x 0 0 0 0 0 0 0 0 x 0 x 0 0 0 0 0 0 0 x 0 0 0 0 0 0 x 0 x 0 0 0 0 0 0 0 0 0 0 0 x 0 x x 0 0 x x 0 0 0 x 0 0 0 0 0 x x 0 0 x 0 0 0 0 0 0 0 0 0 x 0 0 x 0 x 0 x 0 x x 0 0 x 0 0 0 0 0 x 0 0 0 x x x 0 0 0 0 x 0 0 0 0 0 x x x 0 x x 0 x 0 x x 0 x x 0 0 0 0 x 0 x 0 0 0 0 0 0 0 0 x 0 0 0 0 0 x 0 x 0 0 x 0 0 0 0 x 0 0 0 0 0 0 0 0 0 0
0 - Probable Safe Block
? - Unknown Block
x - Potentially Malicious Block

Similar Families

  • MSIL.Agent.KS
  • MSIL.AgentTesla.AH
  • MSIL.Inject.AAI
  • MSIL.Krypt.YAGO
  • MSIL.Krypt.YAGR
Show More
  • MSIL.Krypt.YAGT

Registry Modifications

Key::Value Data API Name
HKLM\software\microsoft\tracing\rasapi32::enablefiletracing RegNtPreCreateKey
HKLM\software\microsoft\tracing\rasapi32::enableautofiletracing RegNtPreCreateKey
HKLM\software\microsoft\tracing\rasapi32::enableconsoletracing RegNtPreCreateKey
HKLM\software\microsoft\tracing\rasapi32::filetracingmask ￿ RegNtPreCreateKey
HKLM\software\microsoft\tracing\rasapi32::consoletracingmask ￿ RegNtPreCreateKey
HKLM\software\microsoft\tracing\rasapi32::maxfilesize  RegNtPreCreateKey
HKLM\software\microsoft\tracing\rasapi32::filedirectory %windir%\tracing RegNtPreCreateKey
HKLM\software\microsoft\tracing\rasmancs::enablefiletracing RegNtPreCreateKey
HKLM\software\microsoft\tracing\rasmancs::enableautofiletracing RegNtPreCreateKey
HKLM\software\microsoft\tracing\rasmancs::enableconsoletracing RegNtPreCreateKey
Show More
HKLM\software\microsoft\tracing\rasmancs::filetracingmask ￿ RegNtPreCreateKey
HKLM\software\microsoft\tracing\rasmancs::consoletracingmask ￿ RegNtPreCreateKey
HKLM\software\microsoft\tracing\rasmancs::maxfilesize  RegNtPreCreateKey
HKLM\software\microsoft\tracing\rasmancs::filedirectory %windir%\tracing RegNtPreCreateKey

Windows API Usage

Category API
Syscall Use
  • ntdll.dll!NtAccessCheck
  • ntdll.dll!NtAlertThreadByThreadId
  • ntdll.dll!NtAlpcConnectPort
  • ntdll.dll!NtAlpcConnectPortEx
  • ntdll.dll!NtAlpcCreatePortSection
  • ntdll.dll!NtAlpcCreateSectionView
  • ntdll.dll!NtAlpcCreateSecurityContext
  • ntdll.dll!NtAlpcDeleteSecurityContext
  • ntdll.dll!NtAlpcQueryInformation
  • ntdll.dll!NtAlpcQueryInformationMessage
Show More
  • ntdll.dll!NtAlpcSendWaitReceivePort
  • ntdll.dll!NtAlpcSetInformation
  • ntdll.dll!NtApphelpCacheControl
  • ntdll.dll!NtAssociateWaitCompletionPacket
  • ntdll.dll!NtCancelWaitCompletionPacket
  • ntdll.dll!NtClearEvent
  • ntdll.dll!NtClose
  • ntdll.dll!NtCreateEvent
  • ntdll.dll!NtCreateIoCompletion
  • ntdll.dll!NtCreateKey
  • ntdll.dll!NtCreateMutant
  • ntdll.dll!NtCreatePrivateNamespace
  • ntdll.dll!NtCreateSection
  • ntdll.dll!NtCreateSemaphore
  • ntdll.dll!NtCreateThreadEx
  • ntdll.dll!NtCreateTimer2
  • ntdll.dll!NtCreateWaitCompletionPacket
  • ntdll.dll!NtCreateWorkerFactory
  • ntdll.dll!NtDeviceIoControlFile
  • ntdll.dll!NtDuplicateObject
  • ntdll.dll!NtDuplicateToken
  • ntdll.dll!NtEnumerateKey
  • ntdll.dll!NtEnumerateValueKey
  • ntdll.dll!NtFreeVirtualMemory
  • ntdll.dll!NtGetCompleteWnfStateSubscription
  • ntdll.dll!NtMapViewOfSection
  • ntdll.dll!NtNotifyChangeKey
  • ntdll.dll!NtOpenDirectoryObject
  • ntdll.dll!NtOpenEvent
  • ntdll.dll!NtOpenFile
  • ntdll.dll!NtOpenKey
  • ntdll.dll!NtOpenKeyEx
  • ntdll.dll!NtOpenProcess
  • ntdll.dll!NtOpenProcessToken
  • ntdll.dll!NtOpenSection
  • ntdll.dll!NtOpenSymbolicLinkObject
  • ntdll.dll!NtOpenThread
  • ntdll.dll!NtOpenThreadToken
  • ntdll.dll!NtPowerInformation
  • ntdll.dll!NtProtectVirtualMemory
  • ntdll.dll!NtQueryAttributesFile
  • ntdll.dll!NtQueryDefaultLocale
  • ntdll.dll!NtQueryDirectoryFileEx
  • ntdll.dll!NtQueryEvent
  • ntdll.dll!NtQueryFullAttributesFile
  • ntdll.dll!NtQueryInformationFile
  • ntdll.dll!NtQueryInformationJobObject
  • ntdll.dll!NtQueryInformationProcess
  • ntdll.dll!NtQueryInformationThread
  • ntdll.dll!NtQueryInformationToken
  • ntdll.dll!NtQueryKey
  • ntdll.dll!NtQueryLicenseValue
  • ntdll.dll!NtQueryPerformanceCounter
  • ntdll.dll!NtQuerySecurityAttributesToken
  • ntdll.dll!NtQuerySecurityObject
  • ntdll.dll!NtQuerySymbolicLinkObject
  • ntdll.dll!NtQuerySystemInformation
  • ntdll.dll!NtQuerySystemInformationEx
  • ntdll.dll!NtQueryValueKey
  • ntdll.dll!NtQueryVirtualMemory
  • ntdll.dll!NtQueryVolumeInformationFile
  • ntdll.dll!NtQueryWnfStateData
  • ntdll.dll!NtQueueApcThread
  • ntdll.dll!NtQueueApcThreadEx2
  • ntdll.dll!NtReadFile
  • ntdll.dll!NtReadRequestData
  • ntdll.dll!NtReadVirtualMemory
  • ntdll.dll!NtReleaseMutant
  • ntdll.dll!NtReleaseWorkerFactoryWorker
  • ntdll.dll!NtResumeThread
  • ntdll.dll!NtSetEvent
  • ntdll.dll!NtSetInformationKey
  • ntdll.dll!NtSetInformationProcess
  • ntdll.dll!NtSetInformationThread
  • ntdll.dll!NtSetInformationVirtualMemory
  • ntdll.dll!NtSetInformationWorkerFactory
  • ntdll.dll!NtSetTimer2
  • ntdll.dll!NtSubscribeWnfStateChange
  • ntdll.dll!NtTestAlert
  • ntdll.dll!NtTraceControl
  • ntdll.dll!NtUnmapViewOfSection
  • ntdll.dll!NtUnmapViewOfSectionEx
  • ntdll.dll!NtUnsubscribeWnfStateChange
  • ntdll.dll!NtWaitForAlertByThreadId
  • ntdll.dll!NtWaitForMultipleObjects
  • ntdll.dll!NtWaitForSingleObject
  • ntdll.dll!NtWaitForWorkViaWorkerFactory
  • ntdll.dll!NtWaitLowEventPair
  • ntdll.dll!NtWorkerFactoryWorkerReady
  • ntdll.dll!NtWriteFile

2 additional items are not displayed above.

User Data Access
  • GetComputerName
  • GetComputerNameEx
  • GetUserDefaultLocaleName
  • GetUserObjectInformation
Other Suspicious
  • AdjustTokenPrivileges
Network Winsock2
  • WSAConnect
  • WSASocket
  • WSAStartup
  • WSAttemptAutodialName
Network Winsock
  • closesocket
  • freeaddrinfo
  • getaddrinfo
  • recv
  • send
  • setsockopt
Network Winhttp
  • WinHttpOpen
Network Info Queried
  • GetAdaptersAddresses
  • GetNetworkParams
Anti Debug
  • IsDebuggerPresent
Process Manipulation Evasion
  • ReadProcessMemory

Related Posts

Trending

Most Viewed

Loading...