渗透测试的时代无疑已经发生了变化。多年前,当这一攻击性安全专业开始兴起时,人们开始从手动技术向依赖各种工具转变,其中大多数工具是开源的。随后,渗透测试又细分了几个领域,包括网络、Web应用、社会工程学、云计算等。
作为一名渗透测试人员,要识别所有细分领域中使用的顶级工具相当困难,因为每个渗透测试人员都有一套适用于特定平台的专用工具。根据不同的方法,渗透测试大概包含九个阶段,包括(但不限于)侦察、指纹识别、获取和维持访问权限、防御规避、掩盖踪迹、提权和数据窃取。每个阶段都有各自的专用工具。
十大渗透测试工具
在深入研究这些工具之前,记住要负责任地进行渗透测试。目标存在并不意味着我们就可以对其进行测试。这些工具不仅仅是技术极客的酷炫玩具,它们还是功能合法的武器。如果您急于启动这些工具并亲自试运行,请确保您是在自己控制的实验室中进行测试,或者是在类似Damn Vulnerable Web Application(DVWA)或 Hackazon 这样的地方进行测试。这些应用程序是故意设计成有漏洞的,以便您可以测试自己发现已知弱点并利用它们的能力。
最近出现了几款企业级自动化工具,但这些工具都需要许可证,而且价格不菲。我们根据最广泛的使用情况和认可度挑选了以下10种开源工具。
10. Aircrack-ng
这是一款值得一提的无线渗透测试领域的重量级工具。Aircrack-ng专注于Wi-Fi安全领域,如监控、发起隐蔽攻击、严格测试防御等,它可以像锁匠大师一样破解那些难解的WPA密钥。Aircrack-ng的主要用途是识别和利用Wi-Fi网络中的漏洞,尤其是针对WEP和 WPA/WPA2-PSK安全协议的漏洞。它的工作原理是捕获网络数据包,然后应用各种算法破译用于保护无线网络安全的密钥。
它还包括用于将无线网卡置于监控模式的Airmon-ng、用于捕获数据包的Airodump-ng和用于生成流量和诱导有利于网络分析和攻击的条件的Aireplay-ng。该工具被网络管理员广泛用于安全评估,也被网络安全专业人员和道德黑客用于测试无线网络的强度和弹性,以抵御未经授权的访问和其他安全威胁。
9. SQLmap
将SQLmap视为渗透测试游戏中的老前辈,它可以在不断演变的威胁环境中蓬勃发展。它能自动检测和利用Web应用程序中的SQL注入(SQLi)漏洞。SQLmap的工作原理是向目标Web应用程序发送各种类型的请求,并分析响应以识别潜在漏洞。一旦发现SQL注入漏洞,SQLmap就可用于从数据库中提取数据、获取对数据库的管理访问权限,甚至在服务器上执行远程命令。SQLmap支持多种数据库,并包含大量用于高级操作和定制SQL注入攻击的功能,是评估与数据库交互的Web应用程序安全性的高效工具。
当然,它可能只有几年的历史,但毫无疑问,它仍然是渗透测试领域的重要参与者。SQL注入(SQLi)仍会是2024年困扰数字世界的重要问题,而SQLmap是少有的能正面应对SQLi挑战的工具之一。
8. ZAP(Zed Attack Proxy)
欢迎使用Web应用渗透测试领域的秘密武器。ZAP以前被称为OWASP ZAP,可能并没有被广泛熟知,但在Web应用的圈子里,它的地位类似于网络安全领域的Nessus。它是一款开源Web应用安全扫描工具,旨在帮助用户在开发和测试Web应用时自动发现其中的安全漏洞。该工具具有拦截代理的功能,位于浏览器和网Web应用之间,可以检查和操纵进出网站的流量。这样,ZAP就能识别诸如访问控制失效、不安全配置和其他漏洞等问题。
ZAP之所以如此受欢迎,是因为它对于应用安全新手和专业开发人员来说,既友好又有效。此外,ZAP还提供一系列工具和功能,包括自动扫描仪、一套用于手动测试的工具,以及各种用于扩展功能的附加组件,使其成为Web应用安全测试的全面解决方案。
7. Wireshark
Wireshark 因其“捕获数据包”的功能而享有盛誉,但它是一款用途广泛、功能强大的工具,几乎让人感觉像是在作弊。Wireshark是一款网络协议分析器,广泛用于网络故障排除、分析、开发和教育。它能实时捕捉和显示网络上来回传输的数据,从而检查有关网络协议、数据包和网络流量的详细信息。
Wireshark允许用户在微观和宏观层面查看网络活动的细节。它可用于诊断网络问题、检查网络安全问题、调试协议实施、学习网络协议内部结构,甚至评估防火墙规则。Wireshark具有强大的过滤和搜索功能,用户可以从网络流量流中分离并分析感兴趣的特定数据包。这使它成为网络管理员、安全专家和任何需要了解网络数据流的人不可或缺的工具。
6. John the Ripper
John the Ripper可能不是我们日常使用的渗透测试工具箱中常用的工具,但我们必须承认——如果不向经典的密码破解艺术致敬,任何渗透测试工具的总结都是不完整的。大多数经验丰富的渗透测试人员都学会了依靠他们长期定制的表格来进行字典和彩虹表攻击,但如果没有这些,John the Ripper通常也能完成工作。John the Ripper是一款功能强大的密码破解工具,被广泛用于测试密码强度,并可用于破解各种类型的密码。它在测试网络环境中密码的弹性方面尤为有效。
5. Nessus
作为漏洞扫描工具中的泰斗,Nessus几乎成了发现网络薄弱点这一概念的代名词。根据我们的经验,这可能是下载量、使用率和认可度最高的漏洞扫描工具。Nessus用于扫描网络漏洞、配置问题、基准不足和补丁缺失等问题。这种工具不仅能在表面上发挥作用,还能深入挖掘,提供有价值、全面的见解和发现。
对系统进行指纹识别后,我们要确定该系统可能易受哪些类型的漏洞利用,这为我们提供了一个很好的开始。完成这一步后,MEtasploit和其他漏洞利用工具就会介入完成工作。
4. BURP套件
BURP Suite是我们的渗透测试工具包中的最爱,尤其是在Web应用安全领域,它对任何认真深入研究错综复杂的Web应用渗透测试的人来说都是不可或缺的工具。
当然,它的下载量可能比不上Nessus,但BURP Suite是Web应用安全研究人员的坚强后盾。它是一个完整的软件包,是一个具有多功能和深度的集成平台。从扫描和搜索到攻击和利用,BURP可以拦截、操纵、对有效载荷进行URL编码、更改传输方式,还可以直接向网站发送请求。此外,它们还拥有最受推崇的免费培训之一,可提供在各种情况和目标下利用其工具的所有方法。
3. 攻击性的工具
攻击性的工具是当之无愧的前三名,它们是专门用于渗透操作系统。这些工具通常是一站式服务,在一次下载中包含尽可能多的工具,覆盖渗透测试的每个阶段,从侦察和OSINT一直到数据窃取。它甚至还包括取证、逆向工程和简单的安全审计工具等边缘功能。
长期以来,Kali Linux是这一领域的唯一品牌,因为它根据渗透测试的各个阶段对工具进行了整齐的分类。您可以直接在开始菜单中选择阶段:OSINT/Exploit/Data Exfil/Forensics >选择工具>然后启动。但现在Kali不再是唯一的霸主了。以Parrot OS为例,它在与Kali的对抗中声名鹊起,尤其是EC-Council等机构在CEH认证模块和考试中认可了它。Parrot OS正在开辟自己的领域,以其友好的用户界面和轻量级环境吸引更多用户,更加注重性能和安全性。Parrot运行更精简,没有过多的负载。
值得注意的是,这种转变并不是说一个比另一个更好,而是关于选择以及是否适合渗透测试社区的不同风格和偏好。在我们的红队员看来,您应该找到适合自己的工具,并将它们纳入到自己的工具包中。
2. Metasploit
虽然Metasploit可能不再是漏洞利用领域的王者,但由于Atomic Red Team等新兴挑战者的出现,Metasploit在渗透领域继续受到尊重和推崇。Metasploit在漏洞利用和后漏洞利用阶段拥有强大的功能,尤其是对于那些刚刚涉足渗透测试领域的人来说。
Metasploit不仅仅是一款工具,它还是开发、测试和执行针对远程目标的漏洞利用代码的全套工具包。Metasploit不仅能查找漏洞,它还能测试漏洞、执行漏洞,并了解如何在实际场景中利用漏洞。即使您是Cobalt Strike的忠实用户,您也很有可能先从它开始,因为它免费且对用户友好。
1. Nmap(网络映射器)
在推荐列表中,排名第一的是Nmap。它是侦察和指纹识别领域无可争议的冠军,是任何渗透测试操作的关键阶段。这个工具不仅仅是渗透测试人员工具包的一部分,它几乎是每一次安全探险的起点。
Nmap融合了强大的网络发现工具和细致的安全审计器。它能发现从开放端口、运行服务到系统版本和缺失补丁的每一个小秘密。难怪网络和系统管理员对它的多功能性和深度同样推崇备至。真正让Nmap脱颖而出的是它惊人的可定制性,您可以根据需要定制扫描范围或精确度。我很少使用全方位开放式扫描,因为老实说,这就像打开一个数据水管。相反,我会选择外科手术式的方法,针对特定方面(如过滤端口或操作系统版本)进行扫描,而Nmap会像专业人士一样处理这些问题。
对于我们这些渗透测试人员来说,Nmap是我们在被动侦察之后主动接触系统的第一步,而且通常是隐蔽的。有可能在Nmap执行操作时,没有入侵检测系统会发现您的存在。
-End-
零基础渗透测试学习计划
学习路线图大纲总览
我一共划分了六个阶段,但并不是说你得学完全部才能上手工作,对于一些初级岗位,学到第三四个阶段就足矣~
这里我整合并且整理成了一份【282G】的网络安全从零基础入门到进阶资料包,需要的小伙伴文末免费领取哦,无偿分享!!!
【一一帮助网络安全学习,以下所有资源文末免费领取一一】
①网络安全学习路线
②上百份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥HW护网行动经验总结
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析
接下来我将给各位同学划分一张学习计划表!
学习计划
那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:
阶段一:初级网络安全工程师
接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。
综合薪资区间6k~15k
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?
阶段二:中级or高级网络安全工程师(看自己能力)
综合薪资区间15k~30k
7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。
零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;
Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完
用Python编写漏洞的exp,然后写一个简单的网络爬虫
PHP基本语法学习并书写一个简单的博客系统
熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)
了解Bootstrap的布局或者CSS。
阶段三:顶级网络安全工程师
这部分内容对于咱们零基础的同学来说还太过遥远了,由于篇幅问题就不展开细说了,我给大家贴一个学习路线。感兴趣的童鞋可以自行研究一下哦,当然你也可以点击这里加我与我一起互相探讨、交流、咨询哦。
资料领取
上述这份完整版的网络安全学习资料已经上传网盘,朋友们如果需要可以微信扫描下方二维码 ↓↓↓ 或者 点击以下链接都可以领取
点击领取 《网络安全&黑客&入门进阶学习资源包》