本章布鲁=渗透测试+ms17-010(永恒之蓝)漏洞复现
渗透测试的理论
● 定义
● 国际上没有统一定义,国外一些安全组织达成共识的通用说法是:渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。
● 特点
● 模拟黑客攻击
● 攻击者角度
● 挫败目标系统安全控制系统,取得访问控制权
● 位置:内网外网
● 目标确认——》信息收集——》漏洞发现——》漏洞利用——》权限维持内外渗透——》目标获取痕迹清除
● 漏洞——》硬件、软件、协议——》缺陷——》未授权——》访问或许破坏系统
● 评估计算机网络系统安全的一种评估办法
● 具备业务影响后果的安全隐患
● 任何弱点(包括社会工程学)
● 技术缺陷或漏洞
● 形成报告
● 过程:渐进深入
结果:不影响业务系统正常运行
● 渗透测试最主要的底层基础
● 安全漏洞
● 定义:信息系统中存在的缺陷或不适当配置,使得攻击者可以在未授权情况下访问或破坏系统,导致目标资产损失
● 分类
● 应用程序漏洞
● web
● 一些新上线程序
● 业务逻辑漏洞
● 是否存在一条可以刷对面资产的逻辑缺失
● 多余的逻辑?
● ……
● 人员权限漏洞
● 弱口令
● 利用管理员喜欢的东西的钓鱼邮件、钓鱼网站
● 网络监听
● 跳反
● ……
● ……
● “四个假设”
● 假设系统一定有未被发现的漏洞
● 假设系统已经被渗透
● 假设一定有已被发现但仍未修补的漏洞
● 假设内部人员不可靠
● Exploit(Ex-plo-it, 一颗死普罗伊特)渗透代码
● 利用安全漏洞来造成入侵或破坏的程序
● 渗透测试分类
● 黑盒测试/外部测试
● 完全模拟真实网络环境的外部攻击者
● 白盒测试/内部测试(内部老六攻击)
● 代码审计
● 无须进行情报定位和目标收集
● 灰盒测试/组合测试(外部攻击者已经成功策反内部人员)
● 渗透目标分类
● WEB服务器的组成
● 硬件
● 操作系统(Windows、Solaris、AIX、Linux、SCO、SGI等)---历史漏洞,浮现 ---- 汇编语言,0DAY
● WEB服务器软件(apache,nginx,IIS,tomcat,jboss)
● 网络服务(网络协议UDP、TCP等(正向、反向->绕过防火墙),防火墙)
● 应用程序(网站,动态或静态页面)---OWASP TOP10大热门漏洞利用--如ASP、CGI、JSP、PHP等组成的WWW应用
● 数据库(MS-SQL、Oracle、MySQL、Informix、Sybase、DB2、Access等)---内网渗透
● 配置文件,安全模块(IPS(入侵防御系统),IDS(入侵检测系统))
● 日志文件,其它工具
● 渗透过程(介绍采用ptes标准)
● (Pre-Engagement Interaction)前期交互阶段
● 找甲方爸爸
● 确定渗透测试的范围目标(IP、域名、内外网)、限制条件即规则(能渗透到什么程度、时间、能否提权等)还有服务合同细节(Money还有避免自己进宫)
● 该阶段通常涉及收集客户需求、准备测试计划、定义测试范围与边界、定义业务目标、项目管理与规划等活动
● (Information Gathering)情报分析阶段(重点)
● 在目标范围确定之后,将进入情报搜集(Information Gathering)阶段,渗透测试团队可以利用各种信息来源与搜集技术方法,尝试获取更多关于目标组织网络拓扑、系统配置与安全防御措施的信息
● 渗透测试者可以使用的情报搜集方法
● 公开来源信息查询、
● Google Hacking
● 社会工程学
● 网络踩点
● 扫描探测
● 被动监听
● 服务查点
● 对目标系统的情报探查能力是渗透测试者一项非常重要的技能,情报搜集是否充分在很大程度上决定了渗透测试的成败,因为如果你遗漏关键的情报信息,你将可能在后面的阶段里一无所获。
● (Theat Modeling)威胁建模阶段——》发现好打的地方
● 在搜集到充分的情报信息之后,渗透测试团队的成员们停下敲击键盘,大家聚到一起针对获取的信息进行威胁建模(Threat Modeling)与攻击规划。这是渗透测试过程中非常重要,但很容易被忽视的一个关键点。
● 通过团队共同的缜密情报分析与攻击思路头脑风暴,可以从大量的信息情报中理清头绪,确定出最可行的攻击通道。
● (Vulnerability Analysis)漏洞分析阶段——》方案与工具准备
● 在确定出最可行的攻击通道之后,接下来需要考虑该如何取得目标系统的访问控制权,即漏洞分析(Vulnerability Analysis)阶段。
● 在该阶段,渗透测试者需要综合分析前几个阶段获取并汇总的情报信息,特别是安全漏洞扫描结果、服务查点信息等,通过搜索可获取的渗透代码资源,找出可以实施渗透攻击的攻击点,并在实验环境中进行验证。在该阶段,高水平的渗透测试团队还会针对攻击通道上的一些关键系统与服务进行安全漏洞探测与挖掘,期望找出可被利用的未知安全漏洞,并开发出渗透代码,从而打开攻击通道上的关键路径。
● (Exploitation)渗透攻击阶段——》开始攻击
● 渗透攻击(Exploitation)是渗透测试过程中最具有魅力的环节。在此环节中,渗透测试团队需要利用他们所找出的目标系统安全漏洞,来真正入侵系统当中,获得访问控制权。
● 渗透攻击可以利用公开渠道可获取的渗透代码,但一般在实际应用场景中,渗透测试者还需要充分地考虑目标系统特性来定制渗透攻击,并需要挫败目标网络与系统中实施的安全防御措施,才能成功达成渗透目的。在黑盒测试中,渗透测试者还需要考虑对目标系统检测机制的逃逸,从而避免造成目标组织安全响应团队的警觉和发现。
● (Post Exploitation)后渗透攻击阶段——》深入利用
● 后渗透攻击(Post Exploitation)是整个渗透测试过程中最能够体现渗透测试团队创造力与技术能力的环节。前面的环节可以说都是在按部就班地完成非常普遍的目标,而在这个环节中,需要渗透测试团队根据目标组织的业务经营模式、保护资产形式与安全防御计划的不同特点,自主设计出攻击目标,识别关键基础设施,并寻找客户组织最具价值和尝试安全保护的信息和资产,最终达成能够对客户组织造成最重要业务影响的攻击途径。
● 在不同的渗透测试场景中,这些攻击目标与途径可能是千变万化的,而设置是否准确并且可行,也取决于团队自身的创新意识、知识范畴、实际经验和技术能力。
● (Reporting)报告阶段
● 渗透测试过程最终向客户组织提交,取得认可并成功获得合同付款的就是一份渗透测试报告(Reporting)。这份报告凝聚了之前所有阶段之中渗透测试团队所获取的关键情报信息、探测和发掘出的系统安全漏洞、成功渗透攻击的过程,以及造成业务影响后果的攻击途径,同时还要站在防御者的角度上,帮助他们分析安全防御体系中的薄弱环节、存在的问题,以及修补与升级技术方案。
● 简单来说:以做饭为例
● 就是五星级餐厅要为一位美食评论员定制一份大餐
● 收集美食评论员的喜好、他什么时候来、跟谁一起来、来之前去了那家餐厅
● 确定做哪几道菜
● 确定做菜的步骤,把菜刀啊什么的放在旁边,给美食评论员宾至如归的体验
● 美食评论员以来,后厨就开工
● 哄骗开心的美食评论员(我们家这个也好吃,隔壁家那个啧啧啧)
● 针对该美食评论员写一份针对的攻略、总结经验
● 渗透测试的意义
● 渗透测试是站在第三者的角度来思考企业系统的安全性的,通过渗透测试可以
● 发觉企业潜在却未纰漏的安全性问题。企业可以根据测试的结果对内部系统中
● 的不足以及安全脆弱点进行加固以及改善,从而使企业系统变得更加安全,减
● 低企业的风险
ms17-010(永恒之蓝)漏洞复现****
实战演练、积累经验****
· 环境
o 软件:VMware Workstation 17
o 攻击机:kali-linux-2021.3
o 靶机环境:Windows 7
· 使用的命令
o sudo su
o ipcongfig/ifconfig
o ping
o nmap -A -T4 -sV
o msfconsole
o Use set
o run
实战
sudo su 提权 密码kali(不可见)
Ping命令查看是否能连接上 -c 选速度 关注icmp_seq=
然后nmap -sS 帮扫描,避免被目标的IDS检测到
因为我们利用的永恒之蓝所需端口是445
所以也可 -p 445 减少扫描的的端口
通过命令启动Metasploit
搜索历史漏洞的模块ms17-010
exploit是攻击模块,auxiliary是辅助模块,这里我们先选用3辅助扫描模块,来确定漏洞是否存在
Set rhosts 设置目标
Host is likelly VULNERABLE to MS17-010
Use o 开始攻击
Set payload设置负载(默认攻击windows/x64/meterpreter/reverse_tcp
成功
接下来就是后渗透利用
可以screenshot 拍摄目标
可以getuid /whoami知道目标的id
可以……后门?
预防
现在的Win10系统是没有永恒之蓝的,所以及时更新系统
打开控制系统——》防火墙——》高级设置——》入栈规则与出站规则
下载安全软件
……
声明
以上内容仅代表作者个人观点,本文仅作为网络安全学习参考。