Utilizzando legittimamente strumenti come Havij

15

Sono uno sviluppatore, non un guru della sicurezza. Il mio obiettivo primario è quello di garantire che non sto introducendo buchi di sicurezza attraverso una cattiva programmazione. Capisco come codificare per proteggere contro la Top 10 di OWASP, così come altre vulnerabilità, ma so abbastanza per sapere che non ne so abbastanza. Vorrei aggiungere alcuni test aggiuntivi al nostro processo per eseguire la scansione delle vulnerabilità in tutto il processo di sviluppo.

Realizziamo già modelli di minacce in tutto il progetto, oltre a revisioni di codice su tutte le modifiche al codice in corso di produzione.

Inoltre, come parte del nostro processo di rilascio, abbiamo eseguito test di penetrazione contro i nostri siti nel nostro ambiente di staging prima di essere pubblicati, e anche in live una volta rilasciato. Tuttavia, non sono sicuro che i nostri strumenti di test di penetrazione siano adeguati . Inoltre, i test di penetrazione sono costosi e possono essere eseguiti solo ogni tanto. Mi piacerebbe che il nostro team li eseguisse durante l'intero processo di sviluppo. (È molto più economico riparare i buchi prima che poi nel progetto.)

Sono a conoscenza di strumenti come Havij che vengono utilizzati dai criminali informatici , e sono a conoscenza di quanto siano facili i siti di attacco con vulnerabilità per anche persone non tecniche. Mi piacerebbe essere in grado di utilizzare gli stessi strumenti per testare il nostro sito web nel nostro test, quindi in scena, quindi in ambiente di produzione. (Perché i cattivi dovrebbero avere tutti i buoni strumenti?) Ma non sono disposto a visitare i siti "ombreggiati" o i newsgroup scaricano gli strumenti. Non saprei nemmeno dove guardare. Anche se sapessi dove cercare, i nostri amministratori di rete non ci consentirebbero mai di ottenere quegli strumenti da una fonte non attendibile.

Esiste un posto legittimo , fidato in cui tali strumenti possono essere scaricati o acquistati per tali scopi white hat? Sono perfettamente disposto a cercare di far sì che i dirigenti superiori paghino per l'appartenenza a gruppi di cappelli bianchi che potrebbero fornire questi strumenti e, ancora meglio, la formazione, quindi non sono necessariamente alla ricerca di risorse gratuite. Sto solo cercando le fonti legali e legittime.

    
posta David Stratton 03.04.2012 - 18:29
fonte

4 risposte

8

Buona risposta di Chris Frazier, anche se non raccomanderei personalmente il CEH. Forse ho fatto il test troppo tempo fa, ma non ritenevo che coprisse qualcosa di simile a ciò di cui hanno realmente bisogno un penetrometro o uno sviluppatore attento alla sicurezza.

Forse ti darò una risposta poco ortodossa, ma mi sembra che tu stia già facendo un lavoro incredibile, e il fatto che tu sia ancora preoccupato da solo mostra quanta consapevolezza della sicurezza ci sia nella tua organizzazione. Questo ti mette già in una posizione di gran lunga migliore rispetto a molte altre applicazioni che ho incontrato, in cui la sicurezza è solitamente una svista.

Detto questo, non dovresti semplicemente rilassarti e pensare che tutto sia sicuro (cosa di cui dubito comunque). Ci sono sempre cose che puoi fare per migliorare la tua sicurezza. Chris ha menzionato alcuni di quelli. Ti consigliamo inoltre di consultare gli strumenti che possono essere utili con analisi del codice statico o dinamico . Ci sono diversi venditori commerciali in questo spazio con una buona reputazione. Purtroppo, le alternative open source di solito sono in ritardo in questa particolare area.

Se sei seriamente intenzionato a collegare alcuni strumenti automatici, ti suggerisco di dare un'occhiata a Arachni . Ci sono molti scanner per applicazioni web, ma questo è probabilmente uno dei pochi che è praticamente costruito da zero con un'API. Questo probabilmente lo rende un candidato ideale per l'integrazione con il processo di sviluppo / rilascio / integrazione continua. Ciò non significa che sia necessariamente migliore o l'unico strumento su cui dovresti contare, ma almeno dovrebbe essere facile (o più semplice) con cui integrarsi.

Altrimenti, cerca sempre di ampliare le tue conoscenze, leggi di più, consulta le domande e gli strumenti citati qui e cerca di assicurarti che l'intero team sia a conoscenza di tali problemi di sicurezza. Vorrei anche raccomandare di passare del tempo con i tuoi tester di penetrazione quando entrano per fare una scansione. Ci sono sempre alcuni nuovi trucchi che puoi prendere in questo modo.

    
risposta data 03.04.2012 - 21:21
fonte
15

Vorrei indicarti gli strumenti open source che utilizziamo nelle applicazioni web di pen-testing:

  • Arachni , già menzionato in una risposta precedente.
  • w3af , uno dei più famosi scanner open source gratuiti. Questo è scritto in python e ha un'interfaccia utente coerente (GUI e CLI). Il progetto è sponsorizzato da Rapid7, proprietari di Metasploit e NeXpose
  • Skipfish , uno scanner da riga di comando che ignora e che eccelle nella scansione e nella navigazione forzata, produce report HTML di fantasia
  • OWASP Zed Attack Proxy , il defacto proxy di attacco web open source. ZAP ha un'API e integra codice e funzionalità di altri strumenti di riferimento come JBroFuzz e DirBuster. È più adatto per i test semi-automatici

I seguenti strumenti open source possono aiutare a sfruttare le vulnerabilità SQL injection (SQLi) e Cross Site Scripting (XSS):

  • SQLmap : questo strumento CLI python è l'ideale per sfruttare difetti di iniezione SQL, ad esempio eseguire il dump del database, eseguire comandi SQL e persino compromettere il back-end sistema operativo del database. È simile allo scopo di Havij e viene spesso utilizzato in natura dagli script kiddies per sfruttare obiettivi vulnerabili
  • BeEF : lo strumento perfetto per dimostrare il rischio di difetti XSS, la sua nuova interfaccia web lucida di Ruby on Rails ti consente di sfruttare le vulnerabilità XSS per comandare browser delle vittime

Nel mercato della scansione delle vulnerabilità del web ci sono molti strumenti commerciali con prezzi che vanno da un paio di centinaia di dollari a decine di migliaia di dollari. Questi possono ottenere risultati migliori rispetto a quelli open source e possono combinare funzionalità di open strumenti di scansione e sfruttamento della fonte. Tuttavia, avrai sempre bisogno di quella sedia e tester per la penetrazione del sangue per cercare di rompere la logica dell'applicazione, qualcosa che uno strumento, non importa quanto valga, non potrà mai fare.

    
risposta data 04.04.2012 - 22:49
fonte
8

No. Non dovresti usare strumenti come Zeus o Havij o altri strumenti a cappello nero per valutare la sicurezza del tuo sito. Zeus non è progettato per la valutazione della vulnerabilità; sono progettati per posizionare una backdoor una volta che ci si trova. In generale, la mia esperienza è che i cappelli neri non dispongono di strumenti di valutazione della vulnerabilità migliori dei test di penetrazione white-hat e dei servizi di valutazione delle vulnerabilità. Inoltre, è pericoloso utilizzare software scritto dalla comunità blackhat; potresti trovarti con un Trojan autoinflitto.

Invece, se vuoi vedere come la tua organizzazione può fare di più, inizierei a cercare come integrare la sicurezza nel ciclo di vita dello sviluppo del software. Microsoft ha delle grandi risorse su questo.

    
risposta data 04.04.2012 - 00:04
fonte
7

Penso che sia un po 'confuso su alcuni strumenti, ad esempio Zeus è un trojan e non utilizzato per i test di penna generici sul sito web.

Ma a prescindere, non esiste un kit di strumenti magici che puoi usare per la valutazione del sito web. A causa della natura dinamica dello sviluppo Web, è necessaria una presenza umana per analizzare e trovare la maggior parte delle vulnerabilità. Affidarsi unicamente a un set di strumenti ti renderà un fallimento. Questi strumenti sono spesso obsoleti e non abbastanza complessi per le tue esigenze.

Certo, potrei scaricare / creare un programma che analizza una vulnerabilità specifica del web e gestirlo su migliaia di siti sperando in un successo, ma per gli attacchi mirati devi tenere il fattore umano coinvolto.

Detto questo penso che la cosa migliore sarebbe iniziare con alcuni corsi di formazione nel mondo della sicurezza. Ad esempio, la certificazione CEH copre l'hacking di applicazioni Web ad alto livello e incluso nel corso è un enorme toolkit di strumenti di exploit.

Continuo a dire che la cosa migliore da fare è usare un tester di penetrazione addestrato in grado di identificare e comunicare efficacemente le vulnerabilità. In questo modo i tuoi sviluppatori impareranno dai loro errori e tutti vinceranno.

    
risposta data 03.04.2012 - 19:19
fonte

Leggi altre domande sui tag