Paradox RAT

Published on
July 2025
Paradox RAT

Introduction

This technical article will go deep into Paradox RAT. We will discuss the malware's Windows API calls, network protocols, and file system manipulations. It can keylogging every keystroke, decrypt and steal stored passwords from your browsers, has powerful DoS attack modules, and infect entire corporate networks. Paradox RAT has incredible capabilities and presents a real threat. In this report we will discuss the underlying technical details about the engineering of this malware.

Technical Summary
Technique Description
Take Screenshots The RAT captures screenshots, resizes them to JPEG, and encodes them to Base64
Download and Execute Upon receiving a DLE command, the RAT downloads a file from a specified URL, saves it to the temporary folder with a random .exe filename, and then executes it.
Speaker (Text-to-Speech) The malware utilizes the SAPI.SpVoice COM object to convert provided text into speech, leveraging Windows' built-in text-to-speech functionality.
Power Control The RemoteFeature method provides capabilities to remotely shut down, restart, or log off the computer. It also controls the CD drive (open/close) using mciSendString commands.
Malware Propagation The RAT uses techniques such as P2P File Sharing, USB Infection, LAN Spreading to spread
Browser Credentials Recovery It targets Google Chrome and Mozilla Firefox login credentials.
Flooding (DoS/DDoS) The RAT includes modules for DoS and DDoS attacks such as UDP Flooder, SYN Flooder, Slowloris Attack
Keylogging Implements a low-level keyboard hook to capture all keystrokes system-wide before they are processed by the OS.

Technical analysis

Take screenshots

First, the malware will take the screenshot then resize it and save it as JPEG. After that, encode the raw bytes of the image to base64. The data which will be sent to the C2 looks like: PRE| +data

RemotePreview to take screenshots

figure (1): RemotePreview to take screenshots

Download and execute

When the RAT gets the DLE command, it downloads a file from a provided URL and saves it to temp folder with a randomly generated file name then executes it.

Download and execute files

Figure (2): Download and execute files

Speaker

The malware is able to use SAPI.SpVoice COM object to speak or read out a provided text. Speech Application Programming Interface (SAPI) object allows you to use text-to-speech functionality when it takes a text as an input.

Text-to-Speech functionality

Figure (3): Text-to-Speech functionality

Power control

The RemoteFeature method is able to shut down, restart, logoff, and open and close the CD drive based on the op input.

  • 0.0: Shuts down the computer.
  • 1.0: Restarts the computer.
  • 2.0: Logs off the current user.
  • 3.0: Open the CD drive.
  • 4.0: Closes the CD drive.

It uses mciSendString to control MCI devices such as CD-ROM players which sends a command to open or close the CD drive.

Control the power of the device

Figure (4): Control the power of the device

Malware Propagation
P2P file sharing

The RAT has the ability to spread through the network using P2P file sharing applications such as Shareaza, eMule, or shared folders. It searches for a list of P2P shared directories. If a directory is found, then it copies the RAT executable in the shared directories. The RAT iterates through the directories inside the Program Files and gets the name of the directory to rename the executable such as <directory_name>-crack.exe.

Propagation method

Figure (5): Propagation method

USB

It iterates through the logical drives, copies the executable file in the root of each logical drive, renaming the executable file as PornPic.scr. It creates an autorun.inf text file with commands to execute the malware.

[autorun]
open=PornPic.scr
shellexecute=,1

Then change the file attributes of the autorun.inf and PornPic.scr files to Hidden and use filehide method to hide the files using registry key HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced and set the Hidden attribute to 0.

Spread through USB

Figure (6): Spread through USB

LAN

In the UniversalUser method, The RAT creates a new local user with username Universal and password Universalwashere then adds the user to Administrators group to give the Universal user Admin privileges. It hides the user Universal from the Windows logon window using registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList

Create a local user as an Admin

Figure (7): Create a local user as an Admin

Then in the CreateShare method, it creates a network shared folder on the victim device named Program Settings in the C:\Program Settings folder using WMI and sets the folder attribute to Hidden.

Create network share

Figure (8): Create network share

Finally, the RAT iterates through the network share folders which are queried using WMI. It searches for non-Admin or non-hidden network shared folders which don't end with $ (C$ or Admin$) and copies the malware in these folders with name winadmin-setup.exe. And it uses registry key Software\Microsoft\Windows\CurrentVersion\Explorer\Map Network Drive MRU to enumerate recently accessed network share folders to append the malware to the path of each recently accessed network share folders.

Spread through the LAN

Figure (9): Spread through the LAN

Browsers credentials recovery
Google Chrome

The RAT tries to extract and decrypt login credentials stored in Google Chrome Login Data database. To decrypt passwords, the RAT uses Windows data protection API CryptUnprotectData which is found in the Decrypt method.

Google Chrome password recovery

Figure (10): Google Chrome password recovery

Firefox

It also decrypts login credentials from Firefox browser. It locates the signons.sqlite file and reads the moz_logins table which contains the login credentials then it uses NSS (Network Security Services) functions to decrypt the encrypted passwords.

Firefox password recovery

Figure (11): Firefox password recovery

Flooders

The RAT has the ability to DoS/DDoS attack on a specific target using:

  • UDP flood
  • SYN flood
  • Slowloris
UDP flooders

The malware parses the received Host, port, size of packets, number of sockets, and timeout settings from the C2 server. Inside the bgUdpFlood_DoWork method, it creates an IPEndPoint object which is used in communication with a service on the provided IP and port. In the while loop, it creates UDP sockets SocketType.Dgram, ProtocolType.Udp and sends the specified packets to target IP and port then it repeats the UDP flooding til KeepFlooding becomes False.

UDP flooding

Figure (12): UDP flooding

SYN flooders

In SYN flood, the RAT would send SYN packets without completing the three-way handshake (Without sending ACK back when the target sends SYN-ACK). Inside the Send method, it creates TCP sockets ProtocolType.Tcp in non-blocking mode which is used for sending multiple SYN packets without waiting for the response of the target then it disconnects and closes the connected sockets (Half-opened connections)

SYN flooding

Figure (13): SYN flooding

Slowloris

Slowloris attack tool is used to overwhelm the resources of a web server with multiple simultaneous incomplete HTTP requests and keep these connections open. In bgSlowFlood_DoWork method, it opens TCP sockets to the target host with port and sends incomplete HTTP header requests POST / HTTP/1.1\r\nHost: " + Host + "\r\nContent-length: 5235\r\n\r\n. After sending the incomplete request, the server will keep the connection open til the rest of the request is received.

Slowloris attack

Figure (14): Slowloris attack

Keylogging

The RAT implements a keyboard hook using SetWindowsHookEx API to capture keystrokes. The first argument is 13 corresponds to WH_KEYBOARD_LL which lets the RAT monitor the keystrokes before the OS processes them.

Keylogging functionality

Figure (15): Keylogging functionality

Commands

Command Description
PRETake screenshot
RMDContinuous screenshots
RMSCapturing strips across the screen
SMDDisable remote desktop
DLDownload and execute files
MBSSShow a message box on victim computer
MBSStyle
MDTTitle
MBIText
VWSimulate viewing a website
LOGINSet logged variable to true
SPText-to-Speech function
RGDisable or enable access to windows registry editor
CGDisable or enable access to CMD
TMDisable or enable access to Task Manager
RFPower options
FILEFUCKCreate 1001 files on Desktop
MASSDDelete files from a specific path
REFGETPROC: Get processes information
KILLPROC / DELPROCTerminate a specific process
PROCINFOGet information based on a given ID
GETINFOHarvest system information
SKEYSGet startup programs names
DKEYDelete startup key
CMDExecute a command
CMD LFOLEnumerate files from a given folder
LSYSEnumerate files from a given folder in C drive
DELFOLDDelete a specific folder
DELFILDelete a specific file
GLOGRead RAT data
UPDEUpdate the RAT
FINFGet information about a given file
P2PSpread the malware through P2P programs
USBSpread the malware through USB
LANSpread the malware through LAN
UDPUDP flooding
SYNSYN flooding
SlowSlowloris attack tool
STOPALLStop flooding
STLNHarvest Google chrome and Firefox login credentials
GCSRCSEnumerate available video capture devices
RWCAMCapture images from video capture source such as WebCam
UNSTALLUninstall

Yara Rule

rule mal_ParadoxRAT {
  meta:
    description = "Detects ParadoxRAT malware"
    author = "Cyber Guru Team"
    date = "2025-06-12"
    hash1 = "13e9042f6fa0c525b1cbe97d3273b1c0ae0b63e426ffaeec7caa3e11786141f2"
  strings:
    $str1 = "ParadoxRAT" fullword ascii
    $str2 = "C:UsersJordanDesktopParadox CodingParadoxRAT ClientParadoxRAT Clientobjx86ReleaseParadoxRAT Client.pdb" fullword ascii
    $str3 = "ParadoxRAT_Client" fullword ascii
    $str4 = "FF_Needs" fullword ascii
    $str5 = "bgFlood" fullword ascii
    $str6 = "bgFlood_DoWork" fullword ascii
  condition:
    uint16(0) == 0x5a4d and 4 of ($str*)
}

IoC

  • Hash: 13e9042f6fa0c525b1cbe97d3273b1c0ae0b63e426ffaeec7caa3e11786141f2

Commands

Command Description
PRETake screenshot
RMDContinuous screenshots
RMSCapturing strips across the screen
SMDDisable remote desktop
DLDownload and execute files
MBSS Show a message box on victim computer using:
MBS: Style
MDT: Title
MBI: Text
VWSimulate viewing a website
LOGINSet logged variable to true
SPText-to-Speech function
RGDisable or enable access to windows registry editor
CGDisable or enable access to CMD
TMDisable or enable access to Task Manager
RFPower options
FILEFUCKCreate 1001 files on Desktop
MASSDDelete files from a specific path
REF GETPROC: Get processes information
KILLPROC / DELPROC: Terminate a specific process
PROCINFO: Get information based on a given ID
GETINFOHarvest system information
SKEYSGet startup programs names
DKEYDelete startup key
CMD Execute a command
LFOL: Enumerate files from a given folder
LSYS: Enumerate files from a given folder in C drive
DELFOLDDelete a specific folder
DELFILDelete a specific file
GLOGRead RAT data
UPDEUpdate the RAT
FINFGet information about a given file
P2PSpread the malware through P2P programs
USBSpread the malware through USB
LANSpread the malware through LAN
UDPUDP flooding
SYNSYN flooding
SlowSlowloris attack tool
STOPALLStop flooding
STLNHarvest Google Chrome and Firefox login credentials
GCSRCSEnumerate available video capture devices
RWCAMCapture images from video capture source such as WebCam
UNSTALLUninstall