当前位置:

首页 > 软件教程 > PowerShell 后门配置 | Windows 安全隐患解析

PowerShell 后门配置 | Windows 安全隐患解析

PowerShell控制台与Bash不同,支持多个配置文件。这些配置文件的执行顺序如下:所有用户,所有主机:Windows:$PSHOME\Profile.ps1Linux:/opt/microsoft/powershell/7/profile.ps1macOS:/usr/local/microsoft/powershell/7/profile.ps1所有用户,当前主机:Windows:$PSHOME\Microsoft.PowerShell_profile.ps1Linux:/opt/m

本文目录

    PowerShell 控制台与 Bash 不同,支持多个配置文件。这些配置文件的执行顺序如下:

    所有用户,所有主机:

    • Windows: $PSHOME\Profile.ps1
    • Linux: /opt/microsoft/powershell/7/profile.ps1
    • macOS: /usr/local/microsoft/powershell/7/profile.ps1

    所有用户,当前主机:

    • Windows: $PSHOME\Microsoft.PowerShell_profile.ps1
    • Linux: /opt/microsoft/powershell/7/Microsoft.PowerShell_profile.ps1
    • macOS: /usr/local/microsoft/powershell/7/Microsoft.PowerShell_profile.ps1

    当前用户,所有主机:

    • Windows: $HOME\Documents\PowerShell\Profile.ps1
    • Linux: ~/.config/powershell/profile.ps1
    • macOS: ~/.config/powershell/profile.ps1

    当前用户,当前主机:

    • Windows: $HOME\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
    • Linux: ~/.config/powershell/Microsoft.PowerShell_profile.ps1
    • macOS: ~/.config/powershell/Microsoft.PowerShell_profile.ps1

    PowerShell 中的 $PROFILE 变量存储当前会话中可用的配置文件路径。要查看配置文件路径,可以显示 $PROFILE 变量的值。$PROFILE 变量的不同属性存储其他配置文件的路径。例如,在 Windows PowerShell 控制台中,$PROFILE 变量的值如下:

    • 当前用户,当前主机:$PROFILE
    • 当前用户,当前主机:$PROFILE.CurrentUserCurrentHost
    • 当前用户,所有主机:$PROFILE.CurrentUserAllHosts
    • 所有用户,当前主机:$PROFILE.AllUsersCurrentHost
    • 所有用户,所有主机:$PROFILE.AllUsersAllHosts

    由于 $PROFILE 变量的值在不同用户和主机应用程序中会变化,建议在每个 PowerShell 主机应用程序中查看其值。

    要查看 $PROFILE 变量的当前值,可以输入以下命令:

    $PROFILE | Select-Object *

    PowerShell 配置文件后门 | Windows 后门系列

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

    PowerShell 配置文件后门 | Windows 后门系列

    默认情况下,这些文件不存在。接下来我们进行试验。

    创建 C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1,并在其中输出字符 "I am a Backdoor":

    Write-Host "I am a Backdoor"

    PowerShell 配置文件后门 | Windows 后门系列

    在 cmd 中输入 powershell 进入 powershell。

    PowerShell 配置文件后门 | Windows 后门系列

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

    PowerShell 配置文件后门 | Windows 后门系列

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

    PowerShell 配置文件后门 | Windows 后门系列

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

    PowerShell 配置文件后门 | Windows 后门系列PowerShell 配置文件后门 | Windows 后门系列

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

    PowerShell 配置文件后门 | Windows 后门系列

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

    PowerShell 配置文件后门 | Windows 后门系列

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

    PowerShell 配置文件后门 | Windows 后门系列

    这四个配置文件均可正常使用。

    尝试重启电脑,再次进入 powershell,确认配置文件仍然有效。

    PowerShell 配置文件后门 | Windows 后门系列

    现在有一个疑问,如果不是进入 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 中。

    PowerShell 配置文件后门 | Windows 后门系列

    先是在 cmd 中进行测试:

    powershell ./demo.ps1

    PowerShell 配置文件后门 | Windows 后门系列PowerShell 配置文件后门 | Windows 后门系列

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

    PowerShell 配置文件后门 | Windows 后门系列PowerShell 配置文件后门 | Windows 后门系列PowerShell 配置文件后门 | Windows 后门系列

    也就是说,这类后门对所有的 powershell 程序有效。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    软件教程
    相关文章 更多
    在Docker中构建长时间运行的脚本的一些方法
    在Docker中构建长时间运行的脚本的一些方法

    文件系统作为持久数据结构:一个被低估的Docker实战技巧 今天要分享的,是一个关于Docker相当实用的应用场景。先别急着认为这又是一篇泛泛而谈Docker优点的文章,咱们的重点其实在于,如何把文件系统本身当作一个可持久化的数据结构来用。 所以,这篇文章的核心思路,并不仅限于Docker或AUFS

    腾讯文档脚本怎么用?操作教程分享
    腾讯文档脚本怎么用?操作教程分享

    腾讯文档脚本功能基于GoogleAppsScript,通过编写JavaScript代码实现文档自动化操作。1.打开脚本编辑器:通过“工具”->“脚本编辑器”进入编写界面;2.编写脚本:使用JavaScript语言调用GASAPI,例如复制单元格内容;3.运行脚本:点击运行按钮并授权访问权限;4.调试脚本:查看日志排查错误;5.设置触发器:定义脚本自动运行的条件。脚本可实现数据处理、自定义公式、数据验证、批量操作和发送邮件等功能,但需注意安全性问题及学习成本、调试难度和性能限制等局限性。

    入门级Windows PowerShell脚本指南
    入门级Windows PowerShell脚本指南

    我们为初学者设计了这份WindowsPowerShell脚本教程,无论您是技术爱好者还是希望提高脚本编写技能的专业人士。如果你对PowerShell脚本没有先验知识,这篇文章将从基础开始,为您量身定制。我们将帮助您掌握PowerShell环境的安装步骤,并逐步介绍PowerShell脚本的主要概念和功能。如果您已经做好准备,准备深入学习PowerShell脚本编程,那么让我们一起踏上这激动人心的学习之旅吧!什么是WindowsPowerShell?PowerShell是由微软开发的一个混合了命令行外壳和脚

    Linux Shell脚本中特殊字符的用法
    Linux Shell脚本中特殊字符的用法

    在LinuxShell脚本中,预定义了一些特殊参数,它们分别代表不同的含义和返回值,下面逐一进行总结。1.【$0】:脚本名$0返回当前执行的shell脚本的名称。2.【1-9】:命令行参数1到9$1-$9这9个分别代表脚本执行命令第一个参数、第二个参数、第三个参数……第9个参数。例如,假设我们有一个名为test.sh的Shell脚本,它的内容如下:#!/bin/bashecho"Scriptname:$0"echo"Firstargument:$1"echo"Secondargument:$2"在运行脚本

    Linux运维必备实战巡检脚本
    Linux运维必备实战巡检脚本

    巡检意义及时发现隐患:对服务器进行巡检能够及时发现服务器的隐患,以便于改善和优化服务器的性能。观察运行状况:观察服务器的运行状况,及时对设备进行调整,保证服务器的24小时不间断的工作。采集网内服务器信息:通过巡检,可以采集网内服务器信息,了解服务器的配置和运行情况。提高效率:使用巡检脚本可以有效地减少人力、物力和时间成本,提高巡检效率。保证全面性和准确性:人工巡检很容易出现疏漏和错误,而巡检脚本可以自动化处理巡检任务,避免疏漏和错误,保证巡检的全面性和准确性。确保服务器安全性:巡检脚本可以扫描服务器的安全

    Linux Shell编程入门指南
    Linux Shell编程入门指南

    你是否曾经想过,如何通过编写简单的脚本来自动化你的日常任务,提高工作效率?在Linux操作系统下,Shell编程为你提供了这样的机会。本文将引领您进入Shell编程的世界,涵盖基础知识、常见应用和最佳实践,帮助您轻松掌握Shell编程的精华。一、Shell编程基础1.Shell脚本是什么?Shell脚本是一组按顺序执行的Shell命令和控制结构,保存在文本文件中。通过运行Shell脚本,我们可以自动化执行一系列任务,从而节省时间和精力。2.变量:数据的存储与引用在Shell脚本中,我们可以使用变量来存储数

    Linux脚本学习笔记,log函数使用技巧
    Linux脚本学习笔记,log函数使用技巧

    本文描述了一个用于记录shell脚本执行日志的日志脚本函数。在进行shell脚本开发时,经常需要监控系统数据。为了方便查看,我们可以将脚本运行情况记录为日志文件,避免需要一直在命令控制台上监视。需求:1、可以记录脚本的运行情况;2、可以记录时间;3、可以在输入log达到一定的行数后对以前的log进行删减,防止log文件无限累积;需求分析这个简单需求可以通过编写一个函数来实现,该函数能够将脚本中的日志信息输出到同名的log文件中,方便开发人员日后查阅分析脚本运行情况。可以根据个人喜好和技术能力选择合适的方式

    PHP实战:使用PHP编写脚本快速替换文本中的标点符号
    PHP实战:使用PHP编写脚本快速替换文本中的标点符号

    PHP实战:使用PHP编写脚本快速替换文本中的标点符号在处理文本数据时,经常需要清除或替换文本中的标点符号,以便进行后续的分析或处理。在PHP中,我们可以利用内置的字符串函数和正则表达式来快速实现这个功能。下面将介绍如何编写一个PHP脚本,实现替换文本中的标点符号。首先,我们创建一个名为replacePunctuation.php的PHP文件,用于放置我们的

    Golang的脚本语言特性分析
    Golang的脚本语言特性分析

    Golang是否具备脚本语言的特性?深度分析在现代软件开发领域中,脚本语言一直扮演着重要的角色。脚本语言通常被用于快速开发原型、自动化任务和小型项目,因其动态类型、高级特性以及简洁的语法而备受开发者青睐。Golang,作为一门静态类型的编程语言,一直备受关注,但是否具备脚本语言的特性?本文将对此进行深度分析,并结合具体代码示例进行探讨。1.动态类型vs

    剪映怎么制作脚本?剪映制作脚本的方法教程
    剪映怎么制作脚本?剪映制作脚本的方法教程

      剪映是一款视频编辑工具,带有全面的剪辑功能,支持变速,有多样滤镜和美颜的效果,还有丰富的曲库资源。在这款软件中,可以直接对视频进行剪辑,也可以创建剪辑脚本,但是应该怎么操作呢?本篇教程小编就来介绍一下剪映制作脚本的方法。  制作方法  1、在电脑中点击打开剪映软件,然后找到“创作脚本”选项,点击打开。  2、在创作脚本页面中,输入“脚本标题”,然后在大纲中输入拍摄内容的简介。  3、如何在大纲中就能看到“分镜描述”选项,在框内可以

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。