本仓库概述了学习渗透测试所需的知识,并收集了用于实践道德黑客的工具、资源和参考资料。大多数工具都兼容UNIX系统,免费且开源。
状态
本项目已终止并归档。内容可能已过时。
开始之前
- 如果你是信息安全新手,请忘记你所知道的关于黑客的一切。
- 在阅读渗透测试及其工作原理之前,不要开始使用工具(参见其他资源部分)。
- 如果你没有审核过代码,不要下载或使用工具。
- 不要使用这些工具做愚蠢的事情,比如未经同意调查/黑客攻击你的朋友,更不要攻击你的招聘者。
- 阅读书籍、手册、文章,保持好奇心,不要只做一个脚本小子。
- 我希望你不要将这些工具用于非法目的,但如果你这样做,我希望你知道自己在做什么。
- 使用挑战来练习,而不是真实目标!
目录
(目录由nGitHubTOC生成)
简介
什么是渗透测试?
渗透测试是一种用于测试应用程序安全性的安全测试。它的目的是发现系统中可能存在的安全风险。
如果系统不安全,攻击者可能会中断或未经授权地控制该系统。安全风险通常是在开发和实施软件时出现的意外错误。例如,配置错误、设计错误和软件漏洞等。了解更多
想成为渗透测试员吗?
了解互联网上的风险以及如何预防这些风险非常有用,特别是作为一名开发人员。Web黑客和渗透测试是自我防御的2.0版本!但是,仅仅了解工具和如何使用它们就足以成为一名渗透测试员吗?当然不是。真正的渗透测试员必须能够严格地进行操作并检测应用程序的弱点。他们必须能够识别背后的技术,并测试每一个可能对黑客开放的门。
本仓库的首要目标是建立一种关于渗透测试的反思方法,并解释如何进行应用程序安全保护。其次,是汇集渗透测试员需要的各种工具和资源。在学习渗透测试之前,请确保了解编程语言和互联网安全的基础知识。
此外,了解法律以及你被允许做什么和不被允许做什么也很重要。根据你所在的国家,计算机法律可能不同。首先,查看有关隐私和监视的法律:九眼联盟国家、五眼联盟和十四眼联盟。始终检查你所做的是否合法。即使不是攻击性的,信息收集也可能是非法的!
([返回目录](#目录))
一些术语
信息安全:信息安全是防止未经授权的访问、使用、披露、中断、修改、检查、记录或破坏信息的做法。信息或数据可以采取任何形式,例如电子或物理形式。信息安全也可以指从事道德安全的人。维基百科
行动安全:行动安全是一个过程,用于识别关键信息,以确定友方行动是否可被敌方情报观察到,确定对手获得的信息是否可能被解释为对他们有用,然后执行选定的措施,消除或减少对手对友方关键信息的利用。维基百科
黑帽/灰帽/白帽黑客:利用漏洞或漏洞利用来入侵系统或应用程序的人。目标和方法因他们是黑帽、灰帽还是白帽黑客而异。黑帽是指那些恶意的、不等待许可就入侵系统或应用程序的人。白帽通常是从事道德黑客的安全研究员。灰帽则介于这两种黑客之间,如果能获得利益(数据泄露、金钱、揭发等),他们可能会有恶意。
红队:根据维基百科,红队或红队是一个独立的团队,通过扮演对手的角色或观点来挑战组织,以提高其效率。它在具有强烈文化和固定解决问题方式的组织中特别有效。美国情报界(军事和民用)有红队探索替代未来,并撰写文章,就像他们是外国世界领导人一样。军队中很少有关于红队的正式学说或出版物。在信息安全演习中,红队扮演攻击者的角色。维基百科
蓝队:蓝队是一群个人,他们对信息系统进行分析,以确保安全性,识别安全缺陷,验证每项安全措施的有效性,并确保所有安全措施在实施后仍然有效。因此,蓝队被开发来设计针对红队活动的防御措施。在信息安全演习中,蓝队扮演防守者的角色。维基百科 渗透测试人员:道德黑客,专门从事安全工作,测试应用程序和系统以防止入侵或发现漏洞。
安全研究员:进行渗透测试并浏览网络以寻找钓鱼/虚假网站、受感染的服务器、漏洞或弱点的人。他们可以作为安全顾问为公司工作,很可能是蓝队成员。
逆向工程:逆向工程,也称为反向工程,是通过解构人造物品来揭示其设计、架构或从中提取知识的过程。与科学研究类似,唯一的区别是科学研究针对的是自然现象。
社会工程学:在信息安全领域,指的是通过心理操纵使人们执行某些行为或泄露机密信息。这是一种为了收集信息、欺诈或系统访问而进行的信任欺骗,与传统的"骗局"不同,它通常是更复杂欺诈计划中的一个步骤。"社会工程学"这个术语作为一种心理操纵行为,也与社会科学有关,但在计算机和信息安全专业人士中使用得更为广泛。
威胁分析师:威胁猎手,也称为网络安全威胁分析师,是一名安全专业人员或托管服务提供商(MSP),主动使用手动或机器辅助技术来检测可能逃过自动化系统检测的安全事件。威胁猎手旨在发现企业原本无法发现的事件,为首席信息安全官(CISO)和首席信息官(CIO)提供针对高级持续性威胁(APT)的额外防线。
黑客与道德黑客的区别
黑帽黑客进行渗透测试,但与白帽黑客不同,这不是道德黑客行为。道德黑客旨在发现漏洞并提高系统安全性。道德黑客是终极安全专业人员。道德黑客知道如何在各种系统中找到并利用漏洞和弱点,就像恶意黑客(黑帽黑客)一样。事实上,他们都使用相同的技能;然而,道德黑客以合法、合理的方式使用这些技能,试图在坏人入侵之前发现并修复漏洞。道德黑客基本上就是白帽黑客。
编程语言
学习编程是开始学习安全的第一步。有很多编程语言,大多数人从Python开始,它是最简单和最流行的语言。PHP和Go在编写安全相关内容方面不太常见,但在这种情况下仍然可以使用。Bash和Powershell主要用于脚本编写和简单的命令行应用程序。
由于不同语言的工作方式不同,你需要了解它们的工作原理以及你想学习的内容。例如,C++和Java需要编译,而PHP和Python则不需要,它们是解释型语言。这肯定会影响你应该如何使用它们。每种语言也有自己的设计模式。
脚本语言
- Bash
- Powershell
软件和移动应用
- Java
- Swift
- C / C++ / C#
通用语言
- Python
- Ruby
- Perl
- PHP
- Go
内容管理系统
- Wordpress
- Joomla
- Drupal
- SPIP
这些是最常用的内容管理系统(CMS)。完整列表请参见此处。
渗透测试的基本步骤
[图片:渗透测试的基本步骤]
工具分类
更完整的工具列表可以在Kali Linux官方网站上找到。
:male_detective: 信息收集
信息收集工具允许你收集有关服务和用户的主机元数据。检查关于域名、IP地址、电话号码或电子邮件地址的信息。
工具 | 语言 | 支持平台 | 描述 |
---|---|---|---|
theHarvester | Python | Linux/Windows/macOS | 电子邮件、子域名和名称收集器。 |
CTFR | Python | Linux/Windows/macOS | 利用证书透明度日志获取HTTPS网站子域名。 |
Sn1per | bash | Linux/macOS | 自动化渗透测试侦察扫描器。 |
RED Hawk | PHP | Linux/Windows/macOS | 集信息收集、漏洞扫描和爬虫于一体的工具。所有渗透测试人员必备的工具。 |
Infoga | Python | Linux/Windows/macOS | 电子邮件信息收集。 |
KnockMail | Python | Linux/Windows/macOS | 检查电子邮件地址是否存在。 |
a2sv | Python | Linux/Windows/macOS | SSL漏洞自动扫描。 |
Wfuzz | Python | Linux/Windows/macOS | Web应用程序模糊测试器。 |
Nmap | C/C++ | Linux/Windows/macOS | 一个非常常用的工具。网络主机、漏洞和端口检测器。 |
PhoneInfoga | Go | Linux/macOS | 电话号码OSINT框架。 |
:lock: 密码攻击
破解密码和创建词表。
工具 | 语言 | 支持平台 | 描述 |
---|---|---|---|
John the Ripper | C | Linux/Windows/macOS | John the Ripper 是一款快速的密码破解器。 |
hashcat | C | Linux/Windows/macOS | 世界上最快和最先进的密码恢复工具。 |
Hydra | C | Linux/Windows/macOS | 支持多种协议攻击的并行登录破解器。 |
ophcrack | C++ | Linux/Windows/macOS | 基于彩虹表的Windows密码破解器。 |
Ncrack | C | Linux/Windows/macOS | 高速网络认证破解工具。 |
WGen | Python | Linux/Windows/macOS | 使用Python创建出色的词表。 |
SSH Auditor | Go | Linux/macOS | 在网络上扫描弱SSH密码的最佳方式。 |
:memo: 词表
工具 | 描述 |
---|---|
Probable Wordlist | 按概率排序的词表,最初为密码生成和测试而创建。 |
:globe_with_meridians: 无线测试
用于入侵检测和WiFi攻击。
工具 | 语言 | 支持平台 | 描述 |
---|---|---|---|
Aircrack | C | Linux/Windows/macOS | WiFi安全审计工具套件。 |
bettercap | Go | Linux/Windows/macOS/Android | bettercap是网络攻击和监控的瑞士军刀。 |
WiFi Pumpkin | Python | Linux/Windows/macOS/Android | 用于流氓Wi-Fi接入点攻击的框架。 |
Airgeddon | Shell | Linux/Windows/macOS | 这是一个用于Linux系统的多用途bash脚本,用于审计无线网络。 |
Airbash | C | Linux/Windows/macOS | 一个符合POSIX标准的、全自动WPA PSK握手捕获脚本,旨在进行渗透测试。 |
:wrench: 漏洞利用工具
通过面向服务的漏洞获取系统和数据访问权限。
工具 | 语言 | 支持平台 | 描述 |
---|---|---|---|
SQLmap | Python | Linux/Windows/macOS | 自动SQL注入和数据库接管工具。 |
XSStrike | Python | Linux/Windows/macOS | 高级XSS检测和利用套件。 |
Commix | Python | Linux/Windows/macOS | 自动化的全能操作系统命令注入和利用工具。 |
Nuclei | Go | Linux/Windows/macOS | 基于简单YAML DSL的快速且可定制的漏洞扫描器。 |
:busts_in_silhouette: 嗅探与欺骗
监听网络流量或伪造网络实体。
工具 | 语言 | 支持平台 | 描述 |
---|---|---|---|
Wireshark | C/C++ | Linux/Windows/macOS | Wireshark是一个网络协议分析器。 |
WiFi Pumpkin | Python | Linux/Windows/macOS/Android | 用于流氓Wi-Fi接入点攻击的框架。 |
Zarp | Python | Linux/Windows/macOS | 一个免费的网络攻击框架。 |
:rocket: Web黑客攻击
利用在线托管的流行CMS系统。
工具 | 语言 | 支持平台 | 描述 |
---|---|---|---|
WPScan | Ruby | Linux/Windows/macOS | WPScan是一个黑盒WordPress漏洞扫描器。 |
Droopescan | Python | Linux/Windows/macOS | 一个基于插件的扫描器,用于识别多个CMS系统的问题,主要是Drupal和Silverstripe。 |
Joomscan | Perl | Linux/Windows/macOS | Joomla漏洞扫描器。 |
Drupwn | Python | Linux/Windows/macOS | Drupal安全扫描器,用于对基于Drupal的Web应用程序进行枚举。 |
CMSeek | Python | Linux/Windows/macOS | CMS检测和利用套件 - 扫描WordPress、Joomla、Drupal和其他130多个CMS。 |
:tada: 后渗透利用
在已获得访问权限后使用的漏洞利用工具。
工具 | 语言 | 支持平台 | 描述 |
---|---|---|---|
TheFatRat | C | Linux/Windows/macOS | 易于使用的后门生成工具和后渗透攻击工具,如浏览器攻击、DLL攻击等。 |
:package: 框架
框架是带有自定义shell导航和文档的渗透测试工具包。
工具 | 编程语言 | 支持平台 | 描述 |
---|---|---|---|
Operative Framework | Python | Linux/Windows/macOS | 基于指纹识别的框架,这个工具用于通过多个模块获取网站或企业目标的信息。 |
Metasploit | Ruby | Linux/Windows/macOS | 面向道德黑客的渗透测试框架。 |
cSploit | Java | Android | Android平台上最完整和先进的IT安全专业工具包。 |
radare2 | C | Linux/Windows/macOS/Android | 类Unix逆向工程框架和命令行工具。 |
Wifiphisher | Python | Linux | 恶意接入点框架。 |
Beef | Javascript | Linux/Windows/macOS | 浏览器利用框架。这是一个专注于Web浏览器的渗透测试工具。 |
Mobile Security Framework (MobSF) | Python | Linux/Windows/macOS | 移动安全框架(MobSF)是一个自动化的、一体化的移动应用(Android/iOS/Windows)渗透测试、恶意软件分析和安全评估框架,能够执行静态和动态分析。 |
Burp Suite | Java | Linux/Windows/macOS | Burp Suite是由PortSwigger提供的一系列领先的网络安全工具。这个工具不是免费和开源的 |
(目录)
其他资源
- Twitter上的Devbreak
- 安全研究员的生活
- 在你的国家寻找很棒的黑客地点
- 优秀的黑客列表
- Crack Station
- 漏洞数据库
- Hackavision
- Hackmethod
- Packet Storm Security
- SecLists
- SecTools
- Smash the Stack
- 不要使用VPN服务
- 如何避免成为脚本小子
- 2017年十大应用安全风险
- 网络安全入门?
书籍/手册
警告: 我并没有全部读过这些书,所以不要认为我推荐它们是因为我喜欢。它们只是似乎提供了有用的资源。
- 渗透测试:黑客技术实践指南(2014)
- Kali Linux揭秘 - PDF(2017)
- 蓝队实战手册(BTFM)(2017)
- 网络安全 - 攻击与防御策略(2018)
- NMAP网络扫描:官方探索指南(2009)
- 社会工程学:人性黑客的艺术(2010)
- 隐身工具包:保持匿名的工具、应用和创新方法(2013)
讨论
- Reddit/HowToHack 学习和询问有关黑客、安全和渗透测试的问题。
- Reddit/hacking 讨论黑客和网络安全。
- ax0nes 黑客、安全和软件开发论坛。
- Discord上的0Day.rocks 关于0day.rocks博客的Discord服务器,用于技术和一般信息安全/网络安全讨论及最新新闻。
- Reddit/AskNetsec 讨论网络安全,向专业人士咨询有关工作等方面的建议。
安全公告
挑战
- Vulnhub - 提供大量虚拟机供练习。有些适合初学者,有些则较为困难。
- Itsecgames - bWAPP或称"有漏洞的网络应用"是一个故意设置的不安全网络应用。
- Dvwa - "极度脆弱的Web应用"是另一个专门设计的不安全网络应用,用于练习你的技能。
- Hackthissite - 一个提供挑战、CTF等内容的网站,旨在提高你的黑客技能。
- Defend the Web - "保卫网络"是一个互动式安全平台,你可以在这里学习并挑战自己的技能。
- Root-me - 另一个提供挑战以测试你黑客技能的网站。
- HackTheBox - 一个在线平台,用于测试和提高你的渗透测试和网络安全技能。
- Overthewire - 通过有趣的游戏形式学习和练习安全概念。
- Ctftime - 事实上的CTF相关信息汇总网站。
- TryHackMe - TryHackMe是一个免费的在线网络安全学习平台,提供实践练习和实验室环境。
- PicoCTF - 为你提供各种难度级别的有趣CTF挑战,供练习使用。
(目录)
许可证
本仓库采用MIT许可证。
(目录)