# Conti Ransomware **blog.qualys.com/vulnerabilities-threat-research/2021/11/18/conti-ransomware** Ghanshyam More November 18, 2021 Conti is a sophisticated Ransomware-as-a-Service (RaaS) model first detected in December 2019. Since its inception, its use has grown rapidly and has even displaced the use of other RaaS tools like Ryuk. The Cybersecurity and Infrastructure Security Agency (CISA) and the Federal Bureau of Investigation (FBI) issued a warning about Conti in Sept 2021, noting that they had observed it being used in more than 400 cyberattacks globally, though concentrated in North America and Europe. The most common initial infection vectors used are spear phishing and RDP (Remote Desktop Protocol) services. Phishing emails work either through malicious attachments, such as Word documents with an embedded macro that can be used to drop/download BazarLoader, Trickbot, IceID trojans, or via social engineering tactics employed to get the victim to provide additional information or access credentials. Following initial access, attackers download and execute a Cobalt Strike beacon DLL to gather information about domain admin accounts. Additionally, threat actors use Kerberos attacks to attempt to get admin hash in order to conduct brute force attacks. [A Conti affiliate recently leaked what has been dubbed the Conti playbook. The playbook revealed that Conti actors also exploit vulnerabilities](https://www.bleepingcomputer.com/news/security/translated-conti-ransomware-playbook-gives-insight-into-attacks/) in unpatched assets to escalate privileges and move laterally across a victim’s network. They check for the “PrintNightmare” vulnerability (CVE-2021-34527) in Windows Print spooler service, EternalBlue vulnerability (CVE-2017-0144) in Microsoft Windows Server Message Block, and the “Zerologon” vulnerability (CVE-2020-1472) in Microsoft Active Directory Domain Controller. The playbook has been translated from Russian to English by security researchers and has provided other useful Indicators of Compromise (IoC). Conti actors also use the RouterScan tool to identify router devices in a provided range of IPs and attempt to find logins/passwords from a standard list available with the RouterScan tool. They then install AnyDesk or Atera on the target machine to maintain an open communication channel. Like other ransomware attacks, Conti actors exfiltrate data from victims’ networks to cloud storage services like MEGA and then deploy Conti ransomware. To upload data on cloud storage Conti uses open-source Rclone command-line software. They use a double extortion approach in which they demand a ransom to release the encrypted data or threaten to publicly release it if a ransom is not paid. They may also sell the data to the highest bidder. ## Technical Details: Conti ransomware uses obfuscation. The most notable use is to hide various Windows API calls used by the malware. It is common for some malware to lookup API calls during execution. Initially, it brings import module names then decrypts the API names and gets their addresses. ----- Fig. 1 De-obfuscation of Windows API Conti uses a unique String Decryption Routine that is applied to almost every string text or API name used by the malware as shown in Fig. 2: Fig. 2 String Decryption Routine After getting API addresses, it calls for `CreateMutexA API with the Mutex Value of “CONTI” as shown below in Fig. 3:` Fig. 3 Create Mutex It deletes Windows Volume Shadow Copies and also resizes shadow storage for drives C to H: ----- Fig. 4 Deletes Windows Volume Shadow Copy Next, Conti executes commands for stopping potential Windows Services related to antivirus, security, backup, database, and email solutions: Fig. 5 Stop Potential Windows Services The table below contains the names of the Windows Services that Conti stopped by calling the code in Fig. 5 in the loop. MSSQL$BKUPEXEC MSSQL$SQLEXPRESS MSSQLFDLauncher$SHAREPOINT MSSQL$ECWDB2 MSSQL$SYSTEM_BGC MSSQLFDLauncher$SQL_2008 MSSQL$PRACTICEMGT MSSQL$TPS MSSQLFDLauncher$SYSTEM_BGC MSSQL$PRACTTICEBGC MSSQL$TPSAMA MSSQLFDLauncher$TPS MSSQL$PROD MSSQL$VEEAMSQL2008R2 MSSQLFDLauncher$TPSAMA MSSQL$PROFXENGAGEMENT MSSQL$VEEAMSQL2008R2 MSSQLSERVER MSSQL$SBSMONITORING MSSQL$VEEAMSQL2012 MSSQLServerADHelper MSSQL$SHAREPOINT MSSQLFDLauncher MSSQLServerADHelper100 MSSQL$SOPHOS MSSQLFDLauncher$PROFXENGAGEMENT MSSQLServerOLAPService MSSQL$SQL_2008 MSSQLFDLauncher$SBSMONITORING MySQL57 Acronis VSS Provider Mfemms DCAgent AcronisAgent Mfevtp EhttpSrv AcrSch2Svc MMS Ekrn Antivirus Mozyprobackup Enterprise Client Service ARSM MsDtsServer EPSecurityService AVP MsDtsServer100 EPUpdateService BackupExecAgentAccelerator MsDtsServer110 EraserSvc11710 BackupExecAgentBrowser MSExchangeES EsgShKernel BackupExecDeviceMediaService MSExchangeIS ESHASRV BackupExecJobEngine MSExchangeMGMT FA_Scheduler BackupExecManagementService MSExchangeMTA MSOLAP$TPSAMA BackupExecRPCService MSExchangeSA McShield BackupExecVSSProvider MSExchangeSRS McTaskManager Bedbg msftesql$PROD Mfefire IISAdmin MSOLAP$SQL_2008 Klnagent IMAP4Svc MSOLAP$SYSTEM BGC MSOLAP$TPS ----- Co t a so e e ages t e do s esta t a age to c ose app cat o s a d se ces t at a e u g o de to a e t e a a ab e o encryption and to maximize the damage: Fig. 6 Unlock files with Windows Restart Manager It collects information about drives and drive types present on compromised systems: Fig. 7 Collect Drives Information As shown in Fig. 8, Conti uses multi-threaded tactics. It calls `CreateIoCompletionPort API to create multiple instances of worker threads` into memory to wait for data. Once the file listing is completed, it is passed to the worker threads. Utilizing the computing power of multi-core CPUs, the data is quickly encrypted: ----- Fig. 8 Implementation of Multi-threaded Processing Fig. 9 Multiple Threads Perform File Encryption Conti then iterates files on the local system and those on remote SMB network shares to determine what data to encrypt. It looks for folders and drives shared on remote systems using `NetShareEnum API. If the remote share is accessible, it encrypts the files present in that share:` ----- Fig. 10 Getting Info of Remote Shares It collects ARP cache information from the local system using the `GetIpNetTable API. ARP cache information is a list of all the systems with` which the computer recently communicated. It checks for “172.”, “192.168.” etc., on the collected IP list. If an IP address is in a different range it skips that system from encryption: Fig. 11 Collect ARP Cache Information It uses an AES-256 encryption key per file with a hard-codedRAS-4096 public encryption key. As shown in Fig. 12, the 0x6610 parameter is used while calling the `CryptGenKey API. 0x6610 is the value of the CALG_AES_256 identifier and is only alg_id:` Fig. 12 Create CALG_AES_256 Key Conti has a unique feature that allows attackers to perform file encryption in command line mode: ----- Fig. 13 Command Line Mode of Operation ## Modes of Operation Conti allows 2 command line modes `--encrypt-mode and` `- h :` Fig. 14 Command Line `--encrypt-mode Mode` ``` --encrypt-mod marks which files are encrypted. There are 3 options for its value: all, local, and network . By default, ransomware ``` runs with the `all parameter:` Fig. 15 Command Line `--encrypt-mode with Value` `all` In `all, encryption carried out for – local and network.` `network means that shared resources on the local network will be encrypted:` Fig. 16 Command Line `--encrypt-mode Mode with Value` `local` Fig. 17 Command Line `--encrypt-mode Mode with Value` `network` In command line `-h mode, the parameter may contain the name of a file that lists the DNS and NetBIOS addresses of remote servers. The` malware will then build a list of folders to ignore during encryption: ----- Fig. 18 Folders Ignored in Encryption It skips the following extensions during encryption: .exe, .dll, .sys, .lnk, and .CONTI. It appends the file extension `.CONTI and creates a` ransom note named `CONTI_README.txt in every folder to notify users about the infection:` Fig. 19 __CONTI” Extension Appended to Files ## The Ransom Note: The ransom note and the note’s file information are present in the resource of malware files: Fig. 20 Ransom Note Content ----- Fig. 21 Ransom Note Name It calls the `LoadResource API to get ransom note-related information:` Fig. 22 Code to Collect Data Related to the Ransom Note The ransom note contains 2 email addresses to get in touch with the attackers. The addresses are unique for each victim: ----- Fig. 23 Ransom Note ## IoC: ``` eae876886f19ba384f55778634a35a1d975414e83f22f6111e3e792f706301fe TTP Map: ``` **Credential** **Access** **Discovery** **Lateral** **Movement** **Collect** **Initial Access** **Execution** **Persistence** **Privilege** **Escalation** **Defense Evasion** Valid Accounts (T1078) Phishing: Spearphishing Attachment (T1566.001) Phishing: Spearphishing Link (T1566.002) Exploit publicfacing application (T1190) Command and Scripting Interpreter: Windows Command Shell (T1059.003) Native Application Programming Interface (API) (T1106) Windows Management Instrumentation (T1047) User execution (T1204) Scheduled task/job: scheduled task (T1053.005) Command and Scripting Interpreter: PowerShell (T1059.001) Valid Accounts (T1078) External Remote Services (T1133) Scheduled task/job: scheduled task (T1053.005) Startup item (T1165) Boot or logon autostart execution: Winlogon Helper DLL (T1547.004) Process Injection: Dynamiclink Library Injection (T1055.001) Valid accounts: domain accounts (T1078.002) Obfuscated Files or Information (T1027) Process Injection: Dynamic-link Library Injection (T1055.001) Deobfuscate/Decode Files or Information (T1140) Impair defenses: disable or modify tools (T1562.001) Brute Force (T1110) Steal or Forge Kerberos Tickets: Kerberoasting (T1558.003) OS credential dumping (T1003) Credentials from password stores (T1555) System Network Configuration Discovery (T1016) System Network Connections Discovery (T1049) Process Discovery (T1057) File and Directory Discovery (T1083) Network Share Discovery (T1135) Remote System Discovery (T1018) Network Service Scanning (T1046) Remote Services: SMB/Windows Admin Shares (T1021.002) Taint Shared Content (T1080) Exploitation of Remote Services (T1210) Lateral tool transfer (T1570) Archive Collecte Data: Archive Utility (T1560. ----- **Credential** **Access** **Discovery** Permission groups discovery: domain groups (T1069.002) System information discovery (T1082) System owner/user discovery (T1033) Security software discovery (T1063) Account Discovery: Local Account (T1087.001) Permissions Group Discovery: Local Groups (T1069.001) **Lateral** **Movement** **Collect** **Initial Access** **Execution** **Persistence** ## Summary **Privilege** **Escalation** **Defense Evasion** To defend against threats, Qualys recommends good cyber hygiene practices, and moving to a preventative approach by keeping network configurations, backup, application access, and patching up-to-date. -----