我知道,我一般都是谈论如何绕过白名单,但是现在很多东西都已变样。
你是否熟悉网络防御演习或竞争的概念?如果你不熟悉的话,可以访问:http://www.nationalccdc.org/
这将是一个可阅读的快速指南的简明列表。
我希望应用白名单可以成为一种有效防御的工具。
但并不意味着这份名单要全面而且彻底。我研讨AppLocker是因为它在Windows的某些版本的操作系统中是免费的。
为什么要考虑建立一个应用白名单?
1.防止执行未经授权的二进制文件。
2.防止未经授权的类似于服务的持久性机制。
3.迫使攻击者使用不同的或者不熟悉的工具。
4.它可以增加你对新的二进制文件,和新的操作的可视度。(见后续部分的Sysmon)
5.监测执行任意必要或不必要的命令或工具。
6.增加攻击者留下的痕迹,如复制网络中的二进制文件。
7.它真的不像你想象的那么难,你可以在在最小量的服务器和静态主机上尝试一下。
攻击者如何绕过这道防御?
1. PowerShell。PowerShell可以加载和执行内存中的.NET二进制文件,更多信息请参考:http://www.powershellmagazine.com/2014/07/16/investigating-powershell-attacks/
2.预定任务以及系统日志记录服务触发器。
3.滥用.NET实用程序(InstallUtil, RegSvcs, RegAsm)
4.反射性的DLL注入-从内存中执行Post-Exploitation
5. Office应用程序,例如执行Excel.exe进程内的宏。
6.滥用本地或受信任的工具,如wmic, netsh, sethc类型的攻击。
7.利用Memory Resisdence或File-less,比如利用浏览器。
我可以做什么?
(还不确定这是否超出了CCDC的范围)
1.你需要更深层次的可见性和分析,比如像Sysmon一样的免费工具。详情请参考:
https://technet.microsoft.com/en-us/sysinternals/sysmon
http://joshuadlewis.blogspot.com/2014/10/advanced-threat-detection-with-sysmon_74.html
http://www.darkoperator.com/blog/2014/8/8/sysinternals-sysmon
我的指导建议:
(还将不断的更新)
1. 不要接受默认的AppLocker条例。
2. 避免Path Rules,这可以帮助你尽快发现漏洞。
3. 使用Publisher或批准的证书更快达到一种安全的状态。
4. 具体而言,你要知道禁止的文件是可疑的,或者不是运行所必需的文件。
结束语:
应用白名单的作用之一就是防止初始破解。但是它也并不是最完美的防御措施。因为根本就没有最完美的防御。
还没有评论,来说两句吧...