Integrazione continua per lo sviluppo degli exploit

6

Ho pensato molto a questo argomento. Lo sviluppo di exploit è quasi lo stesso del normale sviluppo, è necessario testare un bel po 'di piattaforme (ad esempio Windows XP, Windows Vista, x64, x86, cinese, versioni in inglese). Questo problema richiede test unitari e integrazione continua.

Fino ad ora ho hackerato alcuni script Python per avviare automaticamente il caricamento di metasploit il mio exploit personalizzato lo lanciava. E come payload per impostare eseguire il mio connettore posteriore per dirmi che tutto sta andando bene. Ora posso avere un solo sistema per l'aggiornamento automatico e ottenere un allarme quando poi 0day è stato corretto (senza segnalarlo) o testare molto rapidamente una gamma di sistemi virtuali.

Mi chiedo se i loro sistemi o documenti siano disponibili su questo argomento. Cose da considerare ecc. Ecc.

Modifica

Ho aggiornato il mio metodo creando anche l'ambiente. Costruisco ora gli script di distribuzione per i miei exploit, lo script:

  • clona una VM
  • trasferisce la versione vulnerabile del software dal mio libreria software (leggi NAS)
  • installa il software con il metodo più basilare (Next, Next, I Agree per Windows, apt-get install per Linux)
  • Verifica se il software è in esecuzione
  • Ottiene la porta su cui è in esecuzione (netstat / grep hackish (molto fragile)
  • Avvia exploit
  • Connetti
  • Scrivi risultato

È bello sperare ancora di avere almeno una risposta per il mio Bounty (+100 ..)

    
posta Stolas 18.09.2013 - 11:04
fonte

2 risposte

1

Per verificare se una vulnerabilità è stata riparata o meno, perché non avere un valore fisso per EIP, dire come DEADDAED e assicurarsi che corrisponda ottenendo l'output attraverso un modulo di debug. Se corrisponde alla vulnerabilità è ancora lì. Se non corrisponde ma l'applicazione si blocca, è probabile che ci sia la vulnerabilità ma è necessario modificare il codice exploit affinché funzioni correttamente.

Per testarlo su nuove versioni, l'exploit non dovrebbe funzionare. Ad esempio, ho un exploit IE e l'ASLR è bypassato usando mshtml. Se mshtml viene aggiornato nel prossimo aggiornamento di IE, il mio exploit non funzionerà a causa delle modifiche di offset che si sono verificate nel file mshtml con patch. A meno che, forse, stai usando qualche altra DLL in cui non si sono verificati cambiamenti.

Per quanto posso vedere, è necessario testarlo su una versione del software in questione per determinare se è stato corretto o meno.

Le altre parti della clonazione di una VM, dell'aggiornamento del software ecc. dovrebbero essere come hai detto tu. L'unica cosa con un programma di installazione MSI è che potresti provare a fare un'installazione invisibile, quindi eviti le finestre di dialogo.

    
risposta data 01.10.2013 - 14:14
fonte
-1

Alcuni tipi di exploit hanno bisogno di test su molti ambienti. Un buon articolo su questo argomento è "Scoprire Zero Days e fuzzing avanzato" di Nikolaos Rangos diapositive: link script: link

    
risposta data 18.09.2013 - 15:51
fonte

Leggi altre domande sui tag