Tuesday, May 10, 2016

内部渗透测试究竟应该怎么搞?

想查明你的网络在黑客攻击面前多么不堪一击,最好的办法就是请外部专家对它进行一次渗透测试。当然,你得请具备相应资质的第三方来帮助进行渗透测试。
内部渗透测试究竟应该怎么搞?
可是请第三方进行渗透测试有两大缺点:
·费用高昂
·一旦你对自己的基础设施进行了变动,或者发现了影响基础设施的新安全漏洞,第三方渗透测试实际上“过时”了。
想避开这两个问题,一个办法就是自己执行渗透测试。
在继续探讨之前,有必要指出:自己执行渗透测试的效果比不上从外面请来专家,因为专家渗透测试需要经验、技能和创造力。可能只有专业的渗透测试人员(和专家黑客)才具备这些素质。即便你的安全团队有渗透测试方面的经验,但是许多专家还是认为,第三方以全新的视角打量你的网络,更有可能发现潜在问题。熟悉自己的网络实际上会让你看不到可能存在的安全漏洞。
不过,能够自行执行渗透测试仍是个好主意,因为只要你购买新设备、安装新软件,或者对网络进行其他的重大变动,你都可以运行测试,让你注意之前忽视的明显的安全漏洞。
内部渗透测试就好比出门之前,房子外面兜一圈,检查一下有没有窗户开着:这是一种明智的防范措施,几乎不需要什么花费。
渗透测试基础:7个步骤
最简单的渗透测试也包括许多步骤:
网络枚举和映射。这一步常常需要扫描端口,搞清楚网络的拓扑结构,并且查明哪些计算机连接到网络,查明它们提供哪些操作系统和服务。可能用来执行这项任务的最流行的工具非开源Nmap工具莫属,有时可通过Zenmap Gui来使用它。
侦察。这一步需要联系网络上的机器,获取来自这些机器的信息,比如它们运行的应用程序。侦察还需要上网搜索关于测试的那家企业组织的信息,比如查清楚IT员工和高管的姓名。这种信息对于实行社会工程学和网络钓鱼演练很有用(参阅下文)。这些人的社交媒体帐户也能透露经常用于密码中的一些信息,比如宠物名称。
网络嗅探。这一步用来检查网络上传输的流量,并且搜寻未加密数据,包括密码或VoIP流量。用于嗅探网络的事实上的标准是Wireshark(http://www.esecurityplanet.com/open-source-security/5-big-improvements-in-wireshark.html),这是另一款开源工具。
安全漏洞扫描。扫描可以发现任何机器有没有不安全的软件版本或者是可以钻空子的其他已知安全漏洞,或者发现任何无线接入点敞开还是存在弱密码。一种流行的开源安全漏洞扫描工具是OpenVAS(http://www.openvas.org)。还可以针对Web服务器使用其他比较专业的扫描工具,寻找安全漏洞,比如跨站脚本(XSS)错误。
专有的安全漏洞扫描工具可以改善开源扫描的效果,让你注意到哪些高危应用程序可能被人钻空子。
这包括:
·Nessus专业版
·Rapid7 Nexpose
·Qualys FreeScan
利用漏洞。渗透测试的这个阶段试图利用任何已知的安全漏洞,以获得系统的控制权。记住这一点很重要:虽然安全漏洞扫描可能会显示安全漏洞,但不是所有的安全漏洞都会被人成功利用,或者未必会导致重大泄密。像Metasploit(https://www.rapid7.com/products/metasploit/download.jsp)这样的漏洞利用框架含有现成漏洞数据库(它可以与安全漏洞进行比对),还有便于你自行制作并利用漏洞的工具。
许多安全系统可识别Metasploit漏洞,并将它们检测出来;值得一提的是,真正的黑客可能会改动自己的漏洞,所以别傻傻地以为:就因为你的安全系统可以防止Metasploit漏洞得逞,你的基础设施就高枕无忧了。
进一步攻击。一旦某个高危系统中招,你可以利用该机器进一步渗透到网络。比如说,如果可以访问某台服务器的密码文件,密码破解工具随后可以获得宝贵的密码。利用从侦察阶段获取的信息,这些密码随后可以用来闯入更多的系统,访问更多的数据。
密码破解工具包括离线的John the Ripper(http://www.openwall.com/john/),可用于处理从你测试的网络获取的密码文件,或者是在线的开源工具Hydra(https://github.com/vanhauser-thc/thc-hydra),这个具有并行运算功能的登录蛮力攻击工具会在很短的时间内尝试多个登录/密码组合,企图登录到ftp等服务。
网络钓鱼/社会工程学。要是不通过欺骗员工来获得访问权,看看有什么可以攻击的,任何渗透测试都是不完整的。这意味着发送网络钓鱼电子邮件,或者仅仅打电话,引诱对方泄露登录信息或其他敏感信息。
手动渗透测试和Linux发行版
想手动执行渗透测试,你就需要许多工具,包括上面所述的那些工具。想在一个地方拥有需要的所有工具,最好的办法就是下载一款开源Linux安全发行版。建议使用的发行版包括如下:
·Kali Linux(https://www.kali.org/downloads/)
·Pentoo(http://www.pentoo.ch/download/)
·Parrot Security OS(http://www.pentoo.ch/download/)
·BackBox(https://backbox.org/download)
·Samurai Web测试框架(https://sourceforge.net/projects/samurai/files/)
这些发行版含有数百个其他开源工具,这些工具可用于网络侦探和枚举、安全漏洞扫描、密码破解、无线安全审查及更多操作。
这些发行版存在的问题是,如果你不熟悉它们含有的工具,就很难知道该从哪里入手。一个解决办法就是接受全面的培训,熟悉安全发行版中含有的一些工具。
培训选项包括:
·Kali Linux渗透测试培训():这种学生自定进度的在线渗透测试课程专为想在渗透测试方面有所深造的网络管理员和安全专业人员设计。提供培训的是Offensive Security,它是Kali Linux的开发者,也是知名渗透测试培训和认证组织之一。
相关链接:https://www.offensive-security.com/information-security-training/penetration-testing-training-kali-linux/
·Metasploit Unleashed:Metasploit Unleashed道德黑客培训课程免费提供,可能是最全面、最深入的指南,面向大名鼎鼎的Metasploit Project渗透测试工具。
相关链接:https://www.offensive-security.com/metasploit-unleashed/
·InfoSec Institute的渗透测试在线培训。InfoSec Institute的渗透测试在线培训是一门全面的在线渗透测试课程,包含100多个模块,在线培训时长超过100个小时。由于需要学习大量材料,大多数学生需要整整60天才能学完课程。
相关链接:http://www.infosecinstitute.com/courses/penetration_testing_online.html
自动化渗透测试
想自行执行渗透测试,比较容易的办法就是使用自动化渗透测试工具,它会为你执行一些或所有这些步骤,你基本上不需要干预,或者使用向导来引导你。
这种方法的好处在于,它能显示你网络上比较直观的问题。另一个好处是,不大在行的黑客可能也会使用这样一些工具,所以在黑客之前运行这些工具,你就能缓解抢在黑客之前找到的任何问题。
不过,这些工具的功能有限。经验老道的黑客或渗透人员可能结合使用多种手法,包括网络钓鱼和社会工程学伎俩,突破你的防线大搞破坏,或者他们可能发现的某个安全漏洞需要非凡的创造力才能加以利用。自动化工具无法同样做到这点。
大多数自动化渗透软件是作为商用产品来提供的。这些软件包括:
·Rapid7 Metasploit(https://www.rapid7.com/products/metasploit/editions.jsp)
·Immunity Canvas(https://www.rapid7.com/products/metasploit/editions.jsp)
·Core Impact Pro(http://www.coresecurity.com/content/core-impact-overview)
渗透测试风险
在你考虑自行执行渗透测试之前,要小心哪里可能会出岔子。无论是手动还是自动,渗透测试都需要对网络进行测试和探测。这可能会降低网络速度,让计算机运行起来慢腾腾,或者导致一个或多个系统崩溃,从而可能干扰正常业务。

恶意软件逃避反病毒引擎的几个新方法

火眼研究人员发现的几种恶意软件样本使用了一些耐人寻味的技术,能够更长久地维持对反病毒引擎的隐身状态。
火眼公司刚刚发布了一个新的威胁分析专题,名为“端点上的幽灵”(https://www.fireeye.com/blog/threat-research/2016/04/ghosts_in_the_endpoi.html)。专题第一期中详细介绍了恶意软件使用的几种隐身技术。
恶意软件逃避反病毒引擎的几个新方法
研究人员分析了2015年上传到VirusTotal病毒扫描系统、并在2016年1月前成功保持未检测状态的恶意Win32二进制文件和Office、RTF、韩软Office (Hangul Word ProceSSOr)类型的文档。这项研究也罗列出了一小部分被反病毒引擎检测到、却使用了值得关注的绕过技术的恶意软件样本。
一、伪装Excel 利用Flash
火眼公司发现的其中一个威胁被认为是由攻击台湾的某APT小组使用的。在六个月时间内,它在VirusTotal上成功保持0/53的检测率。该恶意软件属于后门程序,被安全专家称为GoodTimes。它将自己伪装成Excel文件并利用 Hacking Team 数据泄露事件中流出的 Flash Player 漏洞进行入侵。
研究人员认为这一威胁并未被反病毒引擎检测到的原因在于:Flash漏洞嵌入在Excel文件中直接包含的ActiveX对象上,而不是在网页上托管。
二、垃圾代码做掩护
火眼发现的另一个威胁被认为是由黑客小组APT3使用的,它是UPS后门的一个变种。这种恶意软件也成功隐身了6个月,原因可能是该样本中包含巨量的垃圾代码,掩盖了其恶意软件的本质,并使得分析工作更难进行。
三、比特串串联
火眼在今年1月发现了一种包含VBA宏和Metasploit shellcode加载器后门的恶意软件,它仅被火眼使用的一个反病毒引擎检测到。这一威胁是在2015年9月上传到VirusTotal的,它有可能是中东的APT小组使用的。证据指向了与伊朗有关连的网络间谍小组Rocket Kitten。
由于VBA宏中使用了比特串串联(byte concatenation) 技术,该威胁可能绕过了基于签名的检测手段。
四、堆喷射技术隐身
最后一个与APT相关的恶意软件在六个月时间段内极少被检测到,它是通过韩软Office文档进行传播的,其目标可能是攻击韩国。研究人员认为该恶意软件有可能通过改造后的堆喷射技术做到了隐身,它可以使用一种不同的格式来触发想要利用的漏洞。
五、其他
火眼还发现了无法找到其来源的恶意软件,比如OccultAgent后门、一种用于攻击巴西的远程控制软件,以及一种在一年时间内保持隐身状态的恶意软件下载器。
这些威胁源使用的回避技术包括:使用多种脚本语言、多层封包、多阶段感染,外加多种通过Office文档加载恶意内容的技术。
火眼在发布的博文中说:“要想正确地做到检测,必须从攻击的整个生命周期上进行监控,而不是仅在可疑文档或文件进入网络时才提起注意。这种方式对于检测并拦截多阶段感染策略十分必要。尽管发送启用宏的表格文档等行为看上去是无害的,最终,后续攻击的某一步终将触发检测。”
“在攻击,甚至是多阶段攻击刚刚出现时,制止起来是最容易的。与此同时,也最容易确定是否存在零日漏洞、威胁源是否需要采取文档宏等用户交互手段完成攻击。”