- Python渗透测试教程
- Python渗透测试 - 首页
- 简介
- 评估方法
- 网络通信入门
- 套接字及其方法
- Python网络扫描器
- 网络数据包嗅探
- ARP欺骗
- 无线网络渗透测试
- 应用层
- 客户端验证
- DoS & DDoS攻击
- SQL注入Web攻击
- XSS Web攻击
- 有用资源
- 快速指南
- 有用资源
- 讨论
Python渗透测试 - 简介
渗透测试(Pen test 或 Penetration Testing)可以定义为通过模拟针对计算机系统的网络攻击来评估IT基础设施安全性的尝试,以利用漏洞。
漏洞扫描和渗透测试有什么区别?漏洞扫描只是识别已知的漏洞,而渗透测试,如前所述,是试图利用漏洞。渗透测试有助于确定系统中是否存在未经授权的访问或任何其他恶意活动。
我们可以使用手动或自动化技术对服务器、Web应用程序、无线网络、移动设备以及任何其他潜在的暴露点进行渗透测试。由于渗透测试,如果我们利用任何类型的漏洞,则必须将其转发给IT和网络系统管理员,以得出战略性结论。
渗透(Pen)测试的意义
在本节中,我们将学习渗透测试的意义。请考虑以下几点以了解其意义:
组织的安全
渗透测试的意义可以从它为组织提供详细的安全评估,从而确保组织安全这一点来理解。
保护组织的机密性
借助渗透测试,我们可以在遭受任何损害之前发现潜在的威胁并保护该组织的机密性。
安全策略的实施
渗透测试可以确保我们了解组织中安全策略的实施情况。
管理网络效率
借助渗透测试,可以管理网络效率。它可以审查防火墙、路由器等设备的安全性。
确保组织的安全
假设如果我们想要在网络设计中实施任何更改或更新软件、硬件等,那么渗透测试可以确保组织免受任何类型的漏洞的侵害。
谁是一个优秀的渗透测试人员?
渗透测试人员是软件专业人员,他们通过识别漏洞来帮助组织加强其抵御网络攻击的防御能力。渗透测试人员可以使用手动技术或自动化工具进行测试。
现在让我们考虑一下优秀渗透测试人员的以下重要特征:
网络和应用程序开发知识
优秀的渗透测试人员必须具备应用程序开发、数据库管理和网络知识,因为他们将需要处理配置设置以及编码。
杰出的思考者
渗透测试人员必须是一位杰出的思考者,并且在特定任务中毫不犹豫地应用不同的工具和方法以获得最佳输出。
程序知识
优秀的渗透测试人员必须具备知识来确定每个渗透测试的范围,例如其目标、限制和程序的合理性。
技术更新
渗透测试人员必须随时掌握其技术技能,因为技术随时可能发生变化。
熟练的报告撰写能力
成功实施渗透测试后,渗透测试人员必须在最终报告中提及所有发现和潜在风险。因此,他/她必须具备良好的报告撰写能力。
对网络安全的热情
一个充满激情的人可以在生活中取得成功。同样,如果一个人对网络安全充满热情,那么他/她就可以成为一名优秀的渗透测试人员。
渗透测试范围
我们现在将了解渗透测试的范围。以下两种测试可以定义渗透测试的范围:
无损检测(NDT)
无损检测不会使系统面临任何风险。NDT用于在缺陷变得危险之前找到缺陷,而不会损害系统、物体等。在进行渗透测试时,NDT执行以下操作:
远程系统扫描
此测试扫描并识别远程系统是否存在可能的漏洞。
验证
在发现漏洞后,它还会验证所有发现的内容。
正确利用远程系统
在NDT中,渗透测试人员将正确利用远程系统。这有助于避免中断。
注意 - 另一方面,在进行渗透测试时,NDT不会执行拒绝服务(DoS)攻击。
破坏性测试
破坏性测试可能会使系统面临风险。它比无损检测更昂贵,并且需要更多技能。在进行渗透测试时,破坏性测试执行以下操作:
拒绝服务(DoS)攻击 - 破坏性测试执行DoS攻击。
缓冲区溢出攻击 - 它还会执行缓冲区溢出攻击,这可能导致系统崩溃。
练习渗透测试需要安装什么?
渗透测试技术和工具只能在您拥有或已获得许可在其上运行这些工具的环境中执行。我们决不能在未经授权的环境中练习这些技术,因为未经许可的渗透测试是非法的。
我们可以通过安装虚拟化套件来练习渗透测试 - 无论是VMware Player(www.vmware.com/products/player)还是Oracle VirtualBox -
www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html
我们还可以从当前版本的以下版本创建虚拟机(VM):
Kali Linux(www.kali.org/downloads/)
Samurai Web 测试框架(http://samurai.inguardians.com/)
Metasploitable(www.offensivesecurity.com/metasploit-unleashed/Requirements)