Python 渗透测试 - 简介
渗透测试或渗透测试,可以定义为通过模拟针对计算机系统的网络攻击来利用漏洞,从而评估 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
我们还可以从当前版本的−
Kali Linux (www.kali.org/downloads/)
Samurai Web 测试框架 (http://samurai.inguardians.com/)
Metasploitable (www.offensivesecurity.com/metasploit-unleashed/Requirements)