Sergio Corpettini : 4 Aprile 2024 15:25
Su X, Lau (@notselwyn) (https://twitter.com/notselwyn/) ha rilasciato il 26 marzo un blogpost su https://pwning.tech/nftables/ descrivendo un elaborato attacco al kernel Linux che permette privilege escalation sfruttando una vulnerabilità in nf_tables. Il POC, pubblicato su Github, partendo da una doppia free() porta il kernel a eseguire codice arbitrario con privilegi root.
Un attacco di privilege escalation permette, partendo da privilegi utente, di ottenere privilegi più alti, generalmente quelli di amministratore, o root.
Il Kernel é il primo strato di software che “abbraccia” e protegge l’hardware. Nei moderni sistemi operativi, uno dei suoi compiti più importanti è mantenere i processi in isole separate e protette. In alcuni casi un processo ha bisogno di accedere a risorse “privilegiate” e in quel caso può chiedere gentilmente al kernel di provvedere lui a eseguire la richiesta con i suoi superpoteri e rispondere in seguito al processo chiamante con il risultato, senza bisogno di mandare in esecuzione l’intero processo con privilegi elevati.
CORSO NIS2 : Network and Information system 2
La direttiva NIS2 rappresenta una delle novità più importanti per la sicurezza informatica in Europa, imponendo nuovi obblighi alle aziende e alle infrastrutture critiche per migliorare la resilienza contro le cyber minacce.
Con scadenze stringenti e penalità elevate per chi non si adegua, comprendere i requisiti della NIS2 è essenziale per garantire la compliance e proteggere la tua organizzazione.
Accedi All'Anteprima del Corso condotto dall'Avv. Andrea Capelli sulla nostra Academy e segui l'anteprima gratuita.
Per ulteriori informazioni, scrivici ad [email protected] oppure scrivici su Whatsapp al 379 163 8765
Supporta RHC attraverso:
Ti piacciono gli articoli di Red Hot Cyber? Non aspettare oltre, iscriviti alla newsletter settimanale per non perdere nessun articolo.
Un Kernel Exploit attacca direttamente questa catena di comunicazione fra userland e kernel riuscendo a far eseguire al kernel qualcosa che non dovrebbe, risultando nell’esecuzione di codice proveniente da userland con i privilegi del kernel. Ma vediamo qualche dettaglio in più.
Il kernel linux si occupa anche della sicurezza di rete, “siede” direttamente sulle schede di rete, analizza il traffico e applica le regole del firewall interno. Le regole del firewall vengono definite tramite Netfilter.
@notselwyn inizia il dialogo col kernel impostando una nuova regola Netfilter forgiata ad hoc da userland che forza il kernel a liberare un’area di memoria due volte di seguito (la doppia free() citata all’inzio). Poi inizia a saturare il kernel con pacchetti forgiati appositamente per impattare quella regola.
A questo punto il kernel è molto confuso: forzandolo a liberare un’area di memoria due volte di seguito, il processo in userland sarà in grado di accedere a quella memoria utilizzando un puntatore che in teoria non avrebbe dovuto più essere accessibile. Questo dà accesso al processo userland ad aree di memoria privilegiate.
Esistono meccanismi nel Kernel che dovrebbero proteggere da questo genere di attacchi, ma utilizzando tecniche che vanno oltre le finalità di questo articolo (vi rimando all’articolo del ricercatore che ha scoperto questo bug, https://pwning.tech/nftables/ per l’approfondimento) è possibile evadere i controlli di prevenzione e arrivare a “forzare la mano” al kernel per fargli eseguire codice arbitrario con privilegi elevati. Codice arbitrario nel kernel significa pieno accesso a tutto: Bingo! Sei amministratore.
La vulnerabilità use-after-free nel componente Netfilter del kernel Linux è stata catalogata come CVE-2024-1086. La CVE impatta la maggior parte dei kernel linux “vanilla” versione 5.15.y 6.1.y e 6.6.y.
Un bugfix per questa vulnerabilità è stato incluso nelle branch stable del kernel a partire da Febbraio 2024. L’impatto è ALTO (CVSSv3 7.8) poiché si tratta di un attacco diretto al Kernel e copre una configurazione “vanilla” che molte distribuzioni usano. Nell’ambito dello sviluppo del kernel Linux, il kernel “vanilla” è il kernel ufficialmente distribuito da Linus Torvalds e dai progettisti Linux, senza alcuna patch aggiuntiva.
Aggiornare con regolarità il kernel all’ultima versione stabile su tutte le vostre macchine Linux. Gli aggiornamenti kernel specialmente nelle versioni LTE sono critici e vanno trattati con la massima urgenza. La massima “se funziona, non si tocca” non si applica a questo genere di aggiornamenti: una politica dei backup dei sistemi è indispensabile, come testare anche prima di mandare in produzione modifiche, ma mantenere i vostri sistemi, anche casalinghi, con una postura di sicurezza accettabile è imprescindibile.
In aggiunta, un’altra considerazione, forse un consiglio “old school” se vogliamo, potrebbe essere quella di cercare di mantenere il kernel in uso il più “minimale” possibile: ricompilarlo per la macchina su cui gira con i soli moduli di cui si ha veramente bisogno; ciò è qualcosa che potrebbe essere di difficile attuazione, specialmente in ambienti in cui ci si trova a dover gestire molti sistemi eterogenei.
Gli esperti hanno lanciato l’allarme: i gruppi ransomware stanno utilizzando sempre più spesso il nuovo malware Skitnet (noto anche come Bossnet) per lo sfruttamento successivo delle ...
Nel panorama delle minacce odierne, Defendnot rappresenta un sofisticato malware in grado di disattivare Microsoft Defender sfruttando esclusivamente meccanismi legittimi di Windows. A differenza di a...
Molti credono che l’utilizzo di una VPN garantisca una protezione totale durante la navigazione, anche su reti WiFi totalmente aperte e non sicure. Sebbene le VPN siano strumenti efficaci per c...
Durante una conferenza nazionale dedicata alla sicurezza informatica, sono stati ufficialmente premiati enti, aziende e professionisti che nel 2024 hanno dato un contributo significativo al National I...
Nel mondo della cybersecurity esiste una verità scomoda quanto inevitabile: per difendere davvero qualcosa, bisogna sapere come violarlo. L’autenticazione multi-fattore è una delle co...
Copyright @ REDHOTCYBER Srl
PIVA 17898011006