Determinazione del software vulnerabile sui computer client

8

Sono interessato a come gli hacker riescono a identificare versioni vulnerabili del software su macchine client, dietro una grande rete o stand alone a casa. Non sono affatto interessato a portscanning, poiché la maggior parte del software su un computer client non sarà in ascolto attivo.

Sono specificamente interessato alle tecniche per determinare le versioni del software vulnerabile su un computer client. Ad esempio, una determinata macchina potrebbe avere Adobe Reader e Flash, Windows Media Player, VLC e Java installati. Potrebbe essere che tutte queste app fossero vulnerabili o solo una.

Immagino che sarebbe vantaggioso per un utente malintenzionato essere in grado di determinare quale eventuale applicazione fosse vulnerabile, in quanto gli attacchi di lancio potrebbero avvisare l'utente e quindi mi chiedo come possano farlo gli hacker.

Pensavo di aver ricordato uno scenario in cui l'utilizzo di un browser per sfruttare l'aggressore era in grado di leggere le informazioni sul file dal file system locale, il che avrebbe fatto il trucco.

Quali altre vie di attacco potrebbero essere utilizzate per ottenere queste informazioni direttamente o indirettamente?

È possibile che il software di gestione della rete che segnala le versioni del software venga utilizzato maliziosamente? In tal caso, quale sarebbe uno scenario di esempio?

In molti casi di attacchi segnalati è stata utilizzata una vulnerabilità specifica, al di fuori di tutte le possibilità. Non credo che gli aggressori fossero così fortunati come lo spamming che un centinaio di attacchi avrebbe sollevato l'attenzione e forse sarebbe stato catturato.

Penso che ci sia qualche metodologia per rilevare varie versioni del software, forse senza rilevamento. Questo vale anche per gli attacchi di download tramite drive .... dove possono esserci 30 attacchi diversi ma invece di caricare semplicemente tutti e tentare la fortuna può caricare un attacco appropriato. Oppure, in realtà è più comune per tali siti inviare spam a quanti più attacchi possibile senza preoccuparsi se i lettori multimediali e i lettori PDF si aprono casualmente e visualizzano un errore sul computer client?

Qualsiasi intuizione o fonte su questo sono molto apprezzate.

    
posta Sonny Ordell 02.06.2011 - 06:53
fonte

6 risposte

5

Nel caso tipico (che non è un attacco mirato), l'attaccante non ha bisogno di conoscere le versioni del tuo software. L'attaccante comune e poco sofisticato sta affittando o ha acquistato un kit di exploit, come zeus, crimepack, eleanor o altro.

Questi "kit" tipicamente vengono forniti con exploit zero-day all'interno. Funzionano creando un server web, una pagina php su qualche host casuale, che serve solo malware e sfrutta il browser della vittima o il suo java o il suo flash o scarica un pdf e sfrutta il suo lettore pdf ecc.

Facendo semplicemente clic sul collegamento e sfogliando la pagina interessata, oppure scaricando ed eseguendo un file pdf / doc / xls, l'applicazione di gestione viene sfruttata e l'utente malintenzionato rilascia il suo eseguibile sull'host (che può essere un client botnet o un falso programma antivirus o altro).

La pagina php creata dal kit di exploit (o altri strumenti, anche metasploit), prova solo tutti gli exploit forniti nel kit che scegli. Uno di questi funzionerà, a seconda di quanto sono aggiornati i servizi di abbonamento al kit di malware.

Tutto questo non è il metodo migliore per gli attacchi mirati, ma può ancora funzionare. Nello scenario di attacco mirato, verrà eseguita una fase di raccolta delle informazioni prima dell'attacco, in cui l'attaccante proverà a determinare cose come il software in esecuzione sugli host e le versioni, utilizzando le informazioni trapelate, da una grande quantità di fonti, come il browser impronte digitali, e-mail ecc.

    
risposta data 03.06.2011 - 01:28
fonte
9

Ci sono una moltitudine di modi in cui le persone e le applicazioni perdono informazioni sulle versioni del software.

Se è possibile visualizzare i documenti che le persone pubblicano o condividono, il formato del documento identifica in modo esplicito o implicito la versione del software che lo ha prodotto. Le persone pubblicano segnalazioni di bug e domande sui forum che chiedono aiuto con il software.

Se riesci a convincerli a visitare il tuo sito web, riceverai un'enorme quantità di informazioni sul loro ambiente di navigazione che è altamente correlato con altri software che usano.

Esistono programmi che riportano informazioni sulla versione del software, sia per la gestione della sicurezza aziendale, sia per i contest di popolarità, o simili.

E spesso puoi solo indovinare, basandoti sulla conoscenza di altri software che usano, quando hanno un nuovo computer, su quale settore lavorano, ecc.

Infine, molto malware è progettato per attaccare più versioni. E anche se non lo è, il costo di provare un exploit è spesso così basso, che le persone semplicemente fanno attacchi all'ingrosso (come lo spam), solo sperando di trovare un cliente vulnerabile. Questo è probabilmente l'approccio più comune nella vita reale, al di fuori di sofisticati attacchi di pesca subacquea.

    
risposta data 02.06.2011 - 16:49
fonte
5

Prima di eseguire una scansione attiva delle risorse tendo a cercare le schede Lavoro e identificare le posizioni sviluppatore aperte. Non sempre, ma spesso elencano la versione specifica di una suite software in uso. Le persone delle risorse umane possono essere piuttosto insensibili quando si tratta di questo, e spesso vogliono "il maggior numero di dettagli possibile" quando si effettua una richiesta.

Inoltre, se il target utilizza terze parti per le risorse, spesso è possibile ottenere informazioni ancora più . Che ci crediate o no, ma sono stato in grado di identificare fino a 30 applicazioni prima, mentre ero seduto nella lobby, prima di iniziare un impegno con nient'altro che un ipad e un browser web.

Una volta che sei andato così lontano puoi iniziare a profilare i probabili vettori e indagare su possibili exploit ecc. Se l'organizzazione sta cercando di assumere un amministratore AV o una persona degli strumenti di sicurezza potresti anche avere la fortuna di sapere che tipo di difese il tuo obiettivo ha come target il tuo laboratorio prima di iniziare il fidanzamento.

Idealmente, prima ancora di presentarti sul sito, puoi avere un sacco di trucchi che sai che ti faranno entrare tranquillamente e raggiungere un livello di privilegio che dimostrerà la necessità di una migliore posizione di sicurezza. Nel peggiore dei casi, si è inciampato in un ID che non si conosceva e il martello scende, dimostrando che la sicurezza è "adeguata" per qualcuno con la cronologia limitata.

    
risposta data 02.06.2011 - 19:07
fonte
3

Non sono sicuro di quale tipo di attacco stai parlando. Ma la maggior parte del tempo è specifico per l'exploit. Ad esempio ci sono molti exploit di browser internet remoti per diversi, ma metasploit può eseguire una semplice pagina web, in grado di identificare quale client browser utilizzato, (Firefox, Chrome, IE ..) ed eseguire exploit appropriato. Ma se stai parlando di exploit BOF locali, dirottamento DLL ecc., L'hacker non sa, se la vittima userà l'app vulnerabile per aprire il file, ma ci sono ancora possibilità di sfruttarlo se viene utilizzato un exploit software popolare.

    
risposta data 02.06.2011 - 10:19
fonte
1

Nmap rende questo abbastanza facile. Riepilogo rapido dell'opzione pertinente da: link

Nmap 5.51SVN ( http://nmap.org )
Usage: nmap [Scan Type(s)] [Options] {target specification}
SERVICE/VERSION DETECTION:
  -sV: Probe open ports to determine service/version info
  --version-intensity <level>: Set from 0 (light) to 9 (try all probes)
  --version-light: Limit to most likely probes (intensity 2)
  --version-all: Try every single probe (intensity 9)
  --version-trace: Show detailed version scan activity (for debugging)

SEE THE MAN PAGE (http://nmap.org/book/man.html) FOR MORE OPTIONS AND EXAMPLES
    
risposta data 02.06.2011 - 09:50
fonte
1

Un altro modo per esaminare questo problema è che le aziende devono essere in grado di reagire rapidamente quando un'applicazione presenta una vulnerabilità. Ciò richiede che il reparto IT abbia la capacità di tracciare in modo definitivo le applicazioni, i componenti e le patch installati utilizzando l'automazione e gli strumenti standard. Ci sono iniziative del settore per standardizzare le etichette di asset software (19770-2) che sono file XML installati con un'applicazione, un componente e / o una patch che identificano il software installato e, nel caso di un componente o patch, quale applicazione sono una parte di. I tag hanno informazioni autorevoli sull'editore, informazioni sulla versione, elenco dei file con nome del file, hash sicuro del file e dimensione, che possono essere utilizzati per confermare che l'applicazione installata si trova nel sistema e che i file binari non sono stati modificati da una terza parte. I tag sono firmati digitalmente dall'editore.

Quando è nota una vulnerabilità, i dipartimenti IT possono utilizzare il loro software di gestione delle risorse per identificare immediatamente i sistemi con software vulnerabile e possono adottare misure per aggiornare i sistemi. I tag possono far parte della patch o l'aggiornamento può essere utilizzato per verificare che la patch sia installata. In questo modo i dipartimenti IT possono sfruttare risorse come il database delle vulnerabilità nazionali del NIST come feed nei loro strumenti di gestione delle risorse in modo che non appena una vulnerabilità viene pubblicata da una società nel NVD, il reparto IT possa confrontare immediatamente le nuove vulnerabilità inventario software aggiornato.

Esiste un gruppo di aziende che lavorano tramite un ente non profit IEEE / ISTO chiamato TagVault.org (www.tagvault.org) con il governo degli Stati Uniti su un'implementazione standard della ISO 19770-2 che consentirà questo livello di automazione. Ad un certo punto, questi tag conformi a questa implementazione saranno probabilmente obbligatori per il software venduto al governo degli Stati Uniti ad un certo punto nei prossimi due anni.

Quindi, alla fine, è buona norma non essere pubblici riguardo a quali applicazioni e versioni specifiche del software si sta utilizzando, ma potrebbe essere difficile come indicato in precedenza. Ciò che si desidera assicurarsi è disporre di un inventario software accurato e aggiornato, che venga regolarmente confrontato con un elenco di vulnerabilità note come NVD di NIST e che il reparto IT possa intraprendere azioni immediate per eliminare la minaccia. . Questo insieme al rilevamento delle intrusioni aggiornato, alla scansione dei virus e ad altre tecniche per bloccare un ambiente renderà almeno molto difficile la compromissione dell'ambiente, e se / quando lo farà, non verrà rilevato per un lungo periodo di tempo.

    
risposta data 03.04.2012 - 14:02
fonte