DC-9靶机通关
这是这个系列的最后一个靶机了!!!经过前面的锻炼和学习,这次我的目标是尽量不借助任何教程或者提示来拿下这个靶机!!!下面我们看能不能成功!!!
1.实验环境
攻击机:kali2023.2
靶机:DC-9
2.信息收集
2.1主机扫描
2.2端口扫描
3.功能点收集
3.1查看网页
3.2寻找功能点,看看有什么可以下手的思路
大家这里思考一个问题,我们目前有什么,一个是80端口一个是22端口,22端口无非就是能进行爆破然后远程连接,这种概率肯定很小,需要运气,其次就是80端口的web服务,然后我们发现的功能点一个是搜索一个是登录,那对应的可能的漏洞是不是就是弱口令和sql注入,因为我们想要getshell的话无非就是弱口令,注入漏洞,文件上传,文件包含或者RCE,有人会说那不是还有可能存在其他的一些xss之类的漏洞吗?我们现在不是在挖洞,那些漏洞很鸡肋并不能getshell,所以这里是不去考虑那些的,弱口令需要时间和运气,所以这里优先尝试一下sql注入行不行!
4.SQL注入
4.1找注入点
4.2跑sqlmap
4.3尝试登录
5.文件包含
5.1通过admin寻找线索
这里其实就出现一个问题,目标的22端口被过滤了,那么我们如何判断他到底是开放着的还是关闭着的,只有先判断出开没开,然后才能考虑下一步操作,如果是关着的那还搞个毛,直接跑路。如果是开着的那我们再想办法绕过他,因为这种过滤多半是防火墙设置导致的!这里给一篇文章大家参考一下在这种情况下应该如何判断端口是否开放!nmap扫描之端口“filtered“被过滤的分析_nmap filtered-CSDN博客
再放一篇关于端口状态的文章,大家可以多了解了解!
NMAP 六种端口状态解读_nmap filtered-CSDN博客
5.2端口敲门技术
这个东西我也是第一次听到,咱们去网上搜搜是怎么回事!
DC-9靶机-简单谈一下端口敲门技术 (Port Knocking)-CSDN博客
如何在 Linux 上使用端口敲门(以及为什么不应该) (linux-console.net)
我大致理解了一下就是说对方为了安全起见,在防火墙上对端口进行了保护,只有符合规则的流量才可以通过防火墙访问被保护的端口,正常来说这个规则只有使用者知道,这样的话可以起到防护作用,像22号端口就属于比较危险的端口,被保护起来也是可以理解的!
其实nmap也是通过流量访问来进行检测的,然而我们直接扫描的流量肯定是不符合人家规定的自然打过去以后会被抛弃或者过滤,这种情况下nmap给我们的会先结果要么是filter不确定是否开放甚至说是closed关闭状态!
然后我们在上面的文章中也可以了解到,这鸟毛玩意儿的配置是通过在相关的配置文件中进行设置然后搞出来的,就像我们平常配置中间件什么的一样,所以原来文件包含是用来让我们查看这个端口敲门的配置文件的,到这里豁然开朗了!这个配置文件的路径是 /etc/knockd.conf
nc -z IP 7469 8475 9842 //这个是配置文件里的那三个数字
然后其实就该爆破了,因为做这个就像做数学题一样,每个条件都要用到,既然文件包含已经有它的用处了,那剩下还没用的条件就是22号端口连接ssh了,而且我们现在还有一些账号密码在手上!
5.3ssh爆破远程连接
6.寻找提权思路
6.1ssh登录寻找线索
这里登上来之后发现三个账户下面啥都没有,这里卡住了,找了半天没有找到有用的东西,三个账户都没有可以suid和sudo提权的命令!
find / -user root -perm -4000 -print 2>/dev/null
6.2Linux常用提取方法
在Linux系统中,提权是指从低权限用户提升至超级用户(root)权限的过程。这通常是在渗透测试或系统管理中需要执行的操作,以便执行更多的系统级任务。以下是一些常见的Linux提权方法:
内核漏洞提权
Linux操作系统的内核是系统的核心,一旦存在安全漏洞,攻击者可以利用这些漏洞获取root权限。例如,著名的“脏牛”漏洞就是一种内核漏洞,可以被利用来提升权限。使用uname -a命令可以查看当前系统的内核版本,如果系统版本存在已知的漏洞,可以尝试利用相应的漏洞提权工具或脚本。
SUID提权
SUID(Set Owner User ID)是Linux中的一个特殊权限位,当设置了SUID权限的可执行文件被运行时,该程序将以文件所有者(通常是root)的权限运行。通过查找系统中具有root权限的SUID文件,可以尝试利用这些文件来提升权限。使用以下命令可以查找具有SUID权限的文件:
find / -perm -u=s -type f 2>/dev/null
计划任务提权
如果计划任务(Cron Jobs)以root权限运行,并且相关脚本对其他用户具有写权限,或者脚本所属组为其他用户,则可以通过修改这些脚本来提权。可以通过查看/etc/crontab文件来发现系统中的计划任务,并检查相关文件的权限。
sudo滥用提权
在某些情况下,系统中的某些用户可能被授予了可以以root权限运行特定命令的sudo权限。如果可以找到这样的命令,就可以尝试利用它们来提升权限。使用sudo -l命令可以查看当前用户能以root权限运行的命令。
配置错误之利用/etc/passwd提权
如果/etc/passwd文件对其他用户具有写权限,攻击者可以通过向该文件中添加一个UID为0的用户来获取root权限。这通常涉及到修改系统文件,需要谨慎操作。
以上是一些基本的Linux提权方法,每种方法都有其适用的场景和限制。在尝试提权时,应该首先收集尽可能多的系统信息,然后根据情况选择合适的提权方法。提权过程中可能需要使用到各种工具和脚本,如内核漏洞利用工具、密码破解工具等。在实际操作中,提权往往需要结合多种技术和方法,以及对系统的深入了解。
因为suid和sudo提权比较常用,所以我看到不能用之后就跑去看能不能脏牛提权或者定时任务去了,后面看了一下提示才发现跑偏了!这里就有一个坑,登上去之后一定要看一下有没有隐藏目录或者文件!!!!!!!!!!!
6.3隐藏文件
6.4sudo提权
openssl passwd -1 -salt 账号 密码 //这里账号密码尽量简单一些,不然可能会出问题在加密的时候
echo 'topsec:$1$topsec$0sD7IikM54/bEsFnRrIPv/:0:0:root:/root:/bin/bash' > /tmp/tiquan2sudo /opt/devstuff/dist/test/test /tmp/tiquan2 /etc/passwd
7总结
这个靶机我感觉非常美妙,涉及到的东西还是非常全面的,建议大家多打一打!
我认为涉及到的一些经典的姿势有:端口扫描,sql注入,文件包含,爆破,端口敲门,sudo提权,以及大家对python脚本的理解,还有对Linux的很多命令的理解,就包括那个坑人的隐藏文件!
相关文章:

DC-9靶机通关
这是这个系列的最后一个靶机了!!!经过前面的锻炼和学习,这次我的目标是尽量不借助任何教程或者提示来拿下这个靶机!!!下面我们看能不能成功!!! 1.实验环境 攻…...
前端注释都应该怎么写?
以下是一些前端注释的例子,展示了如何应用前面提到的建议: 1. 使用清晰、简洁的语言 // 计算两个数的平均值 function calculateAverage(a, b) {return (a b) / 2; }2. 描述代码的目的和功能 // 将日期格式化为 "YYYY-MM-DD" 的字符串 fun…...

深入解析缓存模式下的数据一致性问题
今天,我们来聊聊常见的缓存模式和数据一致性问题。 常见的缓存模式有:Cache Aside、Read Through、Write Through、Write Back、Refresh Ahead、Singleflight。 缓存模式 Cache Aside 在 Cache Aside 模式中,是把缓存当做一个独立的数据源…...

嵌入式常用功能之通讯协议1--IIC
嵌入式常用功能之通讯协议1--串口 嵌入式常用功能之通讯协议1--IIC(本文) 嵌入式常用功能之通讯协议1--SPI 一、IIC总线协议介绍 Inter-Integrated Circuit(集成电路总线),是由 Philips 半导体公司(现在的 NXP 半导体…...

【Wi-Fi】Wi-Fi 7(802.11be) Vs Wi-Fi 8 (802.11bn)
介绍 WiFi 7 (802.11be) 是 WiFi-6 (802.11ax) 的继任者,旨在提高数据速率并减少拥挤环境中的延迟。 WiFi 8 (8021.1bn)是后续标准,专注于提高 WLAN 连接的可靠性, 提高…...
Ubuntu软件包管理机制
文章目录 🍊自我介绍🍊Ubuntu软件包管理机制🍊软件安装命令详解: 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞关注评论收藏(一键四连)哦~ 🍊自我介绍 Hello,大家好…...
SpringBoot详解:概念、优点、运行方式、配置文件、异步请求及异常处理
一、什么是SpringBoot? SpringBoot是一个基于Spring框架的开源项目,它简化了Spring应用的初始搭建以及开发过程。它提供了自动配置、起步依赖、Actuator、命令行界面等特性,使得开发者可以快速构建出一个独立、生产级别的Spring应用。 二、…...
npm install -g @vue/cil 非常卡慢
安装 vue/cli 时遇到卡慢的情况通常和网络问题有关,特别是国内的网络环境下访问 npm 的服务器可能较慢。你可以尝试以下几种方法来加速: 使用淘宝镜像源 淘宝 NPM 镜像源对国内用户更加友好。你可以临时使用淘宝镜像源安装 vue/cli: npm inst…...
Windows 基础 (二):系统目录与环境变量
内容预览 ≧∀≦ゞ Windows 基础 2:系统目录与环境变量声明系统目录系统核心目录其他重要日志目录应用程序数据目录用户数据目录隐藏目录 环境变量1. 查看环境变量2. 设置永久环境变量3. 查看特定环境变量的值4. 环境变量的存储位置5. 自定义环境变量的应用 结语 Wi…...

World of Warcraft [CLASSIC][80][the Ulduar] BOSS 05 06 07
BOSS-05-钢铁议会 BOSS-06-科隆加恩(无困难模式) BOSS-07-欧尔莉亚(无困难模式)...

World of Warcraft [CLASSIC][80][the Ulduar] BOSS 12 13
BOSS-12-维扎克斯将军 BOSS-13-尤格萨隆...

第一篇 硬件篇1[学习-来自 正点原子]
在电路设计中,TVS(瞬态电压抑制器)是一种有效的保护元件,可以用来防止瞬时过电压对芯片和其他敏感器件造成损坏。 STM32F103RCT6作为MCU 一键下载电路的具体实现过程: 首先, mcuisp控制 DTR输出低电平&…...

【TextIn:开源免费的AI智能文字识别产品(通用文档智能解析识别、OCR识别、文档格式转换、篡改检测、证件识别等)】
TextIn:开源免费的AI智能文字识别产品(通用文档智能解析识别、OCR识别、文档格式转换、篡改检测、证件识别等) 产品的官网:TextIn官网 希望感兴趣以及有需求的小伙伴们多多了解,因为这篇文章也是源于管网介绍才产出的…...
C++语言有哪些常用语句?
1. 变量定义语句 在 C 中,首先要定义变量才能使用。例如 int a;定义了一个整型变量a。这是很基础的语句,它告诉编译器为变量a分配内存空间,用于存储整数值。 如果要定义多个相同类型的变量,可以写成 int a, b, c;除了基本数据类…...
linux alsa-lib snd_pcm_open函数源码分析(二)
访问原版内容,可直接到博客 linux alsa-lib snd_pcm_open函数源码分析(二) https://blog.whatsroot.xyz/2020/08/12/alsa_snd_open-analysis-2/ 系列文章其他部分: linux alsa-lib snd_pcm_open函数源码分析(一) linux alsa-lib snd_pc…...
机翼的抖振与颤振
机翼的抖振与颤振 1. 机翼颤振:飞机设计的隐形杀手2. 机翼抖振:由气流不稳定性引起的振动3. 两种振动的区分和管理3.1 检测与预防 机翼的颤振和抖振是飞机设计和航空工程师面临的两个重要技术问题。这两种现象虽然都与机翼的振动相关,但它们的…...
React04 State变量 组件渲染
State变量 & 渲染和提交 State 变量state 变量的使用State 是隔离且私有的 组件渲染 State 变量 state 变量的使用 导入 useState import { useState } from react;定义一个 state 变量 const [index, setIndex] useState(0);useState 的唯一参数是 state 变量的初始值…...

【数据库系统概论】第3章 关系数据库标准语言SQL(一)数据查询(超详细)
目录 一、单表查询 1. 简单的数据查询 (1)选择表中若干列 (2)选择表中若干行(元祖) 2. 聚合函数与分组查询 聚集函数 GROUP BY分组查询 二、联接查询 1、连接概述 2. 内联接(INNER JO…...

mysql-恢复数据(日志管理)
前言 在mysql中我们有时候会出现误删除,或者其他的问题,我们可以通过mysql的日志进行恢复 操作 我们可以在mysql里面定义一个错误日志,方便我们可以排查是因为什么原因来解决mysql无法启动问题 ----------------------------------------…...

探索Unity:从游戏引擎到元宇宙体验,聚焦内容创作
unity是实时3D互动内容创作和运营平台,包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助Unity将创意变成现实。提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...

MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...

Windows电脑能装鸿蒙吗_Windows电脑体验鸿蒙电脑操作系统教程
鸿蒙电脑版操作系统来了,很多小伙伴想体验鸿蒙电脑版操作系统,可惜,鸿蒙系统并不支持你正在使用的传统的电脑来安装。不过可以通过可以使用华为官方提供的虚拟机,来体验大家心心念念的鸿蒙系统啦!注意:虚拟…...