靶机渗透之ConnectTheDots

对于vulnhub中的靶机,我们都需先下载镜像,然后导入VM,并将网络连接改为NAT模式。首先我们再来看一下靶机渗透的步骤:信息收集-漏洞分析-漏洞利用-提权。基本都是这个三个步骤,接下来开始我们今天的靶机渗透吧! 

信息收集

主机发现

端口扫描

21/tcp FTP: 文件传输协议,用于在网络之间进行文件上传/下载。

80/tcp HTTP: 超文本传输协议,用于运行网络服务器提供网页等内容。这里为Apache HTTP服务器。

111/tcp rpcbind: RPC散列服务,用于映射RPC程序号到程序名称,统一RPC服务管理。

2049/tcp NFS: 网络文件系统协议,支持不同主机间共享文件系统。

7822/tcp SSH: 安全Shell协议,用于安全地远程登录和执行命令。这里为OpenSSH程序。

漏洞扫描

根据nmap扫描结果分析:

目标主机192.168.11.135上开放了21/tcp(ftp)、80/tcp(http)、111/tcp(rpcbind)、2049/tcp(nfs)几个端口

http服务上存在SQL注入漏洞,有可能利用的URL已给出,需进一步验证和利用

http服务器可能存在内部IP泄露的问题

nmap使用的脚本检测出一些其他可能的安全问题,如存储型XSS和CSRF,但未确定真实存在

111/tcp(rpcbind)和2049/tcp(nfs)服务可能存在一定的安全隐患

目录扫描

后续漏洞分析可以用到扫描出来的目录。

漏洞分析

信息收集知道有nfs,,ftp服务,先尝试登录ftp,啥也找不到。

用showmount尝试查看一下是否有共享目录(-e参数用于导出挂载目录):

要注意细节!这可能是一个用户名morris,

将NFS服务器的一个共享目录以本地文件系统的形式挂载到客户端进行访问。

查看里面文件

  • 白色:表示普通文件
  • 蓝色:表示目录
  • 绿色:表示可执行文件
  • 红色:表示压缩文件
  • 浅蓝色:链接文件

读取权限都不够,看不了。

再打开首页面看看

查看源代码

可以得到的信息:“他们给我起名叫M,给你起名叫N。嗯,除了名字的首字母外,我们的名字完全一样

你除了备份什么都找不到“

接着打开目录扫描得到的文件   

确实是图片,没有什么信息

没什么发现

再尝试/mysite这个目录,看看有没有发现。看到好几个文件。其中关注一下min.cs。

下载一下

下载之后会发现是JSfuck编码,让我看解密一下看看

有一个提示为TryToGuessThisNorris@2k19,感觉像是登录密码之类的,先收下。

在首页的时候,有过一个提示“他们给我起名叫M,给你起名叫N”所以

Norris@2k19中Norris会不会也是一个用户名

由此就知道两个用户名Norris,morris。

由开放端口可以知道有服务ssh,ftp.来根据用户名登陆一下

用户名为norris 密码为TryToGuessThisNorris@2k19   

登录成功

查看目录下有哪些文件,看到有user.Txt。得到第一个flag

接下来就提权

提权

首先寻找有s位的文件:

重点关注这个/usr/lib/policykit-1/polkit-agent-helper-1,该文件的属主和数组都是root,且具有s位权限,可以以属主的身份运行,应该可以提权:

polkit是linux系统中针对文件权限管理的一套机制,而helper相当于是充当一个介于操作者与被操作文件的一个中介,会通过这个helper去调用执行文件。因此如果我们能够借助helper的高权限,以root的身份调用bash,即可实现提权。可以通过如下的命令实现触发polkit-agent-helper-1,并借用polkit-agent-helper-1的root高权限启动bash进行提权。

可以使用systemd-run -r启动伪终端,此时会通过polkit-agent-helper-1启动,而polkit-agent-helper-1具有高权限,因此就有可能实现提权。

如图所示,输入norris的凭据TryToGuessThisNorris@2k19后提权成功,也得到了第二个flag。

 总结

这个靶机有点难度,首先在信息收集部分了解到开放的端口和对应的服务,可以看到有ftp,ssh,nfs,可以从这几个角度进行靶机渗透。然后就到了漏洞分析,首先就是先从登录ftp入手,最后也失败。然后就是看有无共享文件夹,最后从这里面找到一个用户名,这个需要很细心才能注意到,而且这个也是从后面登录首页面提示中得到证实,他就是其中的一个用户名。最后就在一个目录中找到了一个被jsfuck编码的,然后解码之后得到了另一个用户名以及密码。最后就利用得到的用户名及其密码进行登录,找到了第一个flag。最后就是提权,我第一次见这种提权方法,就先找到具有s位的文件,最后利用 polkit来提权,总之不是很容易。最后,如果哪里有问题还请大家帮忙指出!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

qt QRadioButton 及QButtonGroup 使用

QRadioButton 放在组合框QGroupBox中,再点击时,即使有多个QRadioButton按钮,同时选中的也就只有一个。 如下图所示, 对于多个QRadioButton,每个按钮都写一个槽函数是不太明智的选择,需要将QRadioButton放在…

续上一篇---Jetson Xavier NX 开发板板载摄像头教程

测试摄像头,打开 NX 的终端 写入命令:nvgstcapture-1.0 摄像头就会起来了,想关掉摄像头的话,直接在终端输入 q 再按回车;想捕获图片的话,在终端输入 j 再按回车,图片将保存当前目录下。 手册中…

html基础操练和进阶修炼宝典

文章目录 1.超链接标签2.跳锚点3.图片标签4.表格5.表格的方向属性6.子窗口7.音视频标签8.表单9.文件上传10.input属性 html修炼必经之路—各种类型标签详解加展示&#xff0c;关注点赞加收藏&#xff0c;防止迷路哦 1.超链接标签 <!DOCTYPE html> <html lang"en…

使用Python语言实现一个基于动态数组的序列队列

一、动态数组的实现 首先&#xff0c;我们需要创建一个DynamicArray类&#xff0c;该类将管理我们的动态数组。 动态数组能够动态地调整其大小&#xff0c;以容纳更多的元素。 目录 一、动态数组的实现 代码示例&#xff1a; 二、序列队列的实现 接下来&#xff0c;我…

Flutter Text 下划线

IntrinsicWidth(child: Column(mainAxisAlignment:MainAxisAlignment.center,children: [Text("工单名称",style: TextStyle(overflow: TextOverflow.fade,color: AppColors.baseColor,fontSize: 15.sp,// decorationStyle: TextDecorationStyle.dashed),),Container…

PCIE Retimer

1 Retimers retimer是一种PCIE的扩展设备&#xff0c;用于长距离高效地传输数据&#xff0c;起到一种中继器的作用。在EP和RC中间最多允许两级retimers级联&#xff0c;其可以分为纯模拟类&#xff0c;它是一种对物理层协议无关的芯片&#xff1b;另一种便是与物理层交互的芯片…

xsslabs第四关

测试 "onclick"alert(1) 这与第三关的代码是一样的&#xff0c;但是每一关考的点是不一样的所以我们看一下源代码 <!DOCTYPE html><!--STATUS OK--><html> <head> <meta http-equiv"content-type" content"text/html;ch…

奇安信发布《2024人工智能安全报告》,AI深度伪造欺诈激增30倍

2024年2月29日&#xff0c;奇安信集团对外发布《2024人工智能安全报告》&#xff08;以下简称《报告》&#xff09;。《报告》认为&#xff0c;人工智能技术的恶意使用将快速增长&#xff0c;在政治安全、网络安全、物理安全和军事安全等方面构成严重威胁。 《报告》揭示了基于…

生成式AI与仿真

仿真模型是物理对象、系统或过程的虚拟表示&#xff0c;可预测其在不同场景中的行为和性能。 如今&#xff0c;仿真模型广泛应用于各行各业&#xff0c;以优化流程、为决策提供信息并创建数字孪生。 几十年来&#xff0c;仿真模型一直被用来对复杂的系统和过程进行建模。 这些…

性能测试-CPU使用率过高问题

一、通过jstack排查 1.通过top命令找到cpu占用高的应用程序进程 top 2.通过top -Hp pid查看该应用中占用CPU高的线程 top -Hp 5649 下图中是线程id 3.通过printf "%x\n" [线程id] 将线程高的线程号转为十六进制。 4.通过jstack过滤该十六进制的关键信息。jstack [进程…

阿里云短信发送

阿里云短信 发送短信验证码是现在日常生活中很常见的事务&#xff0c;但相信很多人都只是接受过验证码&#xff0c;并不知道验证码的生成过程&#xff0c;也不知道如何自己创建一个验证码。会简单介绍如何通过阿里云来创建一个验证码短信。 一、首先打开阿里云官网 官网&…

Intel 芯片 Mac 如何重新安装系统

使用可引导安装器重新安装&#xff08;可用于安装非最新的 Mac OS&#xff0c;系统降级&#xff0c;需要清除所有数据&#xff0c;过程确保连接上网络&#xff0c;虽然这种方式不会下载 Mac OS&#xff0c;但是需要下载固件等信息&#xff09; 插入制作好的可引导安装器&#x…

MYSQL--JDBC*

一.介绍: 1.JDBC是一种用于执行SQL于语句的JAVA API,JDBC是一种使用JAVA访问数据库的执行规范标准,能够为不同的数据库提供统一的访问!由一组使用JAVA语言编写的接口以及类组成的 2.JDBC核心的类以及相关的接口主要有: DriverManager 注册驱动 Connection 使用…

【学习心得】Python调用JS的三种常用方法

在做JS逆向的时候&#xff0c;一种情况是直接用Python代码复现JS代码的功能&#xff0c;达成目的。但很多时候这种方法有明显的缺点&#xff0c;那就是一旦JS代码逻辑发生了更改&#xff0c;你就得重写Python的代码逻辑非常不便。于是第二种情况就出现了&#xff0c;我直接得到…

ccadmin - 可免费试用的 FreeSWITCH web管理后台

ccadmin - FreeSWITCH web管理后台 简介免费测试在线预览功能说明 简介 顶顶通呼叫中心中间件Web后台管理系统简称CCAdmin-Web&#xff0c;用于管理和配置顶顶通呼叫中心中间件。因为顶顶通呼叫中心中间件是基于FreeSWITCH开发的&#xff0c;所以CCAdmin本质上也是一个FreeSWI…

【论文精读】DINOv2

摘要 学习与特定任务无关的预训练表示已经成为自然语言处理的标准&#xff0c;这些表示不进行微调&#xff0c;即可在下游任务上明显优于特定任务模型的性能。其主要得益于使用无监督语言建模目标对大量原始文本进行预训练。 遵循NLP中的这种范式转变&#xff0c;以探索计算机视…

C语言第三十三弹---动态内存管理(上)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】 动态内存管理 1、为什么要有动态内存分配 2、malloc和free 2.1、malloc 2.2、free 3、calloc和realloc 3.1、calloc 3.2、realloc 4、常见的动态内存的错…

《Spring Security 简易速速上手小册》第5章 高级认证技术(2024 最新版)

文章目录 5.1 OAuth2 和 OpenID Connect5.1.1 基础知识详解OAuth2OpenID Connect结合 OAuth2 和 OIDC 5.1.2 重点案例&#xff1a;使用 OAuth2 和 OpenID Connect 实现社交登录案例 Demo 5.1.3 拓展案例 1&#xff1a;访问受保护资源案例 Demo测试访问受保护资源 5.1.4 拓展案例…

Redis 【1】—— 安装 与 配置

Redis 【1】—— 安装 与 配置 一、安装 与 配置&#xff08;一&#xff09;使用 yum 安装&#xff08;二&#xff09;创建符号链接1. 软链接2. 相关指令 &#xff08;三&#xff09;修改配置文件&#xff08;四&#xff09;Redis 的启停 一、安装 与 配置 &#xff08;一&…

金融短信群发平台具有那些特点

金融短信群发平台的特点主要包括以下几个方面&#xff1a; 1.高效性&#xff1a;金融短信群发平台能够快速地发送大量的短信&#xff0c;使得金融信息能够迅速传达给目标客户&#xff0c;保证了信息的及时性和有效性。 2.安全性&#xff1a;金融短信群发平台对于信息的安全性非…