Windows PowerShell是以.NET Framework技术为基础,并且与现有的WSH保持向后兼容,因此它的脚本程序不仅能访问.NET CLR,也能使用现有的COM技术。同时也包含了数种系统管理工具、简易且一致的语法,提升管理者处理,常见如登录数据库、WMI。Exchange Server 2007以及System Center Operations Manager 2007等服务器软件都将内置Windows PowerShell。Windows PowerShell的强大,并且内置,在渗透过程中,也让渗透变得更加有趣。而安全软件的对抗查杀也逐渐开始针对powershell的一切行为。在

    针对它的特性,本地测试:

    第四十九课:关于Powershell对抗安全软件 - 图1

    上文所说,越来越多的杀软开始对抗,powershell的部分行为,或者特征。以msfvenom为例,生成payload。

    针对powershell特性,更改payload
    第四十九课:关于Powershell对抗安全软件 - 图2

    接下来考虑的事情是如何把以上重复的工作变成自动化,并且针对powershell,DownloadString特性,设计出2种payload形式:
    (1)目标机出网
    (2)目标机不出网

    并且根据需求,无缝连接Metasploit。

    根据微软文档,可以找到可能对以上有帮助的属性,分别为:

    自动化实现如下:

    参数 payload 选择是否使用 Metasploit payload,来去掉 powershell 的关键字。

    第四十九课:关于Powershell对抗安全软件 - 图3

    例2(目标不出网,本地执行)
    第四十九课:关于Powershell对抗安全软件 - 图4

    更多有趣的实验:

    把例1的 down 内容更改为例2,并且去掉 payload 参数。来减小 payload 大小。

    更改 Invoke-Mimikatz.ps1 等。