LA REPUBBLICA ROMA: NUOVO ARTICOLO PIENO ZEPPO DI PROPAGANDA
Contro la falsa informazione pro-inceneritore.
Nell’articolo dell’edizione romana di ieri a firma di Salvatore Giuffrida leggiamo “Il cantiere a Santa Palomba partirà entro il primo trimestre del 2026 e durerà 32 mesi, fino a oltre la metà del 2028”. Il sottotitolo contiene la prima menzogna o bufala, come preferite. Le attività di costruzione dureranno 39 mesi e non 32 come scrive il giornalista e il cantiere terminerà nel maggio 2029. Attenzione, non siamo noi a dichiaralo ma è scritto nero su bianco sul più recente cronoprogramma del proponente.
“Il 2026 sarà l’anno del termovalorizzatore di Roma”. Nell’attacco del pezzo si condensa tutto lo strumentario della retorica tipica dei fan dell’incenerimento che si guarda bene dal ricordare, neppure incidentalmente che i poteri straordinari sono stati attributi per impiantistica destinata a far fronte all’afflusso straordinario dei pellegrini del Giubileo 2025. Un impianto che a Giubileo terminato non è ancora autorizzato e il cui iter è potuto andar avanti esclusivamente a forza di ordinanze, con la Procura di Roma che sta indagando al riguardo. Profili questi, guarda caso, del tutto omessi.
“Bisogna ancora aspettare due anni per inaugurare l’impianto, ma il percorso è già avviato: di fatto è ormai concluso il procedimento autorizzatorio unico regionale, Paur, che riunisce in un unico atto tutte le valutazioni, i pareri e le autorizzazioni di competenza regionale necessarie a realizzare il progetto e avviare il cantiere.”
Il procedimento non è affatto concluso. Ci sono i pareri contrari dei comuni di Albano, Ardea e Pomezia. C’è soprattutto la Soprintendenza Speciale di Roma ha tutta la competenza e decisive motivazioni per bocciare gli elaborati progettuali nella conferenza di servizi in corso e per contestare la procedura avviata in virtù delle proprie prerogative istituzionali discendenti dall’articolo 9 della Costituzione, attuato dal codice dei beni culturali.
Seguono poi i consueti ritornelli della propaganda inceneritorista: “Saranno inoltre realizzati quattro impianti ausiliari per recuperare le ceneri pesanti, un impianto fotovoltaico, una rete di teleriscaldamento e un sistema sperimentale per catturare l’anidride carbonica. Il termovalorizzatore sarà capace di bruciare 600mila tonnellate l’anno di rifiuti e di produrre energia elettrica per circa 200mila abitazioni”.
Al riguardo solo due repliche lampo a proposito di teleriscaldamento e sistema sperimentale cattura CO2. Il teleriscaldamento, conti alla mano, riguarderà un centinaio di famiglie. Dovranno provare di avere il contratto di fornitura indispensabile per la verifica del coefficiente R1 indice di efficienza energetica per ricondurre l’impianto tra quelli di recupero energetico.
Sull’impianto di cattura della CO2, oltre a non essere sperimentale come evidenziato dallo stesso proponente basti ricordare che la massima cattura equivale ad appena l’1per mille della Co 2 emessa. Su questo ci sono ben due esposti alla Corte dei conti ma anche su questo silenzio tombale.
Le 200 mila abitazioni che vorranno l’energia elettrica prodotta, non l’avranno certo a gratis ma dovranno pagarla a prezzi di mercato.
“Infine, a ottobre il Comune ha ratificato un protocollo d’intesa con Ferrovie dello Stato per gestire la logistica ambientale in merito al trasporto dei rifiuti senza costi aggiuntivi per le parti.” Un protocollo d’intesa privo di qualsivoglia autentica portata, chissà perché riportarlo?
Davanti a tanta spudorata propaganda rispondiamo con il nostro prossimo appuntamento: la mattina di lunedì 29 dicembre sit-in presso la Soprintendenza speciale di Roma per smuoverla a tutelare i beni archeologici presenti nell’area del progetto e che verrebbero irrimediabilmente distrutti.
Concludiamo il nostro comunicato richiamando il recentissimo parere contrario della Regione Lazio nella conferenza di servizi sulla discarica di Tor Tignosa che lascia l’inceneritore privo della sua discarica di servizio.
Non serve il giornalismo di inchiesta, sarebbe sufficiente il semplice giornalismo.
Buona serata!
19 dicembre 2025
L'animale più longevo mai scoperto aveva 507 anni. E lo abbiamo ucciso per sbaglio
Ming, nato nel 1499, ha attraversato cinque secoli di storia prima di morire il giorno della sua scoperta... purtroppo.Everyeye Tech
Europe’s Next Digital Frontier: Balancing Web 3.0 Innovation with Fundamental Rights
@politics
europeanpirates.eu/europes-nex…
Evolution Of the Internet Comparing the internet’s growth to Darwin’s theory of evolution helps explain how it has changed over time,
Effetto Gaza: piazze piene, urne vuote. L’ultimo sondaggio di Youtrend spiega perché
@Politica interna, europea e internazionale
Le elezioni regionali nelle Marche dello scorso settembre avevano già evidenziato questo tema: il candidato del centrosinistra Matteo Ricci ha dedicato gli ultimi giorni della campagna elettorale a iniziative apertamente a favore della causa palestinese. Le urne,
I bambini della famiglia nel bosco restano in comunità, gli attacchi di Salvini e Roccella ai giudici: “Vergogna”
@Politica interna, europea e internazionale
Matteo Salvini ed Eugenia Roccella attaccano i giudici dopo la decisione della Corte d’Appello dell’Aquila di rigettare il ricorso di Nathan Trevallion e Catherine Birmingham contro la sospensione della responsabilità genitoriale. Il
I giornalisti palestinesi Mohanna e Selmi sono riusciti ad arrivare in Italia
@Politica interna, europea e internazionale
Lo scorso 18 ottobre, a Roma, in Campidoglio, l’Istituto Ricerche Archivio Disarmo (Iriad) li aveva insigniti del Premio giornalistico Colombe d’Oro per la Pace. Ma loro, i premiati, non avevano potuto partecipare alla cerimonia di consegna, bloccati com’erano nella
Perché il 2026 sarà un anno spartiacque per il Governo Meloni
@Politica interna, europea e internazionale
Giorgia Meloni si affaccia sul nuovo anno forte di sondaggi che stimano il suo partito, Fratelli d’Italia, saldamente intorno al 30% dei consensi. La fiducia di cui gode la presidente del Consiglio costituisce un’assicurazione sulla vita – anzi, un’assicurazione sul governo – anche per gli altri
“Le Big Tech sono una minaccia per la democrazia”: intervista al prof. Juan De Martin
@Politica interna, europea e internazionale
Dal 23 al 25 gennaio il Palazzo Ducale di Genova ospiterà “Democrazia alla prova”, una tre giorni di dibattiti organizzata dal Forum Disuguaglianze e Diversità e dal Palazzo Ducale e curata in particolare dall’ex ministro Fabrizio Barca (co-coordinatore
LLM e ransomware: la minaccia cambia marcia, ma senza cambiamenti radicali
@Informatica (Italy e non Italy 😁)
Gli LLM hanno l'effetto di accelerare il ciclo di vita del ransomware, ma senza trasformarlo in maniera radicale. Ecco i tre cambiamenti strutturali che si stanno verificando in parallelo
L'articolo LLM e ransomware: la minaccia cambia marcia, ma senza
Il potente messaggio di pace di papa Prevost e la nomina del nuovo arcivescovo di New York
@Giornalismo e disordine informativo
articolo21.org/2025/12/il-pote…
Arriva la nomina del nuovo arcivescovo di New York e papa Prevost, per alcuni commentatori che così lo
Missioni di pace, Crosetto e Portolano tracciano l’impegno dell’Italia nel mondo
@Notizie dall'Italia e dal mondo
Nell’ambito della tradizionale cerimonia di auguri natalizi ai militari italiani impegnati all’estero, alla presenza del presidente della Repubblica e dei vertici delle Forze armate, il ministro della Difesa Guido Crosetto e il capo di Stato maggiore della Difesa, il
Schleswig-Holstein: la sovranità digitale è possibile ed economica
softwareliberoliguria.org/schl…
Segnalato dall'Associazione Software Libero Liguria di #Genova e pubblicato sulla comunità Lemmy @GNU/Linux Italia
#Firenze
LibreOffice
GNU/Linux Italia reshared this.
Nessuno spiraglio alla pace
@Giornalismo e disordine informativo
articolo21.org/2025/12/nessuno…
A Gaza i neonati muoiono assiderati. In Ucraina muoiono sotto i bombardamenti. Che in altre aree del mondo sono definiti come “Raid”. Così pesano di meno. I telegiornali occupano la prima metà dei loro notiziari con guerre e omicidi, ed anche con le conseguenze giudiziarie di questi ultimi.
Giornalismo e disordine informativo reshared this.
kulturjam.it/news/mattarella-e…
il sommarsi di tre vettori di variazione culturale/scientifica straordinari – cioè (1) gli avanzamenti sperimentali e teorici in fisica quantistica + (2) le neuroscienze + (3) l'intelligenza artificiale – sembra attestarsi (in termini di eccezionalità) come contraltare all'avanzamento delle destre medioevali coloniali in tutto il mondo.
o, detto altrimenti: → noblogo.org/differx/il-sommars…
il sommarsi di tre vettori di variazione culturale/scientifica straordinari -...
o, detto altrimenti: i neofascismi violentano le lancette dell'orologio per portarle indietro nel momento stesso in cui queste sembrano invece accelerare positivamente.differxdiario
reshared this
Luna entro il 2028, reattori nucleari e armamenti. Ecco la nuova space strategy Usa
@Notizie dall'Italia e dal mondo
Donald Trump ha emesso un nuovo ordine esecutivo, formalizzando la nuova strategia nazionale per lo spazio degli Stati Uniti. Punti cardine del documento, il ritorno degli astronauti americani sulla Luna entro il 2028, un deciso rafforzamento delle capacità militari
Notizie dall'Italia e dal mondo reshared this.
Cloud Atlas activity in the first half of 2025: what changed
Known since 2014, the Cloud Atlas group targets countries in Eastern Europe and Central Asia. Infections occur via phishing emails containing a malicious document that exploits an old vulnerability in the Microsoft Office Equation Editor process (CVE-2018-0802) to download and execute malicious code. In this report, we describe the infection chain and tools that the group used in the first half of 2025, with particular focus on previously undescribed implants.
Additional information about this threat, including indicators of compromise, is available to customers of the Kaspersky Intelligence Reporting Service. Contact: intelreports@kaspersky.com.
Technical details
Initial infection
The starting point is typically a phishing email with a malicious DOC(X) attachment. When the document is opened, a malicious template is downloaded from a remote server. The document has the form of an RTF file containing an exploit for the formula editor, which downloads and executes an HTML Application (HTA) file.
Fpaylo
Malicious template with the exploit loaded by Word when opening the document
We were unable to obtain the actual RTF template with the exploit. We assume that after a successful infection of the victim, the link to this file becomes inaccessible. In the given example, the malicious RTF file containing the exploit was downloaded from the URL hxxps://securemodem[.]com?tzak.html_anacid.
Template files, like HTA files, are located on servers controlled by the group, and their downloading is limited both in time and by the IP addresses of the victims. The malicious HTA file extracts and creates several VBS files on disk that are parts of the VBShower backdoor. VBShower then downloads and installs other backdoors: PowerShower, VBCloud, and CloudAtlas.
This infection chain largely follows the one previously seen in Cloud Atlas’ 2024 attacks. The currently employed chain is presented below:
Several implants remain the same, with insignificant changes in file names, and so on. You can find more details in our previous article on the following implants:
In this research, we’ll focus on new and updated components.
VBShower
VBShower::Backdoor
Compared to the previous version, the backdoor runs additional downloaded VB scripts in the current context, regardless of the size. A previous modification of this script checked the size of the payload, and if it exceeded 1 MB, instead of executing it in the current context, the backdoor wrote it to disk and used the wscript utility to launch it.
VBShower::Payload (1)
The script collects information about running processes, including their creation time, caption, and command line. The collected information is encrypted and sent to the C2 server by the parent script (VBShower::Backdoor) via the v_buff variable.
VBShower::Payload (2)
The script is used to install the VBCloud implant. First, it downloads a ZIP archive from the hardcoded URL and unpacks it into the %Public% directory. Then, it creates a scheduler task named “MicrosoftEdgeUpdateTask” to run the following command line:
wscript.exe /B %Public%\Libraries\MicrosoftEdgeUpdate.vbs
It renames the unzipped file %Public%\Libraries\v.log to %Public%\Libraries\MicrosoftEdgeUpdate.vbs, iterates through the files in the %Public%\Libraries directory, and collects information about the filenames and sizes. The data, in the form of a buffer, is collected in the v_buff variable. The malware gets information about the task by executing the following command line:
cmd.exe /c schtasks /query /v /fo CSV /tn MicrosoftEdgeUpdateTask
The specified command line is executed, with the output redirected to the TMP file. Both the TMP file and the content of the v_buff variable will be sent to the C2 server by the parent script (VBShower::Backdoor).
Here is an example of the information present in the v_buff variable:
Libraries:
desktop.ini-175|
MicrosoftEdgeUpdate.vbs-2299|
RecordedTV.library-ms-999|
upgrade.mds-32840|
v.log-2299|
The file MicrosoftEdgeUpdate.vbs is a launcher for VBCloud, which reads the encrypted body of the backdoor from the file upgrade.mds, decrypts it, and executes it.
VBShower::Payload (2) used to install VBCloud
Almost the same script is used to install the CloudAtlas backdoor on an infected system. The script only downloads and unpacks the ZIP archive to "%LOCALAPPDATA%", and sends information about the contents of the directories "%LOCALAPPDATA%\vlc\plugins\access" and "%LOCALAPPDATA%\vlc" as output.
In this case, the file renaming operation is not applied, and there is no code for creating a scheduler task.
Here is an example of information to be sent to the C2 server:
vlc:
a.xml-969608|
b.xml-592960|
d.xml-2680200|
e.xml-185224||
access:
c.xml-5951488|
In fact, a.xml, d.xml, and e.xml are the executable file and libraries, respectively, of VLC Media Player. The c.xml file is a malicious library used in a DLL hijacking attack, where VLC acts as a loader, and the b.xml file is an encrypted body of the CloudAtlas backdoor, read from disk by the malicious library, decrypted, and executed.
VBShower::Payload (2) used to install CloudAtlas
VBShower::Payload (3)
This script is the next component for installing CloudAtlas. It is downloaded by VBShower from the C2 server as a separate file and executed after the VBShower::Payload (2) script. The script renames the XML files unpacked by VBShower::Payload (2) from the archive to the corresponding executables and libraries, and also renames the file containing the encrypted backdoor body.
These files are copied by VBShower::Payload (3) to the following paths:
| File | Path |
| a.xml | %LOCALAPPDATA%\vlc\vlc.exe |
| b.xml | %LOCALAPPDATA%\vlc\chambranle |
| c.xml | %LOCALAPPDATA%\vlc\plugins\access\libvlc_plugin.dll |
| d.xml | %LOCALAPPDATA%\vlc\libvlccore.dll |
| e.xml | %LOCALAPPDATA%\vlc\libvlc.dll |
Additionally, VBShower::Payload (3) creates a scheduler task to execute the command line: "%LOCALAPPDATA%\vlc\vlc.exe". The script then iterates through the files in the "%LOCALAPPDATA%\vlc" and "%LOCALAPPDATA%\vlc\plugins\access" directories, collecting information about filenames and sizes. The data, in the form of a buffer, is collected in the v_buff variable. The script also retrieves information about the task by executing the following command line, with the output redirected to a TMP file:
cmd.exe /c schtasks /query /v /fo CSV /tn MicrosoftVLCTaskMachine
Both the TMP file and the content of the v_buff variable will be sent to the C2 server by the parent script (VBShower::Backdoor).
VBShower::Payload (3) used to install CloudAtlas
VBShower::Payload (4)
This script was previously described as VBShower::Payload (1).
VBShower::Payload (5)
This script is used to check access to various cloud services and executed before installing VBCloud or CloudAtlas. It consistently accesses the URLs of cloud services, and the received HTTP responses are saved to the v_buff variable for subsequent sending to the C2 server. A truncated example of the information sent to the C2 server:
GET-webdav.yandex.ru|
200|
<!DOCTYPE html><html lang="ru" dir="ltr" class="desktop"><head><base href="...
VBShower::Payload (6)
This script was previously described as VBShower::Payload (2).
VBShower::Payload (7)
This is a small script for checking the accessibility of PowerShower’s C2 from an infected system.
VBShower::Payload (8)
This script is used to install PowerShower, another backdoor known to be employed by Cloud Atlas. The script does so by performing the following steps in sequence:
- Creates registry keys to make the console window appear off-screen, effectively hiding it:
"HKCU\Console\%SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.exe"::"WindowPosition"::5122
"HKCU\UConsole\taskeng.exe"::"WindowPosition"::538126692 - Creates a “MicrosoftAdobeUpdateTaskMachine” scheduler task to execute the command line:
powershell.exe -ep bypass -w 01 %APPDATA%\Adobe\AdobeMon.ps1 - Decrypts the contents of the embedded data block with XOR and saves the resulting script to the file
"%APPDATA%\Adobe\p.txt". Then, renames the file"p.txt"to"AdobeMon.ps1". - Collects information about file names and sizes in the path
"%APPDATA%\Adobe". Gets information about the task by executing the following command line, with the output redirected to a TMP file:
cmd.exe /c schtasks /query /v /fo LIST /tn MicrosoftAdobeUpdateTaskMachine
VBShower::Payload (8) used to install PowerShower
The decrypted PowerShell script is disguised as one of the standard modules, but at the end of the script, there is a command to launch the PowerShell interpreter with another script encoded in Base64.
Content of AdobeMon.ps1 (PowerShower)
VBShower::Payload (9)
This is a small script for collecting information about the system proxy settings.
VBCloud
On an infected system, VBCloud is represented by two files: a VB script (VBCloud::Launcher) and an encrypted main body (VBCloud::Backdoor). In the described case, the launcher is located in the file MicrosoftEdgeUpdate.vbs, and the payload — in upgrade.mds.
VBCloud::Launcher
The launcher script reads the contents of the upgrade.mds file, decodes characters delimited with “%H”, uses the RC4 stream encryption algorithm with a key built into the script to decrypt it, and transfers control to the decrypted content. It is worth noting that the implementation of RC4 uses PRGA (pseudo-random generation algorithm), which is quite rare, since most malware implementations of this algorithm skip this step.
VBCloud::Backdoor
The backdoor performs several actions in a loop to eventually download and execute additional malicious scripts, as described in the previous research.
VBCloud::Payload (FileGrabber)
Unlike VBShower, which uses a global variable to save its output or a temporary file to be sent to the C2 server, each VBCloud payload communicates with the C2 server independently. One of the most commonly used payloads for the VBCloud backdoor is FileGrabber. The script exfiltrates files and documents from the target system as described before.
The FileGrabber payload has the following limitations when scanning for files:
- It ignores the following paths:
- Program Files
- Program Files (x86)
- %SystemRoot%
- The file size for archiving must be between 1,000 and 3,000,000 bytes.
- The file’s last modification date must be less than 30 days before the start of the scan.
- Files containing the following strings in their names are ignored:
- “intermediate.txt”
- “FlightingLogging.txt”
- “log.txt”
- “thirdpartynotices”
- “ThirdPartyNotices”
- “easylist.txt”
- “acroNGLLog.txt”
- “LICENSE.txt”
- “signature.txt”
- “AlternateServices.txt”
- “scanwia.txt”
- “scantwain.txt”
- “SiteSecurityServiceState.txt”
- “serviceworker.txt”
- “SettingsCache.txt”
- “NisLog.txt”
- “AppCache”
- “backupTest”
Part of VBCloud::Payload (FileGrabber)
PowerShower
As mentioned above, PowerShower is installed via one of the VBShower payloads. This script launches the PowerShell interpreter with another script encoded in Base64. Running in an infinite loop, it attempts to access the C2 server to retrieve an additional payload, which is a PowerShell script twice encoded with Base64. This payload is executed in the context of the backdoor, and the execution result is sent to the C2 server via an HTTP POST request.
In previous versions of PowerShower, the payload created a sapp.xtx temporary file to save its output, which was sent to the C2 server by the main body of the backdoor. No intermediate files are created anymore, and the result of execution is returned to the backdoor by a normal call to the "return" operator.
PowerShower::Payload (1)
This script was previously described as PowerShower::Payload (2). This payload is unique to each victim.
PowerShower::Payload (2)
This script is used for grabbing files with metadata from a network share.
CloudAtlas
As described above, the CloudAtlas backdoor is installed via VBShower from a downloaded archive delivered through a DLL hijacking attack. The legitimate VLC application acts as a loader, accompanied by a malicious library that reads the encrypted payload from the file and transfers control to it. The malicious DLL is located at "%LOCALAPPDATA%\vlc\plugins\access", while the file with the encrypted payload is located at "%LOCALAPPDATA%\vlc\".
When the malicious DLL gains control, it first extracts another DLL from itself, places it in the memory of the current process, and transfers control to it. The unpacked DLL uses a byte-by-byte XOR operation to decrypt the block with the loader configuration. The encrypted config immediately follows the key. The config specifies the name of the event that is created to prevent a duplicate payload launch. The config also contains the name of the file where the encrypted payload is located — "chambranle" in this case — and the decryption key itself.
Encrypted and decrypted loader configuration
The library reads the contents of the "chambranle" file with the payload, uses the key from the decrypted config and the IV located at the very end of the "chambranle" file to decrypt it with AES-256-CBC. The decrypted file is another DLL with its size and SHA-1 hash embedded at the end, added to verify that the DLL is decrypted correctly. The DLL decrypted from "chambranle" is the main body of the CloudAtlas backdoor, and control is transferred to it via one of the exported functions, specifically the one with ordinal 2.
Main routine that processes the payload file
When the main body of the backdoor gains control, the first thing it does is decrypt its own configuration. Decryption is done in a similar way, using AES-256-CBC. The key for AES-256 is located before the configuration, and the IV is located right after it. The most useful information in the configuration file includes the URL of the cloud service, paths to directories for receiving payloads and unloading results, and credentials for the cloud service.
Encrypted and decrypted CloudAtlas backdoor config
Immediately after decrypting the configuration, the backdoor starts interacting with the C2 server, which is a cloud service, via WebDAV. First, the backdoor uses the MKCOL HTTP method to create two directories: one ("/guessed/intershop/Euskalduns/") will regularly receive a beacon in the form of an encrypted file containing information about the system, time, user name, current command line, and volume information. The other directory ("/cancrenate/speciesists/") is used to retrieve payloads. The beacon file and payload files are AES-256-CBC encrypted with the key that was used for backdoor configuration decryption.
HTTP requests of the CloudAtlas backdoor
The backdoor uses the HTTP PROPFIND method to retrieve the list of files. Each of these files will be subsequently downloaded, deleted from the cloud service, decrypted, and executed.
HTTP requests from the CloudAtlas backdoor
The payload consists of data with a binary block containing a command number and arguments at the beginning, followed by an executable plugin in the form of a DLL. The structure of the arguments depends on the type of command. After the plugin is loaded into memory and configured, the backdoor calls the exported function with ordinal 1, passing several arguments: a pointer to the backdoor function that implements sending files to the cloud service, a pointer to the decrypted backdoor configuration, and a pointer to the binary block with the command and arguments from the beginning of the payload.
Plugin setup and execution routine
Before calling the plugin function, the backdoor saves the path to the current directory and restores it after the function is executed. Additionally, after execution, the plugin is removed from memory.
CloudAtlas::Plugin (FileGrabber)
FileGrabber is the most commonly used plugin. As the name suggests, it is designed to steal files from an infected system. Depending on the command block transmitted, it is capable of:
- Stealing files from all local disks
- Stealing files from the specified removable media
- Stealing files from specified folders
- Using the selected username and password from the command block to mount network resources and then steal files from them
For each detected file, a series of rules are generated based on the conditions passed within the command block, including:
- Checking for minimum and maximum file size
- Checking the file’s last modification time
- Checking the file path for pattern exclusions. If a string pattern is found in the full path to a file, the file is ignored
- Checking the file name or extension against a list of patterns
If all conditions match, the file is sent to the C2 server, along with its metadata, including attributes, creation time, last access time, last modification time, size, full path to the file, and SHA-1 of the file contents. Additionally, if a special flag is set in one of the rule fields, the file will be deleted after a copy is sent to the C2 server. There is also a limit on the total amount of data sent, and if this limit is exceeded, scanning of the resource stops.
Generating data for sending to C2
CloudAtlas::Plugin (Common)
This is a general-purpose plugin, which parses the transferred block, splits it into commands, and executes them. Each command has its own ID, ranging from 0 to 6. The list of commands is presented below.
- Command ID 0: Creates, sets and closes named events.
- Command ID 1: Deletes the selected list of files.
- Command ID 2: Drops a file on disk with content and a path selected in the command block arguments.
- Command ID 3: Capable of performing several operations together or independently, including:
- Dropping several files on disk with content and paths selected in the command block arguments
- Dropping and executing a file at a specified path with selected parameters. This operation supports three types of launch:
- Using the WinExec function
- Using the ShellExecuteW function
- Using the CreateProcessWithLogonW function, which requires that the user’s credentials be passed within the command block to launch the process on their behalf
- Command ID 4: Uses the StdRegProv COM interface to perform registry manipulations, supporting key creation, value deletion, and value setting (both DWORD and string values).
- Command ID 5: Calls the ExitProcess function.
- Command ID 6: Uses the credentials passed within the command block to connect a network resource, drops a file to the remote resource under the name specified within the command block, creates and runs a VB script on the local system to execute the dropped file on the remote system. The VB script is created at
"%APPDATA%\ntsystmp.vbs". The path to launch the file dropped on the remote system is passed to the launched VB script as an argument.
CloudAtlas::Plugin (PasswordStealer)
This plugin is used to steal cookies and credentials from browsers. This is an extended version of the Common Plugin, which is used for more specific purposes. It can also drop, launch, and delete files, but its primary function is to drop files belonging to the “Chrome App-Bound Encryption Decryption” open-source project onto the disk, and run the utility to steal cookies and passwords from Chromium-based browsers. After launching the utility, several files ("cookies.txt" and "passwords.txt") containing the extracted browser data are created on disk. The plugin then reads JSON data from the selected files, parses the data, and sends the extracted information to the C2 server.
Part of the function for parsing JSON and sending the extracted data to C2
CloudAtlas::Plugin (InfoCollector)
This plugin is used to collect information about the infected system. The list of commands is presented below.
- Command ID 0xFFFFFFF0: Collects the computer’s NetBIOS name and domain information.
- Command ID 0xFFFFFFF1: Gets a list of processes, including full paths to executable files of processes, and a list of modules (DLLs) loaded into each process.
- Command ID 0xFFFFFFF2: Collects information about installed products.
- Command ID 0xFFFFFFF3: Collects device information.
- Command ID 0xFFFFFFF4: Collects information about logical drives.
- Command ID 0xFFFFFFF5: Executes the command with input/output redirection, and sends the output to the C2 server. If the command line for execution is not specified, it sequentially launches the following utilities and sends their output to the C2 server:
net group "Exchange servers" /domain
Ipconfig
arp -a
Python script
As mentioned in one of our previous reports, Cloud Atlas uses a custom Python script named get_browser_pass.py to extract saved credentials from browsers on infected systems. If the Python interpreter is not present on the victim’s machine, the group delivers an archive that includes both the script and a bundled Python interpreter to ensure execution.
During one of the latest incidents we investigated, we once again observed traces of this tool in action, specifically the presence of the file "C:\ProgramData\py\pytest.dll".
The pytest.dll library is called from within get_browser_pass.py and used to extract credentials from Yandex Browser. The data is then saved locally to a file named y3.txt.
Victims
According to our telemetry, the identified targets of the malicious activities described here are located in Russia and Belarus, with observed activity dating back to the beginning of 2025. The industries being targeted are diverse, encompassing organizations in the telecommunications sector, construction, government entities, and plants.
Conclusion
For more than ten years, the group has carried on its activities and expanded its arsenal. Now the attackers have four implants at their disposal (PowerShower, VBShower, VBCloud, CloudAtlas), each of them a full-fledged backdoor. Most of the functionality in the backdoors is duplicated, but some payloads provide various exclusive capabilities. The use of cloud services to manage backdoors is a distinctive feature of the group, and it has proven itself in various attacks.
Indicators of compromise
Note: The indicators in this section are valid at the time of publication.
File hashes
0D309C25A835BAF3B0C392AC87504D9E протокол (08.05.2025).doc
D34AAEB811787B52EC45122EC10AEB08 HTA
4F7C5088BCDF388C49F9CAAD2CCCDCC5 StandaloneUpdate_2020-04-13_090638_8815-145.log:StandaloneUpdate_2020-04-13_090638_8815-145cfcf.vbs
24BFDFFA096D3938AB6E626E418572B1 StandaloneUpdate_2020-04-13_090638_8815-145.log:StandaloneUpdate_2020-04-13_090638_8815-145.vbs
5C93AF19EF930352A251B5E1B2AC2519 StandaloneUpdate_2020-04-13_090638_8815-145.log:StandaloneUpdate_2020-04-13_090638_8815-145.dat (encrypted)
0E13FA3F06607B1392A3C3CAA8092C98 VBShower::Payload(1)
BC80C582D21AC9E98CBCA2F0637D8993 VBShower::Payload(2)
EBD6DA3B4D452BD146500EBC6FC49AAE VBShower::Payload(2)
12F1F060DF0C1916E6D5D154AF925426 VBShower::Payload(3)
E8C21CA9A5B721F5B0AB7C87294A2D72 VBShower::Payload(4)
2D03F1646971FB7921E31B647586D3FB VBShower::Payload(5)
7A85873661B50EA914E12F0523527CFA VBShower::Payload(6)
F31CE101CBE25ACDE328A8C326B9444A VBShower::Payload(7)
E2F3E5BF7EFBA58A9C371E2064DFD0BB VBShower::Payload(8)
67156D9D0784245AF0CAE297FC458AAC VBShower::Payload(9)
116E5132E30273DA7108F23A622646FE VBCloud::Launcher
1C7387D957C5381E11D1E6EDC0F3F353 upgrade.mds
E9F60941A7CED1A91643AF9D8B92A36D VBCloud::Payload(FileGrabber)
718B9E688AF49C2E1984CF6472B23805 PowerShower
A913EF515F5DC8224FCFFA33027EB0DD PowerShower::Payload(2)
F56DAD18A308B64247D0C3360DDB1727 PowerShower::Payload(2)
62170C67523C8F5009E3658F5858E8BF libvnc_plugin.dll
BAA59BB050A12DBDF981193D88079232 chambranle (encrypted)
097D18D92C2167D2F4E94F04C5A12D33 system.dll
B0100C43BD9B024C6367B38ABDF5C0D2 system_check.exe
7727AAE4A0840C7DC037634BED6A6D74 pytest.dll
Domains and IPs
billet-ru[.]net
mskreg[.]net
flashsupport[.]org
solid-logit[.]com
cityru-travel[.]org
transferpolicy[.]org
information-model[.]net
securemodem[.]com
roskomnadz[.]com
processmanagerpro[.]net
luxoftinfo[.]com
marketru[.]net
rzhd[.]org
gimnazija[.]org
technoguides[.]org
multipackage[.]net
rostvgroup[.]com
russiatimes[.]info
updatechecker[.]org
rosatomgroup[.]com
telehraf[.]com
statusupport[.]org
perfectfinder[.]net
cyrboost reshared this.
Yet another DCOM object for lateral movement
Introduction
If you’re a penetration tester, you know that lateral movement is becoming increasingly difficult, especially in well-defended environments. One common technique for remote command execution has been the use of DCOM objects.
Over the years, many different DCOM objects have been discovered. Some rely on native Windows components, others depend on third-party software such as Microsoft Office, and some are undocumented objects found through reverse engineering. While certain objects still work, others no longer function in newer versions of Windows.
This research presents a previously undescribed DCOM object that can be used for both command execution and potential persistence. This new technique abuses older initial access and persistence methods through Control Panel items.
First, we will discuss COM technology. After that, we will review the current state of the Impacket dcomexec script, focusing on objects that still function, and discuss potential fixes and improvements, then move on to techniques for enumerating objects on the system. Next, we will examine Control Panel items, how adversaries have used them for initial access and persistence, and how these items can be leveraged through a DCOM object to achieve command execution.
Finally, we will cover detection strategies to identify and respond to this type of activity.
COM/DCOM technology
What is COM?
COM stands for Component Object Model, a Microsoft technology that defines a binary standard for interoperability. It enables the creation of reusable software components that can interact at runtime without the need to compile COM libraries directly into an application.
These software components operate in a client–server model. A COM object exposes its functionality through one or more interfaces. An interface is essentially a collection of related member functions (methods).
COM also enables communication between processes running on the same machine by using local RPC (Remote Procedure Call) to handle cross-process communication.
Terms
To ensure a better understanding of its structure and functionality, let’s revise COM-related terminology.
- COM interface
A COM interface defines the functionality that a COM object exposes. Each COM interface is identified by a unique GUID known as the IID (Interface ID). All COM interfaces can be found in the Windows Registry under HKEY_CLASSES_ROOT\Interface, where they are organized by GUID. - COM class (COM CoClass)
A COM class is the actual implementation of one or more COM interfaces. Like COM interfaces, classes are identified by unique GUIDs, but in this case the GUID is called the CLSID (Class ID). This GUID is used to locate the COM server and activate the corresponding COM class.All COM classes must be registered in the registry under HKEY_CLASSES_ROOT\CLSID, where each class’s GUID is stored. Under each GUID, you may find multiple subkeys that serve different purposes, such as:- InprocServer32/LocalServer32: Specifies the system path of the COM server where the class is defined. InprocServer32 is used for in-process servers (DLLs), while LocalServer32 is used for out-of-process servers (EXEs). We’ll describe this in more detail later.
- ProgID: A human-readable name assigned to the COM class.
- TypeLib: A binary description of the COM class (essentially documentation for the class).
- AppID: Used to describe security configuration for the class.
- COM server
A COM is the module where a COM class is defined. The server can be implemented as an EXE, in which case it is called an out-of-process server, or as a DLL, in which case it is called an in-process server. Each COM server has a unique file path or location in the system. Information about COM servers is stored in the Windows Registry. The COM runtime uses the registry to locate the server and perform further actions. Registry entries for COM servers are located under the HKEY_CLASSES_ROOT root key for both 32- and 64-bit servers.
Component Object Model implementation
Client–server model
- In-process server
In the case of an in-process server, the server is implemented as a DLL. The client loads this DLL into its own address space and directly executes functions exposed by the COM object. This approach is efficient since both client and server run within the same process.
In-process COM server - Out-of-process server
Here, the server is implemented and compiled as an executable (EXE). Since the client cannot load an EXE into its address space, the server runs in its own process, separate from the client. Communication between the two processes is handled via ALPC (Advanced Local Procedure Call) ports, which serve as the RPC transport layer for COM.
What is DCOM?
DCOM is an extension of COM where the D stands for Distributed. It enables the client and server to reside on different machines. From the user’s perspective, there is no difference: DCOM provides an abstraction layer that makes both the client and the server appear as if they are on the same machine.
Under the hood, however, COM uses TCP as the RPC transport layer to enable communication across machines.
Distributed COM implementation
Certain requirements must be met to extend a COM object into a DCOM object. The most important one for our research is the presence of the AppID subkey in the registry, located under the COM CLSID entry.
The AppID value contains a GUID that maps to a corresponding key under HKEY_CLASSES_ROOT\AppID. Several subkeys may exist under this GUID. Two critical ones are:
- AccessPermission: controls access permissions.
- LaunchPermission: controls activation permissions.
These registry settings grant remote clients permissions to activate and interact with DCOM objects.
Lateral movement via DCOM
After attackers compromise a host, their next objective is often to compromise additional machines. This is what we call lateral movement. One common lateral movement technique is to achieve remote command execution on a target machine. There are many ways to do this, one of which involves abusing DCOM objects.
In recent years, many DCOM objects have been discovered. This research focuses on the objects exposed by the Impacket script dcomexec.py that can be used for command execution. More specifically, three exposed objects are used: ShellWindows, ShellBrowserWindow and MMC20.
- ShellWindows
ShellWindows was one of the first DCOM objects to be identified. It represents a collection of open shell windows and is hosted by explorer.exe, meaning any COM client communicates with that process.
In Impacket’s dcomexec.py, once an instance of this COM object is created on a remote machine, the script provides a semi-interactive shell.Each time a user enters a command, the function exposed by the COM object is called. The command output is redirected to a file, which the script retrieves via SMB and displays back to simulate a regular shell.
Internally, the script runs this command when connecting:
cmd.exe /Q /c cd \ 1> \\127.0.0.1\ADMIN$\__17602 2>&1This sets the working directory to C:\ and redirects the output to the ADMIN$ share under the filename
__17602. After that, the script checks whether the file exists; if it does, execution is considered successful and the output appears as if in a shell.When running dcomexec.py against Windows 10 and 11 using the ShellWindows object, the script hangs after confirming SMB connection initialization and printing the SMB banner. As I mentioned in my personal blog post, it appears that this DCOM object no longer has permission to write to the ADMIN$ share. A simple fix is to redirect the output to a directory the DCOM object can write to, such as the Temp folder. The Temp folder can then be accessed under the same ADMIN$ share. A small change in the code resolves the issue. For example:
OUTPUT_FILENAME = 'Temp\\__' + str(time.time())[:5] - ShellBrowserWindow
The ShellBrowserWindow object behaves almost identically to ShellWindows and exhibits the same behavior on Windows 10. The same workaround that we used for ShellWindows applies in this case. However, on Windows 11, this object no longer works for command execution. - MMC20
The MMC20.Application COM object is the automation interface for Microsoft Management Console (MMC). It exposes methods and properties that allow MMC snap-ins to be automated.
This object has historically worked across all Windows versions. Starting with Windows Server 2025, however, attempting to use it triggers a Defender alert, and execution is blocked.As shown in earlier examples, the dcomexec.py script writes the command output to a file under ADMIN$, with a filename that begins with
__:OUTPUT_FILENAME = '__' + str(time.time())[:5]Defender appears to check for files written under ADMIN$ that start with
__, and when it detects one, it blocks the process and alerts the user. A quick fix is to simply remove the double underscores from the output filename.Another way to bypass this issue is to use the same workaround used for ShellWindows – redirecting the output to the Temp folder. The table below outlines the status of these objects across different Windows versions.
Windows Server 2025 Windows Server 2022 Windows 11 Windows 10 ShellWindows Doesn’t work Doesn’t work Works but needs a fix Works but needs a fix ShellBrowserWindow Doesn’t work Doesn’t work Doesn’t work Works but needs a fix MMC20 Detected by Defender Works Works Works
Enumerating COM/DCOM objects
The first step to identifying which DCOM objects could be used for lateral movement is to enumerate them. By enumerating, I don’t just mean listing the objects. Enumeration involves:
- Finding objects and filtering specifically for DCOM objects.
- Identifying their interfaces.
- Inspecting the exposed functions.
Automating enumeration is difficult because most COM objects lack a type library (TypeLib). A TypeLib acts as documentation for an object: which interfaces it supports, which functions are exposed, and the definitions of those functions. Even when TypeLibs are available, manual inspection is often still required, as we will explain later.
There are several approaches to enumerating COM objects depending on their use cases. Next, we’ll describe the methods I used while conducting this research, taking into account both automated and manual methods.
- Automation using PowerShell
In PowerShell, you can use .NET to create and interact with DCOM objects. Objects can be created using either their ProgID or CLSID, after which you can call their functions (as shown in the figure below).
Shell.Application COM object function list in PowerShellUnder the hood, PowerShell checks whether the COM object has a TypeLib and implements the IDispatch interface. IDispatch enables late binding, which allows runtime dynamic object creation and function invocation. With these two conditions met, PowerShell can dynamically interact with COM objects at runtime.
Our strategy looks like this:
As you can see in the last box, we perform manual inspection to look for functions with names that could be of interest, such as Execute, Exec, Shell, etc. These names often indicate potential command execution capabilities.
However, this approach has several limitations:
- TypeLib requirement: Not all COM objects have a TypeLib, so many objects cannot be enumerated this way.
- IDispatch requirement: Not all COM objects implement the IDispatch interface, which is required for PowerShell interaction.
- Interface control: When you instantiate an object in PowerShell, you cannot choose which interface the instance will be tied to. If a COM class implements multiple interfaces, PowerShell will automatically select the one marked as [default] in the TypeLib. This means that other non-default interfaces, which may contain additional relevant functionality, such as command execution, could be overlooked.
- Automation using C++
As you might expect, C++ is one of the languages that natively supports COM clients. Using C++, you can create instances of COM objects and call their functions via header files that define the interfaces.However, with this approach, we are not necessarily interested in calling functions directly. Instead, the goal is to check whether a specific COM object supports certain interfaces. The reasoning is that many interfaces have been found to contain functions that can be abused for command execution or other purposes.
This strategy primarily relies on an interface called IUnknown. All COM interfaces should inherit from this interface, and all COM classes should implement it.The IUnknown interface exposes three main functions. The most important is QueryInterface(), which is used to ask a COM object for a pointer to one of its interfaces.So, the strategy is to:- Enumerate COM classes in the system by reading CLSIDs under the HKEY_CLASSES_ROOT\CLSID key.
- Check whether they support any known valuable interfaces. If they do, those classes may be leveraged for command execution or other useful functionality.
This method has several advantages:
- No TypeLib dependency: Unlike PowerShell, this approach does not require the COM object to have a TypeLib.
- Use of IUnknown: In C++, you can use the QueryInterface function from the base IUnknown interface to check if a particular interface is supported by a COM class.
- No need for interface definitions: Even without knowing the exact interface structure, you can obtain a pointer to its virtual function table (vtable), typically cast as a void*. This is enough to confirm the existence of the interface and potentially inspect it further.
The figure below illustrates this strategy:
This approach is good in terms of automation because it eliminates the need for manual inspection. However, we are still only checking well-known interfaces commonly used for lateral movement, while potentially missing others.
- Manual inspection using open-source tools
As you can see, automation can be difficult since it requires several prerequisites and, in many cases, still ends with a manual inspection. An alternative approach is manual inspection using a tool called OleViewDotNet, developed by James Forshaw. This tool allows you to:
- List all COM classes in the system.
- Create instances of those classes.
- Check their supported interfaces.
- Call specific functions.
- Apply various filters for easier analysis.
- Perform other inspection tasks.
Open-source tool for inspecting COM interfacesOne of the most valuable features of this tool is its naming visibility. OleViewDotNet extracts the names of interfaces and classes (when available) from the Windows Registry and displays them, along with any associated type libraries.
This makes manual inspection easier, since you can analyze the names of classes, interfaces, or type libraries and correlate them with potentially interesting functionality, for example, functions that could lead to command execution or persistence techniques.
Control Panel items as attack surfaces
Control Panel items allow users to view and adjust their computer settings. These items are implemented as DLLs that export the CPlApplet function and typically have the .cpl extension. Control Panel items can also be executables, but our research will focus on DLLs only.
Attackers can abuse CPL files for initial access. When a user executes a malicious .cpl file (e.g., delivered via phishing), the system may be compromised – a technique mapped to MITRE ATT&CK T1218.002.
Adversaries may also modify the extensions of malicious DLLs to .cpl and register them in the corresponding locations in the registry.
- Under HKEY_CURRENT_USER:
HKCU\Software\Microsoft\Windows\CurrentVersion\Control Panel\Cpls
- Under HKEY_LOCAL_MACHINE:
- For 64-bit DLLs:
HKLM\Software\Microsoft\Windows\CurrentVersion\Control Panel\Cpls - For 32-bit DLLs:
HKLM\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Control Panel\Cpls
- For 64-bit DLLs:
These locations are important when Control Panel DLLs need to be available to the current logged-in user or to all users on the machine. However, the “Control Panel” subkey and its “Cpls” subkey under HKCU should be created manually, unlike the “Control Panel” and “Cpls” subkeys under HKLM, which are created automatically by the operating system.
Once registered, the DLL (CPL file) will load every time the Control Panel is opened, enabling persistence on the victim’s system.
It’s worth noting that even DLLs that do not comply with the CPL specification, do not export CPlApplet, or do not have the .cpl extension can still be executed via their DllEntryPoint function if they are registered under the registry keys listed above.
There are multiple ways to execute Control Panel items:
- From cmd:
exe [filename].cpl - By double-clicking the .cpl file.
Both methods use rundll32.exe under the hood:
rundll32.exe shell32.dll,Control_RunDLL [filename].cpl
This calls the Control_RunDLL function from shell32.dll, passing the CPL file as an argument. Everything inside the CPlApplet function will then be executed.
However, if the CPL file has been registered in the registry as shown earlier, then every time the Control Panel is opened, the file is loaded into memory through the COM Surrogate process (dllhost.exe):
COM Surrogate process loading the CPL file
What happened was that a Control Panel with a COM client used a COM object to load these CPL files. We will talk about this COM object in more detail later.
The COM Surrogate process was designed to host COM server DLLs in a separate process rather than loading them directly into the client process’s address space. This isolation improves stability for the in-process server model. This hosting behavior can be configured for a COM object in the registry if you want a COM server DLL to run inside a separate process because, by default, it is loaded in the same process.
‘DCOMing’ through Control Panel items
While following the manual approach of enumerating COM/DCOM objects that could be useful for lateral movement, I came across a COM object called COpenControlPanel, which is exposed through shell32.dll and has the CLSID {06622D85-6856-4460-8DE1-A81921B41C4B}. This object exposes multiple interfaces, one of which is IOpenControlPanel with IID {D11AD862-66DE-4DF4-BF6C-1F5621996AF1}.
IOpenControlPanel interface in the OleViewDotNet output
I immediately thought of its potential to compromise Control Panel items, so I wanted to check which functions were exposed by this interface. Unfortunately, neither the interface nor the COM class has a type library.
COpenControlPanel interfaces without TypeLib
Normally, checking the interface definition would require reverse engineering, so at first, it looked like we needed to take a different research path. However, it turned out that the IOpenControlPanel interface is documented on MSDN, and according to the documentation, it exposes several functions. One of them, called Open, allows a specified Control Panel item to be opened using its name as the first argument.
Full type and function definitions are provided in the shobjidl_core.h Windows header file.
Open function exposed by IOpenControlPanel interface
It’s worth noting that in newer versions of Windows (e.g., Windows Server 2025 and Windows 11), Microsoft has removed interface names from the registry, which means they can no longer be identified through OleViewDotNet.
COpenControlPanel interfaces without names
Returning to the COpenControlPanel COM object, I found that the Open function can trigger a DLL to be loaded into memory if it has been registered in the registry. For the purposes of this research, I created a DLL that basically just spawns a message box which is defined under the DllEntryPoint function. I registered it under HKCU\Software\Microsoft\Windows\CurrentVersion\Control Panel\Cpls and then created a simple C++ COM client to call the Open function on this interface.
As expected, the DLL was loaded into memory. It was hosted in the same way that it would be if the Control Panel itself was opened: through the COM Surrogate process (dllhost.exe). Using Process Explorer, it was clear that dllhost.exe loaded my DLL while simultaneously hosting the COpenControlPanel object along with other COM objects.
COM Surrogate loading a custom DLL and hosting the COpenControlPanel object
Based on my testing, I made the following observations:
- The DLL that needs to be registered does not necessarily have to be a .cpl file; any DLL with a valid entry point will be loaded.
- The Open() function accepts the name of a Control Panel item as its first argument. However, it appears that even if a random string is supplied, it still causes all DLLs registered in the relevant registry location to be loaded into memory.
Now, what if we could trigger this COM object remotely? In other words, what if it is not just a COM object but also a DCOM object? To verify this, we checked the AppID of the COpenControlPanel object using OleViewDotNet.
COpenControlPanel object in OleViewDotNet
Both the launch and access permissions are empty, which means the object will follow the system’s default DCOM security policy. By default, members of the Administrators group are allowed to launch and access the DCOM object.
Based on this, we can build a remote strategy. First, upload the “malicious” DLL, then use the Remote Registry service to register it in the appropriate registry location. Finally, use a trigger acting as a DCOM client to remotely invoke the Open() function, causing our DLL to be loaded. The diagram below illustrates the flow of this approach.
Malicious DLL loading using DCOM
The trigger can be written in either C++ or Python, for example, using Impacket. I chose Python because of its flexibility. The trigger itself is straightforward: we define the DCOM class, the interface, and the function to call. The full code example can be found here.
Once the trigger runs, the behavior will be the same as when executing the COM client locally: our DLL will be loaded through the COM Surrogate process (dllhost.exe).
As you can see, this technique not only achieves command execution but also provides persistence. It can be triggered in two ways: when a user opens the Control Panel or remotely at any time via DCOM.
Detection
The first step in detecting such activity is to check whether any Control Panel items have been registered under the following registry paths:
- HKCU\Software\Microsoft\Windows\CurrentVersion\Control Panel\Cpls
- HKLM\Software\Microsoft\Windows\CurrentVersion\Control Panel\Cpls
- HKLM\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Control Panel\Cpls
Although commonly known best practices and research papers regarding Windows security advise monitoring only the first subkey, for thorough coverage it is important to monitor all of the above.
In addition, monitoring dllhost.exe (COM Surrogate) for unusual COM objects such as COpenControlPanel can provide indicators of malicious activity.
Finally, it is always recommended to monitor Remote Registry usage because it is commonly abused in many types of attacks, not just in this scenario.
Conclusion
In conclusion, I hope this research has clarified yet another attack vector and emphasized the importance of implementing hardening practices. Below are a few closing points for security researchers to take into account:
- As shown, DCOM represents a large attack surface. Windows exposes many DCOM classes, a significant number of which lack type libraries – meaning reverse engineering can reveal additional classes that may be abused for lateral movement.
- Changing registry values to register malicious CPLs is not good practice from a red teaming ethics perspective. Defender products tend to monitor common persistence paths, but Control Panel applets can be registered in multiple registry locations, so there is always a gap that can be exploited.
- Bitness also matters. On x64 systems, loading a 32-bit DLL will spawn a 32-bit COM Surrogate process (dllhost.exe *32). This is unusual on 64-bit hosts and therefore serves as a useful detection signal for defenders and an interesting red flag for red teamers to consider.
Windmill Desk Lamp Is Beautifully Soothing
Typically, lamps provide a stationary source of light to illuminate a given area and help us see what we’re doing. However, they can also be a little more artistic and eye-catching, like this windmill lamp from [Huy Vector].
It’s somewhat of a charming desk toy, constructed out of copper wire soldered into the form of a traditional windmill. At its base, lives a simple motor speed controller, while up top, a brushed DC gearmotor is responsible for turning the blades. As you might imagine, it’s a little tricky to get power to flow to the LED filaments installed on those blades while they happen to be rotating. That’s where the build gets tricky, using the output shaft of the motor’s gear drive and a custom slip ring to pass power to the LEDs. That power comes courtesy of a pair of 16340 lithium-ion cells, which can be juiced up with the aid of a USB-C charger board.
It’s an elegant build, and rather charming to watch in motion to boot. We love a good lamp build here at Hackaday, particularly when they’re aesthetically beautiful.
youtube.com/embed/NdYTs1NasPw?…
The Miracle of Color TV
We’ve often said that some technological advancements seemed like alien technology for their time. Sometimes we look back and think something would be easy until we realize they didn’t have the tools we have today. One of the biggest examples of this is how, in the 1950s, engineers created a color image that still plays on a black-and-white set, with the color sets also able to receive the old signals. [Electromagnetic Videos] tells the tale. The video below simulates various video artifacts, so you not only learn about the details of NTSC video, but also see some of the discussed effects in real time.
Creating a black-and-white signal was already a big deal, with the video and sync presented in an analog AM signal with the sound superimposed with FM. People had demonstrated color earlier, but it wasn’t practical for several reasons. Sending, for example, separate red, blue, and green signals would require wider channels and more complex receivers, and would be incompatible with older sets.
The trick, at least for the NTSC standard, was to add a roughly 3.58 MHz sine wave and use its phase to identify color. The amplitude of the sine wave gave the color’s brightness. The video explains why it is not exactly 3.58 MHz but 3.579545 MHz. This made it nearly invisible on older TVs, and new black-and-white sets incorporate a trap to filter that frequency out anyway. So you can identify any color by providing a phase angle and amplitude.
The final part of the puzzle is to filter the color signal, which makes it appear fuzzy, while retaining the sharp black-and-white image that your eye processes as a perfectly good image. If you can make the black-and-white signal line up with the color signal, you get a nice image. In older sets, this was done with a short delay line, although newer TVs used comb filters. Some TV systems, like PAL, relied on longer delays and had correspondingly beefier delay lines.
There are plenty of more details. Watch the video. We love how, back then, engineers worried about backward compatibility. Like stereo records, for example. Even though NTSC (sometimes jokingly called “never twice the same color”) has been dead for a while, we still like to look back at it.
youtube.com/embed/EPQq7xd3WdA?…
Omaggio a Jane Austen, una penna per lo schermo
@Giornalismo e disordine informativo
articolo21.org/2025/12/omaggio…
In un panorama culturale saturo di celebrazioni per il 250° anniversario della nascita di Jane Austen, il saggio di Giancarlo Zappoli e Claudia Bersani si propone come un intervento necessario e ambizioso. “Jane Austen, una penna per
Giornalismo e disordine informativo reshared this.
PODCAST. La Cina espande la sua influenza nel Golfo
@Notizie dall'Italia e dal mondo
Pechino promuove il suo modello di cooperazione alternativo agli Usa e ai paesi arabi ora servono i suoi investimenti in tecnologie green
L'articolo PODCAST. La Cina espande la sua influenza nel Golfo pagineesteri.it/2025/12/19/med…
Notizie dall'Italia e dal mondo reshared this.
Ustica, non archiviate la ricerca di tutta la verità
@Giornalismo e disordine informativo
articolo21.org/2025/12/ustica-…
I parenti delle vittime della strage di Ustica oggi sono davanti al Gip per opporsi alla domanda di archiviazione dell’indagine aperta nel 2008 per la denuncia/testimonianza di Cossiga che indicava i francesi,
Giornalismo e disordine informativo reshared this.
Sicherheitsbehörden und Databroker: Bundesregierung macht Datenkauf zum Staatsgeheimnis
freezonemagazine.com/articoli/…
Ho scelto di leggere questo romanzo perché ho sempre subito il fascino dell’America Latina e delle storie che in essa nascono, ma ero piuttosto scettica all’inizio perché spesso nei libri ambientati in questa parte di mondo ci si trova di fronte a un eccessivo utilizzo del “realismo magico”, dell’irreale, del soprannaturale, che non si sposano […]
L'articolo Miguel Bonnefoy –
“Vittoria!”. Nei Paesi Baschi la mobilitazione batte la speculazione
@Notizie dall'Italia e dal mondo
Dopo tre anni di massicce proteste i comitati e gli abitanti sono riusciti a bloccare la realizzazione di un progetto speculativo del museo Guggenheim all'interno dell'unica riserva naturale dei Paesi Baschi
L'articolo “Vittoria!”. Nei Paesi Baschi la mobilitazione batte la speculazione
Notizie dall'Italia e dal mondo reshared this.
Decine di Ong internazionali perderanno l’accesso a Gaza e in Cisgiordania
@Notizie dall'Italia e dal mondo
A causa delle nuove regole di registrazione decise da Israele decine di gruppi umanitari internazionali rischiano la cancellazione entro il 31 dicembre, e dovranno chiudere le operazioni entro 60 giorni
L'articolo Decine di Ong internazionali perderanno
Notizie dall'Italia e dal mondo reshared this.
Video virale di un colpo di Stato creato con l’IA fa infuriare Macron mentre l’UE lavora a regole sull’etichettatura dei deepfake
Per vedere altri post sull' #IntelligenzaArtificiale, segui la comunità @Intelligenza Artificiale
Un video generato con l’intelligenza artificiale che affermava erroneamente
Intelligenza Artificiale reshared this.
Pirate News: 2026 Ballot Initiatives
Steve and James discuss some of the ballot initiatives and Trump denying legal immigrants from becoming citizens if they were born in 19 countries.
youtube.com/embed/ibCR41u3KIw?…
Sign up to our newsletter to get notified of new events or volunteer. Join us on:
Check out:
- Surveillance Memory Bank and Resources;
- Our Administrative Coup Memory Bank;
- Our Things to Do when Fascists are Taking Over.
Some links we mentioned:
- Tuesday: Speak out against surveillance!
- Lead the Party!
- DiZoglio launches ballot push to put State House under Public Records Law;
- Rent control could soon be in the hands of Massachusetts voters;
- Immigrants kept from Faneuil Hall citizenship ceremony as feds crackdown nationwide.
Image Credit: Heather Katsoulis, CC By-SA 2.0, Wikimedia commons page.
Oversight Democrats released a new trove of Epstein pictures on Dropbox and left the comments on.#News #JeffreyEpstein
Anlasslose Massenüberwachung: SPD-Politiker fordert Inhaltskontrolle auf allen Endgeräten
Fena Hize reshared this.
Strano... Trump aveva portato la pace da quelle parti...
Poliversity - Università ricerca e giornalismo reshared this.
Radar e sicurezza, l’intesa tra Difesa e Leonardo
@Notizie dall'Italia e dal mondo
L’Italia compie un nuovo passo nel rafforzamento delle proprie capacità di difesa contro le minacce a lungo raggio, in una fase in cui la sicurezza europea è attraversata da trasformazioni rapide e da un ritorno della centralità dei sistemi di protezione integrata. Il quadro strategico dell’annuncio L’annuncio riguarda
Notizie dall'Italia e dal mondo reshared this.
Maurizio Belpietro è stato condannato per diffamazione per una copertina di Panorama che definiva le ong “i nuovi pirati”
Dovrà risarcire con 10mila euro ciascuna le ong Open Arms, Emergency, Sea-Watch, SOS Mediterranée, Louise Michel e Mediterranea, e con 7mila euro AOI, associazione che rappresenta le organizzazioni non governative italiane
Tutto questo è bellissimo 😁
reshared this
Druetti-Marro: sgombero Askatasuna, altro che sicurezza, rappresaglie governative e repressione del dissenso militarizzano i quartieri
Druetti (Possibile)-Marro (AVS): sgombero Askatasuna, altro che sicurezza, rappresaglie governative e repressione del dissenso militarizzano i quartieri
“Lo sgombero dell’Askatasuna è allo stesso tempo una rappresaglia e un ennesimo tassello nel progetto sistematico di repressione del dissenso e degli spazi sociali e solidali da parte del governo”, dichiara Francesca Druetti, Segretaria Nazionale di Possibile. “Così è stato per il Leoncavallo, così è per ogni spazio simbolo e realtà attiva sui territori”.
“Perquisizioni e sgomberi notturni e una militarizzazione dei quartieri, con scuole inaccessibili e strade bloccate, come testimoniano i cittadini e le cittadine che si sono trovate davanti uno scenario di guerra mentre portavano i figli a scuola non rendono niente e nessuno più sicuro, anzi”, continua Giulia Marro, Consigliera Regionale di Avs in Piemonte. “Danno volto e sostanza a una distopia autoritaria in cui conta solo fare sfoggio di muscoli e manganello, aprendo gli idranti sui presidi pacifici e interrompendo con cordoni di polizia in assetto anti sommossa la vita quotidiana delle persone”.
“Questa non sarà mai la nostra definizione di sicurezza, né la risposta alla tensione e alle proteste. Ci vediamo alle 18.00 al presidio in corso Regina 47 con tutte le persone solidali che la pensano così”, concludono Marro e Druetti.
L'articolo Druetti-Marro: sgombero Askatasuna, altro che sicurezza, rappresaglie governative e repressione del dissenso militarizzano i quartieri proviene da Possibile.
Ministero dell'Istruzione
Ieri il Ministro Giuseppe Valditara ha incontrato al #MIM le delegazioni delle scuole vincitrici della prima edizione del concorso “San Francesco d’Assisi: il pensiero, l’opera, la cultura e la sua eredità”.Telegram
possibile.com/druetti-marro-sg…
Lo sgombero dell'Askatasuna è allo stesso tempo una rappresaglia e un ennesimo tassello nel progetto sistematico di repressione del dissenso e degli spazi sociali e solidali da parte
Per l’Italia la partita del Quantum è ancora aperta
@Notizie dall'Italia e dal mondo
Gli Stati generali del Quantum, di cui Formiche era Media partner, hanno offerto uno spaccato multilivello della realtà quantistica italiana, mettendo attorno allo stesso tavolo istituzioni, mondo accademico, industria e decision-maker. Ne è emersa una fotografia composita, quella di un ecosistema che non nasce
Notizie dall'Italia e dal mondo reshared this.
DigiDavidex
in reply to Informa Pirata • • •Sono sempre più convinto che l'Europa dovrebbe oscurare i social di meta
@aitech
Intelligenza Artificiale reshared this.