欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

Powershell最佳安全实践

来源:本站整理 作者:佚名 时间:2017-10-10 TAG: 我要投稿


写在前面的话
实在很早以前,进击者就曾经开端应用正当工具来渗入渗出目的网络并完成横向进击了。来由很简略:应用正当工具可以或许低落被检测到的概率,并且进过受权的工具(而并不是歹意工具)可以或许更轻易绕过平安防护机制。是以对付进击者来讲,PowerShell就成为了一个绝佳的工具。在这篇文章中,咱们将跟人人评论辩论PowerShell的最好理论方法,而本文的内容将可以或许赞助你反抗那些应用PowerShell来进击你的人。
PowerShell是什么?
PowerShell是一种专为MicrosoftWindows和Windows Server计划的自动化平台兼剧本说话,它可以或许简化体系治理步调。与其余基于文本的shell分歧,PowerShell还可以或许应用Microsoft .Net Framework的壮大功效,并给用户供应多种工具和内置功效来赞助用户治理自己的Windows情况。

为何是PowerShell?
今朝有许多网络进击都在应用PowerShell,尤其是近期的Petya/NotPetya进击运动。对付进击者来讲,最重要的是PowerShell是Windows自带的工具,并且整合了.NET Framework组件,而在进击者的入侵和沾染运动中,这个框架组件可以或许供应多种操纵选项。
对付进击者而言,PowerShell最吸引人的方面有如下几个:
可以或许轻松拜访网络套接字;
可以或许在内存中静态编译歹意代码;
可直接拜访Win32应用程序编程接口(API);
可以或许轻松拜访WMI接口;
壮大的剧本情况;
静态、运转时办法挪用;
轻松拜访加密库,比方IPSec和各类哈希算法;
轻松绑定COM;
上面列出的这些身分让PowerShell成为了一种高效的进击向量。
PowerShell初次被看成一种进击平台被提出是在2010年,当时在DefCon18上有研究人员演示了应用PowerShell的PoC,概况请参考大会的演讲视频【视频地点】。
今朝,社区中有许多相似Nishang、PowerSploit和PowerShell Empire平台的进击工具,进击者可以或许应用这些工具来停止网络侦查、持续性沾染和横向进击运动。固然了,考虑到PowerShell的本身属性,它还可以或许停止各类情势的编程,进击者可以或许采纳编程的方法将其打形成一款自定义工具。
PowerShell平安最好理论
考虑到某些构造因为需要干系不克不及禁用或删除PowerShell,上面给出的几条平安理论倡议可以或许赞助你在享用PowerShell的高效性时免受网络威逼的困扰。
1.      PSLockDownPloicy和PowerShell的受限说话情势
受限说话情势可以或许将PowerShell限定在根基功效状况,并移除其高档功效的支撑,比方.NET和Windows API挪用和COM拜访。一旦PowerShell失去了这些高档功效,那末绝大多数的基于PowerShell的进击工具都将会生效。然则在企业情况中,这类办法将会对正当剧本发生负面影响,是以咱们倡议在采纳这类办法以前,一定要停止屡次测试,以包管正当代码的失常运转。【设置装备摆设参考资料】
启用受限说话情势:
[Environment]::SetEnvironmentVariable(‘__PSLockdownPolicy‘,‘4’, ‘Machine‘)
经由过程组战略启动:
Computer Configuration\Preferences\WindowsSettings\Environment
2.      PowerShell v.5+Applocker+DeviceGuard
PowerShell v.5自带了许多优良的平安加强功效,异常得当企业情况应用。这些平安加强功效包含:
剧本块日记:将反混杂化的PowerShell代码记载到变乱日记中;
体系规模的剧本拷贝:该功效可经由过程组战略开启,可记载下每一条在体系中履行过的PowerShell敕令和代码块;
受限说话情势的PowerShell:进入受限说话情势;
整合反歹意软件(Windows 10):Windows 10的反歹意软件扫描接口(AMSI)容许所有的剧本引擎(PowerShell、VBScript和JScript)哀求对静态内容停止平安阐发,包含剧本文件、敕令行输出的敕令和内存中下载和履行的代码。它可以或许在PowerShell代码履行以前对其停止平安扫描。
除此之外,用户还可以或许应用Applocker来阻拦未知起源的PowerShell代码。
Device Guard是Windows 10和Windows Server2016新推出的功效,它可以或许应用先辈的硬件功效来加强受限说话情势和应用程序白名单功效。
3.      记载PowerShell运动
咱们可以或许经由过程组战略来开启PowerShell模块记载功效:
Microsoft.PowerShell.* (比方Microsoft.PowerShell.Managementmodule):记载大多数PowerShell的核心功效;
ActiveDirectory:记载运动目次的应用;
BITS Transfer:记载BITS(后盾智能传输办事)的应用;
CimCmdlets (2012R2/8.1) :记载CIM(大众信息模子)的应用;
Microsoft.WSMan.Management:记载WS-Management和WinRM的应用;
NetAdapter/NetConnection:记载与网络相干的运动情况;
PSScheduledJob/ScheduledTasks (PSv5) :记载治理筹划义务;
SmbShare:记载SMB同享运动;
为了让这些日记施展感化,咱们必要将其供应给一个中间日记体系,并针对已知的进击办法停止正告设置装备摆设。
相干运动:
涉及到.Net的下载运动(New-Object Net.WebClient).DownloadString)
Invoke-Expression
BITS运动
筹划义务创立/删除
长途PowerShell
检测PowerShell进击代码最好的办法便是查找症结标识符,即症结代码段。
例子:检测Mimikatz(一种网络登录用户凭据的工具)
相干的Mimikatz变乱日记症结词:
“System.Reflection.AssemblyName”
“System.Reflection.Emit.AssemblyBuilderAccess “
“System.Runtime.InteropServices.MarshalAsAttribute”

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载