# Mmap() local root exploit

**URL:** <https://www.debian-fr.org/t/mmap-local-root-exploit/12035>\
**Category:** Pause Café\
**Created:** [Février 20, 2016, 5:06 UTC](https://www.debian-fr.org/t/mmap-local-root-exploit/12035 "2016-02-20T17:06:48Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![ziouplaboum](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/z/f1d935/32.png) [@ziouplaboum](https://www.debian-fr.org/u/ziouplaboum)\
**Post date:** [Février 20, 2016, 5:06 UTC](https://www.debian-fr.org/t/mmap-local-root-exploit/12035/1 "2016-02-20T17:06:48Z")

</div>

C’est [grave](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=464953) docteur?

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 20, 2016, 5:06 UTC](https://www.debian-fr.org/t/mmap-local-root-exploit/12035/2 "2016-02-20T17:06:49Z")

</div>

On dirait… mais ça ne touche pas les 2.4 et encore moins les 2.2 on dirait 🙂 [pour Misterfreeze]

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 5:06 UTC](https://www.debian-fr.org/t/mmap-local-root-exploit/12035/3 "2016-02-20T17:06:49Z")

</div>

ni mon 2.6.24-3.  
par contre, je n’arrives pas à compiler l’exploit pour tester, j’ai des erreurs dans stdio.h 😲

---

<div class="post-metadata">

**Author:** ![dimm](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/e9bcb4/32.png) [@dimm](https://www.debian-fr.org/u/dimm)\
**Post date:** [Février 20, 2016, 5:06 UTC](https://www.debian-fr.org/t/mmap-local-root-exploit/12035/4 "2016-02-20T17:06:50Z")

</div>

J’ai essayé(pas sur mon serveur) et j’obtiens bien un accés root alors que j’étais en user…  
Donc on est obligé d’avoir déjà un compte ?  
Voila une bonne raison pour ne pas installer d’outils de compilation sur un serveur(je les désinstalle après la compilation d’un nouveau noyau).

---

<div class="post-metadata">

**Author:** ![Ashgenesis](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/57b2e6/32.png) [@Ashgenesis](https://www.debian-fr.org/u/Ashgenesis)\
**Post date:** [Février 20, 2016, 5:06 UTC](https://www.debian-fr.org/t/mmap-local-root-exploit/12035/5 "2016-02-20T17:06:51Z")

</div>

## [code]----------------------------------- 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: 0xb7dee000 … 0xb7e20000  
[+] root  
Exploit gone!  
[/code]Apparemment ça fonctionne aussi sur ubuntu (Machine au boulot)  
J’ai trouvé une version ici qui compilait sans erreurs  
[ping.uio.no/~mortehu/disable … loitable.c](http://www.ping.uio.no/~mortehu/disable-vmsplice-if-exploitable.c)

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 20, 2016, 5:06 UTC](https://www.debian-fr.org/t/mmap-local-root-exploit/12035/6 "2016-02-20T17:06:52Z")

</div>

2.2 et 2.4…

## [quote]----------------------------------- 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: 0x4014f000 … 0x40181000  
[-] vmsplice: Function not implemented  
[/quote] et surtout dédidace spéciale Misterfreeze  
Noyau 2.6.12 [size=150]sarge[/size] amd64

## [quote]----------------------------------- 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: 0x556b7000 … 0x556e9000  
[-] vmsplice: Function not implemented  
/home/boisson  
boisson@NC-13D3923EBA:~$ uname -a  
Linux NC-13D3923EBA 2.6.12-1-amd64-generic #1 Fri Jul 22 18:12:08 CEST 2005 x86\_64 GNU/Linux[/quote]

😃 😃😈

---

<div class="post-metadata">

**Author:** ![buchs](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/2acd7d/32.png) [@buchs](https://www.debian-fr.org/u/buchs)\
**Post date:** [Février 20, 2016, 5:06 UTC](https://www.debian-fr.org/t/mmap-local-root-exploit/12035/7 "2016-02-20T17:06:53Z")

</div>

## [code]$ ./a.out

## 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: 0xb7d8f000 … 0xb7dc1000  
[+] root  
[/code]

😮

---

<div class="post-metadata">

**Author:** ![bloodaxe70](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/ecae2f/32.png) [@bloodaxe70](https://www.debian-fr.org/u/bloodaxe70)\
**Post date:** [Février 20, 2016, 5:06 UTC](https://www.debian-fr.org/t/mmap-local-root-exploit/12035/8 "2016-02-20T17:06:53Z")

</div>

Ca m’affiche pareil, mais tu te retrouve pas en root 😃. noyau 2.6.23.

---

<div class="post-metadata">

**Author:** ![dimm](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/e9bcb4/32.png) [@dimm](https://www.debian-fr.org/u/dimm)\
**Post date:** [Février 20, 2016, 5:06 UTC](https://www.debian-fr.org/t/mmap-local-root-exploit/12035/9 "2016-02-20T17:06:53Z")

</div>

L’équipe de sécurité fait du bon boulot:

## [code]----------------------------------- 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: 0x2aef5a892000 … 0x2aef5a8c4000  
[-] vmsplice: Bad address  
dimm@mambo:~/exploit$ uname -a  
Linux mambo 2.6.18-dimm-7 #1 Mon Feb 11 19:07:02 CET 2008 x86\_64 GNU/Linux  
[/code]

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 20, 2016, 5:06 UTC](https://www.debian-fr.org/t/mmap-local-root-exploit/12035/10 "2016-02-20T17:06:53Z")

</div>

[quote=“dimm”]J’ai essayé(pas sur mon serveur) et j’obtiens bien un accés root alors que j’étais en user…  
Donc on est obligé d’avoir déjà un compte ?  
Voila une bonne raison pour ne pas installer d’outils de compilation sur un serveur(je les désinstalle après la compilation d’un nouveau noyau).[/quote]  
Tu le rapatries sans pbm,

## [quote]francois@totoche:/tmp$ ./root

## 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: 0xb7dcc000 … 0xb7dfe000  
[+] root  
root@totoche:/tmp#  
[/quote]  
PS: c’est le fichier d’origine, pas eu de soucis de compilation.

---

<div class="post-metadata">

**Author:** ![dimm](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/e9bcb4/32.png) [@dimm](https://www.debian-fr.org/u/dimm)\
**Post date:** [Février 20, 2016, 5:06 UTC](https://www.debian-fr.org/t/mmap-local-root-exploit/12035/11 "2016-02-20T17:06:54Z")

</div>

[code]\> :/tmp$ ./boum  
-bash: ./boum: Permission non accordée

> :/tmp$ cp boum ~/  
> :/tmp$ cd  
> :~$ ./boum  
> -bash: ./boum: cannot execute binary file  
> [/code]  
> 🙂

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 20, 2016, 5:06 UTC](https://www.debian-fr.org/t/mmap-local-root-exploit/12035/12 "2016-02-20T17:06:54Z")

</div>

[quote=“dimm”][code]\> :/tmp$ ./boum  
-bash: ./boum: Permission non accordée

> :/tmp$ cp boum ~/  
> :/tmp$ cd  
> :~$ ./boum  
> -bash: ./boum: cannot execute binary file  
> [/code]  
> 🙂[/quote]  
> Une machine où on ne peut exécuter un programme perso n’a guère d’intérêt souvent 🙂

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 5:06 UTC](https://www.debian-fr.org/t/mmap-local-root-exploit/12035/13 "2016-02-20T17:06:54Z")

</div>

[quote=“dimm”]J’ai essayé(pas sur mon serveur) et j’obtiens bien un accés root alors que j’étais en user…  
Donc on est obligé d’avoir déjà un compte ?  
Voila une bonne raison pour ne pas installer d’outils de compilation sur un serveur(je les désinstalle après la compilation d’un nouveau noyau).[/quote]Oui, enfin même sans outil de compil, avec un bête scp, tu peux importer l’exploit.  
Sinon:

## [quote]roc@roc:~/devel/C$ ./exploit ; whoami

## 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: 0x2b3a41f1a000 … 0x2b3a41f4c000  
[+] root  
Exploit gone!  
roc [/quote] Bon, mais j’avoue que le premier test à figé ma machine.

---

<div class="post-metadata">

**Author:** ![dimm](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/e9bcb4/32.png) [@dimm](https://www.debian-fr.org/u/dimm)\
**Post date:** [Février 20, 2016, 5:06 UTC](https://www.debian-fr.org/t/mmap-local-root-exploit/12035/14 "2016-02-20T17:06:54Z")

</div>

Ben si je peux:

[code]\> :~$ cat test  
#!/bin/sh

echo “salut”

> :~$ ./test  
> salut  
> [/code]  
> Dans /tmp c’est normal il est en noexec, mais je ne sais pas pourquoi il échoue dans mon répertoire perso.

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 20, 2016, 5:06 UTC](https://www.debian-fr.org/t/mmap-local-root-exploit/12035/15 "2016-02-20T17:06:55Z")

</div>

> [@](#):
>
> et surtout dédidace spéciale Misterfreeze

J’ai déjà dis sur le post en question que je m’étais planté. 😕

---

<div class="post-metadata">

**Author:** ![Ashgenesis](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/57b2e6/32.png) [@Ashgenesis](https://www.debian-fr.org/u/Ashgenesis)\
**Post date:** [Février 20, 2016, 5:07 UTC](https://www.debian-fr.org/t/mmap-local-root-exploit/12035/16 "2016-02-20T17:07:19Z")

</div>

[Le même exploit mais donnant réellement un shell root 😉](http://www.milw0rm.com/exploits/5092)
