BellaCPP, Charming Kitten’s BellaCiao variant written in C++

Pierluigi Paganini December 25, 2024

Iran-linked APT group Charming Kitten has been observed using a new variant of the BellaCiao malware dubbed BellaCPP, Kaspersky researchers warn.

The Iran-linked APT group Charming Kitten has been observed using a C++ variant of the BellaCiao malware, dubbed BellaCPP.

BellaCiao, a .NET-based malware, combines webshell persistence with covert tunneling. The malicious code was first spotted in April 2023 by Bitdefender, its PDB paths reveal valuable insights, including a versioning scheme.

Recently Kaspersky discovered a BellaCiao malware sample on a computer in Asia, along with a related C++ reimplementation of an older BellaCiao version.

BellaCiao’s PDB paths revealed key details about the campaign, including target entities and countries. All paths include “MicrosoftAgentServices,” sometimes with versioning integers (e.g., “MicrosoftAgentServices2”), likely used by developers to track updates and maintain an evolving malware arsenal for APT operations.

“BellaCPP was found on the same machine infected with the .NET-based BellaCiao malware. It’s a DLL file named “adhapl.dll”, developed in C++ and located in C:\Windows\System32. It has one export function, named “ServiceMain”.” reads the report published by Kaspersky. “The name and control handler registration indicate that, similar to the original BellaCiao samples, this variant is designed to run as a Windows service.”

The .NET-based BellaCiao malware exhibits behavior similar to earlier versions, including:

  1. Decrypting strings for a DLL path, functions (“SecurityUpdate” and “CheckDNSRecords”) using XOR encryption.
  2. Loading the DLL and resolving function addresses.
  3. Generating a domain in the format <5 random letters><target identifier>.<country code>.systemupdate[.]info.
  4. Validating the domain’s IP against a hardcoded address and invoking the “SecurityUpdate” function with specific arguments.

Despite similarities, differences include domain generation patterns and SSH tunneling workflows in .NET versions. Analysis of the crucial DLL (D3D12_1core.dll) remains incomplete due to its unavailability.

“Based on the passed parameters and known BellaCiao functionality, we assess with medium confidence that the missing DLL creates an SSH tunnel. However, in contrast to the PowerShell webshell that we observed in the older BellaCiao samples, the BellaCPP sample lacks a hardcoded webshell.” continues the report.

BellaCPP is likely linked to the Charming Kitten threat actor, as it mirrors BellaCiao samples in C++ form without webshell functionality, uses domains tied to the actor, employs similar domain generation methods, and was found on a system alongside an older BellaCiao sample.

“Charming Kitten has been improving its arsenal of malware families while making use of publicly available tools.” concludes the report. “The discovery of the BellaCPP sample highlights the importance of conducting a thorough investigation of the network and the machines in it. Attackers can deploy unknown samples which might not be detected by security solutions, thereby retaining a foothold in the network after “known” samples are removed.”

Follow me on Twitter: @securityaffairs and Facebook and Mastodon

Pierluigi Paganini

(SecurityAffairs – hacking, Iran)



you might also like

leave a comment