NanoRemote: il malware che trasforma il cloud in un centro di comando e controllo
Un nuovo trojan multifunzionale per Windows chiamato NANOREMOTE utilizza un servizio di archiviazione file su cloud come centro di comando, rendendo la minaccia più difficile da rilevare e offrendo agli aggressori un canale persistente per rubare dati e fornire download aggiuntivi.
La minaccia è stata segnalata da Elastic Security Labs, che ha confrontato il malware con il già noto impianto FINALDRAFT, noto anche come Squidoor, che si basa su Microsoft Graph per comunicare con gli operatori.
Entrambi gli strumenti sono associati al cluster REF7707, segnalato come CL-STA-0049, Earth Alux e Jewelbug, e attribuiti ad attività di spionaggio cinese contro agenzie governative, appaltatori della difesa, società di telecomunicazioni, istituti scolastici e organizzazioni aeronautiche nel Sud-est asiatico e in Sud America.
Secondo Symantec, questo gruppo sta conducendo campagne segrete a lungo termine almeno dal 2023, tra cui un’infiltrazione durata cinque mesi in un’azienda IT in Russia. Il metodo esatto dell’infiltrazione iniziale di NANOREMOTE non è ancora stato determinato. La catena di attacco documentata utilizza il downloader WMLOADER, mascherato da componente di gestione degli arresti anomali dell’antivirus Bitdefender “BDReinit.exe“. Questo modulo decrittografa lo shellcode e lancia il payload principale: il trojan stesso.
NANOREMOTE è scritto in C++ e può raccogliere informazioni di sistema, eseguire comandi e file e trasferire dati tra il dispositivo infetto e l’infrastruttura dell’operatore tramite Google Drive . È inoltre configurato per comunicare tramite HTTP con un indirizzo IP hardcoded e non instradabile, attraverso il quale riceve attività e invia risultati. Gli scambi vengono effettuati tramite richieste POST con dati JSON, compressi tramite Zlib e crittografati in modalità AES-CBC con una chiave a 16 byte. Le richieste utilizzano un singolo percorso, “/api/client”, e la stringa di identificazione del client, “NanoRemote/1.0”.
Le principali funzionalità del Trojan sono implementate tramite un set di 22 gestori di comandi. Questi gestori gli consentono di raccogliere e trasmettere informazioni sull’host, gestire file e directory, svuotare la cache, avviare file eseguibili PE già presenti sul disco, terminare la propria operazione e caricare e scaricare file sul cloud, con la possibilità di mettere in coda, mettere in pausa, riprendere o annullare i trasferimenti.
Elastic Security Labs ha anche scoperto l’artefatto “wmsetup.log”, caricato su VirusTotal dalle Filippine il 3 ottobre 2025 e decifrato con successo dal modulo WMLOADER utilizzando la stessa chiave di crittografia.
Conteneva un impianto FINALDRAFT, a indicare uno sviluppo comune. Secondo il ricercatore principale Daniel Stepanic, l’identico loader e l’approccio unificato alla protezione del traffico sono ulteriori indicazioni di una base di codice e di un processo di build unificati per FINALDRAFT e NANOREMOTE, progettati per gestire payload diversi.
L'articolo NanoRemote: il malware che trasforma il cloud in un centro di comando e controllo proviene da Red Hot Cyber.
Following the digital trail: what happens to data stolen in a phishing attack
Introduction
A typical phishing attack involves a user clicking a fraudulent link and entering their credentials on a scam website. However, the attack is far from over at that point. The moment the confidential information falls into the hands of cybercriminals, it immediately transforms into a commodity and enters the shadow market conveyor belt.
In this article, we trace the path of the stolen data, starting from its collection through various tools – such as Telegram bots and advanced administration panels – to the sale of that data and its subsequent reuse in new attacks. We examine how a once leaked username and password become part of a massive digital dossier and why cybercriminals can leverage even old leaks for targeted attacks, sometimes years after the initial data breach.
Data harvesting mechanisms in phishing attacks
Before we trace the subsequent fate of the stolen data, we need to understand exactly how it leaves the phishing page and reaches the cybercriminals.
By analyzing real-world phishing pages, we have identified the most common methods for data transmission:
- Send to an email address.
- Send to a Telegram bot.
- Upload to an administration panel.
It also bears mentioning that attackers may use legitimate services for data harvesting to make their server harder to detect. Examples include online form services like Google Forms, Microsoft Forms, etc. Stolen data repositories can also be set up on GitHub, Discord servers, and other websites. For the purposes of this analysis, however, we will focus on the primary methods of data harvesting.
Data entered into an HTML form on a phishing page is sent to the cybercriminal’s server via a PHP script, which then forwards it to an email address controlled by the attacker. However, this method is becoming less common due to several limitations of email services, such as delivery delays, the risk of the hosting provider blocking the sending server, and the inconvenience of processing large volumes of data.
As an example, let’s look at a phishing kit targeting DHL users.
The index.php file contains the phishing form designed to harvest user data – in this case, an email address and a password.
Phishing form imitating the DHL website
The data that the victim enters into this form is then sent via a script in the next.php file to the email address specified within the mail.php file.
Telegram bots
Unlike the previous method, the script used to send stolen data specifies a Telegram API URL with a bot token and the corresponding Chat ID, rather than an email address. In some cases, the link is hard-coded directly into the phishing HTML form. Attackers create a detailed message template that is sent to the bot after a successful attack. Here is what this looks like in the code:
Code snippet for data submission
Compared to sending data via email, using Telegram bots provides phishers with enhanced functionality, which is why they are increasingly adopting this method. Data arrives in the bot in real time, with instant notification to the operator. Attackers often use disposable bots, which are harder to track and block. Furthermore, their performance does not depend on the quality of phishing page hosting.
Automated administration panels
More sophisticated cybercriminals use specialized software, including commercial frameworks like BulletProofLink and Caffeine, often as a Platform as a Service (PaaS). These frameworks provide a web interface (dashboard) for managing phishing campaigns.
Data harvested from all phishing pages controlled by the attacker is fed into a unified database that can be viewed and managed through their account.
Sending data to the administration panel
These admin panels are used for analyzing and processing victim data. The features of a specific panel depend on the available customization options, but most dashboards typically have the following capabilities:
- Sorting of real-time statistics: the ability to view the number of successful attacks by time and country, along with data filtering options
- Automatic verification: some systems can automatically check the validity of the stolen data like credit cards and login credentials
- Data export: the ability to download the data in various formats for future use or sale
Example of an administration panel
Admin panels are a vital tool for organized cybercriminals.
One campaign often employs several of these data harvesting methods simultaneously.
Sending stolen data to both an email address and a Telegram bot
The data cybercriminals want
The data harvested during a phishing attack varies in value and purpose. In the hands of cybercriminals, it becomes a method of profit and a tool for complex, multi-stage attacks.
Stolen data can be divided into the following categories, based on its intended purpose:
- Immediate monetization: the direct sale of large volumes of raw data or the immediate withdrawal of funds from a victim’s bank account or online wallet.
- Banking details: card number, expiration date, cardholder name, and CVV/CVC.
- Access to online banking accounts and digital wallets: logins, passwords, and one-time 2FA codes.
- Accounts with linked banking details: logins and passwords for accounts that contain bank card details, such as online stores, subscription services, or payment systems like Apple Pay or Google Pay.
- Subsequent attacks for further monetization: using the stolen data to conduct new attacks and generate further profit.
- Credentials for various online accounts: logins and passwords. Importantly, email addresses or phone numbers, which are often used as logins, can hold value for attackers even without the accompanying passwords.
- Phone numbers, used for phone scams, including attempts to obtain 2FA codes, and for phishing via messaging apps.
- Personal data: full name, date of birth, and address, abused in social engineering attacks
- Targeted attacks, blackmail, identity theft, and deepfakes.
- Biometric data: voice and facial projections.
- Scans and numbers of personal documents: passports, driver’s licenses, social security cards, and taxpayer IDs.
- Selfies with documents, used for online loan applications and identity verification.
- Corporate accounts, used for targeted attacks on businesses.
We analyzed phishing and scam attacks conducted from January through September 2025 to determine which data was most frequently targeted by cybercriminals. We found that 88.5% of attacks aimed to steal credentials for various online accounts, 9.5% targeted personal data (name, address, and date of birth), and 2% focused on stealing bank card details.
Distribution of attacks by target data type, January–September 2025 (download)
Selling data on dark web markets
Except for real-time attacks or those aimed at immediate monetization, stolen data is typically not used instantly. Let’s take a closer look at the route it takes.
- Sale of data dumps
Data is consolidated and put up for sale on dark web markets in the form of dumps: archives that contain millions of records obtained from various phishing attacks and data breaches. A dump can be offered for as little as $50. The primary buyers are often not active scammers but rather dark market analysts, the next link in the supply chain. - Sorting and verification
Dark market analysts filter the data by type (email accounts, phone numbers, banking details, etc.) and then run automated scripts to verify it. This checks validity and reuse potential, for example, whether a Facebook login and password can be used to sign in to Steam or Gmail. Data stolen from one service several years ago can still be relevant for another service today because people tend to use identical passwords across multiple websites. Verified accounts with an active login and password command a higher price at the point of sale.
Analysts also focus on combining user data from different attacks. Thus, an old password from a compromised social media site, a login and password from a phishing form mimicking an e-government portal, and a phone number left on a scam site can all be compiled into a single digital dossier on a specific user. - Selling on specialized markets
Stolen data is typically sold on dark web forums and via Telegram. The instant messaging app is often used as a storefront to display prices, buyer reviews, and other details.
Offers of social media data, as displayed in TelegramThe prices of accounts can vary significantly and depend on many factors, such as account age, balance, linked payment methods (bank cards, online wallets), 2FA authentication, and service popularity. Thus, an online store account may be more expensive if it is linked to an email, has 2FA enabled, and has a long history, with a large number of completed orders. For gaming accounts, such as Steam, expensive game purchases are a factor. Online banking data sells at a premium if the victim has a high account balance and the bank itself has a good reputation.
The table below shows prices for various types of accounts found on dark web forums as of 2025*.
Category Price Average price Crypto platforms $60–$400 $105 Banks $70–$2000 $350 E-government portals $15–$2000 $82.5 Social media $0.4–$279 $3 Messaging apps $0.065–$150 $2.5 Online stores $10–$50 $20 Games and gaming platforms $1–$50 $6 Global internet portals $0.2–$2 $0.9 Personal documents $0.5–$125 $15 *Data provided by Kaspersky Digital Footprint Intelligence
- High-value target selection and targeted attacks
Cybercriminals take particular interest in valuable targets. These are users who have access to important information: senior executives, accountants, or IT systems administrators.
Let’s break down a possible scenario for a targeted whaling attack. A breach at Company A exposes data associated with a user who was once employed there but now holds an executive position at Company B. The attackers analyze open-source intelligence (OSINT) to determine the user’s current employer (Company B). Next, they craft a sophisticated phishing email to the target, purportedly from the CEO of Company B. To build trust, the email references some facts from the target’s old job – though other scenarios exist too. By disarming the user’s vigilance, cybercriminals gain the ability to compromise Company B for a further attack.Importantly, these targeted attacks are not limited to the corporate sector. Attackers may also be drawn to an individual with a large bank account balance or someone who possesses important personal documents, such as those required for a microloan application.
Takeaways
The journey of stolen data is like a well-oiled conveyor belt, where every piece of information becomes a commodity with a specific price tag. Today, phishing attacks leverage diverse systems for harvesting and analyzing confidential information. Data flows instantly into Telegram bots and attackers’ administration panels, where it is then sorted, verified, and monetized.
It is crucial to understand that data, once lost, does not simply vanish. It is accumulated, consolidated, and can be used against the victim months or even years later, transforming into a tool for targeted attacks, blackmail, or identity theft. In the modern cyber-environment, caution, the use of unique passwords, multi-factor authentication, and regular monitoring of your digital footprint are no longer just recommendations – they are a necessity.
What to do if you become a victim of phishing
- If a bank card you hold has been compromised, call your bank as soon as possible and have the card blocked.
- If your credentials have been stolen, immediately change the password for the compromised account and any online services where you may have used the same or a similar password. Set a unique password for every account.
- Enable multi-factor authentication in all accounts that support this.
- Check the sign-in history for your accounts and terminate any suspicious sessions.
- If your messaging service or social media account has been compromised, alert your family and friends about potential fraudulent messages sent in your name.
- Use specialized services to check if your data has been found in known data breaches.
- Treat any unexpected emails, calls, or offers with extreme vigilance – they may appear credible because attackers are using your compromised data.
OSINT nell'Indagine sull'assalto al Campidoglio degli Stati Uniti
@Privacy Pride
Il post completo di Christian Bernieri è sul suo blog: garantepiracy.it/blog/osint-ca…
Dopo il grande pezzo sugli ecoceronti, Claudia torna a noi per regalarci una nuova perla dedicata all'OSINT. Non è roba da nerd, anzi, è qualcosa che ci appartiene culturalmente e che abbiamo imparato fin dai tempi dell'asilo.
freezonemagazine.com/articoli/…
Quando il talento incontra lo studio e la passione, allora nascono percorsi artistici dall’alto potenziale di sviluppo. Questo è il caso di Sara Gioielli, pianista e diplomata in canto jazz in quel Sancta Sanctorum che è il conservatorio di San Pietro a Majella di Napoli, straordinaria fucina di artisti e compositori fin dalla sua fondazione […]
L'articolo Sara Gioielli – Gioielli neri proviene da
la guerra è per veri duri, non per stracchini... che ormai significa non riconoscere che la guerra, come ogni attività, è tecnologica, e basata sulle competenze. ma loro pensano che basti stuprare un po' di civili per vincere.
qr.ae/pCgtXz
"Lo storico ha avvertito che se il Cremlino considerasse la sua campagna in Ucraina un successo, gli Stati baltici potrebbero essere il prossimo obiettivo. Ha ricordato le lezioni del passato: dopo la Prima Guerra Mondiale, inglesi e francesi non potevano credere che qualcuno volesse un'altra guerra, e quindi sottovalutarono Hitler.
"Abbiamo assistito a una cosa simile negli anni 2000 <...> Nessuno credeva che qualcuno avrebbe voluto un'altra guerra di terra sul territorio europeo. [Sotto Putin], la pura brutalità del metodo di guerra russo potrebbe benissimo essere riapplicata sul territorio europeo", ha concluso Beevor."
Avvento: p. Pasolini, “l’unità non si costruisce eliminando le differenze”, “gli algoritmi creano bolle”, no a “pensiero unico” - AgenSIR
"Ogni volta che l'unità si costruisce eliminando le differenze il risultato non è la comunione, è la morte".M.Michela Nicolais (AgenSIR)
Archeologia cristiana: lettera apostolica Leone XIV. Stasolla (Sapienza), “archeologo non è un custode del passato, ma un interprete del presente”
“La nostra disciplina è fatta di memoria, soprattutto di memoria collettiva, quella che unisce persone di cui ignoriamo le storie individuali e che permette di costruire identità condivise che è molto più della somma delle memorie personali”.
Consider This Pocket Machine For Your iPhone Backups
What if you find yourself as an iPhone owner, desiring a local backup solution — no wireless tech involved, no sending off data to someone else’s server, just an automatic device-to-device file sync? Check out [Giovanni]’s ios-backup-machine project, a small Linux-powered device with an e-ink screen that backs up your iPhone whenever you plug the two together with a USB cable.
The system relies on libimobiledevice, and is written to make simple no-interaction automatic backups work seamlessly. The backup status is displayed on the e-ink screen, and at boot, it shows up owner’s information of your choice, say, a phone number — helpful if the device is ever lost. For preventing data loss, [Giovanni] recommends a small uninterruptible power supply, and the GitHub-described system is married to a PiSugar board, though you could go without or add a different one, for sure. Backups are encrypted through iPhone internal mechanisms, so while it appears you might not be able to dig into one, they are perfectly usable for restoring your device should it get corrupted or should you need to provision a new phone to replace the one you just lost.
Easy to set up, fully open, and straightforward to use — what’s not to like? Just put a few off-the-shelf boards together, print the case, and run the setup instructions, you’ll have a pocket backup machine ready to go. Now, if you’re considering this as a way to decrease your iTunes dependency, you might as well check out this nifty tool that helps you get out the metadata for the music you’ve bought on iTunes.
Turn me on, turn me off: Zigbee assessment in industrial environments
We all encounter IoT and home automation in some form or another, from smart speakers to automated sensors that control water pumps. These services appear simple and straightforward to us, but many devices and protocols work together under the hood to deliver them.
One of those protocols is Zigbee. Zigbee is a low-power wireless protocol (based on IEEE 802.15.4) used by many smart devices to talk to each other. It’s common in homes, but is also used in industrial environments where hundreds or thousands of sensors may coordinate to support a process.
There are many guides online about performing security assessments of Zigbee. Most focus on the Zigbee you see in home setups. They often skip the Zigbee used at industrial sites, what I call ‘non-public’ or ‘industrial’ Zigbee.
In this blog, I will take you on a journey through Zigbee assessments. I’ll explain the basics of the protocol and map the attack surface likely to be found in deployments. I’ll also walk you through two realistic attack vectors that you might see in facilities, covering the technical details and common problems that show up in assessments. Finally, I will present practical ways to address these problems.
Zigbee introduction
Protocol overview
Zigbee is a wireless communication protocol designed for low-power applications in wireless sensor networks. Based on the IEEE 802.15.4 standard, it was created for short-range and low-power communication. Zigbee supports mesh networking, meaning devices can connect through each other to extend the network range. It operates on the 2.4 GHz frequency band and is widely used in smart homes, industrial automation, energy monitoring, and many other applications.
You may be wondering why there’s a need for Zigbee when Wi-Fi is everywhere? The answer depends on the application. In most home setups, Wi-Fi works well for connecting devices. But imagine you have a battery-powered sensor that isn’t connected to your home’s electricity. If it used Wi-Fi, its battery would drain quickly – maybe in just a few days – because Wi-Fi consumes much more power. In contrast, the Zigbee protocol allows for months or even years of uninterrupted work.
Now imagine an even more extreme case. You need to place sensors in a radiation zone where humans can’t go. You drop the sensors from a helicopter and they need to operate for months without a battery replacement. In this situation, power consumption becomes the top priority. Wi-Fi wouldn’t work, but Zigbee is built exactly for this kind of scenario.
Also, Zigbee has a big advantage if the area is very large, covering thousands of square meters and requiring thousands of sensors: it supports thousands of nodes in a mesh network, while Wi-Fi is usually limited to hundreds at most.
There are lots more ins and outs, but these are the main reasons Zigbee is preferred for large-scale, low-power sensor networks.
Since both Zigbee and IEEE 802.15.4 define wireless communication, many people confuse the two. The difference between them, to put it simply, concerns the layers they support. IEEE 802.15.4 defines the physical (PHY) and media access control (MAC) layers, which basically determine how devices send and receive data over the air. Zigbee (as well as other protocols like Thread, WirelessHART, 6LoWPAN, and MiWi) builds on IEEE 802.15.4 by adding the network and application layers that define how devices form a network and communicate.
Zigbee operates in the 2.4 GHz wireless band, which it shares with Wi-Fi and Bluetooth. The Zigbee band includes 16 channels, each with a 2 MHz bandwidth and a 5 MHz gap between channels.
This shared frequency means Zigbee networks can sometimes face interference from Wi-Fi or Bluetooth devices. However, Zigbee’s low power and adaptive channel selection help minimize these conflicts.
Devices and network
There are three main types of Zigbee devices, each of which plays a different role in the network.
- Zigbee coordinator
The coordinator is the brain of the Zigbee network. A Zigbee network is always started by a coordinator and can only contain one coordinator, which has the fixed address 0x0000.
It performs several key tasks:- Starts and manages the Zigbee network.
- Chooses the Zigbee channel.
- Assigns addresses to other devices.
- Stores network information.
- Chooses the PAN ID: a 2-byte identifier (for example, 0x1234) that uniquely identifies the network.
- Sets the Extended PAN ID: an 8-byte value, often an ASCII name representing the network.
The coordinator can have child devices, which can be either Zigbee routers or Zigbee end devices.
- Zigbee router
The router works just like a router in a traditional network: it forwards data between devices, extends the network range and can also accept child devices, which are usually Zigbee end devices.
Routers are crucial for building large mesh networks because they enable communication between distant nodes by passing data through multiple hops. - Zigbee end device
The end device, also referred to as a Zigbee endpoint, is the simplest and most power-efficient type of Zigbee device. It only communicates with its parent, either a coordinator or router, and sleeps most of the time to conserve power. Common examples include sensors, remotes, and buttons.
Zigbee end devices do not accept child devices unless they are configured as both a router and an endpoint simultaneously.
Each of these device types, also known as Zigbee nodes, has two types of address:
- Short address: two bytes long, similar to an IP address in a TCP/IP network.
- Extended address: eight bytes long, similar to a MAC address.
Both addresses can be used in the MAC and network layers, unlike in TCP/IP, where the MAC address is used only in Layer 2 and the IP address in Layer 3.
Zigbee setup
Zigbee has many attack surfaces, such as protocol fuzzing and low-level radio attacks. In this post, however, I’ll focus on application-level attacks. Our test setup uses two attack vectors and is intentionally small to make the concepts clear.
In our setup, a Zigbee coordinator is connected to a single device that functions as both a Zigbee endpoint and a router. The coordinator also has other interfaces (Ethernet, Bluetooth, Wi-Fi, LTE), while the endpoint has a relay attached that the coordinator can switch on or off over Zigbee. This relay can be triggered by events coming from any interface, for example, a Bluetooth command or an Ethernet message.
Our goal will be to take control of the relay and toggle its state (turn it off and on) using only the Zigbee interface. Because the other interfaces (Ethernet, Bluetooth, Wi-Fi, LTE) are out of scope, the attack must work by hijacking Zigbee communication.
For the purposes of this research, we will attempt to hijack the communication between the endpoint and the coordinator. The two attack vectors we will test are:
- Spoofed packet injection: sending forged Zigbee commands made to look like they come from the coordinator to trigger the relay.
- Coordinator impersonation (rejoin attack): impersonating the legitimate coordinator to trick the endpoint into joining the attacker-controlled coordinator and controlling it directly.
Spoofed packet injection
In this scenario, we assume the Zigbee network is already up and running and that both the coordinator and endpoint nodes are working normally. The coordinator has additional interfaces, such as Ethernet, and the system uses those interfaces to trigger the relay. For instance, a command comes in over Ethernet and the coordinator sends a Zigbee command to the endpoint to toggle the relay. Our goal is to toggle the relay by injecting simulated legitimate Zigbee packets, using only the Zigbee link.
Sniffing
The first step in any radio assessment is to sniff the wireless traffic so we can learn how the devices talk. For Zigbee, a common and simple tool is the nRF52840 USB dongle by Nordic Semiconductor. With the official nRF Sniffer for 802.15.4 firmware, the dongle can run in promiscuous mode to capture all 802.15.4/Zigbee traffic. Those captures can be opened in Wireshark with the appropriate dissector to inspect the frames.
How do you find the channel that’s in use?
Zigbee runs on one of the 16 channels that we mentioned earlier, so we must set the sniffer to the same channel that the network uses. One practical way to scan the channels is to change the sniffer channel manually in Wireshark and watch for Zigbee traffic. When we see traffic, we know we’ve found the right channel.
After selecting the channel, we will be able to see the communication between the endpoint and the coordinator, though it will most likely be encrypted:
In the “Info” column, we can see that Wireshark only identifies packets as Data or Command without specifying their exact type, and that’s because the traffic is encrypted.
Even when Zigbee payloads are encrypted, the network and MAC headers remain visible. That means we can usually read things like source and destination addresses, PAN ID, short and extended MAC addresses, and frame control fields. The application payload (i.e., the actual command to toggle the relay) is typically encrypted at the Zigbee network/application layer, so we won’t see it in clear text without encryption keys. Nevertheless, we can still learn enough from the headers.
Decryption
Zigbee supports several key types and encryption models. In this post, we’ll keep it simple and look at a case involving only two security-related devices: a Zigbee coordinator and a device that is both an endpoint and a router. That way, we’ll only use a network encryption model, whereas with, say, mesh networks there can be various encryption models in use.
The network encryption model is a common concept. The traffic that we sniffed earlier is typically encrypted using the network key. This key is a symmetric AES-128 key shared by all devices in a Zigbee network. It protects network-layer packets (hop-by-hop) such as routing and broadcast packets. Because every router on the path shares the network key, this encryption method is not considered end-to-end.
Depending on the specific implementation, Zigbee can use two approaches for application payloads:
- Network-layer encryption (hop-by-hop): the network key encrypts the Application Support Sublayer (APS) data, the sublayer of the application layer in Zigbee. In this case, each router along the route can decrypt the APS payload. This is not end-to-end encryption, so it is not recommended for transmitting sensitive data.
- Link key (end-to-end) encryption: a link key, which is also an AES-128 key, is shared between two devices (for example, the coordinator and an endpoint).
The link key provides end-to-end protection of the APS payload between the two devices.
Because the network key could allow an attacker to read and forge many types of network traffic, it must be random and protected. Exposing the key effectively compromises the entire network.
When a new device joins, the coordinator (Trust Center) delivers the network key using a Transport Key command. That transport packet must be protected by a link key so the network key is not exposed in clear text. The link key authenticates the joining device and protects the key delivery.
The image below shows the transport packet:
There are two common ways link keys are provided:
- Pre-installed: the device ships with an installation code or link key already set.
- Key establishment: the device runs a key-establishment protocol.
A common historical problem is the global default Trust Center link key, “ZigBeeAlliance09”. It was included in early versions of Zigbee (pre-3.0) to facilitate testing and interoperability. However, many vendors left it enabled on consumer devices, and that has caused major security issues. If an attacker knows this key, they can join devices and read or steal the network key.
Newer versions – Zigbee 3.0 and later – introduced installation codes and procedures to derive unique link keys for each device. An installation code is usually a factory-assigned secret (often encoded on the device label) that the Trust Center uses to derive a unique link key for the device in question. This helps avoid the problems caused by a single hard-coded global key.
Unfortunately, many manufacturers still ignore these best practices. During real assessments, we often encounter devices that use default or hard-coded keys.
How can these keys be obtained?
If an endpoint has already joined the network and communicates with the coordinator using the network key, there are two main options for decrypting traffic:
- Guess or brute-force the network key. This is usually impractical because a properly generated network key is a random AES-128 key.
- Force the device to rejoin and capture the transport key. If we can make the endpoint leave the network and then rejoin, the coordinator will send the transport key. Capturing that packet can reveal the network key, but the transport key itself is protected by the link key. Therefore, we still need the link key.
To obtain the network and link keys, many approaches can be used:
- The well-known default link key, ZigBeeAlliance09. Many legacy devices still use it.
- Identify the device manufacturer and search for the default keys used by that vendor. We can find the manufacturer by:
- Checking the device MAC/OUI (the first three bytes of the 64-bit extended address often map to a vendor).
- Physically inspecting the device (label, model, chip markings).
- Extract the firmware from the coordinator or device if we have physical access and search for hard-coded keys inside the firmware images.
Once we have the relevant keys, the decryption process is straightforward:
- Open the capture in Wireshark.
- Go to Edit -> Preferences -> Protocols -> Zigbee.
- Add the network key and any link keys in our possession.
- Wireshark will then show decrypted APS payloads and higher-level Zigbee packets.
After successful decryption, packet types and readable application commands will be visible, such as Link Status or on/off cluster commands:
Choose your gadget
Now that we can read and potentially decrypt traffic, we need hardware and software to inject packets over the Zigbee link between the coordinator and the endpoint. To keep this practical and simple, I opted for cheap, widely available tools that are easy to set up.
For the hardware, I used the nRF52840 USB dongle, the same device we used for sniffing. It’s inexpensive, easy to find, and supports IEEE 802.15.4/Zigbee, so it can sniff and transmit.
The dongle runs the firmware we can use. A good firmware platform is Zephyr RTOS. Zephyr has an IEEE 802.15.4 radio API that enables the device to receive raw frames, essentially enabling sniffer mode, as well as send raw frames as seen in the snippets below.
Using this API and other components, we created a transceiver implementation written in C, compiled it to firmware, and flashed it to the dongle. The firmware can expose a simple runtime interface, such as a USB serial port, which allows us to control the radio from a laptop.
At runtime, the dongle listens on the serial port (for example, /dev/ttyACM1). Using a script, we can send it raw bytes, which the firmware will pass to the radio API and transmit to the channel. The following is an example of a tiny Python script to open the serial port:
I used the Scapy tool with the 802.15.4/Zigbee extensions to build Zigbee packets. Scapy lets us assemble packets layer-by-layer – MAC → NWK → APS → ZCL – and then convert them to raw bytes to send to the dongle. We will talk about APS and ZCL in more detail later.
Here is an example of how we can use Scapy to craft an APS layer packet:
from scapy.layers.dot15d4 import Dot15d4, Dot15d4FCS, Dot15d4Data, Dot15d4Cmd, Dot15d4Beacon, Dot15d4CmdAssocResp
from scapy.layers.zigbee import ZigbeeNWK, ZigbeeAppDataPayload, ZigbeeSecurityHeader, ZigBeeBeacon, ZigbeeAppCommandPayload
Before sending, the packet must be properly encrypted and signed so the endpoint accepts it. That means applying AES-CCM (AES-128 with MIC) using the network key (or the correct link key) and adhering to Zigbee’s rules for packet encryption and MIC calculation. This is how we implemented the encryption and MIC in Python (using a cryptographic library) after building the Scapy packet. We then sent the final bytes to the dongle.
This is how we implemented the encryption and MIC:
Crafting the packet
Now that we know how to inject packets, the next question is what to inject. To toggle the relay, we simply need to send the same type of command that the coordinator already sends. The easiest way to find that command is to sniff the traffic and read the application payload. However, when we look at captures in Wireshark, we can see many packets under ZCL marked [Malformed Packet].
A “malformed” ZCL packet usually means Wireshark could not fully interpret the packet because the application layer is non-standard or lacks details Wireshark expects. To understand why this happens, let’s look at the Zigbee application layer.
The Zigbee application layer consists of four parts:
- Application Support Sublayer (APS): routes messages to the correct profile, endpoint, and cluster, and provides application-level security.
- Application Framework (AF): contains the application objects that implement device functionality. These objects reside on endpoints (logical addresses 1–240) and expose clusters (sets of attributes and commands).
- Zigbee Cluster Library (ZCL): defines standard clusters and commands so devices can interoperate.
- Zigbee Device Object (ZDO): handles device discovery and management (out of scope for this post).
To make sense of application traffic, we must introduce three concepts:
- Profile: a rulebook for how devices should behave for a specific use case. Public (standard) profiles are managed by the Connectivity Standards Alliance (CSA). Vendors can also create private profiles for proprietary features.
- Cluster: a set of attributes and commands for a particular function. For example, the On/Off cluster contains On and Off commands and an OnOff attribute that displays the current state.
- Endpoint: a logical “port” on the device where a profile and clusters reside. A device can host multiple endpoints for different functions.
Putting all this together, in the standard home automation traffic we see APS pointing to the home automation profile, the On/Off cluster, and a destination endpoint (for example, endpoint 1). In ZCL, the byte 0x00 often means “Off”.
In many industrial setups, vendors use private profiles or custom application frameworks. That’s why Wireshark can’t decode the packets; the AF payload is custom, so the dissector doesn’t know the format.
So how do we find the right bytes to toggle the switch when the application is private? Our strategy has two phases.
- Passive phase
Sniff traffic while the system is driven legitimately. For example, trigger the relay from another interface (Ethernet or Bluetooth) and capture the Zigbee packets used to toggle the relay. If we can decrypt the captures, we can extract the application payload that correlates with the on/off action. - Active phaseWith the legitimate payload at hand, we can now turn to creating our own packet. There are two ways to do that. First, we need to replay or duplicate the captured application payload exactly as it is. This works if there are no freshness checks like sequence numbers. Otherwise, we have to reverse-engineer the payload and adjust any counters or fields that prevent replay. For instance, many applications include an application-level counter. If the device ignores packets with a lower application counter, we must locate and increment that counter when we craft our packet.
Another important protective measure is the frame counter inside the Zigbee security header (in the network header security fields). The frame counter prevents replay attacks; the receiver expects the frame counter to increase with each new packet, and will reject packets with a lower or repeated counter.
So, in the active phase, we must:
- Sniff the traffic until the coordinator sends a valid packet to the endpoint.
- Decrypt the packet, extract the counters and increase them by one.
- Build a packet with the correct APS/AF fields (profile, endpoint, cluster).
- Include a valid ZCL command or the vendor-specific payload that we identified in the passive phase.
- Encrypt and sign the packet with the correct network or link key.
- Make sure both the application counter (if used) and the Zigbee frame counter are modified so the packet is accepted.
The whole strategy for this phase will look like this:
If all of the above are handled correctly, we will be able to hijack the Zigbee communication and toggle the relay (turn it off and on) using only the Zigbee link.
Coordinator impersonation (rejoin attack)
The goal of this attack vector is to force the Zigbee endpoint to leave its original coordinator’s network and join our spoofed network so that we can take control of the device. To do this, we must achieve two things:
- Force the endpoint to leave the original network.
- Spoof the original coordinator and trick the node into joining our fake coordinator.
Force leaving
To better understand how to manipulate endpoint connections, let’s first describe the concept of a beacon frame. Beacon frames are periodic announcements sent by a coordinator and by routers. They advertise the presence of a network and provide join information, such as:
- PAN ID and Extended PAN ID
- Coordinator address
- Stack/profile information
- Device capacity (for example, whether the coordinator can accept child devices)
When a device wants to join, it sends a beacon request across Zigbee channels and waits for beacon replies from nearby coordinators/routers. Even if the network is not beacon-enabled for regular synchronization, beacon frames are still used during the join/discovery process, so they are mandatory when a node tries to discover networks.
Note that beacon frames exist at both the Zigbee and IEEE 802.15.4 levels. The MAC layer carries the basic beacon structure that Zigbee then extends with network-specific fields.
Now, we can force the endpoint to leave its network by abusing how Zigbee handles PAN conflicts. If a coordinator sees beacons from another coordinator using the same PAN ID and the same channel, it may trigger a PAN ID conflict resolution. When that happens, the coordinator can instruct its nodes to change PAN ID and rejoin, which causes them to leave and then attempt to join again. That rejoin window gives us an opportunity to advertise a spoofed coordinator and capture the joining node.
In the capture shown below, packet 7 is a beacon generated by our spoofed coordinator using the same PAN ID as the real network. As a result, the endpoint with the address 0xe8fa leaves the network (see packets 14–16).
Choose me
After forcing the endpoint to leave its original network by sending a fake beacon, the next step is to make the endpoint choose our spoofed coordinator. At this point, we assume we already have the necessary keys (network and link keys) and understand how the application behaves.
To impersonate the original coordinator, our spoofed coordinator must reply to any beacon request the endpoint sends. The beacon response must include the same Extended PAN ID (and other fields) that the endpoint expects. If the endpoint deems our beacon acceptable, it may attempt to join us.
I can think of two ways to make the endpoint prefer our coordinator.
- Jam the real coordinator
Use a device that reduces the real coordinator’s signal at the endpoint so that it appears weaker, forcing the endpoint to prefer our beacon. This requires extra hardware. - Exploit undefined or vendor-specific behavior
Zigbee stacks sometimes behave slightly differently across vendors. One useful field in a beacon is the Update ID field. It increments when a coordinator changes network configuration.
If two coordinators advertise the same Extended PAN ID but one has a higher Update ID, some stacks will prefer the beacon with the higher Update ID. This is undefined behavior across implementations; it works on some stacks but not on others. In my experience, sometimes it works and sometimes it fails. There are lots of other similar quirks we can try during an assessment.
Even if the endpoint chooses our fake coordinator, the connection may be unstable. One main reason for that is the timing. The endpoint expects ACKs for the frames it sends to the coordinator, as well as fast responses regarding connection initiation packets. If our responder is implemented in Python on a laptop that receives packets, builds responses, and forwards them to a dongle, the round trip will be too slow. The endpoint will not receive timely ACKs or packets and will drop the connection.
In short, we’re not just faking a few packets; we’re trying to reimplement parts of Zigbee and IEEE 802.15.4 that must run quickly and reliably. This is usually too slow for production stacks when done in high-level, interpreted code.
A practical fix is to run a real Zigbee coordinator stack directly on the dongle. For example, the nRF52840 dongle can act as a coordinator if flashed with the right Nordic SDK firmware (see Nordic’s network coordinator sample). That provides the correct timing and ACK behavior needed for a stable connection.
However, that simple solution has one significant disadvantage. In industrial deployments we often run into incompatibilities. In my tests I compared beacons from the real coordinator and the Nordic coordinator firmware. Notable differences were visible in stack profile headers:
The stack profile identifies the network profile type. Common values include 0x00, which is a network-specific (private) profile, and 0x02, which is a Zigbee Pro (public) profile.
If the endpoint expects a network-specific profile (i.e., it uses a private vendor profile) and we provide Zigbee Pro, the endpoint will refuse to join. Devices that only understand private profiles will not join public-profile networks, and vice versa. In my case, I could not change the Nordic firmware to match the proprietary stack profile, so the endpoint refused to join.
Because of this discrepancy, the “flash a coordinator firmware on the dongle” fix was ineffective in that environment. This is why the standard off-the-shelf tools and firmware often fail in industrial cases, forcing us to continue working with and optimizing our custom setup instead.
Back to the roots
In our previous test setup we used a sniffer in promiscuous mode, which receives every frame on the air regardless of destination. Real Zigbee (IEEE 802.15.4) nodes do not work like that. At the MAC/802.15.4 layer, a node filters frames by PAN ID and destination address. A frame is only passed to upper layers if the PAN ID matches and the destination address is the node’s address or a broadcast address.
We can mimic that real behavior on the dongle by running Zephyr RTOS and making the dongle act as a basic 802.15.4 coordinator. In that role, we set a PAN ID and short network address on the dongle so that the radio only accepts frames that match those criteria. This is important because it allows the dongle to handle auto-ACKs and MAC-level timing: the dongle will immediately send ACKs at the MAC level.
With the dongle doing MAC-level work (sending ACKs and PAN filtering), we can implement the Zigbee logic in Python. Scapy helps a lot with packet construction: we can create our own beacons with the headers matching those of the original coordinator, which solves the incompatibility problem. However, we must still implement the higher-level Zigbee state machine in our code, including connection initiation, association, network key handling, APS/AF behavior, and application payload handling. That’s the hardest part.
There is one timing problem that we cannot solve in Python: the very first steps of initiating a connection require immediate packet responses. To handle this issue, we implemented the time-critical parts in C on the dongle firmware. For example, we can statically generate the packets for connection initiation in Python and hard-code them in the firmware. Then, using “if” statements, we can determine how to respond to each packet from the endpoint.
So, we let the dongle (C/Zephyr) handle MAC-level ACKs and the initial association handshake, but let Python build higher-level packets and instruct the dongle what to send next when dealing with the application level. This hybrid model reduces latency and maintains a stable connection. The final architecture looks like this:
Deliver the key
Here’s a quick recap of how joining works: a Zigbee endpoint broadcasts beacon requests across channels, waits for beacon responses, chooses a coordinator, and sends an association request, followed by a data request to identify its short address. The coordinator then sends a transport key packet containing the network key. If the endpoint has the correct link key, it can decrypt the transport key packet and obtain the network key, meaning it has now been authenticated. From that point on, network traffic is encrypted with the network key. The entire process looks like this:
The sticking point is the transport key packet. This packet is protected using the link key, a per-device key shared between the coordinator (Trust Center) and the joining endpoint. Before the link key can be used for encryption, it often needs to be processed (hashed/derived) according to Zigbee’s key derivation rules. Since there is no trivial Python implementation that implements this hashing algorithm, we may need to implement the algorithm ourselves.
I implemented the required key derivation; the code is available on our GitHub.
Now that we’ve managed to obtain the hashed link key and deliver it to the endpoint, we can successfully mimic a coordinator.
The final success
If we follow the steps above, we can get the endpoint to join our spoofed coordinator. Once the endpoint joins, it will often remain associated with our coordinator, even after we power it down (until another event causes it to re-evaluate its connection). From that point on, we can interact with the device at the application layer using Python. Getting access as a coordinator allowed us to switch the relay on and off as intended, but also provided much more functionality and control over the node.
Conclusion
In conclusion, this study demonstrates why private vendor profiles in industrial environments complicate assessments: common tools and frameworks often fail, necessitating the development of custom tools and firmware. We tested a simple two-node scenario, but with multiple nodes the attack surface changes drastically and new attack vectors emerge (for example, attacks against routing protocols).
As we saw, a misconfigured Zigbee setup can lead to a complete network compromise. To improve Zigbee security, use the latest specification’s security features, such as using installation codes to derive unique link keys for each device. Also, avoid using hard-coded or default keys. Finally, it is not recommended to use the network key encryption model. Add another layer of security in addition to the network level protection by using end-to-end encryption at the application level.
Copia e Incolla e hai perso l’account di Microsoft 365! Arriva ConsentFix e la MFA è a rischio
Un nuovo schema chiamato “ConsentFix” amplia le capacità del già noto attacco social ClickFix e consente di dirottare gli account Microsoft senza password o autenticazione a più fattori. Per farlo, gli aggressori sfruttano un’applicazione Azure CLI legittima e le funzionalità di autenticazione OAuth , trasformando il processo di accesso standard in uno strumento di dirottamento.
ClickFix si basa sulla visualizzazione di istruzioni pseudo-sistema all’utente, chiedendogli di eseguire comandi o eseguire diversi passaggi, presumibilmente per correggere un errore o dimostrare la propria identità.
La variante “ConsentFix”, descritta dal team di Push Security, mantiene lo scenario generale dell’inganno, ma invece di installare malware, mira a rubare un codice di autorizzazione OAuth 2.0, che viene poi utilizzato per ottenere un token di accesso all’interfaccia della riga di comando di Azure.
L’attacco inizia con la visita a un sito web legittimo compromesso, ben indicizzato su Google per le query pertinenti. Sulla pagina appare un finto widget Cloudflare Turnstile, che richiede un indirizzo email valido. Lo script degli aggressori confronta l’indirizzo inserito con un elenco predefinito di obiettivi ed esclude bot, analisti e visitatori casuali. Solo alle vittime selezionate viene presentato il passaggio successivo, strutturato come un tipico script ClickFix con passaggi di verifica apparentemente innocui.
Alla vittima viene chiesto di cliccare sul pulsante di accesso, dopodiché il vero dominio Microsoft si apre in una scheda separata. Tuttavia, invece del consueto modulo di accesso, utilizza una pagina di autorizzazione di Azure che genera un codice OAuth specifico per l’interfaccia a riga di comando di Azure. Se l’utente ha effettuato l’accesso a un account Microsoft, è sufficiente selezionarlo; in caso contrario, l’accesso avviene normalmente tramite il modulo autentico.
Dopo l’autorizzazione, il browser viene reindirizzato a localhost e nella barra degli indirizzi viene visualizzato un URL con il codice di autorizzazione dell’interfaccia della riga di comando di Azure associato all’account. Il passaggio finale dell’inganno consiste nell’incollare nuovamente questo indirizzo nella pagina dannosa, come indicato. A questo punto, l’aggressore può scambiare il codice con un token di accesso e gestire l’account tramite l’interfaccia della riga di comando di Azure senza conoscere la password o completare l’autenticazione a più fattori . Durante una sessione attiva, l’accesso non viene effettivamente richiesto. Per ridurre il rischio di divulgazione, lo script viene eseguito una sola volta da ciascun indirizzo IP.
Gli esperti di Push Security consigliano ai team addetti alla sicurezza di monitorare le attività insolite dell’interfaccia della riga di comando di Azure, inclusi gli accessi da indirizzi IP insoliti, e di monitorare l’utilizzo delle autorizzazioni Graph legacy, su cui questo schema si basa per eludere gli strumenti di rilevamento standard.
L'articolo Copia e Incolla e hai perso l’account di Microsoft 365! Arriva ConsentFix e la MFA è a rischio proviene da Red Hot Cyber.
STATI UNITI. L’ICE perseguita i lavoratori. Datori di lavoro e sindacati reagiscono
@Notizie dall'Italia e dal mondo
Quali sono le tattiche che aziende agricole, fabbriche, ristoranti e altri luoghi di lavoro utilizzano per proteggere i dipendenti immigrati dalle incursioni dell'ICE?
L'articolo STATI UNITI. L’ICE perseguita i lavoratori. Datori di lavoro e
Ministero dell'Istruzione
Ieri, al #MIM, con l’accensione dell’albero di #Natale, alla presenza del Ministro Giuseppe Valditara e del Sottosegretario Paola Frassinetti, si sono conclusi i laboratori di #NextGenArt.Telegram
Non solo Starlink, American Airlines punta ad Amazon Leo per il Wi-Fi a bordo
Per vedere altri post come questo, segui la comunità @Informatica (Italy e non Italy 😁)
Se la rivale Starlink ha già accordi con diverse compagnie aeree per fornire servizi Internet in volo, anche Amazon Leo potrebbe mettere a segno il primo accordo con il vettore American Airlines. Tutti i
CheGuevaraRoma reshared this.
Digital Fights: Digital Lights: Wir kämpfen gegen Handydurchsuchungen bei Geflüchteten
Ma com'è sta storia che il petrolio scende di prezzo e i carburanti aumentano? 🤨🧐😠
Il petrolio chiude in calo a New York a 57,60 dollari al barile - Ultima ora - Ansa.it
ansa.it/sito/notizie/topnews/2…
Journalists warn of silenced sources
From national outlets to college newspapers, reporters are running into the same troubling trend: sources who are afraid to speak to journalists because they worry about retaliation from the federal government.
This fear, and how journalists can respond to it, was the focus of a recent panel discussion hosted by Freedom of the Press Foundation (FPF), the Association of Health Care Journalists, and the Society of Environmental Journalists. Reporters from a range of beats described how the second Trump administration has changed the way people talk to the press, and what journalists do to reassure sources and keep them safe.
youtube.com/embed/rIyRDQFEl4k?…
For journalist Grace Hussain, a solutions correspondent at Sentient Media, this shift became unmistakable when sources who relied on federal funding suddenly backed out of participating in her reporting. “Their concerns were very legitimate,” Hussain said, “It was possible that their funding could get retracted or withdrawn” for speaking to the press.
When Hussain reached out to other reporters, she found that sources’ reluctance to speak to the press for fear of federal retaliation is an increasingly widespread issue that’s already harming news coverage. “There are a lot of stories that are under-covered, and it’s just getting more difficult at this point to do that sort of coverage with the climate that we’re in,” she said.
Lizzy Lawrence, who covers the Food and Drug Administration for Stat, has seen a different but equally unsettling pattern. Lawrence has found that more government sources want to talk about what’s happening in their agencies, but often only if they’re not named. Since Trump returned to office, she said, many sources “would request only to speak on the condition of anonymity, because of fears of being fired.” As a result, her newsroom is relying more on confidential sources, with strict guardrails, like requiring multiple sources to corroborate information.
For ProPublica reporter Sharon Lerner, who’s covered health and the environment across multiple administrations, the heightened fear is impossible to miss. Some longtime sources have cut off communication with her, including one who told her they were falsely suspected of leaking.
And yet, she added, speaking to the press may be one of the last options left for employees trying to expose wrongdoing. “So many of the avenues for federal employees to seek justice or address retaliation have been shut down,” Lerner said.
This chilling effect extends beyond federal agencies. Emily Spatz, editor-in-chief of Northeastern’s independent student newspaper The Huntington News, described how fear spread among international students after federal agents detained Mahmoud Kahlil and Rümeysa Öztürk. Visa revocations of students at Northeastern only deepened the concern.
Students started asking the newspaper to take down previously published op-eds they worried could put them at risk, a step Spatz took after careful consideration. The newsroom ultimately removed six op-eds but posted a public website documenting each removal to preserve transparency.
Even as the paper worked hard to protect sources, many became reluctant to participate in their reporting. One student, for instance, insisted the newspaper remove a photo showing the back of their head, a method the paper had used specifically to avoid identifying sources.
Harlo Holmes, the chief information security officer and director of digital security at FPF, said these patterns mirror what journalists usually experience under authoritarian regimes, but — until now — have not been seen in the United States. Whistleblowing is a “humongously heroic act,” Holmes said, “and it is not always without its repercussions.”
She urged reporters to adopt rigorous threat-modeling practices and to be transparent with sources about the tools and techniques they use to keep them safe. Whether using SecureDrop, Signal, or other encrypted channels, she said journalists should make it easy for sources to find out how to contact them securely. “A little bit of education goes a long way,” she said.
For more on how journalists are working harder than ever to protect vulnerable sources, watch the full event recording here.
Covering immigration in a climate of fear
As the federal government ramps up immigration enforcement, sweeping through cities, detaining citizens and noncitizens, separating families, and carrying out deportations, journalists covering immigration have had to step up their work, too.
Journalists on the immigration beat today are tasked with everything from uncovering government falsehoods to figuring out what their communities need to know and protecting their sources. Recently, Freedom of the Press Foundation (FPF) hosted a conversation with journalists Maritza Félix, the founder and director of Conecta Arizona; Arelis Hernández, a reporter for The Washington Post; and Lam Thuy Vo, an investigative reporter with Documented. They discussed the challenges they face and shared how they report on immigration with humanity and accuracy, while keeping their sources and themselves safe.
youtube.com/embed/OPPo0YzKfnA?…
Immigration reporting has grown a lot more difficult, explained Hernández, as sources increasingly fear retaliation from the government. “I spend a lot of time at the front end explaining, ‘Where will this go? What will it look like?’” Hernández said, describing her process of working with sources to ensure they participate in reporting knowingly and safely. She also outlined her own precautions, from using encrypted devices to carrying protective gear, highlighting just how unsafe conditions have become, even for U.S.-born reporters.
Like Hernández, Félix also emphasized the intense fear and uncertainty many immigrant sources experience. Other sources, however, may be unaware of the possible consequences of speaking to reporters and need to be protected as well. “I think when we’re talking about sources, particularly with immigration, we’re talking about people who are sharing their most vulnerable moments in their life, and I think the way that we treat it is going to be very decisive on their future,” she said.
Journalists who are themselves immigrants must also manage personal risk, Félix said, “but the risk is always going to be there just because of who we are and what we represent in this country.” She pointed to the arrest and deportation of journalist Mario Guevara in Georgia, saying it “made me think that could have been me” before she became a U.S. citizen. She recommended that newsrooms provide security training, mental health resources, and operational protocols for both staff and freelancers.
Both Félix and Vo, who work in newsrooms by and for immigrant communities, emphasized the need for journalists to actively listen to the people they cover. “If you’re trying to serve immigrants, build a listening mechanism, some kind of way of continuing to listen to both leaders in the community, service providers, but also community members,” Vo advised. She also recommended that journalists use risk assessments and threat modeling to plan how to protect themselves and their sources.
Watch the full discussion here.
Tempesta e freddo su 850mila sfollati vittime dello stato genocida di israele.
Rahaf, bimba di otto mesi, morta di freddo a Kahn Younis
differx.noblogs.org/2025/12/11…
reshared this
gli USA intendono passare ai raggi x i social di chiunque entri nel loro territorio
differx.noblogs.org/2025/12/11…
reshared this
un'opera di Leonora Carrington
March Sunday / Leonora Carrington. 1990
differx.noblogs.org/2025/12/10…
reshared this
‘Architects of AI’ Wins Time Person of the Year, Sends Gambling Markets Into a Meltdown#TimePersonoftheYear
Il Portogallo paralizzato dal primo sciopero generale dopo 12 anni
@Notizie dall'Italia e dal mondo
I sindacati portoghesi hanno proclamato lo sciopero contro un piano del governo che faciliterà i licenziamenti ed estenderà la precarietà nel mondo del lavoro
L'articolohttps://pagineesteri.it/2025/12/11/europa/il-portogallo-paralizzato-dal-primo-sciopero-generale-dopo-12-anni/
Presentazione del libro “E sceglierai la vita. Guerra e pace lungo le strade di Yitzhak Rabin” di Adam Smulevich
@Politica interna, europea e internazionale
11 dicembre 2025, ore 18:00 – Aula Malagodi della Fondazione Luigi Einaudi, roma Oltre all’autore interverranno Piero Fassino, Deputato della Repubblica Fiamma Nirenstein, giornalista
Gelosia 2.0
noblogo.org/lalchimistadigital…
tempo iperdenso e linee di fuga
noblogo.org/differx/e-un-perio…
è un periodo in cui le scadenze di consegna di lavori (non pagati o pagati...
& slowforward (entropia gratis) + ko-fi (help, support!)...differxdiario
reshared this
Dozens of government websites have fallen victim to a PDF-based SEO scam, while others have been hijacked to sell sex toys.#AI
The discovery of fire-cracked handaxes and sparking tools in southern Britain pushes the timeline of controlled fires back 350,000 years.#TheAbstract
Se stai programmando una vacanza negli USA, controlla i tuoi post sui social anche vecchi di 5 anni
Gli USA vogliono rendere obbligatorio l'accesso ai profili social per i visitatori europei prima di farli entrare alla frontiera. A meno che non siano milionariRiccardo Piccolo (Wired Italia)
reshared this
Marco Perduca al Teatro Off/Off per “Diritto a stare bene”
Marco Perduca al Teatro Off/Off per “Diritto a stare bene”
Marco Perduca, coordinatore delle iniziative dell’Associazione Luca Coscioni sulla ricerca e l’uso terapeutico delle sostanze psichedeliche parteciperà alla celebrazione del raggiungimento delle 72.000 firme raccolte a sostegno della campagna nazionale “Diritto a Stare Bene”
Teatro Off/Off, Via Giulia 20 – Roma
Sabato 13 dicembre 2025
Ore 16:00 – 19:00
La proposta di legge di iniziativa popolare mira all’istituzione di un servizio nazionale pubblico di psicologia, accessibile, gratuito e integrato nel Servizio Sanitario Nazionale.
Insieme a lui interverranno Maria Teresa Bellucci (viceministra del Lavoro e delle Politiche Sociali), Maura Latini (Presidente Coop Italia), Francesco Maesano (coordinatore nazionale Diritto a stare bene), Michela Marzano (filosofa e docente universitaria),Linda Laura Sabbadini (statistica e pioniera negli studi di genere),Maria Antonietta Gulino (Presidente CNOP) e Parlamentari di diversi schieramenti.
A seguire, dalle ore 20:00, la festa continuerà al Campomagnetico (Vicolo delle Grotte 3) con un talk show targato Mentifricio e DJ set.
L'articolo Marco Perduca al Teatro Off/Off per “Diritto a stare bene” proviene da Associazione Luca Coscioni.
Le prestazioni sociosanitarie e le liste d’attesa: l’assenza ingiustificabile dal PNGLA
Il nuovo Piano Nazionale di Governo delle Liste d’Attesa viene presentato come la risposta sistemica ai ritardi nell’erogazione di visite ed esami, con l’obiettivo dichiarato di garantire maggiore trasparenza, tempi certi e tutele per gli utenti. Tuttavia, dentro questo impianto che ambisce alla modernizzazione del sistema, continua a persistere un vuoto enorme: quello dei servizi sociosanitari. RSA, interventi per la disabilità, residenzialità psichiatrica, centri diurni e assistenza domiciliare integrata restano completamente fuori dal perimetro del Piano, nonostante siano prestazioni riconosciute come Livelli Essenziali di Assistenza e finanziate dal Fondo sanitario nazionale. Non compaiono nelle tabelle dei tempi massimi, non sono associate a percorsi di tutela, e non esistono per esse standard nazionali di pubblicità delle graduatorie o di presa in carico entro tempi determinati. L’effetto è immediato: per migliaia di persone, l’attesa non ha limiti né garanzie.
Ne deriva un Paese a due velocità. Per una prestazione diagnostica, il cittadino può invocare tempi precisi e un quadro normativo che ne tutela il diritto; per un posto in RSA, per l’ingresso in una struttura per persone con disabilità grave o per avviare un percorso di cura residenziale in ambito psichiatrico, la stessa persona si ritrova relegata in un limbo amministrativo senza scadenze. Accade così che individui che hanno già superato la valutazione UVM/UVG, ai quali è stato riconosciuto un bisogno sanitario e approvato un progetto assistenziale personalizzato, rimangano per mesi – spesso anni – con la sola etichetta di “collocato in graduatoria”, espressione che nasconde la totale assenza di un termine entro cui la prestazione deve essere garantita. È una distorsione che amplifica le differenze territoriali e che si pone in evidente contrasto con il principio di uguaglianza e con il diritto alla salute sancito dalla Costituzione. È incomprensibile che una prestazione sanitaria tradizionale debba essere erogata entro limiti certi, mentre una prestazione sociosanitaria, pur definita essenziale, sia lasciata oscillare tra disponibilità di posti, bilanci regionali e scelte amministrative mutevoli. Un’anomalia normativa e culturale che ricade proprio su chi è più fragile e sulle famiglie già gravate da responsabilità di cura.
In un contesto così carente, il cittadino è costretto a farsi carico di azioni di tutela. La prima è l’accesso agli atti: chiedere formalmente contezza della propria posizione, dei punteggi utilizzati per la valutazione, delle regole di priorità e dello storico degli scorrimenti. Obbligare l’amministrazione a mostrare i dati riduce lo spazio per arbitri e inerzie. Fondamentale anche richiedere aggiornamenti periodici, sempre per iscritto, sulla situazione della graduatoria e sui posti effettivamente disponibili. Quando l’attesa supera ogni ragionevolezza o il bisogno è particolarmente urgente, diventa necessario presentare una diffida formalizzata, richiamando il carattere essenziale delle prestazioni sociosanitarie, l’obbligo di assicurare i LEA e la giurisprudenza che tutela il nucleo incomprimibile del diritto alla salute. Nei casi più gravi, soprattutto quando la mancata presa in carico produce un danno diretto alla persona o alla famiglia, è possibile valutare il ricorso al giudice amministrativo o civile per ottenere l’attuazione del progetto individuale o la prestazione in deroga*. Non si tratta della via preferibile, ma spesso è l’unica che interrompe lo stallo istituzionale.
Non dovrebbe essere così. Un sistema sanitario “ambulatorialecentrico” che ignora le persone con bisogni complessi e di lunga durata rinuncia alla propria funzione pubblica più fondamentale. Finché il PNGLA continuerà a lasciare fuori l’integrazione sociosanitaria, il diritto alla salute resterà solido solo per le esigenze “semplici”, mentre diventerà incerto e contrattabile per chi necessita di percorsi assistenziali continuativi. Portare i servizi sociosanitari dentro il PNGLA non è mero tecnicismo amministrativo: è una scelta politica, culturale e civile. È il passo che ancora manca per superare la distanza storica tra sanità e sociale, per realizzare davvero l’integrazione sociosanitaria e per ridurre diseguaglianze che oggi gravano soprattutto sulle persone con cronicità, disabilità e non autosufficienza. Un sistema moderno non può più permettersi di relegare il bisogno più fragile ai margini della programmazione nazionale.
*Consiglio di Stato nella sent. n. 1 del 2020:
“[…] Ritiene il Collegio che una volta individuate le necessità dei disabili tramite il Piano individualizzato, l’attuazione del dovere di rendere il servizio comporti l’attivazione dei poteri -doveri di elaborare tempestivamente le proposte relative all’individuazione delle risorse necessarie a coprire il fabbisogno e, comunque, l’attivazione di ogni possibile soluzione organizzativa. […]…”
L'articolo Le prestazioni sociosanitarie e le liste d’attesa: l’assenza ingiustificabile dal PNGLA proviene da Associazione Luca Coscioni.
Gabriella Dodero e Jennifer Tocci all’incontro “Donare è vivere” a Genova
Gabriella Dodero, attivista della Cellula Coscioni di Genova e del Numero Bianco e Jennifer Tocci, coordinatrice della Cellula Coscioni di Genova, interverranno in occasione dell’incontro pubblico “Donare è vivere”, dove si parlerà di donazione di organi, tessuti e testamento biologico come espressione concreta del diritto all’autodeterminazione
Centro Civico Buranello – Sala Blu, Via G. Buranello 1, (Genova)
Martedì 16 dicembre 2025
Ore 17:45
L’incontro vedrà inoltre gli interventi di:
- Dr. Enzo Andorno, Direttore U.O. di Chirurgia epatobiliare e trapianti d’organo, Policlinico San Martino
- Dr. Emanuele Angelucci, Direttore Ematologia e Centro Trapianti Cellule Staminali e Terapie Cellulari, Policlinico San Martino
Modera Gianni Pastorino, consigliere regionale.
Un momento di approfondimento e dialogo aperto a tutta la cittadinanza, per promuovere consapevolezza e scelte informate su temi fondamentali per la vita e la libertà di ciascuno.
L'articolo Gabriella Dodero e Jennifer Tocci all’incontro “Donare è vivere” a Genova proviene da Associazione Luca Coscioni.
Diego Silvestri modera “Mi accompagni davvero a sopportare il dolore dall’inizio alla fine?” a Vicenza
Diego Silvestri, psichiatra e attivista dell’Associazione Luca Coscioni modererà l incontro informativo promosso da Faiberica Cooperativa Sociale, dedicato a familiari, professionisti e cittadinanza interessata ad approfondire uno degli aspetti più delicati della cura e del fine vita dal nome “Mi accompagni davvero a sopportare il dolore dall’inizio alla fine?”
Venerdì 12 dicembre 2025
Ore 18:30
Casa Provvidenza, Stradella delle Cappuccine 5, Vicenza
Interverranno:
Dott.ssa Angela Toffolatti, Medica di medicina generale – Palliativista, Dott.ssa Stefania Groppo, Referente infermieristica di Casa Provvidenza, componente del Comitato di Etica per la Pratica Clinica, Dott.ssa Anna Lanaro, Assistente sociale, responsabile dello sportello DAT ULSS 8 Vicenza, Dott.ssa Laura Ceriotti, Terapista occupazionale e coordinatrice di struttura, Rossella Menegato, familiare e scrittrice
L’incontro rappresenta un’occasione importante per confrontarsi sui diritti delle persone nelle fasi più critiche della vita, sulla possibilità di scegliere consapevolmente il proprio percorso terapeutico e sul ruolo delle strutture socio-sanitarie.
Per informazioni: eventi@faiberica.it
L'articolo Diego Silvestri modera “Mi accompagni davvero a sopportare il dolore dall’inizio alla fine?” a Vicenza proviene da Associazione Luca Coscioni.
Siccome siamo già all'11 e non l'ho ancora sentita, percepisco che questo potrebbe essere il mio anno e quindi ho deciso di gareggiare nell'epica sfida del #Whamageddon 😁
Stasera però vado a Pilates, lì c'è musica e sebbene l'istruttore sia un Grinch il rischio è alto...
Poliversity - Università ricerca e giornalismo reshared this.
Per mia fortuna l'ho sentita solo una volta finora, ai primi del mese. Poi il silenzio. Spero.
DNS-Massenüberwachung: „Das war dringend notwendig, diese neue Idee einer Schleppnetzfahndung im Internet abzuwenden“
informapirata ⁂
in reply to simona • • •simona likes this.
Luca Sironi
in reply to informapirata ⁂ • • •tra un po va a finire che DEVI avere i social commerciali perche' devono controllarli.
reshared this
informapirata ⁂ reshared this.
Luca Sironi
in reply to Luca Sironi • • •se non hai neanche instagram nel 2025, hai qualcosa da nascondere !
reshared this
informapirata ⁂ reshared this.
informapirata ⁂
in reply to Luca Sironi • • •Elena Brescacin
in reply to Luca Sironi • • •No, scherzo. Ma sinceramente per il tipo di vacanze che faccio io, due sono le cose: non rompete le palle se mi spoglio, e datemi da mangiare che sia bene e abbondante. Solo l'Italia le può garantire entrambe nello stesso posto.
Finlandia e Olanda, ci sono stata 30 anni fa e mi trovai bene. Ma ora che hanno l'estrema destra pure loro in mezzo ai piedi...
informapirata ⁂ reshared this.
Elena Brescacin
in reply to Elena Brescacin • • •"non mi si rompa se mi spoglio" si intende stare in costume da bagno, in pantaloncini corti e magliettina, insomma sbragate.
Col culo dentro o fuori, di solito dentro. Perché basta la faccia, è un duplicato