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)的全球性合作平台应运而生。这一倡议旨在推动企业和组织设定符合气候科学要求的减排目标,以…

2023年国际高校数学建模竞赛

2023年国际高校数学建模竞赛是一项由国际(澳门)学术研究院数学科学研究所、数学建模研究与应用期刊社联合香港数学研究与应用学会主办的国际性学科竞赛,该竞赛已获澳门特别行政区政府澳门基金会(行政长官直属)立项资助。以下是对该竞赛的详细…

生成式AI未来发展方向充满了无限可能与挑战

生成式AI,作为人工智能领域的一个前沿分支,其未来发展方向充满了无限可能与挑战,将对多个行业产生深远影响。以下是我对生成式AI未来发展方向的几点看法: 技术融合与创新 未来,生成式AI将更加注重与其他技术的深度融合…

问题记录-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…

从苏宁电器到卡巴斯基(第二部)第36篇:我当高校教师的这几年 XII

你们是八九点钟的太阳 想想也是有趣,自从我2018年3月入职X高校之后,一直到2019年9月,在这3个学期的时间里面,我讲课的对象全都是大三的同学,而且都是属于专业方向课,比如网络安全、物联网这种。第一学期尽管也教过C++,但是他们毕竟已经是大三第二学期,从心态上来说,他…

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> 这样功能就实现…

海量数据处理(面试)

海量数据 1、从大量的URL中找出相同的URL 解法&#xff1a; 分治法&#xff1a; 如果是单个很大的文件&#xff0c;直接划分文件&#xff0c;按特定大小划分&#xff0c;然后多线程&#xff0c;用map对各个文件进行统计。 如果是两个很大的文件&#xff0c;a和b。通过遍历a…

如何在Linux上安装配置Nexus私有仓库

在Linux上安装和配置Nexus私有仓库需要以下步骤&#xff1a; 下载Nexus Repository Manager&#xff1a; 首先&#xff0c;访问Sonatype Nexus官方网站&#xff08;https://www.sonatype.com/nexus-repository-oss&#xff09;并下载适用于Linux的最新版本的Nexus Repository M…

系统架构设计师教程 第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等 文档官网&…

使用编译器指令将此函数定位在指定地址处

#include <stdio.h> // 使用编译器指令将此函数定位在0x08001000地址处 void my_function() attribute((section(“.ARM.__at_0x08001000”))); void my_function() { printf(“Function located at 0x08001000\n”); } int main() { my_function(); return 0; }

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服…