大家好,今天小编来为大家解答Web安全渗透测试:全面解读与实操案例分析这个问题,很多人还不知道,现在让我们一起来看看吧!
黑盒测试
黑盒测试也称为外部测试。当采用这种方法时,渗透测试团队将从远程网络位置评估目标网络基础设施,而无需任何相关信息,例如目标网络的内部拓扑。它们完全模拟真实网络环境中的外部攻击者,并使用流行的攻击技术。借助工具,有组织、有步骤地逐步对目标组织进行渗透和入侵,揭示目标网络中一些已知或未知的安全漏洞,并评估这些漏洞是否可以被利用来获取控制权或造成运营损失。企业资产等
黑盒测试的缺点是测试比较费时费力,并且要求渗透测试人员具有较高的技术能力。优点是此类测试更有利于挖掘系统中潜在的漏洞、薄弱环节、薄弱环节等。
白盒测试
白盒测试也称为内部测试。进行白盒测试的团队将能够访问有关目标环境的所有内部和底层知识,从而使渗透测试人员能够以最小的努力发现和验证系统中最严重的漏洞。白盒测试的实施过程与黑盒测试类似。不同的是,不需要目标定位和情报收集。渗透测试人员可以通过正常渠道从被测单位获取各种信息,包括网络拓扑、员工信息甚至网站程序。代码片段还可以用于与单位内其他员工进行面对面的交流。
白盒测试的缺点是无法有效测试客户组织的应急响应程序,也无法判断其安全防护计划在检测特定攻击方面的有效性。优点是在测试中发现和解决安全漏洞所需的时间和成本比黑盒测试要少得多。
灰盒测试
灰盒测试是白盒测试和黑盒测试基本类型的结合,可以对目标系统提供更深入、更全面的安全审查。组合的优点是可以同时利用两种渗透测试方法各自的优点。在采用灰盒测试方法的外部渗透攻击场景中,渗透测试人员同样需要从外部逐步渗透到目标网络,但他所掌握的目标网络底层拓扑和架构将有助于更好地决定攻击路线和策略。方法。从而达到更好的渗透测试结果。
渗透测试的流程
该标准可以在任何环境中进行富有成效的渗透测试,由渗透测试的7 个阶段组成:
早期互动
在进行渗透测试之前,渗透测试团队需要与客户讨论渗透测试目标、渗透测试范围、渗透测试方法(白盒、黑盒、灰盒以及是否涉及社会工程、DDOS等)、服务合同和其他细节。达成一致意见。
该阶段是后续渗透测试的基础和关键。
信息收集
确定渗透测试的目标和范围后,下一步就要进入信息收集阶段。在这个阶段,渗透测试人员需要利用各种公共资源来获取尽可能多的与测试目标相关的信息。您可以利用互联网收集信息,如官方网站、论坛、博客等渠道。同时还可以使用各大搜索引擎来获取相关信息,例如:Google、百度等。同时还可以使用Kali Linux中的一些工具来收集DNS信息、注册者信息、服务信息这一阶段收集的信息越多,对于后续的渗透测试就越有利,渗透测试的成功率也会大大提高。
威胁建模
完成目标系统的信息收集后,下一步就是威胁建模阶段。在这个阶段,渗透测试团队需要聚集在一起分析获得的信息并计划攻击。这是渗透测试过程中非常重要但又容易被忽视的关键点。在这个过程中,需要理清思路,确定最有效可行的攻击方案。
漏洞分析
确定了最可行的攻击方案后,需要考虑如何获取目标系统的访问控制权限。该阶段也称为漏洞分析阶段。
在这个阶段,渗透测试人员需要综合分析前面信息收集阶段获得的信息,特别是系统类型、系统启用的服务、漏洞扫描结果等信息,通过可用的信息找出可以获取的渗透代码资源。渗透代码资源。攻击点并在测试期间得到验证。在这个阶段,渗透测试人员不仅需要验证系统是否存在已知的漏洞,还需要挖掘系统中的一些潜在漏洞并开发相应的漏洞利用代码。
渗透攻击
在仔细检查并发现目标系统中的漏洞后,您可以利用现有的漏洞来渗透目标系统。但一般来说,渗透测试人员需要考虑目标系统的环境来修改漏洞利用程序(exploit)并做额外的研究,否则将无法正常工作。同时,现阶段还必须考虑目标系统安全机制的逃逸,避免被目标系统发现。
后利用攻击
深度利用阶段是整个渗透测试流程中最能体现渗透测试团队技术能力的环节。前面的几个环节可以说是一步步完成非常共同的目标。在这个环节中,渗透测试团队需要根据目标组织的业务运营模式、资产保护模式、安全防御规划的不同特点,帮助设计攻击目标。识别关键基础设施并找到客户组织最有价值、最安全的信息和资产,最终找到可能对客户组织产生最重大业务影响的攻击媒介。
书面报告
整个渗透测试过程最终需要以书面文件的形式提交给客户。这份报告就是我们常说的渗透测试报告。这份报告涵盖了渗透测试团队在之前各个阶段获得的各种有价值的信息,以及检测和发现的相关安全漏洞、成功攻击的过程以及对业务影响的分析。同时,现阶段还应给出修复脆弱链接和系统现有安全问题的建议。
渗透测试工具的使用
讲完了基本的渗透测试知识点,我们来简单介绍一下渗透测试常用的几种工具。
sqlmap
Sqlmap是一个开源渗透测试工具,可以自动检测和利用SQL注入漏洞和连接数据库的服务器。它拥有非常强大的检测引擎、具有多种功能的渗透测试仪、通过数据库指纹识别访问底层文件系统以及通过带外连接执行命令。
支持的数据库:MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase 和SAP MaxDB
SQL注入技术:基于布尔的盲注、基于时间的盲注、基于错误、UNION查询、堆叠查询和带外
枚举数据:用户、密码哈希、权限、角色、数据库、表和列
使用实例:通过一道实验吧CTF题目来演示sqlmap的使用
用于检测具有注入点的系统的数据库类型
命令格式:Sqlmap u 目标URL
暴露目标系统中的所有数据库
命令格式:sqlmap u 目标URL dbs
选择需要爆表的数据库,进行简单的爆表操作
命令格式:sqlmap u 目标URL D 数据库名称tables
确定表名后,需要猜测字段。
命令格式:sqlmap u 目标URL D 数据库名T 表名columns
分解字段值
命令格式:sqlmap u 目标URL D 数据库名T 表名C 字段名dump
结果分析示例
在这道CTF题中,服务器端没有严格过滤用户输入的数据,而是直接带入后端数据库进行查询,导致SQL注入。攻击者可以利用这种SQL注入来获取相应的表、字段以及字段内容信息,从而造成巨大的危害。
安全加固意见
使用安全过滤功能对输入数据进行严格过滤
转义用户端输入的特殊字符
使用预编译语句绑定变量
使用存储过程
检查数据类型
元分析软件
Metasploit 是一个漏洞框架。它的全称是The Metasploit Framework,缩写是MSF。 Metasploit 是世界上最受欢迎的工具,不仅因为它的方便和强大,更重要的是因为它的框架。它允许用户开发自己的漏洞脚本进行测试。
Metasploit 中的专业术语:
利用:渗透攻击是指攻击者或渗透测试人员利用系统、应用程序或服务中的安全漏洞进行的攻击。流行的渗透攻击技术包括缓冲区溢出、WEB应用漏洞攻击(如SQL注入、XSS等)、利用配置错误等。
Payload:攻击负载是我们期望目标系统被渗透后执行的代码。可以自由选择、传输并植入Metasploit框架中。
ShellCode:ShellCode是一组机器指令,在渗透攻击期间作为攻击负载运行。 ShellCode通常用汇编语言编写。
模块:在Metasploit 中,模块是指Metasploit 框架中使用的一段软件代码组件。
侦听器:侦听器是Metasploit 中的一个组件,用于等待主机连接到网络。
使用示例:通过在Metasploitable 2中爆破SSH来演示MSF的使用
首先我们需要检测目标的SSH端口是否开放
(2)打开Metasploit框架并指定要使用的攻击模块
(3) 显示需要配置的选项
(4)设置攻击目标主机的IP地址、字典(需要预习)、线程数
(5) 攻击开始
结果分析示例
通过上面的例子我们可以发现,SSH不仅为管理员提供了便利,也为攻击者留下了可利用的通道。上述爆破主要是利用了用户名和密码太容易被猜到以及对同一IP的访问会话数量不做限制的特点。
安全加固意见:
使用公钥认证并取消密码登录
通过控制用户访问来限制SSH 访问
将防火墙配置为仅接收来自您自己和已知网段的SSH 链接
设置用户策略并实施强密码以防御暴力攻击和社会工程尝试。
打嗝套件
Burp suite 是一个集成的渗透测试工具。它集成了多种渗透测试组件,使我们能够自动或手动完成对Web应用程序的渗透测试攻击。在渗透测试中,我们使用Burp suite来使测试工作变得更加容易。变得更加简单和方便,即使需要熟练的技巧,只要我们熟悉Burp suite的使用,就会让渗透测试工作变得更加简单和高效。
Burp套件主要模块:
Target ——是显示目标目录结构的函数。
Proxy ——拦截HTTP/S代理服务器,它充当浏览器和目标应用程序之间的中间人,允许您拦截、查看和修改两个方向的原始数据流。
Spider(蜘蛛)——采用智能感知网络爬虫,可以完整枚举应用程序的内容和功能。
扫描仪(Scanner)——高级工具,执行后可以自动发现Web应用程序中的安全漏洞。
Intruder —— 是一款定制的、高度可配置的工具,可对Web 应用程序执行自动攻击,例如枚举标识符、收集有用数据以及使用模糊测试技术来检测常见漏洞。
Repeater —— 是一个手动触发单个HTTP 请求并分析应用程序响应的工具。
Sequencer(会话)—— 用于分析不可预测的应用程序会话令牌和重要数据项的随机性的工具。
Decoder(解码器)——是对应用数据进行手动执行或智能解码和编码的工具。
比较器——通常通过一些相关的请求和响应来获得两条数据之间的视觉“差异”。
Extender(扩展)—— 允许您加载Burp Suite 扩展,以使用您自己或第三方代码扩展Burp Suite 的功能。
选项(设置)—— Burp Suite的一些设置
使用示例:通过PHP安全问题导致的文件上传漏洞演示burp suite的使用。
(1)访问存在文件上传漏洞的链接地址:
设置代理:
(3)准备一句话木马文件
(4)直接上传PHP文件会出现“文件上传类型错误”的错误
(5)然后使用burpsuite抓包并修改数据包
(6)/00 截断:
(7) 发布包后,文件上传成功:
8)然后使用斩波器链接:
案例分析
上面的例子主要利用了PHP版本中的0x00截断漏洞。可以想象,有时候服务器端组件的问题也会造成巨大的问题!
加固建议
及时更新服务器端配置,修复相应的配置缺陷和组件安全问题。同时,对用户上传的文件格式和内容进行严格过滤。
上面的例子主要是为了演示渗透测试过程中一些工具的使用。这并不是每个人都可以做恶意攻击的。我们最初的愿望是让渗透测试人员使用渗透测试工具或者自行开发的工具来进行一些恶意攻击。漏洞系统测试,发现潜在漏洞,协助企业加强安全系统防御措施,维护安全!由于篇幅原因,这里就不介绍其他工具了。如果有兴趣的话,以后可以自己详细了解一下!
实用渗透测试(关注渗透思路和安全加固问题)
目标机:Metasploitable 2 IP:192.168.11.138
攻击机:Kali 2018 IP:192.168.11.144
渗透测试流程
(1) 早期互动
假设我们前期交互后得到的最终结果是:渗透测试目标为192.168.11.138,范围为整个Metasploitable2系统安全和服务安全,渗透测试方式为黑盒测试,渗透测试不涉及与社会工程相关的攻击。涉及DDOS等,目前初步讨论!
(二)信息收集
主机生存+服务枚举+端口扫描+主机指纹
(3)威胁建模
从上面的扫描结果中,我们很容易看出有vsftpd、OpenSSH、Telnet、Apache、Samba、rmiregistry、nfs、mysql、postgresql、vnc等服务。这些服务大部分都存在漏洞,对应的漏洞如下。版本,可以入手这些服务,同时可以关注一些使用的系统是否存在漏洞。同时,作为渗透测试人员,不仅要分析已经发现的漏洞,还要探索未知的漏洞。潜在的漏洞。这里我们仅演示PHP CGI参数注入执行漏洞之一。至于其他漏洞,读者可以自己搭建环境,自行实现!
(4)漏洞分析
PHP CGI漏洞是用户向Apache服务器提交HTTP请求,通过mod_cgi模块提交给后端php-cgi处理。然而,有些字符在执行过程中并没有被处理,比如空格、等号、减号等。利用这些字符,攻击者可以向后端PHP CGI解析器提交恶意数据,PHP CGI就会执行这些“数据”直接作为PHP 参数。
(5) 漏洞利用
指定要使用的攻击模块
设置选项
开始攻击
至此,一个简单的漏洞就已经被利用了!
(六)深度利用
在常规的漏洞深度利用阶段,渗透测试人员经常需要执行以下操作:权限提升、会话维护、识别目标系统中的关键设施、查询客户最有价值的信息和他们想要保护的资产,并尝试验证可以通过利用当前漏洞来实现对客户组织最重大的业务影响以及信息或资产的损失。
读到这里,有点长,这部分就不介绍了。
(七)书面报告
这部分需要对之前渗透测试的细节进行详细的总结,并对存在的安全问题给出补救建议!现在我们给出针对PHP CGI漏洞的安全加固方案:
既然问题出在PHP本身,那么我们还是需要排除这个问题。建议直接升级到官方最新版本或者安装PHP补丁。
总结
渗透测试是一个测试思维和适应能力的过程。渗透测试人员应具有较强的信息收集能力,能够快速、详尽地收集与目标系统相关的信息。他们还应具有较强的洞察能力,能够根据信息分析和挖掘已知或未知的漏洞,并建立适当的渗透攻击模型。当然,这也需要更积极的思考。它可以从多方面分析和利用漏洞,最大限度地提高漏洞利用率。还要求对漏洞可能给目标系统带来的风险进行详细的分析和解释,帮助客户了解自身系统的漏洞,完成企业系统的安全加固。
————————————————
版权声明:本文为CSDN博主“HBohan”原创文章,遵循CC 4.0 BY-SA版权协议。转载时请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/HBohan/article/details/118162713
————————————————
版权声明:本文为CSDN博主“HBohan”原创文章,遵循CC 4.0 BY-SA版权协议。转载时请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/HBohan/article/details/118162713
————————————————
版权声明:本文为CSDN博主“HBohan”原创文章,遵循CC 4.0 BY-SA版权协议。转载时请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/HBohan/article/details/118162713
————————————————
版权声明:本文为CSDN博主“HBohan”原创文章,遵循CC 4.0 BY-SA版权协议。转载时请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/HBohan/article/details/118162713
————————————————
版权声明:本文为CSDN博主“HBohan”原创文章,遵循CC 4.0 BY-SA版权协议。转载时请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/HBohan/article/details/118162713
————————————————
OK,关于Web安全渗透测试:全面解读与实操案例分析和的内容到此结束了,希望对大家有所帮助。
【Web安全渗透测试:全面解读与实操案例分析】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
我要学习一下web安全的渗透测试!感觉这个知识挺有用的。
有15位网友表示赞同!
看完标题就想了解下常见的网站漏洞和攻击手段,很期待实际操作的例子。
有9位网友表示赞同!
平时做开发工作会关注安全问题,这篇介绍正好能让我更深入地了解渗透测试。
有14位网友表示赞同!
最近看了一些网络安全方面的知识,觉得web安全很重要,希望这个文章能够给我一些实践经验。
有5位网友表示赞同!
我对实际操作典例分析部分很感兴趣,希望能看到真实案例的讲解和应对策略。
有18位网友表示赞同!
学习一下渗透测试能提升自己的安全意识,还能在工作中更好地应用相关知识.
有11位网友表示赞同!
现在网络安全越来越重要了,掌握一些渗透测试技巧可以帮助我更好地保护自己系统。
有19位网友表示赞同!
感觉这个标题内容挺专业,我也想去了解下web安全的详细内容。
有6位网友表示赞同!
我一直想学习安全方面的知识,这篇介绍刚好能让我入门!
有7位网友表示赞同!
希望文章能够讲解一些常见的渗透测试工具和使用方法,方便我实际操作。
有5位网友表示赞同!
想了解一个网站是如何被攻击的具体步骤,这个案例分析应该很不错!
有14位网友表示赞同!
感觉这篇介绍会帮助我更深入地理解网站安全防护的技术手段。
有7位网友表示赞同!
希望能看到一些渗透测试的实战视频讲解,更直观易懂。
有14位网友表示赞同!
打算把文章分享给我的朋友,他正在学习网络安全相关课程。
有14位网友表示赞同!
期待能从文章中学习到一些可以应用于实际工作的知识和技能!
有9位网友表示赞同!
对于web安全领域的人员来说,这个介绍显得非常有价值。
有7位网友表示赞同!
需要进一步了解不同类型的网站所采取的安全措施以及渗透测试的针对性策略。
有5位网友表示赞同!
阅读文章后,希望能获得更多关于漏洞挖掘和修复的信息
有16位网友表示赞同!
掌握web安全的知识有助于我更好地保护自己的隐私和数据安全。
有7位网友表示赞同!