随着信息技术的飞速发展,企业内网已成为业务运营的核心支柱,承载着大量敏感数据和关键业务逻辑。然而,与此同时,网络攻击技术也在不断演进,特别是横向移动攻击,已成为高级威胁者渗透和实现远控的必要手段。本文旨在深入探讨横向移动攻击的各个阶段、攻击手段及其防御策略,为企业提供一套全面且深入的防御体系构建指南,以应对日益复杂的内网安全威胁。
定义与特性
横向移动攻击是指攻击者在成功入侵内网的某一系统后,不直接进行破坏性行为,而是通过进一步的信息收集、凭证窃取、漏洞利用等手段,逐步渗透并控制更多主机和资源的过程。这种攻击方式具有隐蔽性强、持续时间长、影响范围广等特点,使得防御者难以察觉和应对。
目标与动机
攻击者进行横向移动的主要目标在于扩大控制范围、获取敏感数据以及实现持久化控制。通过控制更多主机和资源,攻击者能够窃取用户凭证、财务信息、商业机密等敏感数据;同时,通过部署后门程序、篡改配置或清理日志等手段,确保即使被发现也能重新获得访问权限,持续威胁内网安全。Nmap 扫描结果
攻击阶段分析
横向移动攻击通常分为以下五个阶段:
- 信息收集阶段:攻击者通过主动扫描和被动嗅探等手段获取内网拓扑结构、主机信息、服务端口等关键数据。
- 凭证窃取阶段:利用工具如 Mimikatz 等抓取系统中的明文密码、哈希值或 Kerberos 票据,并通过 Pass-the-Hash、Pass-the-Ticket 等技术进行身份伪造。
- 权限提升阶段:通过利用系统漏洞或服务配置不当提升权限,获得对更多主机的管理权限。
- 横向移动阶段:使用远程协议如 RDP、SMB、SSH 以及代理转发工具等在内网中扩展控制范围,渗透更多主机。
- 持久控制与隐藏阶段:在目标系统中部署后门程序、篡改配置或清理日志,确保长期保留对系统的访问并隐藏活动痕迹。
网络安全攻击与渗透测试流程图
信息收集阶段的防御策略
信息收集作为横向移动攻击的起始步骤,对于攻击者来说至关重要。他们需深入了解目标网络中的主机、服务、端口、凭证以及整体拓扑结构,以便精心规划后续的攻击路径。本文将从被动信息收集与主动信息收集两个维度,详细解析攻击者如何在内网环境中逐步累积所需信息,并针对性地提出防御策略。
被动信息收集:静默窥探的艺术
被动信息收集,顾名思义,是指攻击者在不主动与网络进行直接交互的前提下,通过分析现有的系统数据、文件、日志等信息资源,来间接获取内网的关键情报。这种方法因其高度隐蔽性而备受青睐。
- 系统日志与配置文件的深度挖掘
- 系统日志:Windows 的事件日志(特别是安全事件日志)和 Linux 系统下的/var/log/目录,是攻击者窥探内网活动的窗口。这些日志记录了系统的运行细节、用户登录活动、服务启动与停止等关键信息,为攻击者提供了系统管理员的操作模式、服务状态乃至潜在的安全配置弱点。
- 运维拓扑图与配置文件:企业运维团队维护的网络拓扑图、网段划分详情以及系统配置文件,对于攻击者而言是无价之宝。它们不仅直观展示了内网的结构布局,还详细记录了网络设备、服务器位置以及数据流动路径,为攻击者精准定位高价值目标提供了极大便利。
- 网络流量的无声监听
- 未加密流量的捕获:在内网中,若存在未加密的 HTTP 流量,攻击者可以轻松截获用户名、密码、会话 ID 等敏感信息。此外,Telnet 和 FTP 等明文传输协议也是攻击者监听的重点对象。
- 会话劫持的威胁:通过捕获未加密的 HTTP 或 FTP 会话,攻击者能够窃取会话令牌,进而冒充合法用户进行会话劫持,实现更深层次的渗透。
防御策略:
- 全面实施加密通信,确保所有服务和应用程序均采用 HTTPS、SFTP、SSH 等安全协议。
- 采用 VLAN(虚拟局域网)或微隔离技术,实现网络分段和流量隔离,有效降低攻击者监听敏感流量的风险。
主动信息收集:积极探索的攻略
主动信息收集则是攻击者通过直接探测和扫描手段,主动获取内网中主机、端口、服务以及网络配置等详细信息的过程。这一步骤对于攻击者绘制内网详细结构图、锁定潜在攻击目标具有决定性作用。
- 网络扫描与主机发现的精准实施
- 端口扫描:攻击者利用 Nmap、Masscan 等工具,对目标主机的常见端口进行扫描,以识别正在运行的服务。特别关注如 22(SSH)、80/443(HTTP/HTTPS)、445(SMB)、3389(RDP)等关键端口。
- TCP/UDP 扫描:除了 TCP 扫描外,UDP 扫描也是必不可少的一环,它用于发现使用 UDP 协议的服务,如 DNS、SNMP 等,为攻击者提供更多系统和网络的细节信息。
- 服务与协议探测的深入进行
- 服务版本探测:Nmap 的-sV 功能允许攻击者识别目标主机上运行的服务版本,进而判断是否存在可利用的漏洞。
- 协议探测:针对 SMB、RDP 等协议的探测,有助于攻击者识别内网中未修补的漏洞或弱点,如著名的 EternalBlue 漏洞。
- DevOps 平台与组件的针对性探测
- GitLab、Jenkins、Nexus 等 DevOps 工具:这些平台在内网中的广泛部署,为攻击者提供了丰富的攻击面。攻击者通过扫描这些平台的版本信息,利用已知漏洞(如 CVE-2018-19571、CVE-2018-1000861 等)获取访问权限,进而执行远程代码或控制整个 CI/CD 流水线。
防御策略:
- 定期对 DevOps 工具进行安全更新,及时应用最新的安全补丁,以减少漏洞暴露的机会。
- 实施严格的访问控制策略,如多因素认证(MFA)和基于角色的访问控制(RBAC),确保只有授权用户才能访问 DevOps 平台。
漏洞利用与防御策略
Web 应用漏洞
Web 应用是企业内网的重要交互界面,易成为攻击突破口。主要包括:
- CMS 系统漏洞:如 WordPress、Joomla 等常存在 SQL 注入、文件上传等漏洞。防御策略包括定期更新 CMS 及其插件,严格限制文件上传。
- Java 组件漏洞:如 Apache Struts、Shiro、Log4j 等存在远程代码执行漏洞。应定期检查和更新 Java 组件,限制反序列化操作。
- OA 系统漏洞:如认证绕过、会话劫持等。建议启用多因素认证,定期审计系统。
- 开源组件漏洞:如 Apache HTTP Server、Tomcat 等的路径遍历、远程代码执行漏洞。应实时监控漏洞公告,及时应用补丁,并使用应用沙箱隔离组件。
数据库漏洞
数据库是企业核心资产,易遭受 SQL 注入、未授权访问等攻击。防御策略包括使用参数化查询防止 SQL 注入,关闭数据库服务的默认端口和外部访问,确保仅对内网可信主机开放。
系统漏洞
系统级漏洞包括提权、远程代码执行和弱口令等。建议定期更新操作系统补丁,实施强密码策略,并启用多因素认证。
集权系统漏洞
集权系统如 Active Directory、Kerberos 、LDAP等管理企业内网的身份验证和授权,易成为攻击目标。主要包括:
- 域控制器漏洞:如 NTLM Relay 攻击、Kerberos 黄金票据攻击等。建议禁用不必要的 NTLM 认证,定期检查 Kerberos 票据,强化域控制器防护。
- 堡垒机漏洞:如认证绕过、命令注入等。应配置强认证机制,对命令输入进行严格验证和过滤。
- 监控软件漏洞:如未授权访问、远程代码执行等。应确保监控软件启用严格访问控制,及时更新软件修复漏洞。
维持控制与隐蔽性策略解析
后门部署:持久访问的桥梁
- 常见形式:
- Webshell:攻击者利用漏洞将恶意脚本上传至服务器,通过 Web 界面执行系统命令,操作文件。其隐蔽性在于能融入正常 Web 请求中,但可通过异常请求模式在 Web 服务器日志中被发现。
- 反向 Shell:不同于传统正向连接,反向 Shell 让受控系统主动连接攻击者服务器,有效绕过内网防火墙限制,实现隐蔽访问。
- 防御策略:
- 强化文件上传接口的验证机制,限制脚本执行权限,定期执行文件系统扫描,及时发现并清除潜在恶意脚本。
- 实施严格的访问控制策略,监控 Web 服务器及系统命令执行日志,异常行为立即触发报警。
系统配置篡改:削弱防御的暗手
- 篡改方式:
- 禁用安全日志记录:通过修改系统设置,阻止安全事件被记录,为攻击行为披上“隐身衣”。
- 修改认证机制:篡改身份验证流程,为后门账户或弱密码创建便捷通道,绕过安全检查。
- 防御措施:
- 定期进行系统安全配置审计,确保日志记录和认证机制完好无损,及时发现并修复篡改痕迹。
- 部署集中式日志管理系统,实现日志的远程存储与分析,防止本地日志被篡改,同时设置 SIEM 系统自动告警,对配置变更进行实时监控。
日志和痕迹清理:消除证据的艺术
- 清理行为:
- 删除事件日志:精心选择性地清除登录记录、系统错误日志,或直接编辑日志内容,以掩盖攻击活动。
- 修改时间戳:调整文件创建和修改时间,混淆视听,使安全团队难以追踪恶意文件的真实来源和时间。
- 防御对策:
- 建立不可篡改的日志存储体系,确保日志数据在安全的远程系统或集中管理平台上保存,防止本地删除操作。
- 利用时间线分析工具,定期对日志和文件系统进行全面审查,识别任何异常的时间戳修改行为,结合其他安全事件综合分析,揭露潜在攻击活动。
限制横向移动与持久控制
网络分段与微隔离
- 网络分段:首先,通过配置 VLAN 将不同系统、部门和服务隔离到独立的网络区域中。为每个 VLAN 设置严格的防火墙策略,确保只有特定流量能够跨 VLAN 通信。例如,将财务系统与普通用户系统完全隔离,只允许有明确权限的用户访问财务数据。完成网络分段后,使用网络监控工具进行验证,确保隔离策略执行正确,避免由于防火墙策略不严谨而导致的跨 VLAN 访问。
- 微隔离:作为网络分段的补充,微隔离能够进一步细化安全控制。使用微隔离工具针对每个应用或容器配置独立的安全策略,限制不必要的横向流量。同时,持续监控应用间的通信,确保策略的灵活性,并根据实际情况及时调整规则。在实施微隔离时,需平衡安全与业务需求,避免一刀切地封闭所有流量。
网络隔离与微分段示例
全流量加密与身份验证机制
- 加密传输:为所有内部服务启用 TLS 加密,特别是 HTTP、RDP、SMB 等常见协议。确保加密证书由可信的 CA 签发,并定期更新证书以避免过期。同时,使用网络监控工具定期检查网络流量,确保无明文传输的敏感信息。
- 身份验证:部署多因素认证(MFA)机制,对所有高权限用户启用 MFA,特别是远程登录和关键系统访问需要强制多重身份验证。此外,为不同角色的用户分配不同的访问权限,确保只有必要的用户能够访问特定系统,并对所有权限变更进行审批和日志记录。
权限管理与最小化权限原则
- 通过 RBAC(基于角色的访问控制)系统,确保每个用户和服务只拥有完成工作所需的最小权限。定期执行权限审计,清查高权限用户和服务账户,对于不再使用的账户或权限,应及时禁用或删除。
- 严格管理服务账户权限,避免其访问核心系统或拥有管理员权限。特别是在使用自动化服务时,确保其使用单独的账户,并严格控制权限范围。建议使用自动化工具定期检查和审计用户权限,以确保最小化权限原则得到落实。
日志监控与行为分析体系
- 建立集中日志管理系统,将所有系统和网络设备的日志集中存储在 SIEM 系统中。使用自动化分析工具检测异常活动,关注登录失败、权限变更、跨主机连接等异常事件。
- 基于用户行为建立基线,检测异常行为。例如,如果普通用户突然访问多个高权限系统,这应被视为潜在的威胁。同时,使用流量监控工具实时分析主机间的通信,特别是对横向移动常用协议的流量进行监控,以快速发现异常活动。
漏洞管理与补丁管理策略
- 定期使用漏洞扫描工具扫描内网中的所有主机和服务,识别潜在的高危漏洞。扫描范围应包括操作系统、应用程序和网络设备。
- 确保所有主机及时应用最新的安全补丁,特别是高危漏洞发布后,应尽快完成修复。对于关键系统,应提前在测试环境中验证补丁的兼容性,以免影响业务运行。对于无法立即应用补丁的遗留系统,应采取其他措施(如限制外部访问、启用网络隔离、验证外围防御手段的防御有效性等等)来暂时降低漏洞利用风险,并安排尽快升级或替换系统。
构建全面的防御体系
在网络安全防御的战役中,蓝队不仅需构建坚固的防线以抵御外部威胁,还需掌握一套高效且细致的横向移动取证与分析技能。这一能力对于重溯攻击路径、揭示攻击者行为模式以及最终保护内网安全至关重要。
日志取证:追踪攻击足迹的基石
日志是记录系统活动、用户行为及异常事件的重要信息源。在横向移动攻击中,攻击者在不同系统间穿梭时,往往会留下可追踪的痕迹。
- 系统日志分析:Windows 事件日志和 Linux 日志(例如/var/log/auth.log)提供了用户登录、权限变更等核心数据。蓝队应重点关注多次登录失败、远程登录尝试、权限提升及新用户创建等异常事件,特别是高权限用户的操作记录。通过日志关联分析,比对不同设备的日志条目,可以重建攻击者的移动路径。例如,若检测到同一用户在短时间内连续登录多个系统,这很可能是攻击者在进行横向移动的迹象。
- 应用程序日志:Web 服务器日志、数据库访问日志等是攻击者渗透应用层系统时留下的关键证据。蓝队在分析时应特别关注大量或异常的 POST 请求,尤其是包含恶意参数或访问文件上传接口的请求,这些往往是攻击者尝试上传恶意脚本或进行 Web 应用渗透的预兆。
- 实践建议:鉴于日志数据量庞大,蓝队应结合安全信息和事件管理(SIEM)系统进行日志的集中管理和自动化分析。为高危行为设置实时告警,如检测到异常的权限变更或跨主机的频繁登录,应立即采取措施响应。
网络流量取证:洞悉攻击者行踪的窗口
横向移动攻击往往伴随着异常的网络流量,蓝队通过分析这些流量可以揭示攻击者的行动轨迹。
- 全流量捕获与分析:蓝队应部署专业的开源流量分析工具(如 Wireshark、Zeek)或商业化全流量产品对内网中的所有流量进行捕获和分析。重点关注跨主机间的大量数据传输和异常的协议使用,特别是 RDP、SMB、SSH 等常用于横向移动的协议。
- 特定协议监控:SMB 和 RDP 是横向移动中常用的协议,蓝队应重点分析这些协议的流量,特别是非正常时间段或未经授权的访问请求。同时,流量模式和行为同样重要,如某台主机突然向多台服务器发起大量 SMB 连接,即使数据包内容无明显异常,也可能是横向移动的迹象。
- 流量关联分析:通过跨多个主机的流量进行关联分析,蓝队可以发现攻击者的移动路径。例如,当一台主机与多台服务器通过 SMB 协议频繁通信时,结合该主机的日志信息,可以判断是否为攻击者在尝试横向渗透。
文件系统取证:挖掘攻击者遗留的线索
攻击者在横向移动时,往往会在文件系统中留下修改、创建文件或植入后门程序的痕迹。
- 时间线分析:通过分析文件系统中的文件修改时间、访问时间和创建时间,蓝队可以构建出攻击者的活动时间线。若某些系统文件的修改时间与攻击行为的时间窗口一致,则可确定这些文件被攻击者修改。
- 关键文件分析:蓝队应特别关注用户账户文件、日志文件以及与关键服务相关的配置文件(如/etc/passwd 和/etc/shadow)。攻击者可能通过修改这些文件来增加权限或隐藏其操作。
- 后门文件检测:许多攻击者在入侵系统后,会在文件系统中植入后门程序以便未来维持对系统的访问。蓝队应通过定期扫描系统中新增或修改的可执行文件来检测潜在的后门。
- 实践挑战与对策:文件系统取证中的挑战在于大量正常文件操作可能掩盖攻击者的痕迹。蓝队应结合时间线分析和用户行为分析工具,通过交叉验证的方式找出可疑文件修改。此外,建立文件完整性监控机制,对关键文件进行实时监控,一旦发现异常修改立即报警,也是提高取证效率的有效手段。
结语
在数字化时代,企业内网安全至关重要。面对复杂威胁,企业需采取全面防御措施应对横向移动等高级攻击。通过加强信息收集防御、凭证保护、漏洞管理、限制横向移动及员工安全意识培训等,构建有效防御体系。定期第三方安全评估与审计提升安全性,满足法规要求,保障业务连续性与竞争优势。