如果说你的资产有可能被国内外的攻击者盯上并没有把你吓得半死,那就不必读这篇文章。如果你与我们大家一样也要面对现实,那么通过一名真正的专业人士在渗透测试方面给出的一些靠谱的预防性建议,试着采取一些挽救措施。
我们采访了渗透测试工具设计师/编程员/爱好者Evan Saez,他是纽约数字取证和网络安全情报公司LIFARS的网络威胁情报分析师,请他谈一谈最新好的渗透测试工具,以及如何使用这类工具。
市面上现有的渗透测试工具
本文介绍的渗透测试工具包括:Metasploit、Nessus安全漏洞扫描器、Nmap、Burp Suite、OWASP ZAP、SQLmap、Kali Linux和Jawfish。这些工具为保护贵企业安全起到了关键作用,因为这些也正是攻击者使用的同一种工具。要是你没找到自己的漏洞并及时堵上,攻击者就会钻空子。
1.Metasploit
Metasploit是一种框架,拥有庞大的编程员爱好者群体,广大编程员添加了自定义模块,测试工具可以测试众多操作系统和应用程序中存在的安全漏洞。人们在GitHub和Bitbucket上发布这些自定义模块。与GitHub一样,Bitbucket也是面向编程项目的在线软件库。Saez说:“Metasploit是最流行的渗透测试工具。”
相关链接:http://www.metasploit.com
2.Nessus安全漏洞扫描器
Nessus安全漏洞扫描器是一款备受欢迎的、基于特征的工具,可用于查找安全漏洞。Saez说:“Nessus只能将扫描结果与收录有已知安全漏洞特征的数据库进行比对。”
相关链接:http://www.tenable.com/products/nessus-vulnerability-scanner
3.Nmap
Nmap网络扫描器让渗透测试人员能够确定企业在其网络上拥有的计算机、服务器和硬件的类型。这些机器可以通过这些外部探测来查明,这本身就是个安全漏洞。攻击者利用这些信息为攻击奠定基础。
相关链接:https://nmap.org
4.Burp Suite
Burp Suite是另一款备受欢迎的Web应用程序渗透测试工具。据Burp Suite Web安全工具厂商PortSwigger声称,它可以标绘并分析Web应用程序,查找并利用安全漏洞。
相关链接:http://portswigger.net/burp/
5.OWASP ZAP
OWASP ZAP(Zed攻击代理)是来自非营利性组织OWASP(开放Web应用程序安全项目)的Web应用程序渗透测试工具。ZAP提供了自动和手动的Web应用程序扫描功能,以便服务于毫无经验和经验丰富的专业渗透测试人员。 ZAP是一款如今放在GitHub上的开源工具。
相关链接:https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
6.SQLmap
SQLmap可自动查找SQL注入攻击漏洞。然后,它会利用那些安全漏洞,全面控制数据库和底层服务器。
相关链接:http://sqlmap.org
7.Kali Linux
Kali Linux是一款一体化工具,包含一套专用的预安装测试(以及安全和取证分析)工具。Saez说:“它拥有的工具面向对安全一无所知的人。”
相关链接:https://www.kali.org
8.Jawfish
不像大多数工具基于特征,Jawfish是一款使用遗传算法的渗透测试工具。Saez说:“遗传算法会根据搜索结果来寻找目标。”基于搜索标准,随着Jawfish逐渐靠近它所寻找的目标,这里是安全漏洞,它就能找到结果。Jawfish不需要特征数据库。
相关链接:https://jawfish.io
如何使用渗透测试工具?
Metasploit、Nessus安全漏洞扫描器、Nmap、Burp Suite、OWASP ZAP、SQLmap、Kali Linux和Jawfish各有各的用途。大多数企业需要多款工具。Metasploit既提供了Ruby接口,又提供了CLI,那样你的渗透测试人员可以选择其中一种,这取决于你想要完成什么任务。Saez说:“Ruby接口比较适用于测试非常大的网络,因为在CLI中运行命令对这种测试任务而言太过枯燥乏味。”
Nessus安全漏洞扫描器可以检查计算机和防火墙,寻找敞开的端口、是否安装了可能存在漏洞的软件。大型技术解决方案提供商ICF International公司的首席技术专家Garrett Payer说:“就渗透测试而言,这款工具用处不大,因为它不够精准,通过前门进入,与操作系统进行通信才能确定安全漏洞。这款工具通常用于合规工作,完全用来确定补丁是不是最新版本。”
Nmap可以用来搜索主机、敞开的端口、软件版本、操作系统、硬件版本及安全漏洞,通常标绘网络的攻击面。它在渗透测试的每个阶段都很有用,只要你有一组新的主机、端口及其他资源需要识别,比如进入一个新的网段时。Payer说:“这款工具拥有脚本功能,适用于枚举用户访问。”
Burp Suite可与你的Web浏览器结合使用,标绘Web应用程序。Burp Suite里面的工具可发现应用程序功能和安全漏洞,然后发动特定的攻击。Burp Suite可以自动执行重复性功能,同时在渗透测试人员需要控制个别选项以便测试的地方为用户保留了选择。Payer说:“这一款功能非常丰富的工具可使用代理,探究分析跨站脚本及其他安全漏洞;它提供了一定的透明度,让人们清楚网站实际上将什么数据发送给服务器。”
OWASP ZAP可执行众多扫描和测试,包括端口扫描、蛮力扫描和模糊测试,以便识别不安全的代码。渗透测试人员使用界面直观的GUI,这种GUI类似微软应用程序或某些Web设计工具(比如Arachnophilia)的GUI。一旦你在网站上浏览并执行活动,你再次进入ZAP,就可以查看代码、在那些活动过程中什么数据泄露。被设置成代理服务器后,OWASP ZAP控制它处理的网络流量。Payer说:“这款工具比Burp Suite更新颖,功能不是同样丰富,却是免费开源的。它提供了一小批功能和GUI,对刚接触Web应用程序渗透测试的人来说倒是很有用。”
可以利用SQLmap,通过命令行中的python命令,测试代码没编好的网站和与数据库连接的URL。如果数据库信息的异常URL(链接)导致了错误代码,那么该链接就很容易受到攻击。SQLmap安装在虚拟机里面的Ubuntu Linux上。Payer说:“作为另一种支持脚本的工具,SQLmap可以查明编程员是否对输入进行了参数化之类的问题。”Payer解释,如果没有进行参数化,渗透测试人员或攻击者就可以转发名称、分号或SQL命令,然后在数据库上运行,从而获得控制权。
安装Kali Linux后,可以打开与之捆绑的十多个渗透测试/漏洞利用工具中的任何一个工具。Saez说:“Kali Linux随带大量的用户说明文档。”
你可以试一试使用GUI这种形式的Jawfish渗透测试工具。只要输入目标服务器的IP地址、该IP地址下易受攻击的网站地址,然后输入安全漏洞、方法和目标文本。你成功破解了地址后,该工具会返回目标文本。这个工具是全新工具,尚未经企业应用测试。
比较、选择、使用、打补丁
你应该根据最要紧的安全漏洞位于何处来选择工具。一旦找到了自己的安全漏洞,要是有了最新补丁,及时打上补丁,要是没有补丁,就要注意加强防护,这点很要紧。