Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
MacPersistenceChecker — Scanner dei meccanismi di persistenza di macOS con verifica della firma del codice e tracciamento della timeline. | Kitploit
Strumenti/GitHubGitHub/pinperepette/macpersistencechecker
OSINT (Open Source Intelligence)Meccanismi di PersistenzaAnalisi delle VulnerabilitàInformatica ForenseAnalisi MalwareDigital ForensicsThreat IntelligenceApprendimento e FormazioneRisposta agli Incidenti

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sicurezza dell'IA
GitHubpinperepette/macpersistencechecker

MacPersistenceChecker

Scanner dei meccanismi di persistenza di macOS con verifica della firma del codice e tracciamento della timeline.

Vedi Repository
268131 mese faRevisionato da Kitploit

MacPersistenceChecker

Vedi TUTTO ciò che gira sul tuo Mac. Comprendi PERCHÉ gira. Decidi COSA tenere.

Interfaccia principale

Come funziona

TL;DR

MacPersistenceChecker ti mostra tutto ciò che viene eseguito automaticamente sul tuo Mac, spiega perché è importante e ti aiuta a decidere cosa tenere o rimuovere.

→ Trova malware → Rileva persistenza nascosta → Comprendi il tuo sistema in pochi minuti

Scarica

Scarica MacPersistenceChecker v2.0.0 (DMG)

→ Scansiona il tuo Mac in meno di 30 secondi → Nessuna procedura guidata di installazione, basta aprirlo ed eseguirlo → macOS nativo, universale (Apple Silicon & Intel), macOS 13+

Se macOS dice che l'app è danneggiata: xattr -cr /Applications/MacPersistenceChecker.app

Casi d'uso reali

  • "Perché il mio Mac è lento?" → trova app nascoste ad avvio automatico e elementi di accesso
  • "Sono infetto?" → rileva persistenza sospetta, binari firmati ma pericolosi
  • "Cosa ha aggiunto questo installer?" → differenza snapshot prima/dopo l'installazione con spiegazione IA
  • "Cosa viene eseguito all'accesso?" → visibilità completa su 22+ meccanismi di persistenza
  • "È sicuro?" → l'IA spiega in linguaggio semplice, con mappatura MITRE ATT&CK

Perché non Autoruns (o altri strumenti)?

  • Progettato per macOS — non una versione di Windows. Conosce LaunchAgents, TCC, estensioni del kernel, dylib hijacking, BTM, profili MDM, e tutto il resto.
  • Triage assistito dall'IA (opzionale) — Claude classifica migliaia di elementi in pochi secondi, impara l'ambiente nel tempo
  • Knowledge graph invece di elenchi piatti — decidi una volta per concetto, il verdetto si propaga a tutti gli elementi correlati
  • Comportamentale + context-aware — i punteggi di rischio combinano firma, comportamento, disallineamento delle intenzioni, anomalia di età, LOLBins, altro
  • Niente telemetria, niente sincronizzazione cloud — tutte le analisi in locale. L'IA è opzionale e pagata dall'utente tramite la propria chiave Anthropic

Privacy e sicurezza

  • Nessun dato lascia la tua macchina a meno che tu non attivi le funzionalità IA
  • Tutte le scansioni, i punteggi di rischio e il ragionamento sul grafo vengono eseguiti localmente
  • Le chiamate IA vanno direttamente ad Anthropic con la tua chiave API — nessun proxy, nessuna registrazione
  • Chiave API salvata nel macOS Keychain
  • Codice sorgente aperto: vedi cosa invia e come

Analisi basata sull'IA

L'app impara il tuo sistema e classifica automaticamente migliaia di elementi.

  • 🧠 Raggruppa elementi simili in cluster di concetti (6800 elementi → ~280 cluster)
  • 📚 Impara di cosa ti fidi — i verdetti si propagano agli elementi correlati, inclusi quelli futuri
  • 🔇 Riduce il rumore nel tempo — il primo triage è il più grande, poi resta tranquillo
  • 🎯 Cinque strumenti IA: analisi per singolo elemento, triage batch dei cluster, report completo di sistema, domande e risposte di threat hunting, spiegazione delle differenze snapshot

Avvio rapido:

  1. Settings → AI → incolla la tua chiave API Anthropic (salvata nel macOS Keychain)
  2. Settings → Monitoring → attiva l'interruttore Use AI
  3. Toolbar → Triage per classificare i cluster in blocco, oppure Hunt per fare domande in linguaggio naturale

Costo realistico: <$1/mese per un uso attivo, $0 a regime.

Come funziona (tecnico)

L'app crea un knowledge graph di ogni elemento di persistenza sul tuo Mac e usa Claude (Anthropic) per ragionarci sopra. Classifica rapidamente migliaia di elementi, evidenzia solo ciò che conta davvero e impara il tuo sistema così da rispondere alla maggior parte delle domande senza ulteriori chiamate IA.

Flusso di ragionamento```

root@kitploit:~
             ┌──────────────────────────┐
             │   Persistence scan       │
             │   (e.g. 6800 items)      │
             └─────────────┬────────────┘
                           ▼
        ┌────────────────────────────────────────┐
        │  Concept Extraction (deterministic)    │
        │  6 extractors → vendor / software /    │
        │  pathCategory / pattern / mechanism /  │
        │  filename. No AI calls here.           │
        └─────────────┬──────────────────────────┘
                      ▼
        ┌────────────────────────────────────────┐
        │  Knowledge Graph (SQLite)              │
        │  • concepts (~280 typically)           │
        │  • concept_links (subsumes / instance) │
        │  • item_concepts (m:n)                 │
        │  • concept_verdicts                    │
        └─────────────┬──────────────────────────┘
                      ▼
        ┌────────────────────────────────────────┐
        │  Concept Resolver                      │
        │  for every item, picks the strongest   │
        │  verdict via a deterministic ladder:   │
        │  severity → confidence → specificity   │
        │  → source → recency.                   │
        └─────────────┬──────────────────────────┘
                      │
          ┌───────────┴────────────┐
          ▼                        ▼
Scarica lo strumento

┌──────────────────┐ ┌──────────────────────┐ │ Item is already │ │ Item is unresolved │ │ classified. │ │ → goes to a cluster. │ │ Filter hides it │ └──────────┬───────────┘ │ from "Suspicious"│ ▼ └──────────────────┘ ┌──────────────────────┐ │ Cluster Builder │ │ groups items by │ │ identical concept │ │ signature (sorted │ │ ids). 6800 items → │ │ ~280 clusters. │ └──────────┬───────────┘ ▼ ┌──────────────────────────────────────────┐ │ User decides per cluster (one click = │ │ N items decided), OR sends batch to AI: │ │ │ │ • Trust / Watch / Block (manual) │ │ • Send unresolved clusters to AI │ │ → Haiku batch (15 cluster per call) │ │ → AI returns verdicts attached to │ │ concepts (not items) — propagate │ │ to ALL items linked to those │ │ concepts, including future ones. │ └──────────────────────────────────────────┘

root@kitploit:~
### Strumenti IA

| Strumento | Dove | Modello | Costo / chiamata |
|---|---|---|---|
| Analizza con IA (singolo elemento) | Dettaglio elemento → Knowledge Graph | Haiku | ~$0.003 |
| Batch Smart Triage | Barra strumenti → Triage | Haiku batch | ~$0.005 (15 cluster) |
| Report di sistema | Barra strumenti → Report | Sonnet | ~$0.05-0.10 |
| Threat Hunt | Barra strumenti → Hunt | Haiku | ~$0.003 |
| Diff snapshot | Cronologia → Confronta → Analizza con IA | Haiku | ~$0.003 |

Limite giornaliero di chiamate (predefinito 30) configurabile in Impostazioni → IA. Tetto invalicabile, oltre il quale l'IA si disabilita automaticamente.

### Controlli di fiducia

Le regole definite dall'utente **hanno sempre la precedenza** su quelle estratte dall'IA:

- **Considera affidabile questo elemento** — regola singleItem, il tuo giudizio sovrascrive la watchlist dell'IA
- **Considera affidabile questo pattern** — regola pattern con ancoraggio TeamID/firma (solo binari firmati)
- **Rimuovi fiducia** — elimina una regola definita dall'utente che hai aggiunto per errore
- **Watch / Blocca** — applica il verdetto watchlist/malicious a un intero cluster in Smart Triage

</details>

---

## Scansione della persistenza

### Scanner principali
- **Launch Daemons** - servizi a livello di sistema (`/Library/LaunchDaemons`, `/System/Library/LaunchDaemons`)
- **Launch Agents** - agent a livello utente (`~/Library/LaunchAgents`, `/Library/LaunchAgents`)
- **Login Items** - app che si avviano all'accesso
- **Kernel Extensions** - kext legacy
- **System Extensions** - estensioni di sistema moderne (DriverKit, NetworkExtension, EndpointSecurity)
- **Privileged Helper Tools** - servizi XPC con privilegi elevati
- **Cron Jobs** - attività pianificate
- **Configuration Profiles** - profili MDM e profili di configurazione
- **Application Support** - app e helper in background

### Scanner estesi (opzionali)
- **Periodic Scripts** - script giornalieri, settimanali e mensili in `/etc/periodic/`
- **Shell Startup Files** - file di avvio della shell `.zshrc`, `.bashrc`, `/etc/profile` con rilevamento di pattern sospetti
- **Login/Logout Hooks** - hook di login legacy tramite `com.apple.loginwindow`
- **Authorization Plugins** - plugin Security Agent in `/Library/Security/SecurityAgentPlugins`
- **Spotlight Importers** - importatori di metadati personalizzati
- **Quick Look Plugins** - generatori di anteprime che potrebbero essere abusati
- **Directory Services Plugins** - plugin di autenticazione
- **Finder Sync Extensions** - estensioni Finder tramite pluginkit
- **BTM Database** - voci Background Task Management (macOS 13+)
- **Dylib Hijacking** - rilevamento di `DYLD_INSERT_LIBRARIES` e di iniezione di dylib sospette
- **TCC/Accessibility** - app con permessi Accessibilità nel database TCC

---

## Valutazione del rischio

Ogni elemento di persistenza riceve un **Risk Score (0-100)** basato su molteplici fattori:

- Firme del codice non valide o mancanti
- Protezione hardened runtime mancante
- Binari firmati ad-hoc
- Posizioni dei file sospette
- Configurazioni di avvio automatico persistenti (RunAtLoad, KeepAlive)
- Pattern di malware noti

**Livelli di gravità:** Low, Medium, High, Critical - elementi ordinati per rischio per una rapida identificazione delle minacce.

### Rilevamento anomalie nella frequenza di avvio
- **Micro-Restart** - StartInterval < 60 secondi (possibile abuso del watchdog)
- **Aggressive Watchdog** - combinazione di KeepAlive + StartInterval basso
- **No Throttle Limit** - KeepAlive senza ThrottleInterval (rischio di loop crash-restart)

### Rilevamento firmato-ma-pericoloso
- **Dangerous Entitlements** - rilevamento di entitlement rischiosi (`com.apple.security.cs.disable-library-validation`, ecc.)
- **Apple Impersonation** - software non Apple che tenta di apparire come Apple
- **Hidden Locations** - app firmate in directory sospette
- **Notarization Gaps** - app recenti prive di notarizzazione
- **Developer Certificate Analysis** - validazione del Team ID rispetto a vendor noti

### Rilevamento LOLBins (Living-off-the-Land Binaries)
Rileva l'uso sospetto di binari macOS legittimi in contesti di persistenza. **Ciò che conta è la combinazione:**

- **osascript + persistenza** = AppleScript con avvio automatico (abuso di automazione GUI)
- **curl/wget + RunAtLoad** = pattern di download ed esecuzione
- **python + helper privilegiato** = esecuzione di script con privilegi elevati
- **security + KeepAlive** = rischio di raccolta di credenziali
- **launchctl + avvio automatico** = installatore di meta-persistenza
- **netcat + persistenza** = reverse shell / canale C2

Oltre 40 LOLBins monitorati con mapping MITRE ATT&CK e scoring di gravità sensibile al contesto.

### Reputazione dei binari e analisi comportamentale
Euristiche avanzate per rilevare pattern comportamentali sospetti:

- **Hidden Persistence Guard** - agent KeepAlive senza uno scopo watchdog evidente
- **Aggressive Persistence** - RunAtLoad + KeepAlive su elementi non di servizio
- **Stealthy Auto-Start** - processo in background di un vendor sconosciuto
- **Orphaned Persistence** - il plist punta a un eseguibile inesistente
- **Suspicious Location** - eseguibile in `/tmp/`, `/Users/Shared/` o in directory nascoste
- **Privilege Escalation Risk** - agent utente che tenta operazioni privilegiate
- **Network-Enabled Persistence** - persistenza con capacità di rete
- **Script-Based Persistence** - script inline tramite interpreti
- **System Process Impersonation** - elemento non Apple che usa nomi simili a quelli Apple
- **Frequent Restart Pattern** - StartInterval < 60 secondi

### Mancata corrispondenza di intento tra plist e binario
Rileva quando ciò che dichiara il plist non corrisponde a ciò che il binario fa realmente - **esattamente ciò che fanno i dropper moderni:**

- **Innocent Plist, Heavy Binary** - configurazione semplice ma il binario ha entitlement pericolosi
- **Passive Helper with Network** - helper in background con accesso di rete client/server
- **Passive Helper with Dylib Loading** - helper che può caricare codice non firmato
- **Minimal Config, Maximum Capabilities** - plist minimale ma entitlement estesi
- **Simple Task with Keychain Access** - attività dall'aspetto semplice con accesso alle credenziali

### Età del binario vs età della persistenza
Rileva pattern di timestamp sospetti che indicano aggiornamenti dannosi post-installazione:

- **Old Plist, New Binary** - classico pattern di "aggiornamento dannoso post-installazione"
- **Silent Binary Swap** - binario modificato senza modifica del plist
- **Timestamp Manipulation** - data di modifica precedente alla data di creazione (impossibile)
- **Suspicious Modification Time** - binario modificato tra le 2 e le 5 di notte
- **Binary Modified After Install** - binario non-updater modificato dopo l'installazione iniziale

### Livelli di fiducia
- 🟢 **Apple** - Firmato da Apple
- 🔵 **Known Vendor** - Software di terze parti verificato
- 🟡 **Signed** - Firma valida ma non notarizzato
- ⚪ **Unknown** - Nessun eseguibile da verificare
- 🟠 **Suspicious** - Certificato scaduto o percorso sospetto
- 🔴 **Unsigned** - Nessuna firma valida

---

## Timeline e analisi forense

Timeline forense completa per ogni elemento di persistenza:

**Rilevamento**
- Prima comparsa - quando l'elemento è stato rilevato per la prima volta

**File di configurazione (plist)**
- Creato - timestamp di creazione del file
- Modificato - timestamp dell'ultima modifica

**Eseguibile (binario)**
- Creato - timestamp di creazione del binario
- Modificato - timestamp dell'ultima modifica
- Ultima esecuzione - ultimo accesso/tempo di esecuzione

### Rilevamento anomalie nei timestamp
- **Timestomping** - data di creazione successiva alla data di modifica (tecnica anti-forense)
- **File Replacement** - file creato dopo il rilevamento iniziale
- **Binary Swap** - binario modificato di recente con plist vecchio (possibile trojan)
- **Recent Execution** - binario a cui si è acceduto di recente ma attualmente non caricato

---

## Integrazione con MITRE ATT&CK

Ogni meccanismo di persistenza è mappato sul framework MITRE ATT&CK:

- **Tattiche**: Persistence, Privilege Escalation, Defense Evasion, Execution
- **Tecniche**: T1543.001, T1543.004, T1547.001, T1547.015 e altre
- Collegamenti diretti alla documentazione MITRE ATT&CK

---

## Report sull'invasività delle app

Analisi completa delle app installate per valutarne il livello di "invasività":

### Sistema di punteggio duale

**Persistence Score (0-100)** - Valuta i meccanismi di persistenza:
- Tipi di trigger (RunAtLoad, KeepAlive)
- Livelli di privilegio (LaunchDaemons, Kernel Extensions, Privileged Helpers)
- Resilienza (riavvio automatico, updater)
- Ridondanza (più elementi dello stesso vendor)
- Livello di fiducia (penalità per elementi non firmati/sospetti)

**Installation Score (0-100)** - Valuta l'impronta "spazzatura":
- File distribuiti tra le cartelle Library
- Utilizzo totale del disco
- File orfani (persistenza senza app corrispondente)
- Cache gonfia
- Installazioni a livello di sistema

### Sistema di valutazione
App valutate da **A a F** in base al punteggio combinato, con ripartizione dettagliata di tutti i fattori di punteggio.

---

## Visualizzazione

### Dashboard delle statistiche
- **Risk Distribution Histogram** - elementi per fasce di rischio (Low, Medium, High, Critical)
- **Trust Level Donut Chart** - distribuzione tra i livelli di fiducia
- **Category Breakdown Chart** - elementi per categoria di persistenza
- **Timeline Visualization** - eventi del ciclo di vita degli elementi (Creato, Modificato, Eseguito, Rilevato)

### Grafico interattivo
- **Full System Graph** - panoramica di tutti gli elementi di persistenza e delle relative relazioni
- **Focused Item Graph** - grafico radiale per l'analisi del singolo elemento
- **Modalità di analisi**: Base (fiducia/categorie) o Completa (include dipendenze dylib, connessioni di rete)
- **Interactive Canvas** - zoom, pan, esplorazione delle relazioni
- **Codificato a colori per livello di fiducia** - valutazione visiva rapida delle minacce

### Radar del profilo di sicurezza
Grafico radar completo che mostra a colpo d'occhio le dimensioni Fiducia, Firma, Sicurezza, Stabilità, Trasparenza ed Età.

---

## Monitoraggio in tempo reale

Monitoraggio continuo delle modifiche alla persistenza con due modalità di analisi.

### Modalità di monitoraggio

**Modalità standard**
- Monitoraggio in tempo reale del file system basato su FSEvents
- Soppressione intelligente del rumore con debounce configurabile
- Scoring di rilevanza per filtrare le modifiche insignificanti
- Notifiche immediate per le modifiche ad alta rilevanza

**Modalità IA** (richiede la chiave API di Claude)
- L'IA Claude analizza ogni modifica rilevata
- Contesto completo inviato all'IA: informazioni sulla firma, LOLBins, anomalie comportamentali, risk score
- L'IA decide se la modifica merita una notifica in base al livello di minaccia effettivo
- Intervallo di controllo configurabile (da 30 secondi a 1 ora)
- Filtro per soglia di gravità (Info, Low, Medium, High, Critical)

### Integrazione con la barra dei menu
- Indicatore di stato del monitoraggio in tempo reale
- Badge della modalità che mostra "AI" o "Std"
- Controlli rapidi (avvio/arresto del monitoraggio, attivazione scansione)
- Accesso alle impostazioni
- Conteggio sul badge per le modifiche non riconosciute
- Anteprima dell'ultima modifica rilevata

### Deduplicazione delle notifiche
- Lo stesso elemento non attiverà notifiche ripetute entro il periodo di cooldown
- Cooldown configurabile (1-24 ore, predefinito 2 ore)
- Previene l'affaticamento da notifiche causato da elementi che cambiano di frequente

### Notifica di avvio
All'avvio del monitoraggio ricevi una notifica che conferma:
- Modalità attiva (Modalità IA o Modalità standard)
- Intervallo di controllo (IA) o "Real-time" (Standard)
- Impostazioni della soglia di notifica

### Rilevamento delle modifiche
- **Aggiunti** - nuovi elementi di persistenza
- **Rimossi** - elementi eliminati
- **Modificati** - modifiche alla configurazione (abilitato/disabilitato, variazioni di percorso, ecc.)
- **Abilitati/Disabilitati** - cambi di stato

### Dettagli dell'analisi IA
Quando la modalità IA è attiva, ogni modifica invia a Claude i dati completi dell'elemento:
- Informazioni di base (nome, categoria, percorsi, contenuto del plist)
- Dettagli della firma (firmato, Apple, notarizzato, team ID, stato del certificato)
- Valutazione del rischio (punteggio, ripartizione dettagliata)
- Rilevamenti LOLBins con mapping MITRE
- Anomalie comportamentali
- Mancate corrispondenze di intento (plist vs binario)
- Anomalie di età (analisi dei timestamp)
- Flag firmato-ma-pericoloso

Claude risponde con:
- `shouldNotify` - se avvisare l'utente
- `severity` - valutazione del livello di minaccia
- `title` - titolo della notifica
- `explanation` - perché è o non è sospetto
- `recommendation` - azione suggerita
- `mitreTechniques` - tecniche ATT&CK rilevanti

### Personalizzazione dell'IA

Controlla come l'IA analizza le modifiche tramite **Impostazioni → IA**:

**Opzioni strutturate**

| Opzione | Predefinito | Effetto |
|--------|---------|--------|
| Ignora elementi firmati Apple | ON | Riduce la priorità degli elementi firmati da Apple (com.apple.*) |
| Ignora percorsi di sistema | ON | Riduce la priorità dei percorsi /System e /Library |
| Prioritizza i non firmati | ON | Attenzione extra agli eseguibili non firmati |
| Focus su LOLBins | ON | Dà priorità al rilevamento di Living-off-the-Land Binaries |
| Punteggio di rischio minimo | 0 | Analizza solo gli elementi con rischio >= soglia |
| Percorsi ignorati | - | Percorsi personalizzati da saltare (separati da virgola) |

**Soglia di notifica**
- `Info` - Notifica tutto
- `Low` - Notifica dalla gravità bassa in su
- `Medium` - Notifica dalla gravità media in su (predefinito)
- `High` - Solo alta e critica
- `Critical` - Solo minacce critiche

**Prompt personalizzato**
Aggiungi le tue istruzioni, che verranno aggiunte in coda al prompt dell'IA. Esempi:```
Always notify me if an item uses python or osascript.
Ignore anything from Microsoft.
Be more aggressive with unsigned items from ~/Downloads.

L'IA usa queste preferenze per prendere decisioni più intelligenti. Per esempio:

  • LaunchAgent non firmato da /tmp/ → Notifica critica
  • Aggiornamento Dropbox firmato → Nessuna notifica (info)
  • osascript con RunAtLoad → Notifica alta

Server MCP (Integrazione con Claude Code)

MacPersistenceChecker include un server MCP (Model Context Protocol) che consente a Claude Code, Claude Desktop e ad altri client compatibili con MCP di interrogare i dati di persistenza.

Costruzione del server MCP```bash

swift build --target MPCServer

root@kitploit:~
Il binario viene creato in `.build/debug/mpc-server`.

### Strumenti MCP disponibili

| Strumento | Descrizione |
|------|-------------|
| `get_current_state` | Ottieni tutti gli elementi di persistenza correnti con filtri opzionali |
| `get_diff` | Ottieni le modifiche rispetto alla baseline o a uno snapshot specifico |
| `get_summary` | Panoramica compatta con conteggi e minacce principali |
| `get_item_details` | Dettagli completi per un elemento specifico tramite identificatore |
| `get_risk_analysis` | Analisi del rischio aggregata con raccomandazioni |
| `get_snapshots` | Elenca gli snapshot disponibili con metadati |
| `compare_snapshots` | Confronta due snapshot per rilevare modifiche |

### Configurazione di Claude Code

Aggiungi alle impostazioni MCP di Claude Code (`~/.claude/claude_desktop_config.json` o simili):```json
{
  "mcpServers": {
    "macpersistence": {
      "command": "/path/to/mpc-server",
      "args": []
    }
  }
}

Query di esempio

Una volta configurato, puoi chiedere a Claude Code:

  • "Quali elementi di persistenza sono presenti su questo Mac?"
  • "Mostrami gli elementi non firmati con punteggi di rischio elevati"
  • "Cosa è cambiato dall'ultimo snapshot?"
  • "Analizza il rischio degli elementi nella categoria LaunchAgents"
  • "Confronta lo snapshot di oggi con quello di ieri"

Funzionalità del server MCP

  • Accesso in sola lettura al database SQLite di MacPersistenceChecker
  • Protocollo JSON-RPC 2.0 su stdio
  • Filtri per categoria, livello di fiducia, punteggio di rischio, stato di firma Apple
  • Snapshot completi e funzionalità di diff
  • Nessuna API key separata richiesta (usa il database locale)

Snapshot e confronto

  • Crea snapshot dello stato del tuo sistema
  • Confronta gli snapshot per rilevare i cambiamenti nel tempo
  • Tieni traccia degli elementi di persistenza nuovi, rimossi o modificati
  • Identifica quando sono stati aggiunti elementi sospetti

Esportazione JSON forense

Esportazione leggibile dalle macchine per pipeline di sicurezza:

  • Integrazione SIEM - Utilizzabile da Splunk, Elastic, ecc.
  • Compatibilità SOAR - Pronto per workflow di risposta automatizzata
  • Analisi LLM - Dati strutturati per analisi basate sull'IA
  • Pipeline IR - Compatibile con strumenti OSINT e di incident response

Contenuto dell'esportazione

  • Metadati completi del sistema (hostname, versione macOS, modello hardware, seriale)
  • Tutti gli elementi di persistenza con analisi completa
  • Punteggi di rischio, LOLBins, anomalie comportamentali, discrepanze di intento, analisi dell'età
  • Mapping MITRE ATT&CK
  • Timeline forense completa con timestamp Unix
  • Risultati critici con raccomandazioni

Il pulsante è abilitato solo dopo il completamento della scansione.


Sistema di contenimento

Neutralizza in sicurezza gli elementi di persistenza sospetti senza eliminarli definitivamente:

Azioni di contenimento

  • Contenimento rapido - Disabilita la persistenza + blocca la rete (consigliato)
  • Solo disattivazione - Rimuovi dall'avvio automatico senza bloccare la rete
  • Solo blocco di rete - Blocca l'accesso alla rete mantenendo attiva la persistenza

Funzionalità di sicurezza

  • Backup automatico - Plist originale salvato prima di qualsiasi modifica
  • Rilascio programmato - Ripristino automatico dopo un timeout configurabile (default 24h)
  • Rilascio manuale - Ripristina istantaneamente gli elementi contenuti
  • Registro delle azioni - Traccia di audit completa di tutte le azioni di contenimento

Blocco della rete

  • Regole del firewall PF per bloccare le connessioni in uscita
  • Blocco per singolo binario tramite percorso dell'eseguibile
  • Sopravvive al riavvio dell'app

Casi d'uso

  • Metti in quarantena un elemento sospetto durante le indagini
  • Verifica se la rimozione della persistenza rompe la funzionalità
  • Disattiva temporaneamente senza perdere la configurazione

Azioni

  • Mostra nel Finder - Localizza rapidamente i file
  • Apri Plist - Visualizza i file di configurazione
  • Visualizza grafico - Visualizzazione grafica per singolo elemento
  • Disattiva/Attiva - Disattiva in sicurezza gli elementi (con privilegi di amministratore per gli elementi di sistema)
  • Contieni - Metti in quarantena gli elementi sospetti con backup automatico
  • Esporta JSON - Esporta il report forense per SIEM/SOAR/IR

Screenshot

Vista principale

Dettagli elemento

Confronto snapshot

Confronto snapshot

Scanner estesi

Impostazioni scanner estesi

Invasività delle app

Barra dei menu


Compilazione dai sorgenti```bash

git clone https://github.com/Pinperepette/MacPersistenceChecker.git cd MacPersistenceChecker ./build.sh

root@kitploit:~
Copia `MacPersistenceChecker.app` in `/Applications/`.

### Requisiti
- macOS 13.0+
- Xcode 15+ oppure Swift 5.9+

### Dipendenze
- [GRDB.swift](https://github.com/groue/GRDB.swift) - database SQLite

---

## Autorizzazioni

Richiede **Accesso completo al disco** per eseguire la scansione di:
- `/Library/LaunchDaemons`
- File di configurazione di sistema
- Database TCC
- File di avvio della shell

Senza Accesso completo al disco, alcuni elementi potrebbero non essere visibili.

---

## Licenza

Licenza MIT - Vedi [LICENSE](https://github.com/pinperepette/macpersistencechecker/blob/HEAD/LICENSE) per i dettagli.

## Autore

**pinperepette** - 2025

## Cronologia stelle

<a href="https://www.star-history.com/?repos=Pinperepette%2FMacPersistenceChecker&type=date&legend=top-left">
 <picture>
   <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=Pinperepette/MacPersistenceChecker&type=date&theme=dark&legend=top-left" />
   <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=Pinperepette/MacPersistenceChecker&type=date&legend=top-left" />
   Star History Chart
 </picture>
</a>

---

*Ispirato da [Autoruns](https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns) per Windows di Mark Russinovich*