30天渗透测试练习计划(2024 第一部分)
本文章阅读大约需要15分钟;
这份计划提供了一系列精心挑选的优质练习资源,对于想要学习和练习渗透测试技能的人来说非常有价值,它提供了一个结构化的学习路径,涵盖 Web 安全、移动安全、Linux、Windows、缓冲区溢出、Active Directory 等领域,旨在帮助你逐步提升渗透测试技能。
每个练习都标明了学习目标、所需背景知识和技巧建议,助你循序渐进地掌握渗透测试的精髓。这些练习资源都是来自于全球顶级网络安全公司, 其中包含了来自 TryHackMe、Portswigger 、Academy、VulnHub 和 HackTheBox 等平台的练习靶场、漏洞利用教程和挑战。大部分资源不仅是免费且还紧跟当前安全技术发展态势。
你可以根据自己的时间安排灵活调整练习计划,不必严格按照顺序或连续 30 天完成。重要的是,保持学习的热情,不断挑战自我,并享受攻克难题的成就感。
根据我自己的实践和理解,练习资源主要侧重于以下6个方面:
1.Web;2.移动;3.Linux;4.Windows;5.缓冲区溢出;6.AD域;
地址: https://tryhackme.com/room/owasptop10 目标: 了解OWASP Top10常见Web应用程序漏洞,学习如何识别和利用这些漏洞。背景知识: 熟悉基本的Web应用架构HTTP 协议、常见Web漏洞类型。建议: 仔细阅读每个漏洞的描述和利用方法,尝试手动构造攻击payload,并理解漏洞背后的原理。
地址: https://tryhackme.com/room/owaspjuiceshop 目标: 在模拟真实环境的Web应用程序中,综合运用各种渗透测试技术,发现和利用多个漏洞。背景知识: 掌握OWASP Top10漏洞的知识,熟悉基本的渗透测试工具和流程。建议: 尝试不同的攻击路径和方法,并记录你的攻击步骤和思路,总结经验教训。
地址: https://tryhackme.com/room/windowsfundamentals1xbx https://tryhackme.com/room/winadbasics 目标: 了解Windows操作系统安全机制,学习如何枚举系统信息、识别漏洞和进行权限提升。背景知识: 熟悉Windows操作系统基本概念、命令行操作、网络协议等。建议: 多动手实践,尝试使用不同的工具和命令,并阅读相关文档深入理解 Windows 安全机制。
地址: https://portswigger.net/web-security/information-disclosure/exploiting/lab-infoleak-in-error-messages https://portswigger.net/web-security/information-disclosure/exploiting/lab-infoleak-in-version-control-history https://portswigger.net/web-security/information-disclosure/exploiting/lab-infoleak-authentication-bypass 目标: 学习如何发现和利用Web应用程序中的信息泄露漏洞,获取敏感信息。背景知识: 了解 Web 应用程序的基本架构、HTTP 协议、常见的信息泄露漏洞类型。建议: 关注错误消息、版本信息、调试信息等细节,尝试使用不同的工具和技巧提取隐藏信息。
地址: https: //portswigger.net/web-security/cross-site-scripting/reflected/lab-html-context-nothing-encodedhttps://portswigger.net/web-security/cross-site-scripting/stored/lab-html-context-nothing-encoded https://portswigger.net/web-security/cross-site-scripting/dom-based/lab-document-write-sink https://portswigger.net/web-security/cross-site-scripting/dom-based/lab-jquery-href-attribute-sink 目标: 了解 XSS 攻击的原理和类型,学习如何构造XSS攻击 payload,并利用 XSS 漏洞窃取用户 Cookie 或执行恶意代码。背景知识: 熟悉 HTML、JavaScript、DOM等Web 前端技术,了解 XSS 攻击的类型和防御措施。建议: 尝试绕过XSS过滤机制,例如使用编码、混淆等技巧,并使用Burp Suite 等工具辅助测试。
地址: https://www.vulnhub.com/entry/bizarre-adventure-mrr3b0t,561/ 目标: 综合运用各种渗透测试技术,入侵目标系统,并获取 root 权限。背景知识: 熟悉 Linux 操作系统、网络协议、渗透测试工具和流程。建议: 耐心细致地进行信息收集,尝试不同的攻击路径,并利用已知漏洞进行攻击。
地址: https://tryhackme.com/room/breachingad 目标: 了解Active Directory环境中的攻击路径和技术,学习如何利用常见漏洞进行攻击。背景知识: 熟悉Active Directory的基本概念和架构,了解Windows系统安全机制。建议: 使用BloodHound等工具分析域环境,识别攻击路径,并利用 Mimikatz 等工具进行攻击。
地址: https://portswigger.net/web-security/xxe/lab-exploiting-xxe-to-retrieve-files https://portswigger.net/web-security/xxe/lab-exploiting-xxe-to-perform-ssrf https://portswigger.net/web-security/xxe/lab-xxe-via-file-upload 目标: 了解XXE攻击的原理和危害,学习如何构造XXE攻击payload,并利用 XXE漏洞读取服务器文件或执行恶意代码。背景知识: 熟悉 XML 语法和解析过程,了解 XXE 攻击的防御措施。建议: 尝试使用不同的payload绕过XXE防御机制,并使用BurpSuite等工具辅助测试。
地址: https://portswigger.net/web-security/ssrf/lab-basic-ssrf-against-backend-system https://portswigger.net/web-security/ssrf/lab-basic-ssrf-against-localhost https://portswigger.net/web-security/ssrf/lab-ssrf-filter-bypass-via-open-redirection 目标: 了解SSRF攻击的原理和危害,学习如何构造SSRF攻击payload,并利用SSRF漏洞访问内部网络或执行恶意请求。背景知识: 熟悉Web应用程序架构、网络协议SSRF攻击的类型和防御措施。建议: 尝试使用不同的URL绕过SSRF防御机制,并使用BurpCollaborator等工具辅助测试。
地址: https://www.vulnhub.com/entry/rickdiculouslyeasy-1,207/ 目标: 学习如何利用常见的Web应用程序漏洞,入侵目标系统,并获取root 权限。背景知识: 熟悉Linux操作系统、Web应用程序漏洞类型、渗透测试工具和流程。建议: 仔细观察应用程序的行为,尝试使用不同的工具和技巧发现漏洞,并利用已知漏洞进行攻击。
地址: https://www.vulnhub.com/entry/bizarre-adventure-sticky-fingers,560/ 目标: 综合运用各种渗透测试技术,入侵目标系统,并获取root权限。背景知识: 熟悉 Linux 操作系统、网络协议、渗透测试工具和流程。建议: 耐心细致地进行信息收集,尝试不同的攻击路径,并利用已知漏洞进行攻击。
地址: https://www.vulnhub.com/entry/kioptrix-level-13-4,25/ 目标: 学习如何利用常见的Linux系统漏洞,入侵目标系统,并获取root权限。背景知识: 熟悉Linux操作系统、网络协议、渗透测试工具和流程。建议: 使用Nmap等工具进行端口扫描和漏洞识别,并利用Metasploit等工具进行漏洞利用。
地址: https://www.vulnhub.com/entry/hogwarts-bellatrix,609/ 目标: 综合运用各种渗透测试技术,入侵目标系统,并获取root权限。背景知识: 熟悉Linux操作系统、网络协议、渗透测试工具和流程。建议: 耐心细致地进行信息收集,尝试不同的攻击路径,并利用已知漏洞进行攻击。
地址: https://tryhackme.com/room/bufferoverflowprep 目标: 了解缓冲区溢出漏洞的原理,学习如何识别和利用简单的缓冲区溢出漏洞。背景知识: 熟悉计算机内存管理机制、汇编语言、调试工具等。建议: 使用GDB等调试工具跟踪程序执行流程,理解exploit代码的编写原理。
地址: https://portswigger.net/web-security/server-side-template-injection/exploiting/lab-server-side-template-injection-basic https://portswigger.net/web-security/os-command-injection/lab-simple https://portswigger.net/web-security/os-command-injection/lab-blind-time-delays 目标: 了解操作系统命令注入漏洞的原理和危害,学习如何构造恶意命令,并利用漏洞执行任意命令。背景知识: 熟悉 Web 应用程序架构、操作系统命令行操作、命令注入漏洞的防御措施。建议: 尝试绕过命令注入防御机制,例如使用编码、混淆等技巧,并使用 Burp Suite等工具辅助测试。
地址: https://portswigger.net/web-security/file-upload/lab-file-upload-remote-code-execution-via-web-shell-upload https://portswigger.net/web-security/file-upload/lab-file-upload-web-shell-upload-via-content-type-restriction-bypass https://portswigger.net/web-security/file-upload/lab-file-upload-web-shell-upload-via-race-condition 目标: 了解文件上传漏洞的原理和危害,学习如何绕过文件上传限制,上传恶意文件并控制服务器。背景知识: 熟悉 Web 应用程序架构、文件上传机制、文件上传漏洞的防御措施。建议: 尝试使用不同的文件类型、文件名、文件内容绕过上传限制,并使用 Burp Suite 等工具辅助测试。
地址: https://app.hackthebox.com/machines/Busqueda 目标: 综合运用各种渗透测试技术,入侵目标系统,并获取root权限。背景知识: 熟悉Windows操作系统、网络协议、渗透测试工具和流程。建议: 使用Nmap等工具进行端口扫描和服务识别,尝试利用Web应用程序漏洞和系统漏洞进行攻击。
地址: https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-unverified-signature https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-flawed-signature-verification https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-weak-signing-key https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-jwk-header-injection https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-jku-header-injection https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-kid-header-path-traversal https://portswigger.net/web-security/jwt/algorithm-confusion/lab-jwt-authentication-bypass-via-algorithm-confusion 目标: 了解JWT的工作原理和安全风险,学习如何识别和利用JWT相关的漏洞,例如签名伪造、算法混淆、信息泄露等。背景知识: 熟悉JWT的结构和规范、加密算法、数字签名等。建议: 使用BurpSuite等工具拦截和修改JWT令牌,尝试不同的攻击payload 绕过安全机制。
(也可以点击笔者这篇文章参考)
地址: https://app.hackthebox.com/challenges/cat 目标: 学习如何利用移动应用程序中的安全漏洞,入侵目标系统。背景知识: 熟悉移动应用程序架构、Android 或 iOS 操作系统、移动安全测试工具。建议: 使用 Frida 等工具进行动态分析,识别应用程序中的敏感信息和漏洞,并尝试利用漏洞进行攻击。
地址: https://app.hackthebox.com/challenges/supermarket 目标: 综合运用各种渗透测试技术,入侵目标系统,并获取root权限。背景知识: 熟悉Linux操作系统、Web应用程序漏洞类型、渗透测试工具和流程。建议: 仔细观察应用程序的行为,尝试使用不同的工具和技巧发现漏洞,并利用已知漏洞进行攻击。
地址: https://app.hackthebox.com/challenges/joker 目标: 综合运用各种渗透测试技术,入侵目标系统,并获取root权限。背景知识: 熟悉Linux操作系统、网络协议、渗透测试工具和流程。建议: 耐心细致地进行信息收集,尝试不同的攻击路径,并利用已知漏洞进行攻击。
地址: https://ys2k-iwnl.medium.com/buffer-overflow-exploiting-seattle-lab-mail-slmail-61b1f659c8dC (Medium 文章,可能已失效)https://github.com/CyberSecurityUP/Buffer-Overflow-Labs 目标: 学习如何利用经典的缓冲区溢出漏洞,入侵目标系统,并获取控制权。背景知识: 熟悉计算机内存管理机制、汇编语言、调试工具等。建议: 使用ImmunityDebugger等调试工具分析漏洞程序,构造exploitpayload,并精确控制程序执行流程。
https://app.hackthebox.com/machines/OnlyForYou 目标: 综合运用各种渗透测试技术,入侵目标系统,并获取root权限。背景知识: 熟悉Windows操作系统、网络协议、渗透测试工具和流程。建议: 使用Nmap等工具进行端口扫描和服务识别,尝试利用Web应用程序漏洞和系统漏洞进行攻击。
https://app.hackthebox.com/machines/Escape 目标: 综合运用各种渗透测试技术,入侵目标系统,并获取root权限。背景知识: 熟悉Linux操作系统、网络协议、渗透测试工具和流程。建议: 耐心细致地进行信息收集,尝试不同的攻击路径,并利用已知漏洞进行攻击。
地址: https://portswigger.net/web-security/deserialization/exploiting/lab-deserialization-modifying-serialized-data-types https://portswigger.net/web-security/deserialization/exploiting/lab-deserialization-using-application-functionality-to-exploit-insecure-deserialization https://portswigger.net/web-security/deserialization/exploiting/lab-deserialization-arbitrary-object-injection-in-php https://portswigger.net/web-security/deserialization/exploiting/lab-deserialization-developing-a-custom-gadget-chain-for-java-deserialization 目标: 了解不安全反序列化漏洞的原理和危害,学习如何构造恶意序列化数据,并利用漏洞执行任意代码。背景知识: 熟悉序列化和反序列化的概念,了解常见编程语言的序列化机制,以及不安全反序列化漏洞的防御措施。建议: 使用Ysoserial等工具生成恶意序列化数据,并使用Burp Suite等工具进行攻击。
地址: https://portal.offsec.com/ 目标: 综合运用各种渗透测试技术,入侵目标系统,并获取root权限。背景知识: 熟悉Linux操作系统、网络协议、渗透测试工具和流程。建议: 仔细阅读挑战说明,了解目标环境和攻击目标,并利用已知漏洞进行攻击。
地址: https://portal.offsec.com/ 目标: 综合运用各种渗透测试技术,入侵目标系统,并获取root权限。背景知识: 熟悉Linux操作系统、网络协议、渗透测试工具和流程。建议: 仔细阅读挑战说明,了解目标环境和攻击目标,并利用已知漏洞进行攻击。
地址: https://app.hackthebox.com/machines/Flight 目标: 综合运用各种渗透测试技术,入侵目标系统,并获取root权限。背景知识: 熟悉Linux操作系统、网络协议、渗透测试工具和流程。建议: 使用Nmap等工具进行端口扫描和服务识别,尝试利用Web应用程序漏洞和系统漏洞进行攻击。
地址: https://app.hackthebox.com/machines/Absolute 目标: 综合运用各种渗透测试技术,入侵目标系统,并获取 root 权限。背景知识: 熟悉 Linux 操作系统、网络协议、渗透测试工具和流程。建议: 耐心细致地进行信息收集,尝试不同的攻击路径,并利用已知漏洞进行攻击。
地址: https://www.vulnhub.com/entry/bizarre-adventure-joestar,590/ 目标: 综合运用各种渗透测试技术,入侵目标系统,并获取 root 权限。背景知识: 熟悉 Linux 操作系统、网络协议、渗透测试工具和流程。建议: 耐心细致地进行信息收集,尝试不同的攻击路径,并利用已知漏洞进行攻击。
记住,持续学习和实践才是成功的关键!
如果您觉得文章对您有所帮助,还请您关注我!