操作系统主机安全测试:脆弱点与漏洞分析

操作系统主机安全测试:脆弱点与漏洞分析

**免责声明:**涉及到的所有技术仅用来学习交流,严禁用于非法用途,未经授权请勿非法渗透,否则产生的一切后果自行承担!

*一、引言*

在当今数字化飞速发展的时代,信息技术如同纵横交错的神经网络,深度嵌入社会运行的每一寸肌理。从支撑跨国企业全球协同运作的复杂信息架构,到守护普通民众日常线上交互的各类应用平台,系统安全已然成为一切数字活动平稳开展的基石。然而,网络环境恰似一片暗流涌动的神秘海域,隐藏着无数伺机而动的威胁,它们变幻多端,以黑客攻击、恶意软件肆虐、数据泄露等形式,时刻冲击着系统的防御壁垒。

图片

就在这片看不见硝烟的网络战场上,渗透测试宛如一位无畏的先锋,肩负着探索未知风险、模拟真实攻击的重任挺身而出。它绝非恶意入侵的帮凶,而是系统安全的忠诚卫士。通过精心设计、严谨实施,渗透测试能够站在攻击者的视角,利用专业技术与工具,像一把精准的手术刀,剖析系统从网络边界到内部核心的每一处可能存在的薄弱环节。无论是隐蔽在软件代码缝隙中的逻辑漏洞,还是因配置疏忽而敞开的网络端口,亦或是被管理人员大意遗忘的权限管理瑕疵,渗透测试都能将其逐一揪出,让潜在的安全隐患无所遁形。这不仅为系统运维者提供了极具针对性的修复方向,更像是提前拉响的警报,助力他们未雨绸缪,赶在真正的恶意攻击降临之前,加固防线、修补漏洞,以确保数字世界的大门能够牢牢紧闭,守护住每一份数据资产与用户信任。

二、Windows 操作系统脆弱点分析

**1.**用户权限体系

1.1Windows 用户权限体系架构剖析

Windows 的用户权限体系构建于多层面、多维度之上。从本地用户账户到域环境下的组策略管控,不同层级的权限划分细致入微。例如,在基本的文件访问权限设置中,就涵盖读取、写入、执行等常规操作权限,还可针对特定用户或用户组进行单独配置,以实现诸如部门间数据隔离共享,确保敏感财务文件仅财务人员可编辑,而其他部门仅能查看等复杂业务需求。在系统层面,安装软件、更改系统设置、访问注册表等关键操作同样有严格的权限界定,普通用户、管理员以及系统内置特殊账户各司其职,理论上保障着系统有条不紊地运行。

1.2 权限滥用滋生的温床

**管理员权限过度下放:**许多企业为图便捷,在日常办公场景中赋予过多员工本地管理员权限。本意是减少频繁求助 IT 部门解决软件安装、配置问题的麻烦,但这一行为却为心怀不轨者大开方便之门。拥有管理员权限的员工,理论上可随意安装未经企业安全审核的软件,其中可能暗藏恶意程序,如键盘记录器,悄然窃取企业机密信息;亦能肆意修改系统关键设置,关闭防火墙、篡改防病毒软件配置,使整个网络暴露于外部攻击之下。

**权限继承与扩散漏洞:**Windows 权限继承机制虽提高了管理效率,却也易引发问题。当一个顶层文件夹权限设置不慎,其下子文件夹及文件继承错误权限后,可能导致原本应受严格管控的数据,被低权限用户意外访问。如研发部门某项目核心代码库所在父文件夹权限被错误修改,一些外部合作方临时接入账户,顺着权限继承链路,竟能翻阅尚未公开的关键算法代码,商业机密瞬间岌岌可危。

1.3 误操作频发的 “重灾区”

**文件权限误配置:**日常办公中,员工在共享文件、协同编辑场景里常因对权限理解不深而犯错。比如,为方便团队成员获取资料,误将包含客户隐私信息的 Excel 文件设置为 “完全公开” 权限,导致敏感数据在企业内外肆意传播,不仅违反数据保护法规,更会给企业声誉带来毁灭性打击。或是在离职交接时,未及时收回离职员工对各类文档的访问权限,遗留信息泄露风险。

**系统权限误操作:**普通用户在遇到系统故障时,若贸然尝试自行修复,可能因不清楚操作背后的权限影响,触发严重问题。如在电脑卡顿情况下,盲目禁用关键系统服务,以为能释放资源,实则导致依赖该服务的企业业务软件无法启动,业务中断;或是误删系统注册表项,以为清理垃圾,却破坏了软件运行环境,引发大面积办公软件崩溃,工作陷入停滞。

2. 文件系统结构

NTFS(New Technology File System)是 Windows NT 内核系列操作系统(如 Windows 2000、Windows XP、Windows Server 系列等)使用的文件系统。它具有许多先进的安全特性,其中文件权限设置和加密机制是较为重要的部分。

**文件权限设置:**NTFS 允许为每个文件和文件夹设置详细的访问权限。这些权限可以针对不同的用户和用户组进行配置,包括完全控制、修改、读取和执行、列出文件夹内容、读取、写入等权限。这种细粒度的权限控制有助于保护数据的安全性和隐私性。

**加密机制:**NTFS 支持加密文件系统(EFS),可以对文件和文件夹进行加密。加密后的文件只有具有相应解密密钥的用户才能访问,即使文件存储介质被窃取,没有密钥也无法读取文件内容。

2.1 权限提升漏洞

在复杂的权限继承和组策略设置中,可能会出现权限配置错误。例如,一个用户属于多个用户组,而这些用户组的权限设置存在冲突或者被错误配置。如果在权限继承过程中,上级文件夹的权限设置不当,可能会导致低权限用户意外获得高权限访问。另外,某些软件在安装或运行过程中可能会修改文件或文件夹的权限,使得原本安全的权限设置被破坏。

图片

**示例:**一个普通用户所属的某个开发组被错误地赋予了对生产服务器上敏感配置文件的 “修改” 权限,这是因为在组策略更新过程中,权限继承规则没有正确应用,导致普通用户可以修改关键配置文件,从而可能破坏系统的正常运行。

以系统管理员身份登录,查看关键文件和文件夹的权限设置。检查是否存在权限继承异常的情况,例如,某些文件夹的权限与其父文件夹权限不一致,或者某些用户组被赋予了不合理的权限。对于共享文件夹,检查是否存在 “Everyone” 组被赋予过高权限的情况。

查看用户所属的多个用户组的权限叠加情况。例如,一个用户同时属于 “开发组” 和 “测试组”,检查这两个组的权限在文件访问时是否会产生冲突或者权限提升的情况。

2.2 加密机制漏洞

EFS 加密依赖于用户的加密密钥,而密钥存储在用户的配置文件中。如果用户的密码被破解或者通过其他方式(如恶意软件窃取用户凭证)获取了用户的加密密钥,那么加密文件就可以被解密。此外,在系统备份和恢复过程中,如果备份的加密文件和密钥管理不当,也可能导致加密文件的安全性受到威胁。

**示例:**恶意软件通过键盘记录器获取了用户的登录密码,然后利用该密码访问用户的加密密钥,从而解密用户加密的敏感文件,如财务报表或客户名单等。

密码强度测试

可以使用密码强度测试工具,如 LC4(旧版本)或 Hashcat 等工具,对用户密码进行破解测试。如果密码强度较低,容易被破解,那么加密文件的安全性就会受到威胁。虽然这种测试需要在合法的测试环境下进行,并且需要获得用户的授权,但是可以帮助评估加密机制的安全性。

密钥管理测试

检查密钥备份和恢复机制是否安全。模拟系统故障恢复场景,查看加密文件的密钥是否能够被正确地恢复,并且在恢复过程中是否存在密钥泄露的风险。例如,检查备份的密钥是否进行了加密存储,以及恢复密钥的过程是否需要严格的身份验证。

加密文件完整性测试

尝试使用一些文件篡改工具对加密文件进行修改,然后查看是否能够正常解密。如果加密文件可以被轻易篡改并且仍然能够解密,那么说明加密机制可能存在漏洞。不过,这种测试需要谨慎进行,因为可能会破坏原始文件。

2.3 用户配置与管理

2.3.1 默认账户设置
2.3.1.1 弱密码问题

(1)密码简单易猜

在操作系统安装过程中,部分默认账户可能会设置简单的密码。例如,一些早期操作系统版本中的默认管理员账户可能使用简单的数字组合(如 “123456”)或常见单词(如 “admin”)作为密码。攻击者可以通过字典攻击的方式,利用预先编制好的包含常见密码的字典文件,对这些账户进行暴力破解。字典攻击软件会逐一尝试字典中的密码,直到找到匹配的密码,从而获取账户的访问权限。

(2)密码可预测性高

某些操作系统默认账户的密码可能基于系统信息或安装模式生成,具有一定的可预测性。例如,一些设备制造商在其定制的操作系统中,会根据设备型号或序列号来设置默认密码。攻击者如果了解该设备的型号和制造商的默认密码设置规则,就可以轻易猜出密码,进而入侵系统。

2.3.1.2 高权限问题

(1)默认管理员权限过度赋予

许多操作系统在初始安装时,会为某些默认账户赋予管理员权限。例如,Windows 操作系统中的 “Administrator” 账户默认拥有最高权限,可以对系统进行任何操作,包括安装软件、修改系统配置、访问和修改所有文件等。当这些高权限账户的密码被泄露或被攻击者破解后,攻击者就可以利用这些权限在系统中为所欲为,如安装恶意软件、窃取敏感数据、修改系统安全设置等,使系统完全暴露在风险之中。

(2)权限继承风险

操作系统中的权限继承机制也可能导致默认账户权限滥用。如果一个默认账户拥有高权限,且系统的权限设置没有进行精细的隔离,那么该账户可能会通过权限继承访问到原本不应该访问的资源。例如,在一个企业网络环境中,一个具有高权限的默认账户可能会因为权限继承,访问到其他部门的敏感文件服务器,从而造成数据泄露。

2.3.1.3 易发生场景

(1)数据中心服务器安装

在数据中心进行大规模服务器安装时,为了提高安装效率,管理员可能会使用操作系统的默认设置,包括默认账户和密码。如果在安装后没有及时对这些账户进行安全加固,就会存在安全隐患。而且,在数据中心这种集中存储大量敏感数据的环境中,一旦默认账户被攻击,可能会导致海量数据泄露,对企业和用户造成严重的损失。

(2)系统更新与维护后

当操作系统进行更新或维护后,部分默认账户设置可能会被重置或者出现权限变化。例如,在某些软件更新过程中,可能会重新启用一些默认账户或者修改其权限。如果管理员没有仔细检查这些变化,就可能会导致默认账户出现弱密码或高权限问题,使系统容易受到攻击。

2.3.2 用户身份验证
2.3.2.1 票据篡改与重放攻击

(1)票据篡改

Kerberos 认证基于票据(Ticket)。用户向认证服务器(AS)请求票据授予票据(TGT),然后使用 TGT 向票据授予服务器(TGS)请求服务票据。在这个过程中,攻击者如果能够截获票据,就有可能对票据进行篡改。例如,通过修改票据中的用户权限相关字段,使原本权限较低的用户获得更高的权限。因为 Kerberos 票据包含用户身份信息、服务授权信息等内容,这些信息以加密形式存在,但如果加密算法存在弱点或者密钥被泄露,票据就可能被非法修改。

图片

(2)重放攻击

重放攻击是 Kerberos 面临的一个重要安全隐患。攻击者可以截获合法用户的票据,然后在有效期内重新发送这些票据来冒充合法用户获取服务。由于 Kerberos 票据在有效期内是被服务端认可的有效凭证,服务端在收到重放的票据时,如果没有有效的防范机制,就会错误地为攻击者提供服务。这是因为 Kerberos 最初设计时,重点考虑了认证过程的高效性和安全性,但在防止票据重复使用方面存在一定的挑战。

2.3.2.2 密钥管理问题

(1)密钥泄露风险

Kerberos 依赖于密钥来加密和解密票据以及进行用户和服务器之间的通信。密钥存储在密钥分发中心(KDC)中,如果 KDC 的安全措施不完善,如存在缓冲区溢出漏洞、被恶意软件入侵等情况,密钥就可能被泄露。一旦密钥泄露,攻击者就可以解密截获的票据,获取用户身份信息和权限信息,进而完全冒充合法用户在系统中进行操作。

(2)密钥更新与同步问题

在大型网络环境中,用户和服务器的密钥需要定期更新以保证安全性。然而,密钥更新过程可能出现同步问题。如果密钥更新在部分节点没有及时完成,旧密钥可能会被攻击者利用。例如,在一个跨地域的企业网络中,由于网络延迟或服务器故障,某些分支机构的服务器没有及时更新密钥,攻击者就可以利用这些服务器仍然认可的旧密钥进行攻击。

2.3.2.3 密码哈希传输风险

(1)哈希嗅探与破解

NTLM 认证过程中,用户密码以哈希(Hash)形式在网络上传输。当客户端向服务器发送认证请求时,会将用户密码的哈希值发送给服务器进行验证。攻击者可以使用网络嗅探工具(如 Wireshark)在网络中截获这些密码哈希值。虽然 NTLM 哈希不是明文密码,但通过一些离线破解工具,如 Hashcat 等,利用强大的计算能力和密码字典,就有可能破解出原始密码。特别是对于简单密码,其哈希更容易被破解,从而使攻击者获取用户的登录凭证。

图片

(2)中间人攻击与哈希替换

在中间人攻击场景下,攻击者可以截获客户端和服务器之间的通信。当截获 NTLM 认证请求时,攻击者可以将自己的密码哈希值替换为截获的用户密码哈希值,然后发送给服务器。如果服务器验证通过,攻击者就可以冒充合法用户登录系统。这是因为 NTLM 认证过程主要依赖于密码哈希的验证,没有足够的机制来防止哈希被替换。

2.3.2.4 协议设计缺陷
(1)身份验证响应可预测性

NTLM 协议的身份验证响应具有一定的可预测性。攻击者可以通过分析大量的 NTLM 认证响应来发现规律,从而构造虚假的认证响应来欺骗服务器。例如,NTLM 协议中的某些响应字段可能与用户输入的密码存在一定的数学关系,攻击者可以利用这种关系,通过猜测和构造响应来绕过身份验证过程,获取系统访问权限。

(2)易受暴力攻击

由于 NTLM 认证过程相对简单,对于攻击者来说,通过暴力攻击方式尝试不同的密码哈希组合来破解用户账户是一种可行的攻击策略。特别是在用户账户密码强度较低的情况下,这种暴力攻击成功的概率会更高。而且,在一些没有对认证失败次数进行限制的系统中,攻击者可以无限制地尝试密码哈希组合,增加了暴力攻击成功的可能性。

2.4****网络通信与协议

2.4.1 TCP/IP 协议缓冲区溢出

TCP/IP 协议是一个分层的协议族,包括网络接口层、网络层(主要是 IP 协议)、传输层(主要是 TCP 和 UDP 协议)和应用层。在操作系统中,网络通信是通过操作系统内核中的协议栈实现的。当数据在网络中传输时,会从发送端的应用层逐步向下经过各层协议的封装,通过网络传输到接收端,再由接收端的协议栈从下往上逐层解封并将数据传递给应用程序。

图片

缓冲区是操作系统为了临时存储数据而分配的一段内存区域。在 TCP/IP 协议栈中,在每个协议层都可能存在缓冲区。例如,在网络层接收 IP 数据包时,操作系统会为这些数据包分配缓冲区,以存储接收到的数据,等待进一步的处理;在传输层,TCP 协议的接收窗口实际上也是一种缓冲区,用于存储从网络层接收到的 TCP 段数据。

2.4.1.1 数据接收过程中的溢出

(1)输入数据无边界检查

当 TCP/IP 协议栈在接收数据时,例如在网络层接收 IP 数据包或者传输层接收 TCP 段数据,如果操作系统没有对接收的数据大小进行有效的边界检查,就可能导致缓冲区溢出。假设一个应用程序通过 TCP 协议接收用户输入的数据,并且在接收数据的函数中没有对数据长度进行限制。攻击者可以发送一个超长的数据段,这个数据段的长度超过了接收缓冲区的大小。当操作系统将这些数据存入缓冲区时,数据就会溢出缓冲区的边界,覆盖相邻的内存区域。

(2)内存布局和数据存储方式的影响

在操作系统中,内存是按照一定的布局分配的。缓冲区通常位于栈(Stack)或者堆(Heap)内存区域。以栈为例,当一个函数被调用时,函数的局部变量(包括接收数据的缓冲区)会被分配在栈上。如果发生缓冲区溢出,溢出的数据可能会覆盖栈上的其他重要数据,如函数的返回地址。当函数执行完毕返回时,由于返回地址被修改,程序的执行流程就会被改变,可能会跳转到攻击者指定的恶意代码位置。在堆内存中,缓冲区溢出同样可能破坏堆的管理结构,如堆块的大小记录、指针等信息,导致内存管理混乱,进而可能被攻击者利用来执行恶意操作。

2.4.1.2 协议实现缺陷导致的溢出
(1)TCP/IP 协议栈代码漏洞

在操作系统对 TCP/IP 协议的实现过程中,可能存在代码级别的漏洞。例如,在对 TCP 数据包的重组过程中,操作系统需要将多个接收到的 TCP 段重新组合成完整的应用层数据。如果在这个重组过程中,代码没有正确地计算数据的长度和缓冲区的容量,就可能导致缓冲区溢出。比如,在计算重组后的数据长度时出现错误,导致将过多的数据写入到缓冲区中。

(2)协议头部处理不当

TCP/IP 协议头部包含了很多重要的信息,如 IP 头中的总长度字段、TCP 头中的窗口大小字段等。如果操作系统在处理这些协议头部信息时出现错误,例如错误地解析头部长度或者没有考虑头部长度对数据缓冲区的影响,就可能会导致数据缓冲区溢出。例如,当错误地解读了 IP 数据包的总长度,使得操作系统认为接收到的数据比实际数据要少,然后将后续的数据继续写入已经接近满容量的缓冲区,从而引发溢出。

2.4.1.3 恶意利用缓冲区溢出
(1)执行恶意代码

攻击者利用缓冲区溢出最常见的目的之一是执行恶意代码。当溢出的数据覆盖了函数返回地址或者其他关键的指针后,攻击者可以将返回地址修改为自己预先放置在内存中的恶意代码的地址。这样,当函数返回时,程序就会跳转到恶意代码处开始执行。恶意代码可以是用于窃取系统敏感信息(如用户密码、系统配置文件等)、控制操作系统(如开启后门,允许攻击者远程控制系统)或者破坏系统正常运行(如删除重要文件、使系统崩溃等)的程序。

(2)权限提升攻击

在操作系统中,不同的进程运行在不同的权限级别下。通过缓冲区溢出,攻击者可以将程序的执行流程引导到具有更高权限的代码段。例如,在一个网络服务进程中,如果存在缓冲区溢出漏洞,攻击者可以利用这个漏洞将程序执行流程跳转到可以提升权限的代码部分,从而使自己获得更高的权限,如从普通用户权限提升到管理员权限,进而可以对系统进行更广泛的恶意操作。

2.4.2 NetBIOS 协议

NetBIOS(Network Basic Input/Output System)是一种应用层协议,主要用于在局域网上实现计算机之间的通信。它允许应用程序通过名称来识别网络上的其他计算机和资源,提供了诸如会话管理、数据报通信等服务。在操作系统中,NetBIOS 协议通常是在局域网环境下被激活,用于支持文件和打印机共享、网络邻居等功能。

2.4.2.1 NetBIOS 名称服务
(1)名称解析过程中的信息暴露

NetBIOS 名称服务(NBNS)负责将 NetBIOS 计算机名称解析为 IP 地址。当一台计算机加入网络时,它会通过广播或者向特定的 NBNS 服务器发送名称注册请求来注册自己的 NetBIOS 名称。在这个过程中,计算机的 NetBIOS 名称(其中可能包含关于操作系统、用户、部门等信息)会被广播或者发送到网络中。攻击者可以通过监听网络中的这些名称注册和解析请求,获取网络中计算机的名称信息。例如,一个企业内部网络中的计算机名称可能按照 “部门-员工姓名-操作系统版本” 的格式命名,攻击者通过截获名称解析请求就可以了解到企业内部的部门结构和所使用的操作系统等信息。

2.NetBIOS 名称缓存查询

操作系统通常会维护一个 NetBIOS 名称缓存,用于存储最近解析过的 NetBIOS 名称和对应的 IP 地址。攻击者如果能够访问这个缓存(例如,通过在目标计算机上运行恶意软件),就可以获取缓存中的名称 - 地址映射信息。这些信息可以帮助攻击者构建网络拓扑图,了解哪些计算机在网络中是相互关联的,以及它们的位置信息,从而为进一步的攻击提供便利。

2.4.2.2 会话服务信息泄露
(1)NetBIOS 会话建立过程中的信息交换

当两个使用 NetBIOS 协议的计算机建立会话时,会进行一系列的信息交换,包括协议版本、支持的功能等信息。这些信息可能会被攻击者截获。例如,在 NetBIOS 会话建立的初始阶段,会交换双方计算机所支持的 NetBIOS 服务类型(如文件共享服务、打印机共享服务等)。攻击者可以通过分析这些信息,确定哪些计算机上有值得攻击的目标服务,比如存在未受保护的文件共享服务,就可能包含敏感文件。

2.4.2.3 基于端口的远程攻击
(1)NetBIOS 服务端口利用

NetBIOS 协议使用一系列的端口,其中最常见的是 137(NBNS)、138(NetBIOS 数据报服务)和 139(NetBIOS 会话服务)。这些端口如果没有被正确配置防火墙或者其他安全措施进行防护,就可能被攻击者利用。例如,攻击者可以向目标计算机的 139 端口发送特制的恶意数据包,尝试利用操作系统在处理 NetBIOS 会话请求时可能存在的漏洞。如果操作系统在验证会话请求或者处理会话数据时出现错误,攻击者就可以利用这个机会进行远程代码注入或者缓冲区溢出攻击。

(2)端口扫描和枚举攻击

攻击者可以通过扫描网络中开放 NetBIOS 服务端口的计算机来确定攻击目标。通过发送端口扫描请求,攻击者可以了解哪些计算机运行着 NetBIOS 服务,以及这些服务的状态。然后,攻击者可以对这些目标计算机进行枚举攻击,尝试获取更多关于服务的信息,如共享资源列表、用户账户信息等。例如,通过向 139 端口发送特定的枚举命令,攻击者可能获取到目标计算机上的共享文件夹名称,进而尝试访问这些共享文件夹中的敏感文件。

2.5 操作系统漏洞

2.5.1****MS17-010(永恒之蓝)
2.5.1.1 漏洞原理

**协议缺陷导致内存溢出:**存在于 Windows SMBv1 协议中,SrvOs2FeaListSizeToNt 在计算需要分配的内存长度时出现问题,使得数据可溢出到邻近的内存块,导致内存破坏,从而可被攻击者利用来执行任意代码。

**无需认证即可触发:**由于 Windows 操作系统中 SMB 服务默认是开启的,且监听端口通常为 445,攻击者无需获得目标系统的任何认证信息,只需向目标主机的 SMBv1 服务发送精心构造的恶意数据包,即可触发漏洞,进而执行恶意代码。

2.5.1.2 影响范围

**操作系统版本广泛:**涵盖了多个 Windows 操作系统版本,包括 Windows NT、Windows 2000、Windows XP、Windows 2003、Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10、Windows Server 2008、Windows Server 2008 R2、Windows Server 2012、Windows Server 2012 R2、Windows Server 2016 等。

2.5.1.3 漏洞危害

**远程代码执行:**攻击者可通过此漏洞在目标系统上执行任意代码,如安装恶意软件、窃取敏感信息、创建后门账户、修改或删除数据等,完全控制受感染的计算机,甚至将其作为进一步攻击其他系统的跳板。

大规模传播恶意软件:该漏洞曾被 WannaCry 勒索病毒利用,进行大规模的自我传播,导致全球范围内大量计算机被感染,众多文件被加密,造成了巨大的经济损失和社会影响。

2.5.1.4 修复措施

**安装安全补丁:**微软已针对此漏洞发布了相应的安全补丁,用户应及时安装最新的操作系统补丁,以防止漏洞被利用,避免遭受相关攻击。

**临时防护措施:**在未安装补丁之前,可通过开启系统防火墙,利用其高级设置阻止向 445 端口进行连接,但此操作会影响使用 445 端口的服务;还可关闭不必要的 SMB 服务等临时措施来降低风险。

2.5.2 CVE-2019-0708(BlueKeep)
2.5.2.1 漏洞原理

存在漏洞的远程桌面服务器在接收到特殊数据包时,会释放一个内部信道 ms_t120 的控制结构体,但未将指向该结构体的指针删除,且在远程桌面连接结束后还会调用 ms_t120 结构体内的一个函数指针 。攻击者可通过远程发送数据重新占据被释放的 ms_t120,并为结构体内的函数指针赋恰当的值,从而实现远程命令执行。

2.5.2.2 影响范围

**操****作系统版本:**Windows 2000、Windows XP、Windows Vista、Windows 7、Windows Server 2003、Windows Server 2008、Windows Server 2008 R2 等版本均受影响,而 Windows 8 及以后的版本不受此漏洞影响。

**潜在影响范围广:**由于该漏洞是预身份验证且无需用户交互,只要目标系统开启了远程桌面服务且未安装补丁,攻击者就可通过网络发送特制请求来利用此漏洞,进而可能导致大规模的攻击,类似 2017 年 WannaCry 勒索病毒的传播方式。

2.5.2.3 漏洞危害

**远程代码执行:**攻击者可在目标系统上执行任意命令,如添加具有完全权限的账户、安装恶意程序、查看、编辑或删除数据等,从而完全控制受感染的计算机。

**形成网络蠕虫攻击:**此漏洞具有 “可蠕虫化” 的特性,意味着一旦一台计算机被感染,恶意软件可通过此漏洞迅速传播到网络中的其他易受攻击的计算机,造成更大范围的危害,对企业和机构的网络安全构成严重威胁。

2.5.2.4 修复措施

**安装安全补丁:**微软已于 2019 年 5 月 14 日发布了针对该漏洞的安全补丁,用户应及时为受影响的系统安装相应补丁,以修复漏洞,防止被攻击。

**开启网络级别身份验证:**开启 NLA 可以强制对会话请求进行身份验证,从而有效防止对存在 BlueKeep 漏洞的系统进行攻击,但需注意,这并不能完全替代安装补丁的必要性。

**关闭不必要的服务:**对于不需要使用远程桌面服务的系统,可考虑关闭该服务,以减少暴露风险。

**设置防火墙规则:**在企业网络边界防火墙上阻止 3389 端口的传输,可防止外部攻击者通过该端口访问内部系统,但此方法可能会影响正常的远程桌面协议会话,且无法防止内部网络中的未授权访问。

2.5.3 CVE-2020-0601 (CurveBall)

描述:影响Windows加密验证的漏洞,允许攻击者伪造证书,从而进行中间人攻击。

风险:可能导致恶意软件以合法软件身份进行安装,危害系统安全和数据完整性。

缓解措施:及时更新Windows,应用微软发布的补丁。

2.5.4 CVE-2017-0144 (DoublePulsar)

描述:与EternalBlue相关的后门工具,允许远程代码执行。

风险:被攻击者用来在系统中植入后门,进一步执行恶意活动。

缓解措施:及时更新系统并运行全面的恶意软件扫描。

2.5.5 CVE-2021-34527 (PrintNightmare)

描述:影响Windows打印后台处理程序服务的漏洞,允许远程代码执行。

风险:攻击者可以通过此漏洞提升权限并在系统中运行代码。

缓解措施:应用微软的安全更新,必要时禁用打印后台处理程序服务。

2.6****恶意文件

2.6.1****恶意木马

使用火绒剑进行分析图片

图片

程序会对可以网络链接标红展示,方便我们进行筛选。

可以根据路径,找到后面,上传至在威胁情报平台进一步确认,

https://forum.ywhack.com/bountytips.php?tools

找到木马,然后上传在线分析平台分析

https://ti.360.cn/#/homepage

https://x.threatbook.com/

图片

图片

确定木马病毒,进行查杀。

2.6.2****后门病毒

自启动查杀:

火绒剑—>启动项—>所有启动项(刷新或者重新打开火绒剑)

图片

找到正确的后门进行查杀

三、渗透测试方法

1 信息收集

1.1 IP与端口扫描

Nmap(Network Mapper)是一款强大的网络扫描工具,用于发现网络中的主机和服务。它可以确定网络中哪些主机是存活的,这些主机上开放了哪些端口,以及这些端口上运行的服务和它们的版本等信息。Nmap 通过发送精心构造的数据包到目标主机,并分析主机的响应来收集信息。

扫描主机 IP 地址:

**Ping 扫描(-sn 选项):**这是一种快速确定网络中哪些主机是存活的方法。例如,如果你想扫描一个本地网络段 192.168.1.0/24 中的存活主机,可以使用命令 “nmap -sn 192.168.1.0/24”。Nmap 会发送 ICMP Echo 请求(类似于 “ping” 命令)或者其他特殊的数据包到目标网络中的每个 IP 地址。如果主机存活并响应这些请求,Nmap 就会将其标记为存活主机。这种扫描方式速度相对较快,但对于一些配置了防火墙禁止 ICMP Echo 请求的主机可能无法检测到。

**ARP 扫描(-PR 选项):**在本地局域网中,ARP(Address Resolution Protocol)扫描可以更有效地发现存活主机。例如,“nmap -PR 192.168.1.0/24” 会发送 ARP 请求来确定目标 IP 地址对应的 MAC 地址。因为 ARP 请求通常不会被防火墙阻止,所以这种扫描方式对于发现局域网内的主机很有用,特别是当 ICMP 被禁止时扫描端口信息。

图片

扫描端口信息:

**基本端口扫描(-p 选项):**如果你想扫描一个特定主机(例如 192.168.1.100)上的特定端口或者端口范围,可以使用 “nmap -p 80,443,8080 192.168.1.100” 来扫描这台主机上的 80、443 和 8080 端口是否开放。或者使用 “nmap -p 1 - 1000 192.168.1.100” 来扫描 1 到 1000 端口的开放情况。Nmap 会发送 TCP SYN 数据包(默认情况下)来探测端口状态。如果收到目标主机返回的 SYN - ACK 数据包,则表示端口开放;如果收到 RST 数据包,则表示端口关闭;如果没有收到任何响应,可能是端口被过滤或者主机未响应。

**服务和版本探测(-sV 选项)****:**在扫描端口开放信息的同时,Nmap 还可以探测端口上运行的服务及其版本。例如,“nmap -sV 192.168.1.100” 会尝试识别开放端口上运行的服务(如 HTTP、SMTP、SSH 等)以及它们的版本号。这对于评估网络安全风险很重要,因为不同版本的服务可能存在不同的安全漏洞。

1.2 漏洞扫描
1.2.1 扫描策略制定

**选择扫描策略:**根据目标操作系统的特点和扫描目的,选择合适的扫描策略。扫描策略通常包括全面扫描、快速扫描、特定漏洞扫描等。例如,如果是初次对一个关键服务器进行扫描,可能会选择全面扫描策略,以尽可能发现所有潜在的漏洞;如果只是想快速检查是否存在近期公布的高风险漏洞,可以选择特定漏洞扫描策略。

图片

**定制扫描参数:**在选定的扫描策略基础上,根据具体情况定制扫描参数。这可能包括端口范围(如只扫描常见服务端口或扫描全部 65535 个端口)、服务类型(如重点扫描 Web 服务、数据库服务等)、认证方式(如果需要对目标系统进行认证后扫描,需要配置用户名和密码等认证信息)等。

1.2.2 分析扫描结果

对于扫描出的漏洞,需要进行一定程度的验证,因为扫描工具可能会出现误报情况。可以通过手动检查、利用其他工具辅助验证或者参考官方的漏洞公告来确定漏洞是否真实存在。例如,对于一个报告中的操作系统内核漏洞,可以查看操作系统厂商的安全公告,对比漏洞版本和目标系统的内核版本来验证。

2 漏洞利用

2.1 Metasploit 框架

Metasploit 拥有大量的漏洞利用模块,这些模块存储在其模块库中。可以通过在 Metasploit 控制台中使用 “search” 命令来搜索相关的模块。例如,如果目标系统是 Windows 且已知存在 MS17 - 010 漏洞(EternalBlue),可以在 Metasploit 控制台中输入 “search ms17 - 010” 来查找与该漏洞相关的利用模块。搜索结果会显示模块的名称、适用的操作系统、引用的 CVE 编号等信息。

图片

执行攻击后,Metasploit 会尝试建立与目标系统的连接,这可能需要一些时间,具体取决于网络状况和目标系统的响应速度。如果攻击成功,会建立起一个连接,如成功返回一个 Meterpreter Shell,就可以通过这个 Shell 在目标系统上执行各种命令,如查看文件系统、获取用户密码哈希值、提升权限等操作,从而获取系统的控制权。

图片

·权限维持与后渗透

**权限维持:**为了能够持续控制目标系统,可能需要采取一些权限维持措施。例如,通过在目标系统上安装后门程序,或者修改系统配置(如添加一个具有管理员权限的用户账户)等方式,使得后续可以方便地重新访问目标系统。

**后渗透:**在获取系统权限后,可以进行更深入的后渗透活动。这包括进一步探索目标系统的网络环境,如查找内部网络中的其他敏感主机、窃取敏感数据(如企业的商业机密、用户的个人信息等),以及利用目标系统作为跳板,对其他网络目标进行攻击等操作。

2.2 常见端口漏洞

21端口(FTP)

漏洞:匿名访问、弱口令、溢出、vsftpd2.3.4笑脸漏洞.

利用方法:首先用Nmap扫描目标主机,查看21端口是否开放。若开放,使用Hydra等工具,通过加载常见的用户名和密码字典,对FTP服务进行弱口令爆破。若存在vsftpd2.3.4笑脸漏洞等特定漏洞,可在Metasploit中搜索对应的利用模块,配置目标IP等参数后,执行攻击以获取系统权限。

22端口(SSH)

漏洞:弱口令、暴力猜解、用户名枚举、OpenSSH漏洞.

利用方法:先用Nmap扫描确认22端口开放,然后可使用Hydra工具,结合字典文件对用户名和密码进行暴力破解,尝试获取合法的登录凭证。对于OpenSSH漏洞,在Metasploit中找到对应的漏洞利用模块,设置目标IP等参数后,尝试进行漏洞利用以获取系统访问权限 。

23端口(Telnet)

漏洞:弱口令、明文传输、溢出.

利用方法:通过Nmap扫描确定23端口开放后,使用Hydra工具对Telnet服务进行弱口令爆破。若成功获取用户名和密码,可使用Telnet客户端直接登录目标系统。此外,攻击者还可在网络中嗅探Telnet传输的明文数据,以获取用户名、密码等敏感信息。

80端口(HTTP)/443端口(HTTPS)

漏洞:SQL注入、XSS攻击、文件包含漏洞、IIS溢出等.

利用方法:使用漏洞扫描工具对目标Web应用进行扫描,发现可能存在的漏洞。对于SQL注入漏洞,可使用sqlmap工具,指定目标URL和相关参数,尝试获取数据库信息、执行系统命令等。对于XSS漏洞,通过在输入框等位置输入恶意脚本,尝试获取用户的登录凭证或执行其他恶意操作。若发现文件包含漏洞,则尝试构造恶意文件路径,以读取敏感文件或执行任意代码 。

139端口/445端口(SMB)

漏洞:弱口令、爆破、共享入侵、永恒之蓝(MS17-010)漏洞等.

利用方法:利用Nmap扫描目标主机,确定139或445端口是否开放。对于弱口令问题,使用Hydra等工具进行爆破攻击。若存在永恒之蓝漏洞,在Metasploit中选择相应的MS17-010漏洞利用模块,设置目标IP等参数后执行攻击,可获取目标系统的权限.

3389端口(RDP)

漏洞:暴力破解.

利用方法:使用Nmap扫描确认3389端口开放后,利用Hydra工具,加载用户名和密码字典,对RDP服务进行暴力破解。若破解成功,使用RDP客户端通过获取的用户名和密码登录目标系统,从而获取系统的控制权.

1433端口(MSSQL)

漏洞:弱口令、暴力破解、注入、SA账户提权等.

利用方法:先通过Nmap扫描确定1433端口开放,然后使用Hydra对MSSQL服务进行弱口令爆破。若获取合法账号密码,使用SQL Server Management Studio连接数据库,尝试执行恶意SQL查询,进行数据窃取或提权操作。Metasploit中也有针对MSSQL的漏洞利用模块,可根据实际情况选择并配置参数后进行攻击.

1521端口(Oracle)

漏洞:弱口令、暴力破解、注入、TNS爆破、反弹shell等.

利用方法:利用Nmap扫描发现1521端口开放后,使用Hydra对Oracle服务进行弱口令爆破。获取有效账号密码后,使用Oracle客户端或sqlplus命令行工具连接数据库,执行恶意SQL语句,如注入攻击、创建反弹shell等,以获取系统权限或窃取数据。Metasploit中的相关模块也可用于特定漏洞的利用.

3306端口(MySQL)

漏洞:弱口令、暴力破解、日志写入webshell、UDF提权、MOF提权等.

利用方法:通过Nmap扫描确认3306端口开放,使用Hydra对MySQL服务进行弱口令爆破。若成功获取账号密码,使用MySQL客户端连接数据库,可通过注入攻击等手段获取数据。对于提权操作,可根据具体的漏洞情况,如利用日志写入webshell、UDF提权、MOF提权等方法,尝试获取更高的系统权限。Metasploit中的相关模块也可辅助进行漏洞利用.

6379端口(Redis)

漏洞:未授权访问、弱口令.

利用方法:利用Nmap扫描发现6379端口开放后,尝试直接连接Redis服务,若无需认证即可连接,则存在未授权访问漏洞。对于弱口令问题,可使用Hydra等工具进行爆破。利用未授权访问或获取的账号密码连接Redis后,可通过绝对路径写webshell、利用计划任务执行命令反弹shell、公私钥认证获取root权限、主从复制RCE等方式获取系统权限.

9200端口(Elasticsearch)

漏洞:未授权访问、命令执行.

利用方法:使用Nmap扫描确认9200端口开放后,直接通过浏览器或curl命令访问相关URL,如http://目标IP:9200/_nodes,查看节点数据等敏感信息。若存在命令执行漏洞,可构造恶意请求,尝试执行系统命令以获取系统权限.

3 权限提升

3.1 文件系统权限配置错误

首先,通过已经获取的权限或者其他手段(如共享文件夹访问权限),查看目标系统的文件和文件夹权限设置。可以使用 Windows 自带的 “文件资源管理器”,右键单击文件或文件夹,选择 “属性”,然后切换到 “安全” 选项卡来查看权限。

如果发现某个关键文件夹(如包含系统配置文件或者可执行文件的文件夹)的权限设置错误,例如普通用户被赋予了 “完全控制” 权限,就可以利用这个错误。将恶意的可执行文件(如一个自定义的提权工具或者后门程序)复制到这个文件夹中。

执行恶意文件来提升权限。例如,如果是一个模拟系统升级的提权工具,运行后可能会利用错误的权限设置,以较高的权限执行其中的代码,从而提升权限。

3.2 服务配置错误

确定存在配置错误的服务。可以通过查看服务的属性来了解其配置情况。在 “控制面板” 中,找到 “管理工具”,打开 “服务” 窗口,右键单击目标服务,选择 “属性”。查看服务的启动类型、登录身份、依赖关系等信息。

如果发现服务以高权限(如 LocalSystem)启动,且存在配置错误(如对传入数据验证不严格),可以构造恶意数据来利用这个服务提升权限。例如,对于一个存在命令注入漏洞的服务,通过构造恶意的命令注入字符串,向服务发送请求。如果服务没有对输入进行正确的过滤,就会执行注入的命令,从而以服务的高权限执行代码,提升权限。

3.3 注册表配置错误

使用注册表编辑器(regedit.exe)查看注册表配置。如果已经获得了一定的系统访问权限,可以通过命令提示符或者其他工具(如远程注册表编辑器)来访问目标系统的注册表。

图片

查找存在错误配置的注册表项。例如,某些关键的系统权限设置或者自动运行项可能被错误配置。如果发现一个自动运行项指向一个可被控制的文件路径,将恶意文件放置在这个路径下,当系统重启或者服务启动时,就会执行这个恶意文件,有可能提升权限。

四、总结

Windows 操作系统在现代数字化环境中广泛应用,但其面临的安全挑战不容小觑。本文详细分析了其在用户权限体系、文件系统结构、用户配置与管理、网络通信与协议、操作系统漏洞以及恶意文件等方面的脆弱点和漏洞。通过深入了解这些风险,我们可以认识到安全防护的重要性。在实际应用中,应积极采取有效的安全措施,如及时更新系统、合理配置权限、加强网络管理等,以降低安全风险,确保系统安全稳定运行,保护
学习网络安全技术的方法无非三种:

第一种是报网络安全专业,现在叫网络空间安全专业,主要专业课程:程序设计、计算机组成原理原理、数据结构、操作系统原理、数据库系统、 计算机网络、人工智能、自然语言处理、社会计算、网络安全法律法规、网络安全、内容安全、数字取证、机器学习,多媒体技术,信息检索、舆情分析等。

第二种是自学,就是在网上找资源、找教程,或者是想办法认识一-些大佬,抱紧大腿,不过这种方法很耗时间,而且学习没有规划,可能很长一段时间感觉自己没有进步,容易劝退。

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

第三种就是去找培训。

image.png

接下来,我会教你零基础入门快速入门上手网络安全。

网络安全入门到底是先学编程还是先学计算机基础?这是一个争议比较大的问题,有的人会建议先学编程,而有的人会建议先学计算机基础,其实这都是要学的。而且这些对学习网络安全来说非常重要。但是对于完全零基础的人来说又或者急于转行的人来说,学习编程或者计算机基础对他们来说都有一定的难度,并且花费时间太长。

第一阶段:基础准备 4周~6周

这个阶段是所有准备进入安全行业必学的部分,俗话说:基础不劳,地动山摇
image.png

第二阶段:web渗透

学习基础 时间:1周 ~ 2周:

① 了解基本概念:(SQL注入、XSS、上传、CSRF、一句话木马、等)为之后的WEB渗透测试打下基础。
② 查看一些论坛的一些Web渗透,学一学案例的思路,每一个站点都不一样,所以思路是主要的。
③ 学会提问的艺术,如果遇到不懂得要善于提问。
image.png

配置渗透环境 时间:3周 ~ 4周:

① 了解渗透测试常用的工具,例如(AWVS、SQLMAP、NMAP、BURP、中国菜刀等)。
② 下载这些工具无后门版本并且安装到计算机上。
③ 了解这些工具的使用场景,懂得基本的使用,推荐在Google上查找。

渗透实战操作 时间:约6周:

① 在网上搜索渗透实战案例,深入了解SQL注入、文件上传、解析漏洞等在实战中的使用。
② 自己搭建漏洞环境测试,推荐DWVA,SQLi-labs,Upload-labs,bWAPP。
③ 懂得渗透测试的阶段,每一个阶段需要做那些动作:例如PTES渗透测试执行标准。
④ 深入研究手工SQL注入,寻找绕过waf的方法,制作自己的脚本。
⑤ 研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等,参照:上传攻击框架。
⑥ 了解XSS形成原理和种类,在DWVA中进行实践,使用一个含有XSS漏洞的cms,安装安全狗等进行测试。
⑦ 了解一句话木马,并尝试编写过狗一句话。
⑧ 研究在Windows和Linux下的提升权限,Google关键词:提权
image.png
以上就是入门阶段

第三阶段:进阶

已经入门并且找到工作之后又该怎么进阶?详情看下图
image.png

给新手小白的入门建议:
新手入门学习最好还是从视频入手进行学习,视频的浅显易懂相比起晦涩的文字而言更容易吸收,这里我给大家准备了一套网络安全从入门到精通的视频学习资料包免费领取哦!

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值