Yandex Dzen.

Cos'è l'exploit e come gli hacker lo usano

Saluti. Chi sono hacker e cosa hanno già discusso. Non ripeteremo, inoltre, è apertamente coperto dalla rete e nel cinema. I metodi di hacker e i tipi di attacco degli hacker sono numerosi, quindi, non creare dall'articolo "Vinaigrette", li evidenziamo, che è popolare con gli hacker neri e nel 2020. Non proverò a "salvare l'intrigo", descriveremo: "Exploits".

Per la conoscenza introduttiva, comprendiamo che gli exploit fanno parte del codice del computer (o del programma compilato e non solo ...), che utilizza la "vulnerabilità della vittima" e quindi gli obiettivi sono ramificati per: ottenere l'accesso; server "hanging"; Interruzione. Se il lettore si è imbattuto nelle parole "Dos Atak", quindi sappi che l'85%, gli hacker usati "Exploits". In realtà, il nome, se la traduzione dall'inglese, significherà: "Usando qualcosa". O sfruttando, quindi le radici della parola "exploit".

Questi programmi (chiameremo gli exploit per programmi, Anche se non è vero ) sono suddivisi in destinazioni: per Windows, Linux e altri strumenti; Per altri programmi e così via. Eccetera.

Penso che i lettori vogliano cercare di capire come questo programma magico, in grado di impegnarsi, appendere e fornire l'accesso "Master" sul server "strano". Finiamo per la prima volta perché l'accordo è chiamato il programma, non è vero. Il fatto è che è sfruttato non solo il file compilato, ma anche un testo (anche il notepad con una descrizione di come hackerare "il sistema" è già sfruttato). Capisco il fraintendimento più semplice della lettura, ma è: se apri un notebook e lì sotto forma di un testo per scrivere come "godere" qualsiasi server, sarà anche un exploit. Ma cosa sarebbe almeno come, diversificare un articolo, almeno a volte scrive la parola: programma. Inoltre, tali exploit si imbattono sotto forma di un programma su "qualsiasi" linguaggio. Gli hacker, questi sono ex programmatori che in passato stavano cercando errori nei programmi Pertanto, tali persone possiedono facilmente le lingue C / C ++, Perl e TD. Il compito di tali programmi è ridotto al buffer overflow, i record SQL, le richieste "Linden" per il sito e così via.

Cos'è l'exploit e come gli hacker lo usano

Succede utilizzare la sequenza di programmi, nel caso in cui il compito sia "complicato".

Trova e scarica exploit pronti in Internet aperto non è legale. E, naturalmente, l'autore non raccomanda di cercare tali programmi a Darknet.

Quindi, ora quando una comprensione degli exploit depositata nella testa, vai a "pratica virtuale". Supponiamo che la situazione: nella città di Voronezh, un uomo vive che vola regolarmente a Mosca e lì "la nostra" una signora sposata. Il coniuge ingannato, incapace di prendere l'amante, è deciso di vendetta, ma da remoto. Per fare ciò, tuo marito è necessario accedere al computer "raggi". Non andiamo nei dettagli, ma dichiariamo il fatto: è diventato noto come il browser utilizza un "rivale astuto". Fortunatamente per un marito avanzato, in questo browser c'è una "vulnerabilità". Resta solo per forzare il "codice di esecuzione" dell'amante, che senza la conoscenza dell'utente, carica il malware "sul lato". Poi il marito scrive una lettera, a nome di sua moglie e invia un amante per posta. Il risultato è comprensibile (apre la lettera e il codice è già "nel caso").

I famosi programmi sono: "Angler" (Set complesso (Funziona in RAM)); "Neutrino" (Esegui russo a Java, costa 34 migliaia di dollari); "Blackhole Kit" (batte i browser Chrome, "Oslik", "Firefox" ).

Commento ("negativo \ positivo"). Sottoscrivi. Piace. Addio.

Ciao, habrovsk. In previsione dell'inizio del corso "Amministratore Linux. Professionale " Il nostro esperto - Alexander Kolesnikov ha preparato un articolo interessante, che condivideremo volentieri con te. Invita anche studenti futuri e tutti coloro che desiderano visitare una lezione aperta sull'argomento "Metodi e capacità di debug degli script del guscio di bash."

Il sistema operativo Linux ha dimostrato il mondo tutto il potere dei progetti open source - grazie a lei oggi, abbiamo l'opportunità di esaminare il codice sorgente del sistema operativo funzionante e in base ad assemblare il proprio sistema per risolvere determinati obiettivi. A causa della sua apertura, Linux era quella di diventare il sistema operativo più sicuro del mondo, poiché il codice open source consente di sviluppare e migliorare i sottosistemi di protezione dagli attacchi al sistema operativo e migliorare il sistema operativo stesso. Infatti, al momento ci sono un gran numero di protezione comunitaria creata: oggi non è più così facile da sovrastandere le vulnerabilità del tipo di overflow del buffer per ottenere privilegi elevati come 20 anni fa. Tuttavia, oggi puoi trovare gli exploit di pubblico dominio, che anche sulle ultime versioni del kernel possono aumentare i privilegi dell'utente. Considerare in questo articolo, come funziona e perché si scopre. Aspetteremo i componenti principali dello sfruttamento e considereremo come funzionano alcuni di loro.

Tutte le informazioni fornite sono state raccolte esclusivamente a scopo informativo.

Tipi di exploit.

Scegli un termine generale che denoteremo ciò che è Sfruttare - L'algoritmo che viola il normale funzionamento del sistema operativo, vale a dire i meccanismi di separazione dell'accesso. Introdurre anche il concetto Vulnerabilità - Questa è un'imperfezione del software che può essere utilizzata da un algoritmo di exploit. Senza vulnerabilità, l'esistenza di un exploit è impossibile.

Presentiamo la classificazione degli exploit. La separazione di base degli exploit ai sottogruppi per qualsiasi sistema operativo inizia a livello di architettura. Oggi i sistemi operativi includono almeno 2 livelli di privilegi utilizzati per il loro lavoro. Di seguito è riportata un'immagine che mostra chiaramente la separazione dei privilegi. Foto scattata. Da qui .

L'immagine mostra molto chiaramente che il kernel (spazio del kernel) è presente nel sistema operativo, di solito è la modalità più privilegiata, è qui che chiamiamo il sistema operativo. E il secondo livello è personalizzato (spazio utente): applicazioni e servizi regolari che utilizziamo ogni giorno vengono lanciati qui.

Storì storicamente che per ciascuno dei livelli di cui sopra, le vulnerabilità possono essere trovate per le quali è possibile creare un exploit, ma l'exploit per ogni livello ha i suoi limiti.

A livello utente, qualsiasi exploit che colpisce l'applicazione avrà esattamente tali privilegi utilizzati dall'utente che ha lanciato un'applicazione vulnerabile. Pertanto, questo tipo di exploit consente di ottenere il pieno controllo sul sistema operativo solo se l'applicazione viene avviata dall'amministratore di sistema. In contrasto con il livello dell'utente, livello del kernel. Se contiene un codice vulnerabile, può consentire immediatamente il sistema operativo con i massimi privilegi. Di seguito si concentrerà sullo studio di questi exploit.

Espiatorio

Immagina le piccole statistiche sulla divulgazione delle vulnerabilità per il kernel delle distribuzioni del sistema operativo Linux di Debian, SUSE, Ubuntu, Arch Linux degli ultimi 4 anni.

Dati presi Da qui . L'immagine non finge di essere completa, ma mostra che ci sono molte vulnerabilità, e anche oggi c'è da cosa scegliere di costruire un exploit. Proviamo a descrivere cos'è l'exploit.

Qualsiasi exploit per qualsiasi livello del sistema operativo oggi è costituito da parti che devono essere implementate nel suo codice:

  1. Operazioni preparatorie:

    1) Navigare nel display della memoria necessario

    2) Creazione degli oggetti necessari in OS

    3) Bypassare i meccanismi di protezione del sistema operativo per la vulnerabilità

  2. Chiama parte vulnerabile.

  3. Esegue un carico utile:

    1) Per aprire l'accesso al sistema operativo

    2) Per modificare la configurazione del sistema operativo

    3) Per l'output del sistema

Quando si eseguono tutti gli elementi, che sono indicati sopra, è possibile scrivere un exploit lavorabile. Prendi diversi exploit degli anni passati e cerca di scoprire se è possibile trovare alcune regolarità o prestiti che vengono utilizzati per violare la separazione dell'accesso nel sistema operativo Linux. Come oggetti di studio, prendiamo exploit che utilizzano le seguenti vulnerabilità con gli identificatori CVE:

CVE-2020-8835.

CVE-2020-27194.

Disaster Exploit.

CVE-2020-8835. рAspasses il kernel del sistema operativo Linux dalla versione 5.5.0. La vulnerabilità è nell'attuazione della tecnologia EBPF. . La tecnologia è stata progettata per garantire che l'utente possa creare gestori personalizzati per filtrare il traffico di rete. Come viene utilizzato il componente principale per il filtro, viene utilizzata una macchina virtuale con il proprio set di comandi. Il codice che viene eseguito dalla macchina virtuale vive nel kernel: un errore in questo codice porta un utente malintenzionato per lavorare con la memoria con i massimi privilegi. Nel caso della vulnerabilità descritta, il problema era che le operazioni di elaborazione operative 32 bit non siano state elaborate correttamente e la macchina virtuale potrebbe scrivere e leggere i dati nella RAM nucleare.

Poiché l'autore dello Exploit utilizza questa vulnerabilità e che cosa viene eseguito un carico utile, considera ulteriormente.

Stadio preparatorio

Per questa fase, la parte successiva del codice è responsabile.

Fila 394 - Creazione di un oggetto in memoria che memorizzerà i dati sui comandi per EBPF. . Row 400 carica nel codice di memoria che verrà eseguito nella macchina virtuale e viollerà le condizioni per l'elaborazione dei comandi a 32 bit. La preparazione della memoria è finita, le seguenti linee creeranno un oggetto di una presa che verrà chiamato comandi caricati per BPF. . Successivamente, inizierà la Camera della vulnerabilità.

Chiama il codice vulnerabile

Chiamare un codice vulnerabile, o meglio che lavora con i comandi della macchina virtuale viene eseguito dalla linea 423 a 441. L'attività principale di questo codice è ottenere l'indirizzo di base della struttura in memoria, in questo caso è a processo heap (heap). Non appena vengono eseguiti questi comandi, l'exploit sarà in grado di rilevare i dati utilizzati dal sistema operativo per controllare la separazione dell'accesso. Nel sistema operativo Linux, questi dati sono memorizzati nella struttura Taskstruct. .

Carico utile

Il carico utile di questo exploit è che dopo la sua esecuzione, è possibile eseguire un processo con i diritti dell'utente radice . Per questo, il codice di exploit produce modifiche dei campi del campo del kernel del sistema operativo Linux - Credito. Questa è una struttura che entra nella struttura Taskstruct. . Struttura del codice sorgente Credito. Possono essere trovati Qui .

Azioni di modifica del campo. Struct cred. può essere visto sulle righe 472,473,474. . Cioè, questa azione sta ripristinando il valore UID, GID, SGID Processo creato. Dal punto di vista, è impostato su valori identificativi che solitamente usano radice . Il metodo è molto simile a quello utilizzato per gli attacchi sul sistema operativo Windows.

Puoi proteggerti senza aggiornare il sistema operativo, se apporti le seguenti modifiche alla configurazione: sudo sysctl kernel.unprivilegy_bpf_disabled = 1

CVE-2020-27194. - di nuovo vulnerabilità in EBPF. . Ci sono versioni della versione 5.8. *. I creatori di questa tecnologia stanno scherzando BPF. - Questo è JavaScript per il kernel. In effetti, questo giudizio non è lontano dalla verità. La macchina virtuale conduce davvero le manipolazioni su team che utilizzano la tecnologia JIT, che a sé continua tutte le vulnerabilità tipiche dei browser nel kernel del sistema operativo, cioè è difficile configurare il sottosistema di protezione per proteggere il codice. La vulnerabilità in esame è quella dal codice della macchina virtuale, è possibile modificare qualsiasi area di RAM. Forse questo è dovuto al fatto che la macchina virtuale non è sicura con le operazioni di lunghezza a 64 bit. Vulnerabilità completamente simile di quella che abbiamo considerato sopra.

Exploit, che è progettato per utilizzare la vulnerabilità descritta, esegue le stesse operazioni di Exploit CVE-2020-8835. Exploit algoritmo successivo:

  1. Codice di download con la lavorazione delle operazioni a 64 bit

  2. Creare un socket e invia dati per chiamare i comandi EBPF.

    1. Trovare in mente l'indirizzo della struttura Taskstruct. Eseguindo comandi in una macchina virtuale

  3. Modifica i valori UID, GID, SGID e lancia un guscio interattivo.

L'autore ha scritto il codice sorgente con nuovi chip e funzionalità aggiuntive. Offriamo al lettore di guardare il codice da solo. Le fasi elencate del lavoro dello sfruttamento sopra non si confondono.

La protezione contro questa vulnerabilità senza utilizzare gli aggiornamenti è la stessa: sudo sysctl kernel.unprivilegy_bpf_disabled = 1

Qual'è il risultato?

Sulla base di due exploit, che sono stati considerati nell'articolo, si può presumere che l'aumento dei privilegi nel moderno sistema operativo Linux non sia più magia di programmazione scura, ma un processo di modello completamente caricato che include il riutilizzo delle funzioni e degli oggetti in RAM. Allo stesso tempo, non è nemmeno necessario scrivere codice base-dipendente (shellcode) che eseguirà la maggior parte delle azioni. Basta modificare semplicemente gli identificatori utilizzati per assegnare i privilegi per gli utenti.

Scopri di più sul corso "Amministratore Linux. Professionale. "

Iscriviti per una lezione aperta "Metodi e capacità di debug degli script del guscio di bash."

Leggi di più:

Cos'è l'exploit?

Nella fase di sviluppo in tutti i programmi e le reti, i meccanismi di protezione contro gli hacker nel tipo di serrature, avvertimento sorveglianza non autorizzata, sono incorporati. La vulnerabilità è simile alla finestra aperta, per superare il quale non sarà molto difficile per un attaccante. Nel caso di un computer o di un computer, gli attaccanti possono stabilire un software dannoso utilizzando la vulnerabilità al fine di ottenere il controllo o infettare il sistema per i loro scopi mercenari con conseguenze pertinenti. La ciotola di tutto ciò accade senza la conoscenza dell'utente.

Espiatorio
Come si presentano l'exploit?

Gli exploit sono causati da errori nel processo di sviluppo del software, come risultato della quale le vulnerabilità vengono utilizzate con successo nel sistema di protezione del programma, che vengono utilizzate con successo dai cybercriminali per ottenere un accesso illimitato al programma stesso e attraverso di esso oltre all'intero computer . Gli espianti sono classificati in conformità con il tipo di vulnerabilità, che viene utilizzato da un hacker: zero giorno, dos, spoofing o xxs. Naturalmente, gli sviluppatori di programmi pubblicheranno presto gli aggiornamenti di sicurezza per eliminare i difetti trovati, tuttavia, fino a questo punto, il programma è ancora vulnerabile agli intrusi.

Come riconoscere l'exploit?

Poiché gli exploit utilizzano le barre nei meccanismi di sicurezza del programma, un normale utente non ha quasi alcuna possibilità di determinare la loro presenza. Ecco perché è estremamente importante mantenere aggiornati i programmi stabiliti, specialmente in modo tempestivo di aggiornamenti di sicurezza, fabbricati da sviluppatori di programmi. Nel caso in cui lo sviluppatore del software rilascia l'aggiornamento della sicurezza per eliminare una determinata vulnerabilità nel suo software, ma l'utente non lo stabilirà, quindi, purtroppo, il programma non riceverà le definizioni virali più recenti.

Come eliminare Exploit?

A causa del fatto che gli exploit sono la conseguenza dei difetti impegnati, la loro eliminazione è inclusa nei dazi diretti degli sviluppatori, quindi gli autori dovranno preparare e inviare una correzione degli errori. Tuttavia, l'obbligo di mantenere i programmi installati aggiornati e installare tempestivamente i pacchetti di aggiornamento per non dare la possibilità di possibilità di utilizzare le vulnerabilità, si trova completamente sull'utente. Uno dei modi possibili non perde gli ultimi aggiornamenti: utilizzare Application Manager che garantirà che tutti i programmi installati siano aggiornati o - cosa è ancora migliore - utilizzare lo strumento di ricerca e installazione automatica.

Come fermare i tentativi da parte degli hacker per utilizzare le vulnerabilità dei programmi di terze parti
  • Assicurati di aver installato gli ultimi aggiornamenti di sicurezza e patch per tutti i programmi.
  • Per essere al sicuro online e rimanere aggiornato con gli eventi, impostare tutti gli aggiornamenti immediatamente dopo il loro rilascio.
  • Installare e utilizzare Premium Anti-Virus, che è in grado di aggiornare automaticamente i programmi installati.
Ritiro da exploit

Fare affidamento sul buon senso e seguire le regole di base del lavoro sicuro su Internet. Gli hacker possono sfruttare solo la vulnerabilità se riescono a accedere al PC. Non aprire gli allegati in messaggi sospetti e non scaricare file da fonti sconosciute. Supporta i programmi installati aggiornati e inoltre installare tempestivamente gli aggiornamenti di sicurezza. Se si desidera semplificare massimalmente questa attività, scaricare Avast AntiVirus, che non solo fornirà una protezione affidabile contro tutti i tipi di malware, ma anche aiuterà con l'installazione degli aggiornamenti più recenti per i programmi di terze parti.

Добавить комментарий