《ppt2-赖志活-从红队视角看运维体系攻防.pdf》由会员分享,可在线阅读,更多相关《ppt2-赖志活-从红队视角看运维体系攻防.pdf(43页珍藏版)》请在三个皮匠报告上搜索。
1、从红队视角看运维体系攻防从红队视角看运维体系攻防360高级攻防研究院高级攻防研究院-灵腾实验室灵腾实验室-赖志活赖志活 WfoxCONTEN TS01运维体系概念运维体系概念自动化运维体系攻击面自动化运维体系攻击面0203Server杀伤链杀伤链04Agent杀伤链杀伤链运维体系概念运维体系概念01.随着信息化发展速度的不断增快,企业的网络规模及架构也逐渐变得复杂,因此为了更高效且安全得对企业网络、服务及用户进行管理,各种集权设备成为企业广泛应用的重要基础架构集权设备的应用集权设备的应用EDR运维体系概念运维体系概念运维体系概念运维体系概念云基础平台云基础平台其他管理系统其他管理系统ADAD
2、域控域控虚拟化所依靠的基础建设平台虚拟化逃逸、远程代码执行、拒绝服务各个云厂商独立维护其安全性集权设备的现状集权设备的现状企业泛办公网应用的集权管理方案严重高危历史漏洞普遍存在微软厂商提供对应漏洞补丁堡垒机、终端管理系统等绝大多数均曝光过严重漏洞各个厂商独立维护其安全性近年来随着实网攻防演练的开展,攻击队的苗头逐渐指向近年来随着实网攻防演练的开展,攻击队的苗头逐渐指向企业内的集权管理设备企业内的集权管理设备。一旦集权管理设。一旦集权管理设备被攻陷,针对其管理范围内的其他设备的攻击成本会大大降低,并为横向渗透逼近靶标开辟道路。备被攻陷,针对其管理范围内的其他设备的攻击成本会大大降低,并为横向渗透
3、逼近靶标开辟道路。运维体系对象运维体系对象运维角色运维角色办公网:办公网:域控、云桌面、终端安全管理系统生产网:生产网:堡垒机、运维机IaaSIaaS层:层:虚拟化系统、超融合平台PaaSPaaS层:层:性能监控系统、自动化运维系统桌面运维:桌面运维:办公PC、域控、邮服网络运维:网络运维:交换机、防火墙安全运维:安全运维:终端安全管理系统、主机入侵防御系统研发运维:研发运维:Devops服务器运维:服务器运维:堡垒机、性能监控系统数据库运维:数据库运维:Oracle、IBM DB2运维体系概念运维体系概念运维基础设施运维基础设施自动运维体系攻击面自动运维体系攻击面02.自动化运维体系攻击面自
4、动化运维体系攻击面CMDBCMDB 配置管理配置管理运维信息管理和自动化的基石,覆盖资源管理、业务管理、权限配置管理。DevOpsDevOps 开发运维一体化开发运维一体化覆盖应用开发、代码部署和质量测试等生命周期的集成化平台。MonitorMonitor 性能性能监控监控覆盖主机、网络、数据库、业务监控等维度的性能数据采集监控及告警。AutoOpsAutoOps 自动化运维自动化运维覆盖服务器、云平台、数据库、中间件、网络设备等维度的自动化编排运维。新一代运维基础设施新一代运维基础设施银行、证券、保险、.自动化运维体系攻击面自动化运维体系攻击面自动化运维体系攻击面自动化运维体系攻击面人工人工
5、运维运维脚本化脚本化运维运维工具化工具化运维运维平台化平台化运维运维 国外开源产品:Zabbix、SaltStack、Ansible 国内商业产品:优云uyun、优维EasyOps、腾讯蓝鲸、摩卡Mocha BSM 国外商业产品:BMC Patrol、惠普Opsware 企业自研系统 其他:终端安全管理系统自动化运维发展阶段自动化运维发展阶段自动化运维体系攻击面自动化运维体系攻击面自动化运维体系攻击面自动化运维体系攻击面Server端主动向Agent端的端口监听服务发送指令并获取执行结果,常见于Server端自动发现功能。被被动动模式模式自动化运维体系攻击面自动化运维体系攻击面Agent端向S
6、erver端主动请求定时上报数据、并获取服务端指令执行并上报结果,常见于IT运维手动或批量部署将服务器接入到Server被控节点中。主主动动模式模式产品漏洞服务端攻击面 闭源产品可通过互联网源码泄露、产品部署包泄露、黑盒攻击等方式获得产品源代码进而0day漏洞挖掘。组件漏洞 开发框架(SpringBoot)、中间件(Tomcat)、数据库(MySQL、Redis、ElasticSearch)、消息队列(ActiveMQ)等组件的通用漏洞、配置不当等风险。弱口令漏洞 Web控制台存在默认口令、弱口令等情况;系统未启用双因子认证。自动化运维体系攻击面自动化运维体系攻击面通讯层攻击面消息队列通讯 S
7、erver服务端与Agent客户端采用消息队列方式进行任务调度,消息服务器缺少认证机制(ActiveMQ)或者未限制消费者的身份权限(RabbitMQ),导致Agent端拥有发布消息权限;可在Agent端对消息队列进行任务投毒,伪造Server端向其他Agent发布任务指令,达到命令执行效果。自动化运维体系攻击面自动化运维体系攻击面运维脚本泄露客户端攻击面 基于日常运维、系统巡检、自动化运维等运维场景,许多内部运维脚本都存放在每台服务器上,运维脚本中可能包括运维系统凭证、域控凭证、数据库凭证、内网资产信息等。监听端口风险 Agent服务监听0.0.0.0固定开放端口,端口服务若存在漏洞可导致所
8、有部署Agent服务的服务器遭受漏洞威胁。鉴权机制漏洞 上述Agent端口服务的鉴权机制可能存在无鉴权、本地存在明文凭据、鉴权加密校验算法可逆等风险,导致攻击者可向其他服务器Agent端口服务执行任意任务指令。高危指令模块风险 若攻击者可向Agent执行任意指令,高危指令如命令执行、脚本下发执行、Agent软件升级、文件读取等模块可能会导致服务器被控。自动化运维体系攻击面自动化运维体系攻击面Server杀伤链杀伤链03.Server杀伤链杀伤链Zabbix是一个支持实时监控数千台服务器、虚拟机和网络设备的企业级解决方案,客户覆盖许多大型企业。最为常见的Zabbix部署架构,Server与Age
9、nt同处于内网区域,Agent能够直接与Server通讯,不受跨区域限制。ZabbixZabbix产品攻击面图产品攻击面图Server杀伤链杀伤链Server杀伤链杀伤链1.1.AgentAgent入口分析入口分析Linux进程名为zabbix_agentd,Windows进程名为zabbix_agentd.exe查看配置文件:cat/etc/zabbix/zabbix_agentd.conf|grep-v#|grep-v$Server杀伤链杀伤链2.2.分析配置文件分析配置文件主要关注Zabbix服务端IP、不安全的配置选项。Server:Server或Proxy的IP、CIDR、域名Ena
10、bleRemoteCommands:开启后可通过Server下发shell脚本在Agent上执行UnsafeUserParameters:自定义用户参数是否允许传参任意字符AllowRoot:开启后以root权限运行zabbix_agentd服务UserParameter:自定义用户参数Server杀伤链杀伤链3.3.不安全的配置案例不安全的配置案例EnableRemoteCommands开启后可通过Server下发shell脚本在Agent上执行。EnableRemoteCommands=1UserParameter=ping*,echo$1UnsafeUserParameters=1Ena
11、bleRemoteCommands开启后可通过Server下发shell脚本在Agent上执行。Server杀伤链杀伤链4.4.攻攻击击ZabbixZabbix ServerServer Web后台弱口令后台弱口令管理员默认账号:Admin,密码:zabbixMySQL弱口令弱口令用户名zabbix,密码:123456zabbixzabbix123zabbix1234zabbix12345zabbix1234565.5.ZabbixZabbix ServerServer权权限后利用限后利用Agent统一部署的情况下,存在不安全配置的Agent会遍布所有生产服务器。1)控制控制Zabbix Se
12、rver权权限限添加脚本,指定为zabbix服务器执行,在仪表盘选择一台机器运行即可。出网情况下可上linux远控,不推荐bash反弹Server杀伤链杀伤链Server杀伤链杀伤链5.5.ZabbixZabbix ServerServer权权限后利用限后利用2)控制控制Zabbix Agent权权限限-EnableRemoteCommands添加脚本,指定为zabbix客户端执行,在“监测中-最新数据”功能中根据过滤条件找到想要执行脚本的主机并单击运行脚本。Server杀伤链杀伤链5.5.ZabbixZabbix ServerServer权权限后利用限后利用3)控制控制Zabbix Agen
13、t权权限限-UnsafeUserParameters当UnsafeUserParameters参数配置不当时,组合UserParameter自定义参数的传参命令拼接,可导致远程命令注入漏洞。UserParameter=ping*,echo$1pingtest&idecho test&id配置配置项项发发送送Payload命令注入命令注入Server杀伤链杀伤链5.5.ZabbixZabbix ServerServer权权限后利用限后利用3)控制控制Zabbix Agent权权限限-UnsafeUserParameters当UnsafeUserParameters参数配置不当时,组合UserPa
14、rameter自定义参数的传参命令拼接,可导致远程命令注入漏洞。pingtest&idecho test&id配置配置项项发发送送Payload命令注入命令注入UserParameter=ping*,echo$1UnsafeUserParameters=15.5.ZabbixZabbix ServerServer权权限后利用限后利用3)控制控制Zabbix Agent权权限限-UnsafeUserParameters指定主机添加监控项,“键值”中填入监控项命令,等待片刻就能在“最新数据”功能看到执行结果。Server杀伤链杀伤链AgentAgent -ServerServer -AgentAg
15、ent1.入口入口权权限限环环境分析境分析2.分析配置文件脆弱点及分析配置文件脆弱点及运维运维脚本脚本3.攻攻击击Zabbix Server控制控制权权限限4.基于基于Server权权限定向攻限定向攻击击AgentServer杀伤链杀伤链Agent杀伤链杀伤链04.Agent杀伤链杀伤链Server端主动向Agent端的端口监听服务发送指令并获取执行结果,常见于Server端自动发现功能。被被动动模式模式攻攻击击手法手法进进程分析程分析ps auxnetstat-ntlp常常见风险见风险点点deamon服务0.0.0.0监听端口监听端口的服务未对请求进行鉴权、本地存在明文凭据、鉴权加密校验算法
16、可逆监听服务的指令模块存在远程命令执行漏洞源码文件、运维脚本泄露敏感信息Agent杀伤链杀伤链监听监听端口分析端口分析文件分析文件分析漏洞漏洞挖挖掘掘1.1.进进程分析程分析分析当前运行进程,排除系统服务、常见应用服务等进程,结合进程名基本可以判断为Agent进程。Linux、Windows环境通常会部署同一套Agent。Agent杀伤链杀伤链2.2.监听监听端口分析端口分析若服务端口监听在0.0.0.0,且服务存在漏洞的情况下,可通过Agent漏洞横向攻击内网其他机器。可根据端口监听的进程PID找到对应运行进程。Agent杀伤链杀伤链3.3.文件分析文件分析结合进程信息、程序目录内的文件,可
17、以判断该进程为Python编写。Agent杀伤链杀伤链 Python Java Shell Perl.解释型语言解释型语言 C/C+Golang.编译型语言编译型语言代码审计代码审计逆向分析逆向分析4.4.漏洞挖掘漏洞挖掘 -通讯协议分析通讯协议分析9003端口对应脚本bin/updater/updater.py,监听9003接收socket原始连接。Socket HTTP/HTTPS WebSocket Java RMI XMLRPC gRPC.通讯协议通讯协议Agent杀伤链杀伤链4.4.漏洞漏洞挖挖掘掘 -通通讯协议讯协议分析分析Socket服务监听端口接受Socket连接请求并处理消息
18、。Agent杀伤链杀伤链4.4.漏洞漏洞挖挖掘掘 -通通讯协议讯协议分析分析JSON解析Socket消息体,根据msgtype字段判断消息类型,并调用对应的指令模块。Agent杀伤链杀伤链命令执行指令模块,对buff字段进行base64解码后JSON解析,最终调用系统命令执行。394.4.漏洞漏洞挖挖掘掘 高危模高危模块块Agent杀伤链杀伤链4.4.漏洞漏洞挖挖掘掘 风险风险梳理梳理Agent服务监听0.0.0.0:9003端口采用Python语言编写,代码未受保护采用原始TCP Socket协议进行任务调度通讯未限制来源白名单IP、未对请求进行鉴权存在管控命令执行模块Agent杀伤链杀伤链
19、5.5.漏洞利用漏洞利用分析Agent代码逻辑编写漏洞利用脚本,脚本根据通讯协议构造请求包调用Agent高危模块执行任意系统命令。可向内网任意一台运行着运维Agent的服务器IP端口发送请求,结合端口扫描监听端口发现存在漏洞的服务器,即可造成批量控制企业生产服务器的效果。Agent杀伤链杀伤链BMC PatrolBMC Patrol漏洞案例漏洞案例监听0.0.0.0:3181端口config.default配置文件存在密文凭证,加密算法可逆存在命令执行模块可调用程序自带命令行向其他服务器Agent发起请求PatrolCli.exe user patrol password connect 1.1.1.1 3181 execpsl system(ipconfig);exitAgent杀伤链杀伤链Thanks