Salta ai contenuti

Cattura a livello di sistema

Alcuni bersagli non consentono nemmeno di leggere il testo in chiaro dall’interno. Le app integrate di macOS, insieme alle applicazioni particolarmente ostinate e profondamente nascoste, bloccano ogni tipo di interferenza esterna prima ancora che parta. La cattura a livello di sistema non gira all’interno del programma; osserva dai livelli più bassi del sistema. Anche questi bersagli, a cui gli strumenti comuni non riescono nemmeno ad avvicinarsi, si vedono esposto il proprio testo in chiaro. È l’ultima carta in mano ai metodi di cattura locale.

Questo articolo riguarda macOS. Su Windows, i programmi di sistema che passano per lo stack di rete di sistema (.NET / PowerShell, ecc.) hanno una capacità equivalente; vedi Cattura a livello applicativo su questa macchina.


1. Vede ciò che “gli altri strumenti non riescono a raggiungere”

Sezione intitolata “1. Vede ciò che “gli altri strumenti non riescono a raggiungere””

Vuoi vedere cosa le app integrate di macOS, i servizi di sistema o quelle applicazioni ostinate e profondamente nascoste stanno dicendo ai loro server? Di norma sbatti contro un muro a ogni passo: la cattura via proxy viene esclusa (rifiutano il certificato e restituiscono semplicemente un errore), la lettura del testo in chiaro dall’interno del programma è bloccata dalle protezioni di sistema, e ciò che catturi sulla scheda di rete è solo testo cifrato. La cattura a livello di sistema è uno dei pochi modi per leggere il testo in chiaro dei loro scambi.

I metodi di cattura locale spingono ciascuno più in là del precedente, e questo sta proprio in fondo:

Bersaglio Scheda di rete / per processo Cattura a livello applicativo Cattura a livello di sistema su questa macchina
Programmi ordinari ✅ (sovradimensionata)
Certificate pinning / crittografia personalizzata 🔒 testo cifrato ✅ testo in chiaro ✅ testo in chiaro
Applicazioni ostinate / molto nascoste 🔒 / ❌ ❌ rifiuta l’interferenza testo in chiaro
App integrate / servizi di sistema 🔒 / ❌ ❌ rifiuta l’interferenza testo in chiaro

Quando nessuno dei metodi precedenti riesce a gestire il bersaglio, affidalo a questo.


2. Cosa le permette di raggiungere le app di sistema

Sezione intitolata “2. Cosa le permette di raggiungere le app di sistema”
  • Non gira all’interno del programma: le app integrate e le applicazioni ostinate bloccano ogni tipo di interferenza che gira all’interno del programma, quindi la cattura a livello applicativo non funziona su di esse. La cattura a livello di sistema adotta un’angolazione diversa: nessuna iniezione, nessuna modifica al programma, nessun certificato. Legge fuori banda ai livelli più bassi del sistema, quindi questa protezione non può fermarla.
  • Non tocca i certificati: non fa da uomo nel mezzo e non tocca i certificati, quindi il certificate pinning semplicemente non si applica. Per quanto rigorosi siano i controlli sui certificati di queste applicazioni, non possono influenzarla.
  • Raggiunge il livello che gli altri non toccano: le app integrate di macOS, l’App Store e vari servizi di sistema passano per i canali di rete di livello più basso del sistema, che sono proprio il punto cieco condiviso da tutti i metodi di cattura precedenti. La cattura a livello di sistema copre esattamente questo livello, portando tutto il loro testo in chiaro in piena vista.

  • App integrate e servizi di sistema: gli scambi di rete dei programmi propri di macOS, come l’App Store, i componenti di sistema e i servizi in background.
  • Applicazioni ostinate e profondamente nascoste: programmi di terze parti che seppelliscono il proprio traffico in profondità e rifiutano ogni tipo di interferenza esterna.
  • Programmi ordinari: naturalmente sa gestire anche questi, ma è sovradimensionata; per i programmi normali i metodi precedenti sono più semplici.

  1. Scegli il bersaglio: scegli un programma in esecuzione dal menu a discesa, oppure inserisci il percorso / nome di un programma.
  2. Facoltativamente cattura “il momento dell’avvio”: lascia che lo strumento chiuda prima il programma e poi lo riavvii, così viene catturato anche il traffico dei primi istanti di avvio (molta autenticazione / molti handshake avvengono in quell’istante).
  3. Avvia la cattura e visualizza il testo in chiaro che il programma invia e riceve.

Nuova sessione · Cattura a livello di sistema su questa macchina: scegli un programma in esecuzione (o inserisci un percorso / nome) e osservane gli scambi in chiaro fuori banda dai livelli più bassi del sistema; puoi spuntare “riavvia il bersaglio” per coprire i primi istanti di avvio

Risultato dal vivo: osservando il programma bersaglio fuori banda dai livelli più bassi del sistema, i suoi scambi HTTPS sono completamente riportati a testo in chiaro, la vista dei dettagli mostra “decifrato”, e richieste e risposte sono allineate una per una


Il testo in chiaro letto dai livelli più bassi passa attraverso la stessa elaborazione di ogni altro metodo di cattura:

  • Modi diversi di visualizzazione: strutturato, testo abbellito, esadecimale e rilevamento automatico, commutabili in modo indipendente per il lato invio e il lato ricezione. Vedi Ispeziona e decodifica.
  • Decompressione e rilevamento automatici: decomprime automaticamente gzip / brotli / deflate / zstd (compresi più livelli sovrapposti) e rileva e abbellisce in automatico JSON, XML, protobuf / gRPC e altro.

6. Come scegliere tra i quattro metodi di cattura locale

Sezione intitolata “6. Come scegliere tra i quattro metodi di cattura locale”
La tua situazione Quale usare
App integrate di macOS, applicazioni ostinate (irraggiungibili con gli altri metodi) Cattura a livello di sistema su questa macchina (questo articolo)
Programma già in esecuzione / certificate pinning / non accetta proxy / crittografia personalizzata Cattura a livello applicativo su questa macchina
Programmi normali che puoi avviare via comando (browser / script / CLI) Cattura per processo su questa macchina
Vuoi vedere tutto il traffico della macchina, o il traffico non HTTP Cattura da scheda di rete su questa macchina

Correlati: Cattura via proxy · Cattura a livello applicativo su questa macchina · Ispeziona e decodifica