Domanda:
Qual è un risultato soddisfacente della valutazione del test di penetrazione?
Aria
2016-11-08 17:04:03 UTC
view on stackexchange narkive permalink

Vorrei chiederti quale dovrebbe essere il risultato soddisfacente del lavoro di test della penna?

La mia preoccupazione principale è che il test della penna è difficile e non sempre si tradurrà in ottenere shell remote o radici. Tuttavia, è molto più semplice elencare le potenziali vulnerabilità.

Ad esempio, se esiste la versione 4 di PHP del 2007, posso elencarla come potenziale vettore ma potrei non essere in grado di sfruttarla. Lo sfruttamento di successo è un requisito per il lavoro di test di penna? Anche la scansione delle vulnerabilità sarebbe un buon risultato del lavoro se fosse incluso uno sfruttamento di successo (ma rappresenta meno dell'1% di tutti i possibili problemi).

È soddisfacente completare un contratto.Disporre di exploit effettivamente realizzabili VS che mostrano con buona certezza che gli exploit potrebbero essere realizzati in una determinata posizione dipende da ciò che desidera il cliente.Sfruttare un difetto può costare di più e non è necessariamente ciò che chiede il tuo cliente, poiché potrebbe avere un budget limitato
Trovare un trojan sub7 sul controller di dominio?[Hey!Il test è stato un successo!Adesso hai problemi peggiori.]
Sette risposte:
crovers
2016-11-08 22:50:55 UTC
view on stackexchange narkive permalink

Essendo una persona che contratta i pen-tester più di me che agisco come un pen-tester, quello che cerco è che tu abbia fatto più che eseguire Nessus / ZAP / Burp: posso farlo da solo fallo anche tu). Mi aspetto che guardi i flussi di dati nell'app / nel sito Web e cerchi quei thread sciolti che indicano che c'è un errore logico che potrebbe essere sfruttabile. Mi aspetto che tu sia in grado di dirmi cosa puoi raccogliere dall'esterno, che tu possa dirmi cose che causano preoccupazione che non è stato possibile trovare con una scansione.

Sto cercando indicazioni che hai esaminato, ad esempio, le schermate di reimpostazione della password e hai considerato se il flusso è sfruttabile. Voglio vedere che hai considerato se le informazioni privilegiate sono disponibili per gli utenti non privilegiati (ad esempio, l'app utilizza semplicemente CSS per nasconderla o qualcosa di simile).

Idealmente, ho fatto il roba facile prima che ti contragga: ho fatto la scansione, ho fatto le toppe e ho raccolto tutti i frutti a pelo basso. Assumo un tester di penna per le cose difficili.

Davvero, se non riesci a gestire un exploit, voglio vedere che hai consumato le unghie grattandoti all'esterno alla ricerca di una crepa.

Vorrei aggiungere che c'è anche una parte di audit.C'è un motivo per cui strumenti come metasploit apprezzano così tanto il lato dei rapporti: non solo vuoi sapere che il pentester ha fatto il duro lavoro, ma hai anche una serie di documenti (database, testo, JSON, qualunque cosa) che descrivono quali test sono stati eseguiti.La ** prossima volta ** contrarrete un pentester e lui trova qualcosa, può anche tenere traccia delle modifiche al sistema che hanno attivato il problema in base al rapporto precedente.
Echo questa risposta a picche.L'azienda per cui lavoro ha appena eseguito alcuni test di penna esterni, ma solo dopo aver eseguito strumenti automatizzati un paio di volte e fatto alcuni tentativi meno formali e non esperti di penetrare noi stessi.Quello che volevamo era ciò che l'esperienza umana e il pensiero "fuori dagli schemi" potevano trovare che noi / sistemi automatizzati non siamo riusciti a trovare.Inoltre, mentre elencare tutte le _potenziali_ vulnerabilità è "la cosa giusta da fare", devi anche fornire un contesto ("attacco teorico, concepibile" e "supplicare di essere sfruttato") in modo da poter fare chiamate appropriate su cosa difenderci.
Arminius
2016-11-08 23:12:10 UTC
view on stackexchange narkive permalink

Lo sfruttamento di successo è un requisito per il lavoro di test di penna?

Seguendo una definizione rigorosa di test di penetrazione, devi attaccare effettivamente il sistema di destinazione e tenere un registro dei tuoi tentativi riusciti e falliti. Non è sufficiente concludere semplicemente che un server dovrebbe essere vulnerabile perché i tuoi strumenti di rilevamento delle impronte hanno rivelato una versione software obsoleta. Stai assumendo esplicitamente il punto di vista di un aggressore e devi dimostrare come è possibile penetrare il sistema.

Il documento sul Penetration Testing SANS fa la seguente distinzione (sebbene le definizioni variano):

Pen-Testing vs Vulnerability Assessment

[C'è] spesso una certa confusione tra penetration test e vulnerability assessment. I due termini sono correlati, ma il test di penetrazione pone maggiormente l'accento sull'ottenere il maggior numero di accessi possibile, mentre il test di vulnerabilità pone l'accento sull'identificazione delle aree vulnerabili ad un attacco informatico. [...] Un valutatore di vulnerabilità si fermerà appena prima di compromettere un sistema, mentre un penetration tester si spinge il più lontano possibile nell'ambito del contratto.

Detto questo, il tuo cliente medio probabilmente non è a conoscenza di questa distinzione e forse non vuole che tu passi troppo tempo andando "il più lontano possibile". Potrebbe essere più importante per loro ricevere istruzioni chiare su ciò che deve essere corretto esattamente piuttosto che ottenere un elenco di tutte le shell di root. Dovrai scoprire in anticipo cosa vogliono effettivamente ottenere permettendoti di testare il sistema. Il tuo cliente deve essere consapevole del fatto che un penetration test non equivale a una valutazione completa della sicurezza.

Vorrei aggiungere che oltre a questo dipende dall'obiettivo.Di solito ciò che le persone vogliono è un test di ampiezza, che è un VA.Vogliono un quadro ampio del rischio piuttosto che un quadro profondo del rischio.Ovviamente non è sempre così, quindi chiarire l'obiettivo è importante per determinare il risultato appropriato.
cyb3ard
2016-11-09 00:11:22 UTC
view on stackexchange narkive permalink

Immagino che dipenda da ciò che hai incaricato di trovare e dall'ambito del lavoro. Alcuni test di penna che ho fatto volevano solo vedere i risultati teorici, altri volevano che irrompessi effettivamente e creassi un po 'di caos. Il test della penna è difficile solo per coloro che non lo apprezzano veramente. Diventa creativo, divertiti ... ma rimani nell'ambito. ;)

Scusa, ma non sono d'accordo.Se il risultato di un pen test è solo un risultato teorico, non è un pentest.
Puoi non essere d'accordo, come ho fatto io quando ho ricevuto la richiesta, ma lo scopo del pen test di questo cliente era trovare i buchi e NON perforarli.
@hamm3rh3ad Questa è la valutazione delle vulnerabilità, non il PenTesting
Sono consapevole della differenza tra una valutazione della vulnerabilità e un Pen Test.Alcune persone / clienti lo chiamano Vulnerability Assessment, alcuni potrebbero considerarlo un "Passive Pen Test".Nel mio scenario non ho semplicemente eseguito uno strumento di scansione delle vulnerabilità sui loro prodotti e chiamarlo un giorno.Esiste una differenza tra l'esecuzione di una valutazione della vulnerabilità e l'esecuzione di una ricognizione completa per prepararsi al tentativo di accedere a un sistema o prodotto.
Immagino che dipenda dalla terminologia del cliente quando ci si arriva.Sì, quello che ho descritto è per definizione un "Vulnerability Assessment", ma nel contesto il cliente lo ha inquadrato, ha letto ed è stato classificato come "Passive Penetration Test".Ho appena firmato il documento e ho fatto il lavoro, non mi interessa come lo chiamano fintanto che mi pagano.;)
AnoE
2016-11-09 18:46:02 UTC
view on stackexchange narkive permalink

Mettiamola in questo modo: a meno che lo sviluppatore dell'applicazione sotto test non sia esso stesso un esperto di sicurezza, allora mi aspetto assolutamente che tu trovi almeno qualche exploit. Sarei molto infelice se non trovassi nulla, perché nella mia esperienza il tuo sviluppatore medio non ha una conoscenza abbastanza approfondita dei problemi di sicurezza per essere in grado di evitare tutti i possibili buchi dal get- vai.

Tieni presente che revocherei la restrizione "security by obscurity" per il tuo test. Cioè, avresti accesso alla macchina (shell, ecc.) O anche al codice sorgente per acquisire conoscenze sull'applicazione. Ovviamente la tua penetrazione deve funzionare senza, proprio come quella di un vero attaccante.

Non sai quante volte il software è stato testato da diversi revisori e patchato.Se è la prima volta in assoluto, certo ...
Bene, certo, se avessi una conoscenza precedente, come già superato i test di penna, allora la mia risposta sarebbe probabilmente diversa.Ma per impostazione predefinita, è quello che mi aspetterei.È difficile scrivere software sicuro, quindi presumo che uno sviluppatore non esperto di sicurezza * lascerà * buchi che un esperto di sicurezza aggiornato * troverà *.Chiamalo una "cartina di tornasole" per i test di penetrazione.
ChildinTime
2016-11-10 17:56:19 UTC
view on stackexchange narkive permalink

È davvero difficile definire la qualità del pentest eseguito e qualsiasi cosa può essere un risultato soddisfacente. Dipende davvero dal sistema. Se il pentest viene eseguito su un sistema o un sito Web relativamente semplice, è molto probabile che non ci saranno risultati ad alto rischio.

Inoltre, anche se sono molto esperti, potrebbero non avere abbastanza tempo per sfruttare il sistema e mostrare un proof-of-concept. Devono dare la priorità al pentest per coprire tutte le aree incluse nel contratto.

Supponiamo che pentester scopra un'iniezione SQL o un software vulnerabile (in base al numero di versione). È sicuramente utile provare a sfruttare e mostrare la vulnerabilità per un cliente, ma potrebbe essere molto difficile sfruttarlo e spesso non avrebbe senso spendere la maggior parte del tempo pentest pianificato per produrre una prova di concetto per una singola vulnerabilità .

Pentester che mostra che una specifica versione del software è vulnerabile in base ai CVE, o pentester che mostra l'output di errori SQL in base all'input dell'utente dovrebbe essere una ragione sufficiente per un client per applicare patch e correggere i propri sistemi.

Tim X
2016-11-11 03:48:06 UTC
view on stackexchange narkive permalink

Questa è una buona domanda perché penso che molti posti si avvicinino al test della penna in modo errato. Questo è peggiorato anche perché il livello esecutivo di molte organizzazioni tende a credere che il test della penna sia un proiettile d'argento: se hai un test apen ei risultati mostrano che non c'è stata penetrazione con successo di un sistema, allora la tua sicurezza è OK e possiamo spuntare tutti quella scatola. D'altra parte, se il pen test fallisce, il team di sicurezza non sta facendo il proprio lavoro, semplicemente non è così.

Un pen test è solo uno strumento che può essere utilizzato per valutare l'efficacia dei tuoi controlli di sicurezza. Non ti dice che tutti i tuoi sistemi sono protetti e il livello di fiducia che puoi riporre in quel pen test dipende in larga misura dalle abilità del pen tester e da quanto bene hai specificato e pianificato il test. La cosa peggiore che puoi fare è semplicemente chiamare una società di sicurezza e dire "Ciao, voglio un test di penna, quando puoi farlo". Prima di coinvolgere apen tester, è necessario avere un'idea chiara di cosa ci si aspetta dal pen test, quali sono le proprie priorità e quali informazioni si desidera nel report finale. Vuoi anche contattare più di un fornitore. Quello che stai cercando è qualcuno che sia in grado di dimostrare di avere le giuste competenze, che possa comprendere le tue esigenze e che sia in grado di fornirti un risultato che possa aiutarti a migliorare il tuo atteggiamento di sicurezza. Un pen test non dovrebbe essere pensato come un "test" nel senso di superato o fallito. In sostanza, è necessario avere una chiara comprensione prima del test di ciò che i voti sono assegnati e al completamento del test, avere dettagli e informazioni sufficienti per aiutarti a concentrarti su come ottenere un voto migliore nel test successivo.

Uno degli aspetti più difficili del test della penna è che la qualità del pentest varia molto determinata dall'individuo che esegue il test della penna. Ho cambiato società di sicurezza principalmente perché dipendente della prima azienda ha cambiato datore di lavoro e quell'individuo era qualcuno che sapevamo potesse fare un buon test per l'organizzazione (di solito perché erano talentuosi e bravi nel loro lavoro e perché hanno capito il nostro business).

Coinvolgere un tester di penna è di per sé un'abilità. Migliorerai ogni volta che lo farai, a condizione che ti avvicini al compito con obiettivi chiari. Conoscere la tua attuale posizione di sicurezza è solo una parte dell'equazione. Devi avere un'idea chiara di quale sia il tuo stato di destinazione finale. Ciò che si desidera dal test della penna è maggiore chiarezza riguardo alla postura attuale e informazioni sufficienti per aiutarti a sviluppare piani per spostare l'organizzazione nello stato desiderato.

Un buon test della penna fornisce i dettagli di ciò che è stato fatto, cosa riuscito e cosa fallito. Non dovrebbe essere solo un elenco di possibili vulnerabilità o sistemi che non sono al livello di patch più recente o esempi di "cattiva pratica". Tutto ciò può essere ottenuto con semplici valutazioni della vulnerabilità. Dovrebbe fornire dettagli completi su come è stato penetrato l'ambiente e suggerimenti su quali controlli potrebbero essere implementati per prevenire o ridurre la probabilità di ripetizioni o l'impatto di tali eventi. Il rapporto del pen test deve fornire dettagli sufficienti per valutare se il mancato accesso è dovuto al fatto che i controlli sono adeguati o perché non è stato assegnato un tempo sufficiente o perché l'ambito era troppo limitato ecc. Per molti aspetti, ciò che stai cercando è una partnership con il tester della penna dove stanno lavorando con te per migliorare la tua sicurezza.

atdre
2016-11-11 08:29:50 UTC
view on stackexchange narkive permalink

Un risultato soddisfacente di un test di penna è quando il cliente e / o il pubblico di destinazione del rapporto comprende i messaggi e intraprende l'azione appropriata in base alla scienza delle decisioni. Fare riferimento a How to Measure Anything in Cybersecurity Risk per ulteriori informazioni sulla scienza delle decisioni in relazione a un test di penetrazione positiva.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...