您的位置:首页 >PowerShell 后门配置 | Windows 安全隐患解析
发布于2025-07-29 阅读(0)
扫一扫,手机访问
PowerShell 控制台与 Bash 不同,支持多个配置文件。这些配置文件的执行顺序如下:
所有用户,所有主机:
$PSHOME\Profile.ps1/opt/microsoft/powershell/7/profile.ps1/usr/local/microsoft/powershell/7/profile.ps1所有用户,当前主机:
$PSHOME\Microsoft.PowerShell_profile.ps1/opt/microsoft/powershell/7/Microsoft.PowerShell_profile.ps1/usr/local/microsoft/powershell/7/Microsoft.PowerShell_profile.ps1当前用户,所有主机:
$HOME\Documents\PowerShell\Profile.ps1~/.config/powershell/profile.ps1~/.config/powershell/profile.ps1当前用户,当前主机:
$HOME\Documents\PowerShell\Microsoft.PowerShell_profile.ps1~/.config/powershell/Microsoft.PowerShell_profile.ps1~/.config/powershell/Microsoft.PowerShell_profile.ps1PowerShell 中的 $PROFILE 变量存储当前会话中可用的配置文件路径。要查看配置文件路径,可以显示 $PROFILE 变量的值。$PROFILE 变量的不同属性存储其他配置文件的路径。例如,在 Windows PowerShell 控制台中,$PROFILE 变量的值如下:
$PROFILE$PROFILE.CurrentUserCurrentHost$PROFILE.CurrentUserAllHosts$PROFILE.AllUsersCurrentHost$PROFILE.AllUsersAllHosts由于 $PROFILE 变量的值在不同用户和主机应用程序中会变化,建议在每个 PowerShell 主机应用程序中查看其值。
要查看 $PROFILE 变量的当前值,可以输入以下命令:
$PROFILE | Select-Object *

这些配置文件可以像 Bash 配置文件一样用于放置后门程序。

默认情况下,这些文件不存在。接下来我们进行试验。
创建 C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1,并在其中输出字符 "I am a Backdoor":
Write-Host "I am a Backdoor"

在 cmd 中输入 powershell 进入 powershell。

创建 C:\Windows\System32\WindowsPowerShell\v1.0\Microsoft.PowerShell_profile.ps1,并在其中输出字符 "I am the second Backdoor"。

在 powershell 中输入 powershell 进入新的 powershell。

创建 C:\Users\Administrator\Documents\WindowsPowerShell\profile.ps1,并在其中输出 "I am the third Backdoor"。由于 WindowsPowerShell 目录不存在,我们需要先创建目录和文件。


在 powershell 中输入 powershell 进入新的 powershell。

创建 C:\Users\Administrator\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1,并在其中输出 "I am the fourth Backdoor"。因为目录已创建,我们直接创建文件。

在 powershell 中输入 powershell 进入新的 powershell。

这四个配置文件均可正常使用。
尝试重启电脑,再次进入 powershell,确认配置文件仍然有效。

现在有一个疑问,如果不是进入 powershell 控制台,直接执行正常的 powershell 脚本会执行吗?编写一个向控制台输出 "Hello World" 并弹出消息框的脚本 demo.ps1:
Write-Host "Hello World"
# 弹出一个消息框
Add-Type -AssemblyName PresentationFramework
[System.Windows.MessageBox]::Show("Hello, World!")在第一个后门文件中额外插入 powershell 代码,将 "I am a Backdoor" 写入到桌面的 backdoor.txt 中。

先是在 cmd 中进行测试:
powershell ./demo.ps1


删除 backdoor.txt,图形化右键执行 demo.ps1。



也就是说,这类后门对所有的 powershell 程序有效。
上一篇:局部变量和全局变量区别详解
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9