Sono interessato a studiare gli effetti (crash, segnali inviati, log, ecc.) di diversi tipi di vulnerabilità sfruttate (DoS, ROP, shell remote, ecc.) in software specifici (in particolare server web come NGINX, Apache , eccetera.). Ad esempio, sono interessato a confrontare diversi registri di errori generati da Apache quando vengono lanciati gli attacchi.
L'impostazione di un tale ambiente di test è macchinosa e richiede molto tempo. Attualmente, la mia migliore opzione sembra essere quella di utilizzare exploit-db per trovare una varietà di exploit e impostare il software vulnerabile appropriato. Tuttavia, diverse versioni di un software hanno un comportamento diverso. Ad esempio, Apache 1 e Apache 2 hanno funzioni di generazione dei registri leggermente diverse e, quindi, confrontare i registri tra loro non è l'ideale. Inoltre, può accadere che un exploit funzioni in una versione e non in un'altra e così via.
Idealmente, mi piacerebbe avere qualcosa come un Apache dannatamente vulnerabile in cui il comportamento del software rimane lo stesso, ma facilmente lo sfrutto in vari modi. C'è una cosa del genere? Idee su come affrontare al meglio questa esigenza?
Nota (i):
-
Mi sono divertito con l'idea di ottenere la fonte di Apache e di inserire intenzionalmente bug per poterne approfittare. Tuttavia, questo sembra ancora molto tempo e non l'ho mai fatto prima.
-
Questa domanda è indipendente dalla piattaforma. Tuttavia, sembra che rimanere in un ambiente Linux sia il più conveniente.
-
È anche abbastanza importante che il software / sistema operativo sia alquanto aggiornato. Ho intenzione di analizzare i registri e altre informazioni utilizzando lo stack ELK, quindi la compatibilità con questi strumenti è importante.