DotNet Base64 is a native FUD supports up to windows 11 and bypass Windows Defender. Here, you can download the DotNet Base64 for free.
What is Crypter Malware?
A crypter is a specific type of software that has the ability to encrypt, obfuscate, and manipulate different kinds of malware. This makes it harder to detect by security programs. Crypters are used by cybercriminals in order to create malware that bypasses security programs by presenting itself as being a harmless program until it is installed.
Types of Crypters
A crypter contains a specific crypter stub, which is the code used to encrypt and decrypt forms of malicious code. Depending on the stub the crypter uses, they can be classified as static/statistical or polymorphic.
Static/statistical crypters utilize stubs to make each encrypted file unique. Having separate stubs for each of these clients makes it easy for malicious actors to modify a stub once it is detected by a security software.
Polymorphic crypters are more advanced than static DotNet Base64 crypters. They use algorithms with random variables, data, keys, decoders, and more. For this reason, one input source file will never produce an output file that is identical to the output of another source file.
How Crypters Spread Malicious Code
Cybercriminals build or buy crypters on the underground market in order to encrypt malicious programs then reassemble code into an actual working program. They then send these programs as part of an attachment within phishing emails and spammed messages. Unknowing users open the program, which will force the DotNet Base64 crypter to decrypt itself and then release the malicious code.
Crypter Evolution
During our continuous monitoring of this DotNet Base64 crypter, we observed 3 different variants in the past year. Let us take a quick look at the overview of some variants we’ve seen.
Note: A NSIS-based installer package is an archive that can be unpacked using 7zip. For each sample, we are going to use the older version of 7zip (15.05) since newer versions do not support the unpacking of “[NSIS].nsi” script used to control the installation tasks
Loading the Decrypted Payload
The DotNet Base64 crypter creates a suspended process, where the malware payload is injected as a new instance of the current executable.
Techniques used for process injection depend on whether the payload has Base Relocation Size or not. If it has, the Portable Executable Injection (PE Injection) technique will be used for process injection. When injecting a PE into another process, it is going to have a new base address which is unpredictable. “PE Injection” will rely on Base Relocation values to dynamically fix the addresses of its PE.
On the other hand, if the payload contains Base Relocation values, another popular approach named “Process Hollowing” is used. In this technique, the target’s process memory will be unmapped and replaced with the content of the payload. This sample, it uses the following APIs.
GetThreadContext
NtUnmapViewOfSection
NtWriteVirtualMemory
SetThreadContext
NtResumeThread
To make it stealthier, low-level API’s (Nt*) calls are implemented via direct syscall using its own custom function. Calls to syscall need to have a syscall ID that corresponds to an API function stored in the EAX register. This syscall ID, however, changes between Operating System versions.
It uses the famous “Hell’s Gate” technique to dynamically retrieve the syscall ID on the host. The basic concept of this technique is reading through the mapped NTDLL in memory, finding the syscall ID and then directly using syscall to call the low-level API function. Security products that rely on user-space API hooks may not be able to monitor this kind of system-level behavior.
This DotNet Base64 crypter takes advantage of this trick to read and map a copy of NTDLL in newly allocated memory. It traverses the starting pointer address of a low-level API function to retrieve the syscall ID. Figure 11 shows the logic of how it retrieves the syscall ID, MOV EAX opcode, while Figure 12 shows the starting opcode of a low-level API function from NTDLL. more info Here
DotNet Base64 Crypter 100% Fud
Detection: 0 of 35
Status: Clean
==========
Detection: 0 of 35
Status: Clean
Detections:
![DotNet Base64 DotNet Base64](/proxy.php?image=https%3A%2F%2Fblackhatpakistan.net%2Foalripoh%2F2022%2F12%2FDotNet-Base64-300x210.png&hash=33521e415b143836c9ce6ad55c2da492)
What is Crypter Malware?
A crypter is a specific type of software that has the ability to encrypt, obfuscate, and manipulate different kinds of malware. This makes it harder to detect by security programs. Crypters are used by cybercriminals in order to create malware that bypasses security programs by presenting itself as being a harmless program until it is installed.
Types of Crypters
A crypter contains a specific crypter stub, which is the code used to encrypt and decrypt forms of malicious code. Depending on the stub the crypter uses, they can be classified as static/statistical or polymorphic.
Static/statistical crypters utilize stubs to make each encrypted file unique. Having separate stubs for each of these clients makes it easy for malicious actors to modify a stub once it is detected by a security software.
Polymorphic crypters are more advanced than static DotNet Base64 crypters. They use algorithms with random variables, data, keys, decoders, and more. For this reason, one input source file will never produce an output file that is identical to the output of another source file.
How Crypters Spread Malicious Code
Cybercriminals build or buy crypters on the underground market in order to encrypt malicious programs then reassemble code into an actual working program. They then send these programs as part of an attachment within phishing emails and spammed messages. Unknowing users open the program, which will force the DotNet Base64 crypter to decrypt itself and then release the malicious code.
Crypter Evolution
During our continuous monitoring of this DotNet Base64 crypter, we observed 3 different variants in the past year. Let us take a quick look at the overview of some variants we’ve seen.
Note: A NSIS-based installer package is an archive that can be unpacked using 7zip. For each sample, we are going to use the older version of 7zip (15.05) since newer versions do not support the unpacking of “[NSIS].nsi” script used to control the installation tasks
Loading the Decrypted Payload
The DotNet Base64 crypter creates a suspended process, where the malware payload is injected as a new instance of the current executable.
Techniques used for process injection depend on whether the payload has Base Relocation Size or not. If it has, the Portable Executable Injection (PE Injection) technique will be used for process injection. When injecting a PE into another process, it is going to have a new base address which is unpredictable. “PE Injection” will rely on Base Relocation values to dynamically fix the addresses of its PE.
On the other hand, if the payload contains Base Relocation values, another popular approach named “Process Hollowing” is used. In this technique, the target’s process memory will be unmapped and replaced with the content of the payload. This sample, it uses the following APIs.
GetThreadContext
NtUnmapViewOfSection
NtWriteVirtualMemory
SetThreadContext
NtResumeThread
To make it stealthier, low-level API’s (Nt*) calls are implemented via direct syscall using its own custom function. Calls to syscall need to have a syscall ID that corresponds to an API function stored in the EAX register. This syscall ID, however, changes between Operating System versions.
It uses the famous “Hell’s Gate” technique to dynamically retrieve the syscall ID on the host. The basic concept of this technique is reading through the mapped NTDLL in memory, finding the syscall ID and then directly using syscall to call the low-level API function. Security products that rely on user-space API hooks may not be able to monitor this kind of system-level behavior.
This DotNet Base64 crypter takes advantage of this trick to read and map a copy of NTDLL in newly allocated memory. It traverses the starting pointer address of a low-level API function to retrieve the syscall ID. Figure 11 shows the logic of how it retrieves the syscall ID, MOV EAX opcode, while Figure 12 shows the starting opcode of a low-level API function from NTDLL. more info Here
DotNet Base64 Crypter 100% Fud
Detection: 0 of 35
Status: Clean
==========
Detection: 0 of 35
Status: Clean
Detections:
- AVG Free-Clean
- ArcaVir-Clean
- Avast-Clean
- AntiVir (Avira)-Clean
- BitDefender-Clean
- VirusBuster Internet Security-Clean
- Clam Antivirus-Clean
- COMODO Internet Security-Clean
- Dr.Web-Clean
- eTrust-Vet-Clean
- F-PROT Antivirus-Clean
- F-Secure Internet Security-Clean
- G Data-Clean
- IKARUS Security-Clean
- Kaspersky Antivirus-Clean
- McAfee-Clean
- MS Security Essentials-Clean
- ESET NOD32-Clean
- Norman-Clean
- Norton Antivirus-Clean
- Panda Security-Clean
- A-Squared-Clean
- Quick Heal Antivirus-Clean
- Solo Antivirus-Clean
- Sophos-Clean
- Trend Micro Internet Security-Clean
- VBA32 Antivirus-Clean
- Zoner AntiVirus-Clean
- Ad-Aware-Clean
- BullGuard-Clean
- Immunet Antivirus-Clean
- K7 Ultimate-Clean
- NANO Antivirus-Clean
- Panda CommandLine-Clean
- VIPRE-Clean