首页
学习
活动
专区
圈层
工具
发布

传播恶意软件最有效帮手:超95%的PowerShell脚本都是恶意脚本

但赛门铁克最近的一份报告指出,超过95%的PowerShell脚本实际上都是恶意脚本。 赛门铁克在报告(传送门)中指出,绝大部分恶意PowerShell脚本都是扮演下载的角色。...赛门铁克分析,95.4%的PowerShell脚本为恶意脚本,这个结果表明来自外部的PowerShell脚本程序对企业构成了重大威胁,尤其是在使用shell 框架的企业中。 ?...下载并执行远程文件的简单脚本程序示例 如今的很多针对性攻击均使用了Powershell脚本,无论是Odinaff集团发起的攻击还是Kovter Trojan木马作者编写的脚本(都是采用PowerShell...PowerShell脚本甚至不需要以文件为载体就能感染目标,因此越来越多银行木马和其他类型的威胁都选择了PowerShell。...研究人员还提到,在今年观察的10797个PowerShell脚本中——也包括那些没有恶意的脚本,55%的脚本是以cmd.exe开始执行的。 如果只考虑恶意脚本,95%都是通过cmd.exe执行。

1.9K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    在 Snoop 中使用 PowerShell 脚本进行更高级的 UI 调试

    使用 Snoop,能轻松地查看 WPF 中控件的可视化树以及每一个 Visual 节点的各种属性,或者查看数据上下文,或者监听查看事件的引发。 不过,更强大的是支持使用 PowerShell 脚本。...---- Snoop PowerShell 入口 常规 Snoop 的使用方法,将狮子瞄准镜拖出来对准要调试 UI 的 WPF 窗口松开。...这里我拿 Visual Studio 2019 的窗口做试验。 在打开的新的 Snoop 窗口中我们打开 PowerShell 标签。 本文的内容将从这里开始。...自带的 PowerShell 变量 在 Snoop 的 PowerShell 提示窗口中,我们可以得知有两个变量可以使用:root 和 selected。.../post/powershell-of-snoop.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

    79460

    Xencrypt:一款基于PowerShell脚本实现的反病毒绕过工具

    Xencrypt 今天给大家介绍的这款工具名叫Xencrypt,它是一款基于PowerShell脚本实现的反病毒绕过工具。...如果你不想花时间对类似invoke-mimikatz这样的PowerShell脚本进行混淆处理以避免其被检测到的话,那么Xencrypt就是你的最佳选择了。...从本质上来说,Xencrypt是一款PowerShell代码加密工具,它使用了AES加密算法以及Gzip/DEFLATE压缩算法来对目标脚本代码进行处理,并生成一个完全不同的脚本,但功能却一模一样。...功能介绍 当前版本的Xencrypt拥有以下几种强大的功能: 1、绕过AMSI以及VirusToal上目前所使用的所有现代反病毒检测引擎; 2、压缩和加密PowerShell脚本; 3、资源消耗和开销非常小...不过,使用递归分层加密的话,将有可能导致最终生成的脚本文件体积过大,而且生成和输出文件可能也需要花很长的时间,具体将取决于脚本和请求的迭代次数。

    1.1K10

    一套针对Windows防火墙规则集的PowerShell脚本

    WindowsFirewallRuleset 该工具根据下列因素,已将Windows防火墙规则组织成为了单独的PowerShell脚本: 1、规则组 2、流量方向 3、IP版本(IPv4/IPv6) 4...RemoteSigned -Force\ 应用单独规则集 如果你只想应用特定的规则,你有下列两种方法: 1、执行SetupFirewall.ps1脚本,然后输出需要使用的规则集,或者输入“n”并按回车键跳过当前规则集...2、在PowerShell终端窗口中,进入包含规则集脚本的目录,然后执行特定PowerShell脚本。...3、运行FirewallProfile.ps1脚本来应用默认防火墙规则,或者直接在GPO中手动配置。 删除规则 根据该版本,我们可以直接在本地组策略中选择我们需要删除的规则,然后右键点击并删除即可。...管理已加载的规则 我们有下列两种方法管理已加载的规则: 1、使用本地组策略,这种方法会对规则的使用有一定的限制; 2、编辑PowerShell脚本,这种方法允许我们拥有最完整的控制权,我们可以提升规则,

    2.7K20

    做一个自动配置JDK环境变量的Powershell脚本

    本来想把这篇的内容包括在我的Powershell系列文章之内的,后来写完之后才想起来,这时候我已经复制粘贴到简书、CSDN和SegmentFault三个地方了。所以这一篇干脆单独写成一篇文章。...最蛋疼的是,JDK的Windows平台安装包居然没有配置环境变量的功能,那么这个安装包到底有何用处? 好了,废话不多说了。由于这里只打算编写一个简单的脚本,所以首先让我们规定一下这个脚本的用途。...如果需要创建一个临时环境变量,也就是只在当前Powershell窗口中有效的,只需要一句话就可以搞定。...java -version javac -version 完整脚本 下面是完整的脚本,它也放到了我的Github上面了,有兴趣的同学可以看看。...|Select-Object -ExpandProperty content|Invoke-Expression 如果出现什么策略错误,可能是默认情况Powershell禁止运行远程脚本,允许就可以了。

    2.1K50

    crontab 脚本错误日志和正确的输出写入到文件

    如果crontab不重定向输出,并且crontab所执行的命令有输出内容的话,是一件非常危险的事情。...因为该输出内容会以邮件的形式发送给用户,内容存储在邮件文件 /var/spool/mail/$user 如果命令执行比较频繁(如每分钟一次),或者命令输出内容较多,会使这个邮件文件不断追加内容,文件越来越大...& 名词解释 在shell中,每个进程都和三个系统文件相关联:标准输入stdin,标准输出stdout和标准错误stderr,三个系统文件的文件描述符分别为0,1和2。...所以这里2>&1的意思就是将标准错误也输出到标准输出当中。 > 就相当于 1> 也就是重定向标准输出,不包括标准错误。...通过2>&1,就将标准错误重定向到标准输出了(stderr已作为stdout的副本),那么再使用>重定向就会将标准输出和标准错误信息一同重定向了。

    6.6K30

    用 powershell 脚本 .ps1 写一个自动化的「编译->链接->运行C++文件」脚本

    注:感谢您能点开本文,本文是我 debug 后的随笔,可能没那么容易读懂(现在是0:44...实在太累了...写不动具体场景了)。待到我熬过这段...将写出更多深入浅出的好文与您分享!...我这人有个毛病:一定要用 VS Code 写代码,确切地说,一定要用我自己的 VS code ,自己配好的键盘映射、自己的插件。...exit } 第一次写 ps 脚本,还望大佬多多指教。...有几点需要注意: ` 是用来换行的 执行编译出的可执行文件需要用 sudo ,这很迷,我做了一点笔记[2]。 如何使用?...当我有一个脚本 abc.cpp ,我只需要在命令行输入 test abc 就可以自动 编译->链接->运行C++文件abc.cpp了!

    1.6K20

    Digital-Signature-Hijack:一款针对数字签名劫持的PowerShell脚本

    Digital-Signature-Hijack Digital-Signature-Hijack是一款针对数字签名劫持攻击的PowerShell脚本。...该脚本专为安全研究人员设计,开发人员通常会对其代码进行签名,以便向用户保证他们的软件是可信的,而且没有被恶意修改。这都通过使用数字签名来完成的。因此,签名代码是一种验证文件的真实性和完整性的方法。...功能介绍 1、以微软身份对目标主机中所有的可执行文件进行数字签名; 2、以微软身份对目标主机中所有的PowerShell脚本文件进行数字签名; 3、验证所有可移植可执行文件的数字签名; 4、验证所有PowerShell...脚本文件的数字签名 Digital-Signature-Hijack通过劫持注册表并添加必要的值,以及利用Matt Graeber开发的自定义SIP DLL文件来实现其功能。...github.com/netbiosX/Digital-Signature-Hijack.git 工具演示 对可执行文件进行签名: SignExe 验证签名有效性: ValidateSignaturePE 对PowerShell

    1K20

    windows: 了解 Windows PowerShell 会话记录工具 Start-Transcript

    引言 在日常使用Windows PowerShell进行脚本编写和命令执行时,记录会话中的操作和输出是非常有必要的。这不仅有助于审计和问题排查,还能方便日后的复盘和学习。...Windows PowerShell提供了一个强大的命令——Start-Transcript,用于记录当前会话的所有输入和输出。...如果指定的目录不存在,PowerShell会自动创建该目录。 追加模式 有时候,你可能希望将新记录追加到现有的记录文件中,而不是覆盖原有的内容。...应用场景 调试脚本:在编写和测试脚本时,使用Start-Transcript可以记录每一步操作和输出,帮助开发人员更好地理解脚本的执行过程和问题所在。...你可以打开该文件查看详细的会话记录。 结论 Windows PowerShell的Start-Transcript命令是一个强大的工具,能够帮助用户记录会话中的所有操作和输出。

    34610

    Live-Forensicator:一款针对事件响应和实时取证的PowerShell脚本

    关于Live-Forensicator Live-Forensicator是一款功能强大的PowerShell脚本,该脚本同时也是Black Widow工具箱中的一个组件,该工具的主要目的是为了在信息安全取证调查和安全事件应急响应过程中...值得一提的是,该工具并没有内置任何的情报源,因此研究人员需要自行对输出数据进行分析,以决定是否需要进行更深入的调查分析。...可选依赖 该脚本基于PowerShell开发,可以在Windows电脑或服务器上使用。 该工具还提供了一些额外的功能,而这些功能需要依赖外部代码库。...\Forensicator.ps1 -RANSOMEWARE RANSOMEWARE 可以在执行Oneliner后立即压缩工具的输出数据: ....HTML文件显示; 3、我们可以在脚本的工作目录中找到所有提取的文件数据; 4、跟勒索软件识别相关的功能可以使用“-RANSOMEWARE”参数调用; 工具运行 许可证协议 本项目的开发与发布遵循

    37020

    Linux: Shell脚本中的命令输出捕获与错误处理探讨

    在Shell脚本编程中,处理命令的输出和错误信息是一个常见的需求。通过将命令的输出赋值给变量,并使用条件语句处理命令的返回状态,我们可以实现更为健壮和灵活的脚本。...在本文中,我们将详细探讨如何封装一个通用的执行命令函数,以便捕获命令输出和错误。 1. 基本的命令输出捕获 在Shell脚本中,可以使用反引号(``)或$()来捕获命令的输出。...这种方法使得脚本能够更明确地处理命令执行的成功与否。 3. 封装通用的执行命令函数 为了提高代码的重用性和可维护性,我们可以将上述逻辑封装到一个函数中。...此外,它能够清晰地输出命令的执行结果和详细信息。 结论 通过封装执行命令的函数,我们可以提高Shell脚本的健壮性和可维护性。...无论是捕获命令的输出和错误信息,还是根据命令的返回状态执行不同的操作,这种方法都能为我们的脚本提供更强的灵活性和可控性。

    2.4K10

    16.CCS19 针对PowerShell脚本的轻量级去混淆和语义感知攻击检测(经典)

    [AI安全论文] 15.Powershell恶意代码检测论文总结及抽象语法树(AST)提取 [AI安全论文] 16.CCS2019 针对PowerShell脚本的轻量级去混淆和语义感知攻击检测(经典)...同时解混淆过程有效的改善了已有系统的检测效率,Windows Defender和VirusTotal的攻击检测率分别从0.3%和2.65%大幅增加到75.0%和90.0%。...但是,由于 PowerShell 语言在设计上是动态的,并且可以在不同级别构建脚本片段,因此基于最新静态分析的 PowerShell 攻击检测方法本质上容易受到混淆。...为了克服这一挑战,本文为 PowerShell 脚本设计了第一个有效且轻量级的反混淆方法。为了解决精确识别可恢复脚本片段的挑战,设计了一种新颖的基于子树的反混淆方法。...该方法在 PowerShell 脚本的抽象语法树(Abstract Syntax Tree)中的子树级别执行混淆检测和基于仿真的恢复。

    99740

    如何绕过PowerShell访问限制并实现PowerShell代码执行

    没错,这个问题经常会困扰我们,而且网上也有很多的应对方法。 在这篇文章中,我将跟大家介绍一种快速且狡猾的绕过技术,这项技术需要利用C#编译代码来执行我们的PowerShell脚本。...首先,我们为什么不适用powershell.exe来执行我们的.ps1脚本呢?...接下来,我们需要将脚本添加到新创建的pipeline中,并对通信信道进行排序,最后通过Invoke()方法执行我们的脚本命令。...最终的结果将会被追加到我们的字符串生成器中,然后作为字符串发回给调用函数,以便显示在控制台的输出结果中。这也就是为什么我们要在命令中添加“Out-String”的原因。 怎么样,整个过程很简单吧?...我们成功地在不直接使用powershell.exe的情况下调用并执行了我们的脚本代码。

    2.4K30

    可集成到文件管理器,一句 PowerShell 脚本发布某个版本的所有 NuGet 包

    包装一下 要执行 NuGet 的推送命令,我们需要一个可以执行命令的终端,比如 PowerShell。...这个时候,可以考虑用 PowerShell 间接执行这个命令: 1 2 # PowerShell 版本 powershell -NoExit -c "nuget push *.0.8.0-alpha.nupkg....0.8.0-alpha.nupkg -Source https://api.nuget.org/v3/index.json" 关于使用 PowerShell 间接执行命令的更多细节,可以参考我的另一篇博客...,在按钮当中需要执行的脚本如下: 1 2 cd "{sourcepath} " pwsh -NoExit -c "$file=[Regex]::Match('{file}', '\....脚本,但执行完之后不退出(这样,我可以观察到我实际上推送的是哪一些包,并且可以知道推送是否出现了错误) 要执行的命令为 nuget push *.xxx.nupkg -Source https://api.nuget.org

    51330

    (3)Powershell基础知识(一)

    的一些特性 Powershell对命令行和脚本环境添加了许多新的功能,以此来改善Powershell的管理和脚本脚本交互能力,想对于其他的命令脚本,Powershell有以下特性。...Powershell对命令提示符进行了改进,提供了带有多种命令的交互式环境。PowerShell 扩展了交互用户和脚本编写者的能力,从而更易于进行相关作业脚本的开发,系统管理。...PowerShell 中的本机二进制命令cmdlet可以通过创建并使用管理单元添加到 Windows PowerShell 中的 cmdlet 进行补充。...可以使用它们将 Windows PowerShell 提供程序以及新的 cmdlet 添加到 shell 中。最重要的是,Powershell能够识别这些新添加的命令是否是有效的命令。...除此之外,Powershell还可以调用外部的.ps1脚本文件,也可以在脚本中创建自己的函数。

    4.7K20
    领券