DC系列靶场---DC 2靶场的渗透测试(二)

漏洞利用及探测

rbash逃逸

虽然我们现在已经可以执行切换路径命令了,但是发现还有是很多命令不能用。

我想看看一下目标主机的所有用户,是不能执行的。

那我们就用到了当前shell逃逸。第一种情况:/ 被允许的情况下;直接 /bin/sh 或 /bin/bash

第二种情况:能够设置PATH或SHELL时。

export PATH=$PATH:/bin/:/usr/bin:$PATH
export SHELL=/bin/sh

 现在我们是符合第一种情况的所以我们直接使用/bin/sh 或者 /bin/bash

 

export PATH=$PATH:/bin/:/usr/bin:$PATH

现在我们就可以使用cat命令了,当然其他命令我们也是可以进行执行的

我们通过passwd文件看到tom/bin/rbash而jerry是/bin/bash,tomshell是受限制的,而jerry的shell是不受限制的

详细请看:https://xz.aliyun.com/t/7642?page=1&time__1311=eqmxuDnGDQitdAKG%3DD%2FFnxBKR0DkqYeDBjmhoD#toc-2

 

我们现在获取到了flag3,根据它的提示说老汤姆总追着杰瑞跑。那应该下一个flag就在杰瑞身上。

su - jerry
//passwd=adipiscing

所以我们切换到jerry用户,因为jerry的shell是不受限制的。

我们看到jerry身上有个flag4,这个flag4上也很有意思

我们现在没有获得最重的旗帜,还说这没有提示,居然还说让我滚。那我就得看看怎么个事了。

关键就在最后一句 Go on - git outta here 这不就是git吗,那我们的突破点就是这个git工具了。

su -l

执行sudo -l列出jerry可以通过sudo执行的所有命令,有git,那我们就使用git进行提权。

提权

git提权

Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

GIT提权原理:

原理是git配置不当存在溢出,溢出的部分如果输入一个交互式窗口就会有交互,类似于suid那样,暂时拥有root,又写了一个交互,就真的有了root的交互。

git 的帮助信息中有一个-p | --paginate选项

这个-p的意思就是以分页的形式展示git的帮助信息,但是这里他会默认调用more来进行展示。

sudo git -p

!/bin/sh

我们再交互式的中输入!/bin/sh,可以看到我们的命令提示符变成了root。

最终flag

我们首先切换到root的工作目录,就可以看到最终的flag了。

总结:

1、我们使用nmap扫描端口的时候一定要看仔细,并不是所有的ssh都是22端口,因为考虑到安全问题,就把端口给改变了。

2、DNS服务替代解决方案:hosts文件,且它的解析优先级比DNS更高。可以将目标主机ip地址和域名写入hosts文件。

3、在做目录枚举的时,要有好的字典才能更精确查找。

4、我们在探测http时,可以根据架构目录枚举的架构判断CMS

5、我们要根据目标主机的CMS和结构来选择工具,达到精准把控。

6、不论是用户枚举还是暴力破解都需要选对字典,才能有效。

7、在进行rbash逃逸的时候,应该按照可使用的命令选择逃逸的方式,不同命令,有不同的逃逸方式。

8、每个flag都是一个提示,看仔细,不要相信它说这个没有任何提示。

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

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

相关文章

SpringBoot原理解析(二)- Spring Bean的生命周期以及后处理器和回调接口

SpringBoot原理解析(二)- Spring Bean的生命周期以及后处理器和回调接口 文章目录 SpringBoot原理解析(二)- Spring Bean的生命周期以及后处理器和回调接口1.Bean的实例化阶段1.1.Bean 实例化的基本流程1.2.Bean 实例化图例1.3.实…

go 协程池的实现

使用场景 这次需求是做一个临时的数据采集功能,为了将积压的数据快速的消耗完,但是单一的脚本消耗的太慢,于是乎就手写了一个简单的协程池: 为了能加快数据的收集速度为了稳定协程的数量,让脚本变得稳定 设计图如下…

微服务分布式事务

1、分布式事务是什么? 微服务架构中的分布式事务是指在多个服务实例之间保持数据一致性的机制。由于微服务通常涉及将业务逻辑拆分成独立的服务,每个服务可能有自己的数据库,因此当一个业务操作需要跨多个服务进行时,确保所有服务…

sbti科学碳目标倡议是什么

在科学界、工业界以及全球政策制定者的共同努力下,一个名为“科学碳目标倡议”(Science Based Targets initiative,简称SBTi)的全球性合作平台应运而生。这一倡议旨在推动企业和组织设定符合气候科学要求的减排目标,以…

问题记录-SpringBoot 2.7.2 整合 Swagger 报错

详细报错如下 报错背景,我将springboot从2.3.3升级到了2.7.2,报了下面的错误: org.springframework.context.ApplicationContextException: Failed to start bean documentationPluginsBootstrapper; nested exception is java.lang.NullPo…

信息收集Part3-资产监控

Github监控 便于收集整理最新exp或poc 便于发现相关测试目标的资产 各种子域名查询 DNS,备案,证书 全球节点请求cdn 枚举爆破或解析子域名对应 便于发现管理员相关的注册信息 通过Server酱接口接收漏洞信息 https://sct.ftqq.com/ https://github.com/easych…

2024.7.23(DNS正向解析)

回顾: # 安装 samba yum -y install samba # 自建库,只下载,不安装 yum -y install --downloadonly --downloaddir./soft/ # 配置samba vim /etc/samba/smb.conf # 配置 [xxxxxxxname] commentdasdffsffdslfdjsa path/share …

h5点击电话号跳转手机拨号

需要使用到h5的 <a>标签 我们首先在<head>标签中添加代码 <meta name"format-detection" content"telephoneyes"/>然后再想要的位置添加代码 <a href"tel:10086"> 点击拨打&#xff1a;10086 </a> 这样功能就实现…

系统架构设计师教程 第4章 信息安全技术基础知识-4.3 信息安全系统的组成框架4.4 信息加解密技术-解读

系统架构设计师教程 第4章 信息安全技术基础知识-4.3 信息安全系统的组成框架 4.3 信息安全系统的组成框架4.3.1 技术体系4.3.1.1 基础安全设备4.3.1.2 计算机网络安全4.3.1.3 操作系统安全4.3.1.4 数据库安全4.3.1.5 终端安全设备4.3.2 组织机构体系4.3.3 管理体系4.4 信息加…

redis命令超详细

redis数据结构介绍 redis是一个key-value的数据库&#xff0c;key一般是String类型&#xff0c;但是value的类型有很多&#xff1a; 基本类型&#xff1a;String,Hash,List,Set,SortedSet(可排序的不能重复的集合) 特殊类型&#xff1a;GEO,BitMap,HyperLog等 文档官网&…

emr部署hive并适配达梦数据库

作者&#xff1a;振鹭 一、达梦 用户、数据库初始化 1、创建hive的元数据库 create tablespace hive_meta datafile /dm8/data/DAMENG/hive_meta.dbf size 100 autoextend on next 1 maxsize 2048;2、创建数据库的用户 create user hive identified by "hive12345&quo…

Android --- 广播

广播是什么&#xff1f; 一种相互通信&#xff0c;传递信息的机制&#xff0c;组件内、进程间&#xff08;App之间&#xff09; 如何使用广播&#xff1f; 组成部分 发送者-发送广播 与启动其他四大组件一样&#xff0c;广播发送也是使用intent发送。 设置action&#xff…

如何在Ubuntu上安装并启动SSH服务(Windows连接)

在日常的开发和管理工作中&#xff0c;通过SSH&#xff08;Secure Shell&#xff09;连接到远程服务器是一个非常常见的需求。如果你在尝试通过SSH连接到你的Ubuntu系统时遇到了问题&#xff0c;可能是因为SSH服务未安装或未正确配置。本文将介绍如何在Ubuntu上安装并启动SSH服…

高效工作流:用Mermaid绘制你的专属流程图;如何在Vue3中导入mermaid绘制流程图

目录 高效工作流&#xff1a;用Mermaid绘制你的专属流程图 一、流程图的使用场景 1.1、流程图flowChart 1.2、使用场景 二、如何使用mermaid画出优雅的流程图 2.1、流程图添加图名 2.2、定义图类型与方向 2.3、节点形状定义 2.3.1、规定语法 2.3.2、不同节点案例 2.…

golang 字符编码 gbk/gb2312 utf8编码相互转换,判断字符是否gbk编码函数, 字符编码转换基础原理解析, golang默认编码utf8

虽然golang里面的默认编码都是统一的unicode utf8编码&#xff0c; 但是我们在调用外部系统提供的api时&#xff0c;就可能会遇到别人的接口提供的编码非 utf8编码&#xff0c;而是gbk/gb2312编码&#xff0c; 这时候我们就必须要将别人的gbk编码转换为go语言里面的默认编码ut…

2024年7月22日(nfs samba)

一、webserver 服务器&#xff1a;作用是发布nginx的web项目 1、安装nginx&#xff08;只下载不安装&#xff09; [rootweb_server ~]# yum -y install --downloadonly --downloaddir./soft/ nginx 2、配置一个本地的nginx仓库 [rootweb_server ~]# yum -y install createrepo…

微服务

微服务架构是一种设计方法&#xff0c;它将应用程序划分为一组独立的、可互相调用的服务&#xff0c;每个服务对应一个具体的业务功能。以下是微服务的一些关键知识点总结&#xff1a; 1. 微服务的基本概念 服务组件化&#xff1a;将应用程序分解为多个小的、独立的组件&…

基于vue3 + vite产生的 TypeError: Failed to fetch dynamically imported module

具体参考这篇衔接&#xff1a; Vue3报错&#xff1a;Failed to fetch dynamically imported module-CSDN博客 反正挺扯淡的&#xff0c;错误来源于基于ry-vue-plus来进行二次开发的时候遇到的问题。 错误起因 我创建了一个广告管理页面。然后发现访问一直在加载中。报的是这样…

昇思MindSpore 应用学习-K近邻算法实现红酒聚类-CSDN

K近邻算法实现红酒聚类-AI代码解析 本实验主要介绍使用MindSpore在部分wine数据集上进行KNN实验。 1、实验目的 了解KNN的基本概念&#xff1b;了解如何使用MindSpore进行KNN实验。 2、K近邻算法原理介绍 K近邻算法&#xff08;K-Nearest-Neighbor, KNN&#xff09;是一种…

立创梁山派--移植开源的SFUD万能的串行 Flash 通用驱动库

SFUD是什么 关于SFUD库的介绍&#xff0c;其开源链接(gitee,github)已经详细的阐述了. 这里是截取自它的一部分介绍&#xff1a; SFUD 是一款开源的串行 SPI Flash 通用驱动库。由于现有市面的串行 Flash 种类居多&#xff0c;各个 Flash 的规格及命令存在差异&#xff0c; SF…