Sfruttamento del browser. Cos'è un exploit? Come nascono gli exploit

Nella fase di sviluppo, in tutti i programmi e le reti sono integrati meccanismi di protezione contro gli hacker, come ad esempio blocchi che impediscono attacchi non autorizzati dall’esterno. Una vulnerabilità è come una finestra aperta attraverso la quale non sarà difficile per un aggressore passare. Nel caso di un computer o di una rete, gli aggressori possono installare malware, approfittando di una vulnerabilità, per ottenere il controllo o infettare il sistema per i propri scopi egoistici con le relative conseguenze. Molto spesso, tutto ciò accade all’insaputa dell’utente.

Come si verificano gli exploit?

Gli exploit sono causati da errori nel processo di sviluppo del software, a seguito dei quali compaiono vulnerabilità nel sistema di sicurezza del programma, che vengono utilizzate con successo dai criminali informatici per ottenere un accesso illimitato al programma stesso e, attraverso di esso, all'intero computer. Gli exploit vengono classificati in base al tipo di vulnerabilità sfruttata dall'hacker: zero-day, DoS, spoofing o XXS. Naturalmente, gli sviluppatori del programma rilasceranno presto aggiornamenti di sicurezza per eliminare i difetti rilevati, ma fino ad allora il programma sarà ancora vulnerabile agli attacchi.

Come riconoscere un exploit?

Poiché gli exploit sfruttano le falle nei meccanismi di sicurezza del software, l'utente medio non ha praticamente alcuna possibilità di rilevarne la presenza. Per questo è estremamente importante sostenere programmi installati aggiornato, soprattutto per installare tempestivamente gli aggiornamenti di sicurezza rilasciati dagli sviluppatori del programma. Se uno sviluppatore di software rilascia un aggiornamento di sicurezza per correggere una vulnerabilità nota nel proprio software, ma l'utente non lo installa, sfortunatamente il programma non riceverà le definizioni dei virus più recenti necessarie.

Come risolvere l'exploit?

Dato che gli exploit sono la conseguenza di bug, la loro eliminazione è responsabilità diretta degli sviluppatori, quindi saranno gli autori che dovranno preparare e distribuire le correzioni dei bug. Tuttavia, la responsabilità di mantenere aggiornati i programmi installati e installare i pacchetti di aggiornamento in modo tempestivo per impedire agli hacker di sfruttare le vulnerabilità spetta interamente all'utente del programma. Uno di modi possibili Non perdere gli ultimi aggiornamenti: utilizza un gestore applicazioni, che si assicurerà che tutti i programmi installati siano aggiornati o, ancora meglio, utilizza uno strumento per cercare e installare automaticamente gli aggiornamenti.

Come impedire agli hacker di sfruttare le vulnerabilità programmi di terze parti
  • Assicurati di disporre degli aggiornamenti di sicurezza e delle patch più recenti per tutti i programmi
  • Per rimanere al sicuro online e rimanere aggiornato, installa tutti gli aggiornamenti non appena vengono rilasciati.
  • Installa e utilizza un antivirus premium in grado di aggiornare automaticamente i programmi installati
Proteggiti dagli exploit

Usare il buon senso e seguire le regole fondamentali lavoro sicuro su internet. Gli hacker possono sfruttare la vulnerabilità solo se riescono ad accedere al tuo PC. Non aprire allegati in messaggi sospetti né scaricare file da fonti sconosciute. Mantieni aggiornati i programmi installati e installa tempestivamente gli aggiornamenti di sicurezza. Se vuoi semplificare il più possibile questo compito, scarica l'antivirus Avast, che non solo fornirà una protezione affidabile contro tutti i tipi di malware, ma ti aiuterà anche a installare gli ultimi aggiornamenti per programmi di terze parti.

Molti specialisti alle prime armi nel campo informazioni di sicurezza Sorgono molte domande sugli exploit: cosa sono gli exploit? Chi scrive gli exploit? Come utilizzare gli exploit? In questo articolo troverai le risposte a queste domande!

Cos'è un exploit?

Impresa- Questo programma per computer, un pezzo di codice software o una sequenza di comandi che sfrutta le vulnerabilità in Software e utilizzato per sferrare un attacco a un sistema informatico. Lo scopo dell'attacco può essere quello di prendere il controllo del sistema (escalation dei privilegi) o di interromperne il funzionamento (attacco DoS). ...

Fondamentalmente, un exploit è un piccolo esempio di come una determinata vulnerabilità può essere sfruttata; nelle mani di un hacker esperto, un exploit è un'arma potente che consente di compromettere il sistema preso di mira.

Chi scrive gli exploit?

Gli exploit vengono scritti da migliaia di appassionati appassionati di studio della sicurezza informatica; li pubblicano su molti siti noti come SecurityFocus. Lo fanno non per il bene della fama e non per la gioia degli script kiddie, lo fanno per notificare amministratori di sistema e altri specialisti della sicurezza informatica sull'esistenza di questa vulnerabilità. Dopotutto, avendo in mano l'implementazione di una specifica vulnerabilità, puoi facilmente scrivere una "patch".

Come utilizzare gli exploit?

Nonostante il fatto che molti principianti siano confusi dagli enormi database con gli exploit, sono abbastanza facili da usare!

Ad esempio, prendiamo una vulnerabilità trovata in uno dei tanti componenti di Joomla. È possibile trovare una descrizione dell'exploit seguendo il collegamento Componente Joomla com_camp Vulnerabilità SQL Injection.

Prima di tutto, dovresti esaminare l'applicazione e la versione dell'applicazione per la quale esiste la vulnerabilità. Se trovi quello che ti serve, inizia a studiare la descrizione dell'exploit. Nella descrizione di solito scrivono dove è stata trovata esattamente la vulnerabilità. Nel nostro caso si tratta del componente com_camp. Come puoi vedere, la vulnerabilità esiste a causa della mancanza di filtro nella variabile cid:

Http://127.0.0.1/index.php?option=com_camp&task=show&cid=


Visitando un sito con questa vulnerabilità e sostituendo una virgoletta nella variabile cid, molto probabilmente troverete un errore nella pagina, che indica la presenza di sql injection.

Cosa fare dopo? Se hai solo un po’ di fantasia, puoi fare molto! È qui che arriviamo all'exploit stesso. Nella pagina di descrizione dell'exploit, di solito pubblicano un file con l'exploit stesso o una riga di codice di programma che deve essere compilato o in qualche modo "fornito" all'applicazione vulnerabile. Nel nostro caso vediamo una riga di codice sql che deve essere inserita nella variabile cid:

1/**/UNIONE/**/SELEZIONA/**/1,2,3,4,5,6,7,8,9,10,11,12,13,14--


Anche nel nostro caso vediamo un esempio dell’implementazione di questa vulnerabilità:

Http://127.0.0.1/index.php?option=com_camp&task=show&cid=-1/**/UNION/**/SELECT/**/1,2,3,4,5,6,7,8, 9,10,11,12,13,14--


Avendo questi dati e conoscendo la struttura del database Joomla, puoi facilmente ottenere tutti i dati necessari, inclusi login e hash delle password per gli utenti, compreso l'amministratore.

Quali altri exploit ci sono?


A seconda del metodo utilizzato per accedere al software vulnerabile, gli exploit si dividono in remoti e locali.

Gli exploit sono progettati per eseguire azioni di terze parti su un sistema vulnerabile e possono essere suddivisi tra loro come segue:

In generale, GoogleHack e "Ricerca avanzata" ti aiuteranno a cercare, ad esempio, su un sito specifico sito: http:securityfocus.com joomla sql injection ti mostrerà tanti exploit che ti permettono di effettuare sql injection in joomla.

Gli exploit possono essere utilizzati da ogni sciocco?


No, no e NO. Per utilizzare gli exploit, come minimo, è necessaria una conoscenza generale della programmazione (molti exploit sono scritti volutamente con errori e non forniscono molte funzionalità perché si tratta solo di una "presentazione" di una vulnerabilità), è inoltre necessario studiare il sistema che viene attaccato e raccogliere informazioni sufficienti per portarlo a termine. L’esperienza dimostra che molte persone che desiderano “guadagni facili” semplicemente non hanno le conoscenze necessarie.

Conclusione:
Ogni giorno vengono scoperte sempre più vulnerabilità e quindi vengono scritti sempre più exploit. Non vi incoraggio a diventare script kiddie e in nessun caso vi dirò che non dovreste utilizzare queste informazioni per scopi illegali!

L'energia nucleare può portare la luce, oppure può portare l'oscurità eterna, ognuno decide da solo come vivere...

Informazioni per coloro che non capiscono bene cosa sia un exploit.
Cos'è un exploit?
La definizione "ufficiale" può essere letta nelle enciclopedie informatiche. Mi piace questo: "A seconda dello scopo, un programma, un pezzo di codice o uno script che ti consenta di sfruttare una vulnerabilità esistente nel software per tutto ciò che è controllato dal software." In un certo senso, un martello contro uno smartphone è anche un exploit tecnico, che agisce con un obiettivo primitivo: distruggere il dispositivo. Consideriamo l'essenza, il principio di applicazione e il ruolo di un exploit nell'hacking di un sistema. Viene presa in considerazione la questione di dove trovare l'exploit, se ha senso scaricarlo o acquistarlo e perché un exploit confermato potrebbe non funzionare.

  • Cosa sono gli exploit
  • Che tipo di exploit ci sono?
  • Un po' di vulnerabilità
  • Il ruolo di un exploit in un attacco a un sistema
  • Esempio di exploit riuscito
  • Sfruttare i database
  • Problemi con l'exploit
Da dove viene l'exploit? Per coloro che amano i dettagli, salta questa parte.
La spiegazione più semplice è la “relazione” tra una persona e un virus. Biologico. Nel nostro corpo tutto è pensato nei minimi dettagli, tuttavia, di fronte al microcodice dall'esterno, si rompe temporaneamente o per sempre. La vulnerabilità è semplice guasto del meccanismo(compreso il software) rispondere adeguatamente ad alcune azioni provenienti dall'esterno, pur mantenendo le caratteristiche e le funzionalità insite in esso (il meccanismo). E impresa Si chiama exploit solo se ti permette di ottenere vulnerabilità beneficio. Non prendetela come una finzione, è importante capirla subito.
Un po' di vulnerabilità.
I moduli Metasploit contengono exploit e mirano alle vulnerabilità. È consuetudine che i pentester formalizzino i metodi con cui queste vulnerabilità vengono raggruppate. Si è così creato un vocabolario in continua espansione Vulnerabilità ed esposizioni comuni (CVE) - Vulnerabilità e scoperte comuni. Quindi ricorda: Incontrerai l'abbreviazione CVE più di una volta. . La forma generalmente accettata è scritta nel seguente formato:
CVE - ISSUE_YEAR - ASSIGNED_ID
Per esempio
CVE2008-4250
Se vuoi dare un'occhiata adesso lista completa newsletter, vai qui:

In effetti, ci sono molte più vulnerabilità che possono rivelare i segreti del proprietario rispetto all'elenco ufficiale di questo bollettino. Sì, per entrare in questo dizionario, la vulnerabilità deve essere “guadagnata” un posto. E ovviamente non esiste un'organizzazione specifica che si occupi ufficialmente di questo. Tutto dipende da cosa mirerà l'exploit futuro: non esiste vulnerabilità senza exploit. Ma in ogni caso quasi tutte le strade portano all'Exploit Database e alla risorsa sopra citata.
Una riga separata include problemi di sicurezza per i prodotti Microsoft. Sono formati da un elenco separato denominato Bollettino sulla sicurezza Microsoft. Le loro vulnerabilità sono solitamente raggruppate in questo modo:
MSYY-XXX
dove YY è l'anno della scoperta, XXX è l'ID assegnato.

Torniamo agli hacker. Quali tipi di exploit esistono?
Convenzionalmente, possono essere tutti divisi in tre gruppi:
  • sfruttamento del servizio
  • sfruttamento del cliente
  • sfruttamento dei privilegi
Exploit del servizio attacca qualche servizio che, ad esempio, ascolta le connessioni di rete. Il servizio raccoglie i pacchetti di rete e attende che l'utente avvii una connessione alla rete (avvii il browser). E un hacker può fare lo stesso, creando i propri pacchetti per questo servizio e provocando il lancio completo del servizio, che (all'insaputa dell'utente) entrerà nella rete.
Sfruttamento del cliente - noto anche come exploit client - si concentra sull'attacco di un'applicazione client che riceve alcuni contenuti da un computer server. Si basa sul fatto che la vittima eseguirà alcune azioni e il programma client dovrà lavorare attivamente con questo contenuto. In poche parole, il mio lavoro come hacker è farti fare clic su un collegamento, aprire un documento e accedere a un sito dannoso.
Sfruttamento dei privilegi . Il suo compito è rafforzare i diritti già esistenti nel sistema. Ad esempio, ottieni i diritti di amministratore da una UZ ospite. E lì non è lontano da SISTEMA... Ad esempio, in Windows XP c'è una vulnerabilità dove con semplici movimenti puoi . Inoltre, la vulnerabilità era in superficie. Non essere pigro e dai un'occhiata all'articolo: le spiegazioni diventeranno inutili.
Il processo di exploit e il suo ruolo in un attacco a un computer.

A poco a poco ci stiamo avvicinando al principio di come funziona la compromissione del sistema. Ognuna di queste fasi è un processo molto complesso che richiede un manuale in più volumi. Ma può essere rappresentato schematicamente in questo modo:

  • un sistema potenzialmente vulnerabile viene scansionato per individuare porte aperte e servizi in esecuzione
  • vengono individuati i punti che possono essere colpiti
  • SU computer remoto a questo o questi punti viene inviato un exploit di una vulnerabilità nota
  • all’exploit è allegato un payload (che ti permetterà di controllare il sistema della vittima)
  • se l’exploit funziona (è il primo che viene lanciato) e il sistema della vittima risponde, viene lanciato il payload; In base ai risultati dell’esecuzione del codice payload, l’hacker riesce ad accedere al computer della vittima
Che aspetto ha dal vivo o come lavorare con l'exploit?
Ad esempio, utilizziamo Kali Linux come sistema operativo host e Windows XP (l'exploit è antico, a partire da Windows XP SP2 lo fa già meno volentieri) come sistema operativo guest in VirtualBox. Naturalmente sappiamo quali caratteristiche ha una macchina ospite sulla rete (nel nostro caso virtuale), ma lasciamo lo scanner Nmap farà il suo lavoro. Forniamo “informazioni ufficiali” sulla vittima:
  • nmap -v -n 192.168.0.162
dove 192.168.0.162 è l'indirizzo IP della vittima. Se hai familiarità con , allora capirai che i flag:
  • -v ti consente di ottenere un rapporto dettagliato sull'indirizzo
  • -N disabilita le ricerche DNS inverse



Vediamo quali porte sono aperte con i servizi che le attraversano.
Esaminiamo ancora di più il sistema per farlo informazioni dettagliate per il sistema operativo e la versione del servizio. Il comando assumerà la forma (la posizione dei flag secondo il comando è arbitraria):

nmap -T4 -A -v 192.168.0.162


Ci sono molte informazioni. Scegliamo il luogo dello sciopero.
Sono aperte un sacco di porte, che sono potenziali backdoor nel sistema nemico.
Lascia che questo sia uno dei porti aperti 135 Con servizio in esecuzione mcrpc(aka Microsoft Windows RPC - servizio di teleprocedura di sistema). Tutto quello che dobbiamo fare è selezionare l'exploit appropriato per un processo specifico.
Sfrutta il database. Un paio di secondi per la teoria.
Se attualmente ti trovi a Cali, la base è a portata di mano. Tutto ciò di cui hai bisogno è una connessione di rete e funzionante msfconsole(aka toolkit Metasploit). Una base di exploit costantemente aggiornata che puoi vedere fin da subito avviando la console msfconsole e digitando il comando mostrare exploit, visualizzerà un elenco di exploit:


La visualizzazione di un elenco sullo schermo non ti dirà ancora nulla. Sono presentati in ordine alfabetico con la data di pubblicazione, il grado assegnato per applicazione e affidabilità di funzionamento, nonché una breve spiegazione del loro scopo.
Una sorta di specchio della baseè una risorsa famosa
Anche questo è interamente dedicato agli exploit. E qui puoi (armato di un dizionario) conoscere la storia dell'exploit in modo più dettagliato, scaricarla direttamente (se vuoi comporre il tuo exploit, ne parleremo più avanti) e conoscere le informazioni sull'exploit. In generale, tutto il gusto si trova qui. Ma c'è qualcos'altro.
Non è una cattiva risorsa dove puoi trovare qualcosa di interessante è:
ru.0day.today/
Una risorsa multilingue che offre non solo exploit ben noti (leggi: ampiamente trattati), ma anche le versioni dei partecipanti. Per soldi. Visita e check-out: lì è supportata anche la lingua russa.
Continuiamo. Stiamo cercando un exploit adatto.
Metaploitè direttamente collegato al database degli exploit, quindi non devi ricordare i passaggi che vedi: la cosa buona di Metasploit è che i suoi passaggi sono automatizzati (il che, però, non è sempre positivo). L'articolo riguarda l'exploit e lo useremo solo, ad es. manualmente. Troviamolo, scarichiamolo, carichiamolo. Perché manualmente? Maggiori informazioni su questo nel paragrafo Problemi di exploit.
Come trovare l'exploit che ti interessa?
Se sei interessato a un exploit che può essere utilizzato contro una piattaforma o un programma specifico, non devi scorrere l'elenco di più di mille e mezzo exploit manuali visualizzati dal comando
mostrare gli exploit
Invece puoi digitare sessione aperta Comando Metasploit come:
nome ricerca: tipo smb: piattaforma exploit: windows
Metaploit visualizzerà solo gli exploit che funzionano sul sistema operativo Windows. Successivamente, se sei interessato agli exploit del browser sul sistema operativo Windows, aggiungi un nome al comando. Vedere:
msf > cerca nome:tipo browser:exploit piattaforma:windows


Inoltre, in Kali Linux puoi cercare direttamente gli exploit direttamente dal terminale senza eseguire una sessione Metasploit. Digita il comando per cercare un exploit nel formato:
searchploit Internet Explorer
Il terminale ti restituirà tutti gli exploit disponibili nel database, che viene aggiornato settimanalmente.
Continuiamo...
Quindi, conosciamo il servizio, vediamo il tipo di sistema operativo. Quindi nel database digitiamo: Ricerca-pulsante dopo aver inserito una richiesta:
Windows RPC
Prima della ricerca, esaminiamo il robot e familiarizziamo con i risultati:


Ecco il nostro. Facciamo clic sul collegamento, andiamo al seguente collegamento per il download ed è sul nostro computer come file 66.c.
IO RIPETO
. Tutto ciò che è stato fatto sopra può essere fatto più velocemente. Con Metasploit in esecuzione, digita il comando per cercare un exploit dal tuo Kali:



Tuttavia, non è rara la situazione in cui non è possibile trovare un exploit adatto nel database Metasploit. Pertanto, una volta acquisita maggiore familiarità con il funzionamento degli exploit, puoi permetterti di dedicare più tempo alla ricerca e alla configurazione dell'exploit giusto. E nel nostro caso prepareremo l'exploit scaricato per l'iniezione manuale. Nel terminale lo convertiamo in un file binario (ho prima trascinato 66.c da Download V Desktop):
gcc 66.c -o 66
Ora ce ne sono due:


E inserisco il codice binario dell'exploit direttamente nella vittima di XP:
./66 6 192.168.0.162


Il sistema ha risposto. Scientificamente, questo è chiamato un risultato positivo della compromissione del sistema. In effetti, questo computer è già nelle mani di un hacker. L'hacker lo vede come se fosse seduto davanti a un computer: può controllare il sistema utilizzando i comandi della console. Vediamo ora come viene utilizzato l'exploit controllato da Metasploit. Porti della vittima lo siamo già "anellato" usando Nmap. E come hai notato, tra l'altro, è anche aperto 445 sotto il controllo del servizioMicrosoft-ds. Nella finestra Metasploit, seleziona l'exploit appropriato:
exploit/windows/smb/ms08_067_netapi
impresa
Il computer non appartiene più al proprietario.

Sfruttare i problemi o un paragrafo per chi ama il “già pronto”.
Questa parte merita un argomento a parte. Ma basta solo un paragrafo. Cosa attende un pentester in procinto di utilizzare un exploit? Te lo spiego con le dita (i professionisti mi perdonano):

  • Il primo problema è l'invecchiamento della vulnerabilità, per la quale gli sviluppatori installano quasi immediatamente una patch. Sì, la stragrande maggioranza degli exploit esistenti non merita la tua attenzione. Sono inutili: gli aggiornamenti di sicurezza li nascondono. Quindi ci sono poche opzioni: usiamo 0giorno sfrutta ( giorno zero) - se riesci a trovarlo e a candidarti; oppure giriamo la testa e lavoriamo per conto nostro; questo è il problema numero uno: dobbiamo imparare da esso sistemi operativi e programmi delle generazioni precedenti: il motivo è semplice: gli sviluppatori si “dimenticano” di supportare (Windows XP ne è un tipico esempio) e non rispondono alle vulnerabilità emergenti nemmeno con notifica ufficiale (senza dimenticare, però, di verificare se questa vulnerabilità apparirà nelle versioni funzionanti dei programmi o del sistema operativo - a lei).
  • il secondo problema (segue dal primo): se una vulnerabilità viene pubblicata ed esiste un exploit, dozzine di specialisti stanno già lavorando per garantire che la vulnerabilità rimanga un ricordo del passato. Vengono pagati. E anche le persone che cercano le vulnerabilità vogliono essere pagate. Quindi non fare affidamento sulla vulnerabilità ben battuta: la bellezza sta dove il percorso è meno battuto. Se arriva qualcosa di cui hai bisogno, ma non hai l’intelligenza o l’esperienza, a volte devi pagare per questo (con il rischio di rimanere senza risultati e senza soldi). E non è sempre colpa del pioniere delle vulnerabilità e dello scrittore di exploit. Se non altro perché c'è un terzo problema...
  • Gli aspetti tecnici dell'utilizzo dell'exploit sono che CIÒ CHE HA FUNZIONATO nella versione inglese di Windows è MOLTO PROBABILE NON GUIDERÀ in russo. Exploit scritto per americano Versioni di Windows giustamente non funzionerà per il sistema russo. Il risultato dell'applicazione potrebbe essere inaspettato: un errore silenzioso con tipo Metasploit L'exploit sembra essere fallito fino a quando un guasto del servizio sul lato del sistema della vittima non lo fa diventare diffidente.

L'articolo descrive l'essenza, il principio di applicazione e il ruolo dell'exploit nell'hacking del sistema. Viene presa in considerazione la questione di dove trovare l'exploit, se ha senso scaricarlo o acquistarlo e perché un exploit confermato potrebbe non funzionare.

Cos'è un exploit?

La definizione “ufficiale” può essere letta nelle enciclopedie informatiche. Mi piace questo: "A seconda dello scopo, un programma, un pezzo di codice o uno script che ti consenta di sfruttare una vulnerabilità esistente nel software per tutto ciò che è controllato dal software." In un certo senso, anche un colpo di martello contro uno smartphone è un exploit tecnico, che agisce con l'obiettivo primitivo di distruggere il dispositivo. Le caramelle dolci agiscono anche contro lo smalto dei denti.

Da dove viene l'exploit? Per coloro che amano i dettagli, salta questa parte.

Laddove è nota una vulnerabilità, è probabile che venga visualizzato un exploit. La vulnerabilità può anche essere interpretata in diversi modi. Wikipedia, mi sembra, dà una definizione leggermente errata. La vulnerabilità non è sempre un errore o un difetto. Ogni meccanismo ha un tallone d’Achille. Ebbene, il fatto che il motore funzioni a carburante non può essere definito un errore. Dopotutto, se funziona in aria, anche questo diventerà immediatamente il suo svantaggio. Come il metallo da cui è assemblato; la persona che lo controlla... Tutto ha dei difetti e anche i professionisti li vedono in ogni cosa.

La spiegazione più semplice per questa idea è la “relazione” tra una persona e un virus. Biologico. Nel nostro corpo tutto è pensato nei minimi dettagli, tuttavia, di fronte al microcodice dall'esterno, si rompe temporaneamente o per sempre. La vulnerabilità è semplice guasto del meccanismo(compreso il software) rispondere adeguatamente ad alcune azioni provenienti dall'esterno, pur mantenendo le caratteristiche e le funzionalità insite in esso (il meccanismo). E si chiama exploit solo se permette di ottenere vulnerabilità beneficio. Non prendetela come una finzione, è importante capirla subito.

Un po' di vulnerabilità.

I moduli Metas contengono exploit e mirano alle vulnerabilità. È consuetudine che i pentester formalizzino i metodi con cui queste vulnerabilità vengono raggruppate. Così è stato creato il dizionario Common Vulnerabilities and Exposures in continua espansione ( CVE) – Vulnerabilità e scoperte comuni. Quindi ricorda: incontrerai più di una volta la sigla CVE. Il suo obiettivo: gli hacker tedeschi e cinesi devono essere sicuri che si tratti della stessa falla di sicurezza. E tutti vedono tali vulnerabilità nel formato:

CVE - ISSUE_YEAR - ASSIGNED_ID

Per esempio

CVE2008-4250

Se desideri dare subito un'occhiata all'elenco completo della newsletter, vai qui:

In effetti, ci sono molte più vulnerabilità che possono rivelare i segreti del proprietario rispetto all'elenco ufficiale di questo bollettino. Sì, per entrare in questo dizionario, la vulnerabilità deve essere “guadagnata” un posto. E ovviamente non esiste un'organizzazione specifica che si occupi ufficialmente di questo. Tutto dipende da cosa mirerà l'exploit futuro: non esiste vulnerabilità senza exploit. Ma in ogni caso, quasi tutte le strade portano al database degli exploit e alla risorsa specificata.

Una riga separata include problemi di sicurezza per i prodotti Microsoft. Sono formati da un elenco separato denominato Bollettino sulla sicurezza Microsoft. Le loro vulnerabilità sono solitamente raggruppate come segue:

MSYY-XXX

dove YY è l'anno della scoperta, XXX è l'ID assegnato.

Torniamo agli hacker.Quali tipi di exploit esistono?

Convenzionalmente, possono essere tutti divisi in tre gruppi:

  • sfruttamento del servizio
  • sfruttamento del cliente
  • sfruttamento dei privilegi

Exploit del servizio attacca un determinato servizio che, ad esempio, ascolta le connessioni di rete. Il servizio raccoglie i pacchetti di rete e attende che l'utente avvii una connessione alla rete (avvii il browser). E un hacker può fare lo stesso, creando i propri pacchetti per questo servizio e provocando il lancio completo del servizio, che (all'insaputa dell'utente) entrerà nella rete.

Sfruttamento del cliente- noto anche come exploit client - si concentra sull'attacco di un'applicazione client che riceve alcuni contenuti da un computer server. Si basa sul fatto che la vittima eseguirà alcune azioni e il programma client dovrà lavorare attivamente con questo contenuto. In poche parole, il mio lavoro come hacker è farti fare clic su un collegamento, aprire un documento e accedere a un sito dannoso.

Sfruttamento dei privilegi. Il suo compito è rafforzare i diritti già esistenti nel sistema. Ad esempio, ottieni i diritti di amministratore da una UZ ospite. E lì non è lontano da SISTEMA... Ad esempio, in Windows XP c'è una vulnerabilità dove con semplici movimenti puoi . Inoltre, la vulnerabilità era in superficie. Non essere pigro e dai un’occhiata all’articolo: le spiegazioni diventeranno inutili.

Il processo di exploit e il suo ruolo in un attacco a un computer.

A poco a poco ci stiamo avvicinando al principio di come funziona la compromissione del sistema. Ognuna di queste fasi è un processo molto complesso che richiede una guida in più volumi. Ma può essere rappresentato schematicamente in questo modo:

  • un sistema potenzialmente vulnerabile viene scansionato per individuare porte aperte e servizi in esecuzione
  • vengono individuati i punti che possono essere colpiti
  • un exploit di una vulnerabilità nota viene inviato a un computer remoto in questo o questi punti
  • all’exploit è allegato un payload (che ti permetterà di controllare il sistema della vittima)
  • se l’exploit funziona (è il primo che viene lanciato) e il sistema della vittima risponde, viene lanciato il payload; In base ai risultati dell’esecuzione del codice payload, l’hacker riesce ad accedere al computer della vittima
  • altre azioni sono limitate dall'immaginazione dell'hacker (scaricare virus, cancellare informazioni o copiarle, ecc.)

Che aspetto ha dal vivo o come lavorare con l'exploit?

Ad esempio, utilizziamo Kali Linux come sistema operativo host e Windows XP (l'exploit è antico, a partire da Windows XP SP2 lo fa già meno volentieri) come sistema operativo guest in VirtualBox. Naturalmente sappiamo quali caratteristiche ha una macchina ospite sulla rete (nel nostro caso virtuale), ma lasciamo lo scanner Nmap farà il suo lavoro. Forniamo “informazioni ufficiali” sulla vittima:

Nmap -v -n 192.168.0.162

dove 192.168.0.162 è l'indirizzo IP della vittima. Se hai familiarità con , allora capirai che i flag:

  • –v ti consente di ottenere un rapporto dettagliato sull'indirizzo
  • - N disabilita le ricerche DNS inverse

Vediamo quali porte sono aperte con i servizi che le attraversano. Esaminiamo il sistema per informazioni più dettagliate sul sistema operativo e sulla versione del servizio. Il comando assumerà la forma (la posizione dei flag secondo il comando è arbitraria):

Nmap -T4 -A -v 192.168.0.162

Ci sono molte informazioni. Scegliamo il luogo dello sciopero. Ci sono un sacco di porte aperte che sono potenziali backdoor nel sistema del nemico. Lascia che questo sia uno dei porti aperti 135 con il servizio in funzione mcrpc(aka RPC di Microsoft Windows- Con servizio di chiamata di procedura remota del sistema). Tutto quello che dobbiamo fare è selezionare l'exploit appropriato per un processo specifico.

Sfrutta il database. Un paio di secondi per la teoria.

Se attualmente ti trovi a Cali, la base è a portata di mano. Tutto ciò di cui hai bisogno è una connessione di rete e funzionante msfconsole(aka toolkit Metasploit). Una base di exploit costantemente aggiornata che puoi vedere fin da subito avviando la console msfconsole e digitando il comando mostrare exploit, visualizzerà un elenco di exploit:


La visualizzazione di un elenco sullo schermo non ti dirà ancora nulla. Sono presentati in ordine alfabetico con la data di pubblicazione, il grado assegnato per applicazione e affidabilità di funzionamento, nonché una breve spiegazione del loro scopo.

Una sorta di specchio della baseè una risorsa famosa

https://www.exploit-db.com/

Anche questo è interamente dedicato agli exploit. E qui puoi (armato di un dizionario) saperne di più sulla storia dell'exploit, scaricarlo direttamente (se vuoi creare il tuo exploit, ne parleremo più avanti) e acquisire familiarità con le informazioni sull'exploit. In generale, tutto il gusto si trova qui. Ma c'è qualcos'altro.

Non è una cattiva risorsa dove puoi trovare qualcosa di interessante è:

ru.0day.today/

Una risorsa multilingue che offre non solo exploit ben noti (leggi: ampiamente trattati), ma anche le versioni dei partecipanti. Per soldi. Visita e check-out: lì è supportata anche la lingua russa.

Continuiamo. Stiamo cercando un exploit adatto.

Metaploit Si collega direttamente al database degli exploit, quindi non è necessario ricordare i passaggi visualizzati: Meta La cosa positiva è che i suoi passaggi sono automatizzati (il che, tuttavia, non è sempre positivo). L'articolo riguarda l'exploit e lo useremo solo, ad es. manualmente. Troviamolo, scarichiamolo, carichiamolo. Perché manualmente? Maggiori informazioni su questo nel paragrafo Problemi di exploit.

Come trovare l'exploit che ti interessa?

Se sei interessato a un exploit che può essere utilizzato contro una piattaforma o un programma specifico, non devi scorrere l'elenco di più di mille e mezzo exploit manuali visualizzati dal comando

Mostra exploit

Invece, puoi digitare un comando come questo in una sessione Metas aperta:

Cerca nome:tipo smb:exploit piattaforma:windows

Metas mostrerà solo gli exploit che funzionano su Windows. Successivamente, se sei interessato agli exploit del browser sul sistema operativo Windows, aggiungi un nome al comando. Vedere:

Msf > cerca nome:tipo browser:exploit piattaforma:windows

Inoltre, in Kali Linux puoi cercare direttamente gli exploit direttamente dal terminale senza eseguire una sessione Metas. Digita il comando per cercare un exploit nel formato:

Strumento di ricerca Internet Explorer

Il terminale ti restituirà tutti gli exploit disponibili nel database, che viene aggiornato settimanalmente.

Continuiamo...

Quindi, conosciamo il servizio, vediamo il tipo di sistema operativo. Quindi nel database digitiamo: Ricerca-pulsante dopo aver inserito una richiesta:

Windows RPC

Prima della ricerca, esaminiamo il robot e familiarizziamo con i risultati:

IO RIPETO. Tutto ciò che è stato fatto sopra può essere fatto più velocemente. Nel Metas in esecuzione, digita il comando per cercare un exploit dal tuo Kali:

Tuttavia, non è rara la situazione in cui non è possibile trovare un exploit adatto nel database Metas. Pertanto, una volta acquisita maggiore familiarità con il funzionamento degli exploit, puoi permetterti di dedicare più tempo alla ricerca e alla configurazione dell'exploit giusto. E nel nostro caso prepareremo l'exploit scaricato per l'iniezione manuale. Nel terminale lo convertiamo in un file binario (ho prima trascinato 66.c da Download V Desktop):

Gcc 66.c -o 66

Ora ce ne sono due:

E inserisco il codice binario dell'exploit direttamente nella vittima di XP:

./66 6 192.168.0.162

Il sistema ha risposto. Scientificamente, questo è chiamato un risultato positivo della compromissione del sistema. In effetti, questo computer è già nelle mani di un hacker. L'hacker lo vede come se fosse seduto davanti a un computer: può controllare il sistema utilizzando i comandi della console. Vediamo ora come viene utilizzato l'exploit sotto il controllo di Metas. Abbiamo già “circondato” le porte della vittima utilizzando Nmap. E come hai notato, tra l'altro, è anche aperto 445 sotto il controllo del servizio Microsoft-ds. Nella finestra Metasploit, seleziona l'exploit appropriato:

exploit/windows/smb/ms08_067_netapi

Prendiamolo in considerazione:

Utilizzare exploit/windows/smb/ms08_067_netapi

Controlliamo cosa è necessario per la sua implementazione di successo da parte del team:

Mostra opzioni

La riga con l'indirizzo dell'host remoto RHOST è vuota. Riempiamolo con l'indirizzo IP della vittima:

Il computer non appartiene più al proprietario.

Sfruttare i problemi o un paragrafo per chi ama il “già pronto”.

Questa parte dell’articolo meriterebbe un argomento a parte. Ma per ora le darò solo un paragrafo. Cosa attende un pentester in procinto di utilizzare un exploit? Te lo spiego con le dita (i professionisti mi perdonano):

  • Il primo problema è l'invecchiamento della vulnerabilità, per la quale gli sviluppatori installano quasi immediatamente una patch. Sì, la stragrande maggioranza degli exploit esistenti non merita la tua attenzione. Sono inutili: gli aggiornamenti di sicurezza li nascondono. Quindi ci sono poche opzioni: usiamo 0giornogiorno zero) – se riesci a trovarlo e ad applicarlo; oppure giriamo la testa e lavoriamo per conto nostro; questo è il problema numero uno: dobbiamo imparare dai sistemi operativi e dai programmi delle generazioni precedenti: il motivo è semplice: gli sviluppatori si sono dimenticati del supporto (Windows XP ne è un tipico esempio) e non rispondono alle vulnerabilità emergenti nemmeno con le comunicazioni ufficiali notifica (senza dimenticare, però, di verificare se questa vulnerabilità sarà presente nelle versioni funzionanti dei programmi o dei sistemi operativi).
  • il secondo problema (segue dal primo): se una vulnerabilità viene pubblicata ed esiste un exploit, dozzine di specialisti stanno già lavorando per garantire che la vulnerabilità rimanga un ricordo del passato. Vengono pagati. E anche le persone che cercano le vulnerabilità vogliono essere pagate. Quindi non fare affidamento sulla vulnerabilità ben battuta: la bellezza sta dove il percorso è meno battuto. Se arriva qualcosa di cui hai bisogno, ma non hai l’intelligenza o l’esperienza, a volte devi pagare per questo (con il rischio di rimanere senza risultati e senza soldi). E non è sempre colpa del pioniere delle vulnerabilità e dello scrittore di exploit. Se non altro perché c'è un terzo problema...
  • Gli aspetti tecnici dell'utilizzo dell'exploit sono che CIÒ CHE HA FUNZIONATO nella versione inglese di Windows è MOLTO PROBABILE NON GUIDERÀ in russo. Un exploit scritto per la versione americana di Windows non funzionerà giustamente per il sistema russo. Il risultato dell'applicazione potrebbe essere inaspettato: fino a un errore silenzioso con tipo Metase L'exploit sembra essere fallito fino a quando un guasto del servizio sul lato del sistema della vittima non lo fa diventare diffidente. Approfondiremo l'argomento in seguito.

È tutto per ora. Quindi è risultato lungo. Buona fortuna a noi.

Da dove vengono gli spoiler? Ti sei mai chiesto come mai arrivano le notizie poco brillanti
il camion delle borse si trasforma in una chiave passepartout davvero funzionante? Come possono due dozzine
righe di codice puoi ottenere una shell su un server remoto? Oggi visiteremo
Sploit factory e guarda nel dettaglio come è realizzata
prodotto di qualità.

Avvia MSF eXploit Builder, vai al menu "Editor" e seleziona "Nuovo".
Viene visualizzata una finestra con diverse schede (Informazioni, Badchars, Analisi,
Shellcode, progettazione). Andiamo alla scheda "Informazioni" e vediamo molte cose interessanti
campi. Come ricorderete, questa sezione indica gli obiettivi (OS + SP) e il tipo/protocollo
exploit (ad esempio, remote/tcp). Inoltre, il programma ci fornisce
la possibilità di testare ed eseguire il debug dell'exploit risultante, in modo da poterlo fare immediatamente
selezionare il file eseguibile e specificare i parametri per avviarlo (porta, indirizzo IP).

Quindi, seleziona il nostro tftpd.exe, dopodiché l'utilità offrirà le seguenti azioni
scelta: eseguire l'applicazione, eseguirla in un debugger o non eseguirla
In generale, avviamo semplicemente l'applicazione. Notatelo sul lato destro
Verrà visualizzato un elenco di DDL caricati dall'applicazione.

Ora iniziamo a dare un'occhiata al codice dell'exploit: fortunatamente per noi è estremamente chiaro.