Ho testato Citrix ICA un bel po 'di volte, ma non sono a conoscenza di alcuno strumento che verifichi la sicurezza (o la sua mancanza) di una configurazione memorizzata in un file ICA.
Di solito, osservandoli, controllo che le direttive all'interno del file abbiano opzioni di sicurezza sensate. Ci sono alcuni articoli (ad es. questo ) che spiegano che cosa l'individuo le opzioni lo fanno, in modo tale da dare un po 'di contesto durante la lettura del contenuto del file.
Alcuni suggerimenti:
- La compressione si verifica prima della crittografia, che può consentire gli attacchi CRIME -like utilizzando gli oracoli di compressione, in uno scenario dove un utente malintenzionato può influenzare il contenuto in testo non crittografato dei messaggi inviati (ad esempio, visualizzazione di una bitmap in costante cambiamento sul lato server in una pagina Web).
- InitialProgram è pericoloso e si dovrebbe verificare che il server non accetti la direttiva senza un prefisso hash (#). Senza l'hash, consente di impostare un eseguibile da eseguire all'avvio della connessione, anziché la shell predefinita (ad esempio Explorer). Questo potrebbe consentire di uscire da alcuni controlli e arrivare a un prompt dei comandi o ambiente PowerShell.
- Se vengono utilizzati ticket di accesso, assicurarsi che un ticket STAv4 sia applicato tramite LogonTicketType.
- Assicurati che PersistentCacheEnabled non sia impostato su Abilita, per evitare la memorizzazione persistente del caching bitmap sul client, che potrebbe perdere informazioni a un altro utente che in seguito utilizzerà lo stesso terminale.
- Assicurati che SSLEnable sia impostato su On. L'impostazione predefinita è off, che lascia la connessione completamente non protetta (la crittografia ICA sottostante è interrotta).
- Verificare che non ci sia una direttiva Password o ClearPassword all'interno del file ICA. La direttiva ClearPassword contiene una password in chiaro, il che significa che puoi semplicemente leggere la password dal file in testo semplice senza problemi. La direttiva Password ha una copia crittografata della password, ma ci sono strumenti per decrittografarli e non è un formato di archiviazione sicuro.
- EncryptionLevelSession imposta quale tipo di crittografia utilizzare. Tutte le opzioni sono spezzate contro un attaccante attivo perché Diffie-Hellman non autenticato viene utilizzato per lo scambio di chiavi. Raccomando EncRC5-128 in quanto è l'opzione più strong, anche se ancora del tutto insicura contro gli attaccanti attivi che man-in-the-middle della connessione. L'opzione di base è una crittografia Citrix personalizzata che è spazzatura e facilmente sconfitta. Il fatto che tutte le opzioni siano rotte è il motivo per cui SSL è importante da abilitare.
- È consigliabile utilizzare il passthrough dell'autenticazione AD laddove possibile, quindi, se è stato implementato, controlla che UseLocalUserAndPassword sia impostato e che disabilitare questa direttiva non ti dia accesso.
Una volta ottenuto l'accesso, è necessario seguire una metodologia di breakout standard ristretta. Ce ne sono molti in internet, pubblicati per lo più da organizzazioni pentest, quindi ti suggerisco di cercarne qualcuno da leggere e seguire.