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内容,支持平台包括手机、…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...
