安全测试者常用且好用的安全测试工具,本文摘录并分类整理列举一二,供安全从业者与爱好者参考。
入门介绍:
说到黑客大家可能觉得很神秘,其实我们说的的黑客是白帽子黑客,就是去寻找网站、系统、软件等漏洞并帮助厂商修复的人,刚入门的黑客大部分从事渗透工作,而渗透大部分属于web安全方向,就是利用漏洞来取得一些数据或达到控制,让对方程序崩溃等效果。
2003年,美国网络安全研究员兼开发者Moore启动了Metasploit项目,目的是创建一个开源平台,获取Exploit代码用于研究与开发。随后,Metasploit框架得以开发与发展,目前已经成为广泛用于渗透测试和研究的开源漏洞利用框架。2009年,Metasploit被Rapid7公司收购,但直到2013年,仍然由HD管理。Metasploit的受欢迎程度无需细说,这个框架已经被翻译成数十种语言,基本每个安全从业者都对此有所了解和研究。
Metasploit原框架是免费的,但Rapid7收购之后,新的MetasploitPro和MetasploitExpress版本都需要收费。当然,后两者的功能也更丰富,能够为中小企业和企业级组织提供安全项目和高级渗透测试等完整安全解决方案,在IT安全审计中也广泛使用。所有的Metasploit版本都可在Unix(包括Linux和MacOSX)和Windows上运行。
Metasploit主要有五大用途:
A.选择和配置漏洞利用代码,可以为Windows,Unix/Linux和MacOSX系统提供近1000个漏洞
B.检查目标
C.选择并配置要发送到目标的有效载荷(如远程外壳或VNC服务器)。
D.绕过IDS/IPS系统(Intruston检测系统)
E.执行利用
Wifiphisher可以对无线WiFi网络执行快速的自动钓鱼测试,借以发现账户和密码凭据。Wifiphisher的特色在于它使用了社交工程攻击,其主要利用过程为:Wifiphisher从用户合法的AP中取消用户的身份验证,再让用户验证实现攻击所必须的EvilTwinAP。随后,Wifiphisher将通过代理向用户提供一个HTML网页,通知用户固件升级已经完成,并要求用户再次进行认证。在这个过程中,用户的无线密码就已经泄露,而用户则会毫不知情,继续浏览网页。
Wifiphisher完全免费,可以从GitHub下载,支持KaliLinux系统,目前有一些用户也可在其他平台上使用这款工具,但还是Linux最安全。
当然,要想实现成功利用,用户还需要配置支持“接入点”(AP)模式、且能够在“监视器模式”下执行注入攻击的无线网络适配器。此外,设备驱动也应该支持网络连接。
密码破解类
2、JohntheRipper(免费)
JohnTheRipper算是很有名的密码破解(黑客)工具了。除了名字炫酷,JohntheRipper使用效果也很好,与Metasploit同属于Rapid7家族。
在密码分析中,密码破解主要是指从计算机系统或网络中存储或已经传输的数据中恢复或窃取密码的过程。最常见的密码破解方式就是“暴力破解”,也就是计算机系统通过交叉检查密码的可用加密哈希来猜测正确密码。而在明文密码中,“暴力破解”则演变自“字典攻击”。如果被猜测的密码有哈希值,那么密码破解获得的就是“彩虹”表。这些过程已是众所周知。而JohnTheRipper的优势在于,可以离线破解密码。
JohntheRipper既有免费版本又有收费的“商业版本”。对密码破解特定操作系统感兴趣的渗透测试人员一般都会使用商业版本,其性能和速度都有所优化。对于普通用户而言,开源免费版本的JohnTheRipper也够用。核心用户还可以在Rapid7官网获取Pro版本。
JohnTheRipper最初基于Unix系统开发,现在可各种平台上运行。这些平台中有11个是DOS、Unix、BeOS、Win32和OpenVMS的架构特定版本。
THCHydra可免费使用,在Linux,Windows/Cygwin,Solaris,FreeBSD/OpenBSD,QNX(黑莓10)和OSX上都已经进行测试。
Aircrack-ng由数据包嗅探器、检测器、WPA/WPA2-PSK解密器、WEP和用于802.11无线局域网的分析工具组成。Aircrack-ng支持无线网络接口控制器,驱动程序支持原始监控模式,可以嗅探802.11a、802.11b和802.11g流量。从0.9版本开始,Aircracl-ng套件中就包含了由达姆施塔特理工大学某研究小组制作的新攻击向量“PTW”,可以减少解密WEP密钥所需初始化向量(IV)的数量。Aircrack-ng的重点是无线安全领域。主要功能包括监视捕获数据包,将数据导出到文本文件供第三方工具处理;重复攻击;伪造接入点;使用数据包注入解除身份验证;通过捕获和注入来测试WiFi卡和驱动程序功能;破解WPA和WPAPSK(WPA1和WPA2)。
Aircrack-ng可以在FreeBSD、OSX、Wubdows、OpenBSD和Linux等多平台上运行,其Linux版本已经打包为OpenWrt版本,并转移到Maemo、Zaurus和Android平。目前,iPhone也开放了Aircrack-ng的PoC端口。
Nmap的威力很多安全测试者都领略过。Nmap是NetworkMapper的缩写。Nmap可以检查原始IP数据包、获取网络上可用的主机(服务器信息;了解主机正在使用的服务(应用程序名称和版本)、操作系统(包括操作系统版本和可能的修补程序)以及目标正在使用的数据包过滤器/防火墙类型和版本。就连Metasploit也要借助Nmap进行网络发现和安全审计。
此外,需要注意的是,Nmap还有个GUI版本的Zenmap。安全测试中在进行渗透测试时,可以直接使用Zenmap,因为它可以预先加载所有命令行,不必在命令终端上输入并运行“nmap”来加载命令帮助提示。
Nmap完全免费,适用于所有主流计算机操作系统。其官方二进制包可用于Linux、Windows、MacOSX和AmigaOS。使用KaliLinux或BackBox可进行Nmap的快速安装,因为二者随Nmap一起提供,便于轻松更新程序。
NetScanTools是一个不同测试工具的集合,有助于进行互联网信息收集和网络故障排除。使用者可以利用NetScanTools自动研究IPv4和IPv6的地址、域名、主机名、电子邮件地址和URL。这些自动化工具可由用户自主启动,也就是说,用户可以同时使用几种工具来进行研究,然后结果将显示在Web浏览器中。对于网络工程、网络安全、网络管理、网络培训、或网络犯罪调查工作人员来说,NetScanTools很有用。
NetScanTools有免费版本也有商业版本,只在MicrosoftWindows操作系统上运行。
BurpSuite其实是一个平台,包含不同类型的工具,相互间有许多接口,连接便利,能加快渗透应用程序的进程。不同的工具共享相同的框架,用于显示和处理HTTP消息、身份验证、耐久性、日志记录、警报、代理和可扩展性。
BurpSuite需要付费,但也有免费试用版可以使用,适用于Linux、MACOSX和Windows操作系统。
Nikto是一个开放源代码的Web服务器扫描程序,可以在Web服务器上执行超过6700个潜在危险文件和程序的测试。也可在超过2700台服务器上检查1250多个旧服务器的版本和特定的版本问题。此外,Nikto还可检查服务器配置项目(如多个索引文件、HTTP服务器选项等),还能尝试识别已安装的软件和Web服务器。其插件和扫描项目经常可以自动更新。
其实,并非所有的检查都是为了查找安全问题。但是安全工程师和网站管理员有时不知道他们的服务器上存在“仅检查信息”类型的检查。而通过使用Nikto,这些“信息类型”的检查会在打印出的信息中标记出来,还能扫描到另一些针对日志文件中未知项目的检查。
Nikto可免费使用。由于Nikto基于perl,因此只在大多数安装了Perl翻译器的系统上运行。
GnuPG(也叫PGP)是PhilZimmerman编写的加密系统,只能通过命令行控制运行,有成千上万的安全专家使用。能帮助用户加密、签署数据与通信信息,保护数据免受风险。GnuPG还附带一个有效的密钥管理系统,可管理所有类型的公共密钥目录。此外,GNuPG可与S/MIME和SecureShell(ssh)等多个应用程序一起使用。
GnuPG也被视为PGP标准的开源实例,是OpenPGP(也被称为RFC4880或PGP)的免费版本,可在Linux、MicrosoftWindows和MacOSX上运行。
Keepass是一款开源的密码管理器,支持高级加密标准和Twofish算法,可以存储多个密码,并使用一个主密码解锁。也就是说,只需要记住一个强密码,就能记住不同账户的不同密码。使用keepass,还能在网页表单中自动填写密码。Keepass使用时不需要安装,因此可以用USB等设备携带,非常方便。此外,Keepass还能将数据库从一台计算机传输到另一台计算机,并帮助用户生成强密码。
OpenVPN是由OpenVPNTechnologies开发的工具,遵循传统VPN原则,下载量超过300万次,可以让同行使用共享的密钥、用户名、密码或证书相互验证。如果用户在多客户端服务器配置环境中使用Openvpn,则将允许服务器为每个客户端发布身份验证证书。该工具还为用户提供了一个可扩展框架,旨在简化特定于站点的定制。
OpenVPN软件免费,能在Linux、Windows和MACOSX系统上运行,也可在手机端使用。
Netfilter是一款经典的防火墙渗透测试工具,其核心用途是在Linux2.4.x及更高版本内核中过滤数据包、网络地址、端口、(NA[P]T协议内的)转译内容和其他数据包审计。Netfilter相当于Linux内核中的一系列hook,可以让内核模块在网络堆栈中执行回调函数。然后回调网络堆栈内遍历相应hook的每个包内注册的回调函数。
Netfilter涉及到iptables,iptables是一个用于定义规则集的通用表结构。IP表中的每个规则由多个分类器(iptablesmatches)和一个连接的动作(iptablestarget)组成。Netfilter、ip_tables、连接跟踪(ip_conntrack,nf_conntrack)和NAT子系统共同构建起Netfilter框架。
Netfilter可免费试用,但是只适用于Linux系统。
OpenBSDPF可用于过滤TCP/IP流量并运行NetworkAddressTranslation,还能对TCP/IP流量进行规范化和调整,并提供带宽控制和数据包优化。OpenBSDPF还可实现被动操作系统检测等功能。
OpenBSD3.0版本之后,包过滤已经成为“GENERICOpenBSD内核”的一部分。以前的OpenBSD内核版本附带不同的防火墙/NAT,但现在的版本已经不再支持这个功能。
OpenBSDPF完全免费,只适用于Linux操作系统。
OSSIM可免费使用,仅适用于Linux操作系统。
OSSECHIDS可免费使用,适用于大多数操作系统,包括Linux、MacOS、Solaris、HP-UX、AIX和Windows。
GDB是符合GNU通用公共许可证的免费工具,且在DBX调试器之后建模,可在许多类Unix系统上运行,适用于包括C、C++、Ada、FreePascal、Fortan、Java等在内的多种编程语言。
IDA是一个多平台(包括Linux)多处理器反汇编程序及调试工具,经常被程序员和开发人员用于调试应用程序、评估不正常运行的代码。此外,IDAPro可帮助用户分析可能存在的漏洞。IDAPro相当于多目标反汇编器和多目标调试器。其中,多目标反汇编器是一个针对大量处理器的反汇编模块,具有完整的可扩展性和交互性,并且尽可能接近高级源代码。而多目标调试器是一个调试器,可以针对反汇编器收集的数据进行动态分析,还具备调试器的完整功能。IDAPro的开发者表示,“IDA反汇编程序尽可能地接近原始源代码”,因此广受欢迎。
IDAPro最新完整版本是商业版本,需要收费,不过其早期的低配版本(版本5.0及以下)可以免费下载,所有版本适用于Windows,Linux和macOSX操作系统。
ImmunityCANVAS测试工具可用于测试系统是否安全。这个工具附带特意设计的漏洞利用模块,可用于发现exploit。ImmunityCANVAS可帮助企业具体了解其系统安全概况。
具体来说,ImmunityDebugger可用于分析恶意软件,编写exploit和逆向工程的二进制文件。这个工具建立在一个包括函数图形的可靠用户界面上,是业界第一个只用于堆创建的分析工具。此外,ImmunityDebugger还是PythonAPI,易于扩展。
ImmunityDebugger支持所有Windows操作系统。
OllyDbg是一个可以分析调试器的32位汇编器。由于采用二进制代码分析,因此在源不可用的情况下,使用OllyDbg分析就很有用。OllyDbg拥有良好的用户界面,具有追踪寄存器、循环、进程、API调用以及高级代码分析功能,能够识别程序、开关语句、表格、常量和字符串等,还能用于调试DLL。OllyDbg还能调试多线程应用程序,并可以添加到正在运行的程序中。OllyDbg完全支持Unicode,并动态识别ASCII和Unicode字符串。
OllyDbg的所有官方版本都是免费的,但源代码并未公开。它只适用于Windows系统,且不可在Win32s上运行。
WinDbg所有官方版本都是免费的,只适用于Windows操作系统。值得注意的是,许多WinDbg用户也倾向于使用VisualStudio调试器。
NBTScan需要命令行控制运行,扫描本地或远程TCP/IP网络上打开的NETBIOS域名服务器。NBTScan基于标准Windows工具nbtstat的功能和处理结构,但是可以在大部分IP地址上运行。NBTScan的作者表示,由于以前的类似工具只能在Windows平台上运行,所以就开发了NBTScan,便于在多个主流平台上运行。
NBTScan用简便的C语言编写,大小不足40KB,也不需要特殊的库或DLL,在MS-DOS命令窗口中运行。此外,NBTScan也适用于Linux!
THCAmap的主要作者和开发人员表示,THCAmap是第一个可以进行应用程序协议检测的工具。但是相比之下,nmap-sV命令更适合进行应用程序指纹识别。