Denominazione degli exploit basati sulla convenzione

6

Il libro Web Hacking Exposed ha un numero di casi in cui l'autore dell'attacco utilizza essenzialmente i pattern nelle convenzioni di denominazione per progettare gli attacchi.

Qualcuno può indicarmi qualsiasi studio sugli exploit di sicurezza / privacy basato su "convenzioni di denominazione" ... come nome di file, nomi di identificatori (potrebbe essere in javascript), parametri di url ecc.? Diresti, in generale, che tali vulnerabilità (gli exploit di lettura) sono limitate alle applicazioni web?

    
posta Tathagata 07.04.2011 - 20:33
fonte

5 risposte

6

I nomi host rivelano informazioni interessanti, come potenziali sink di codice (ad esempio ldap1.internal.companyname.com sarebbe LDAPi rispetto a db1.internal.companyname.com, che sarebbe SQLi). Questi possono essere estratti con lo host-extract.rb strumento.

I parametri rivelano lo stesso tipo di informazioni e possono persino pronunciare parole sul tipo di query. Ad esempio, vedo spesso ASC o DESC elencati come nomi di parametri (specialmente sui pulsanti di ordinamento nelle app Web), che indicano un tipo di iniezione ORDER BY o GROUP BY. A volte i nomi dei parametri sono sortby, groupby, o forse sortorder o semplicemente "order" o "group". Questi sono molto eloquenti.

Inoltre, alcuni sono chiamati "limite" o "offset" che indica la parte LIMIT o OFFSET di una query SQL. Un valutatore di applicazioni Web di solito assume che si stia iniettando nella clausola WHERE, ma potrebbe davvero essere in questi altri luoghi.

Alcuni nomi di parametri forniscono altri suggerimenti, ad esempio se sono un numero intero o una stringa.

Spesso, gli strumenti di sfruttamento SQLi, come sqlmap , Marathon e bsqlbf-v2 ti consentiranno di configurare la query di attacco in modo più specifico e, sì, la conoscenza del parametro corrente le chiavi e i valori aiutano sicuramente durante il test, specialmente durante i test SQLi ciechi!

I nomi dei file (tramite una descrizione del percorso) sono ancora più evidenti. Possono essere usati per discernere se un popolare pacchetto open source (o potenzialmente chiuso se si legge un sacco di codice!) O un componente sia installato su un server web. Di solito puoi scendere alla versione specifica. InspathX e WhatWeb utilizzano queste tecniche - inspathx per identificare vulnerabilità di disclosure dei percorsi e WhatWeb, beh diciamo solo che WhatWeb può fare molto!

Poiché circa la metà degli strumenti di cui ho parlato in questa risposta citano strumenti creati dagli attuali membri del gruppo di hacking etico YGN , dovresti dare un'occhiata la loro area di ricerca e laboratorio (accessibile dalla loro pagina Web principale).

Gli autori di "Hacking Exposed Web Applications, 2nd Edition" (si noti che la terza edizione è disponibile, dove sono disponibili ulteriori informazioni aggiornate) si riferiscono principalmente a elenchi di forzanti brute directory / file personalizzati come Riferimenti diretti agli oggetti (ovvero OWASP T10 Navigazione forzata, OWASP T10 Errore di limitazione dell'accesso agli URL, riferimenti agli oggetti diretti OWASP non sicuri o posizione prevedibile delle risorse WASC TC.

In altre parole, se vedi qualcosa come http://owaspbwa/external/ puoi anche verificare l'esistenza di http://owaspbwa/internal/ o simili.

    
risposta data 08.04.2011 - 02:13
fonte
3

Un altro aspetto che potrebbe essere vulnerabile (o abilitare altri attacchi) è la denominazione delle convenzioni per i nomi utente.
Cioè rende possibile la raccolta degli utenti, gli attacchi mirati sono più facili, e se stai cercando il blocco degli account, è certamente più facile trovare il tuo utente target o generare interi elenchi di utenti.
D'altra parte, ho anche visto il contrario - una convenzione di denominazione che rivela le informazioni private di un utente. Ad esempio, utilizzando una qualche forma di identificatore personale (si pensi al SSN o al numero del libro paga) come parte del nome utente. Ora, ogni volta che qualcuno vede il nome utente (e in molte organizzazioni, l'indirizzo email è basato sul nome utente), tale dettaglio viene rivelato.

    
risposta data 08.04.2011 - 01:32
fonte
2

Se stai discutendo di path traversal con exploit ci sono molte risorse online. Il caso più comune di path traversal è all'interno di SQL injection (ad esempio, se si esegue Apache, posso indovinare dove i documenti personali sono basati sulla convenzione standard del sistema operativo linux / unix).

Maggiori informazioni possono essere trovate in questi siti (questa è la punta dell'iceberg delle fonti):
- link
- link

Se si guardano gli attacchi generati secondo uno schema di denominazione di, ad esempio, un nome-host, si tratterebbe di un'applicazione molto specifica (applicazione come se applicasse la logica, non un eseguibile) e dipenderebbe da l'organizzazione che viene presa di mira.

D'altro canto, se si parla di convenzioni di denominazione relative ai nomi di file effettivi dell'applicazione dannosa, si tratta di un concetto interessante. Non sono sicuro se quel metodo di rilevamento del malware sia davvero una possibilità. Ciò non è dovuto alla mancanza di know-how tecnico, ma al fatto che il malware intrinsecamente è destinato a rimanere oscuro. Se il malware viene effettivamente chiamato "hacked.exe", sarei molto sorpreso. Anche se questo fosse il caso, i metodi di rilevamento basati sulla firma che la maggior parte delle applicazioni anti-virus / anti-malware impiegano ora dovrebbero ancora essere applicati. Quindi è equivalente ai quadrati di targeting quando vuoi veramente catturare tutti i rettangoli.

Non so esattamente cosa stai cercando, quindi questa è una domanda difficile a cui rispondere. Per favore, espandi la tua domanda se desideri maggiori informazioni.

    
risposta data 07.04.2011 - 21:57
fonte
1

Inganno per capire la tua domanda, ma penso che Ormis abbia il problema chiave riguardo alla conoscenza degli elementi.

L'unico altro aspetto che vedo ragionevolmente spesso è rendere la vita facile agli aggressori nominando i server finanziari come "finance001" ecc ...

Best not, eh: -)

Utilizza una convenzione di denominazione, certo, ma che aderisce a un sistema che non urla "Ehi, qui - bel bersaglio!" - un elemento di sicurezza per oscurità (ma solo come un livello che aiuta, non essere invocato)

    
risposta data 07.04.2011 - 23:43
fonte
-1

Ho trovato questa risorsa online. Spero che questo aiuti!

link

    
risposta data 07.04.2011 - 21:33
fonte

Leggi altre domande sui tag