脸书 Google+ 微博 LinkedIn YouTube系统 RSS系统 菜单类 搜索 资源-博客 资源-Webinar 资源-报表 资源-事件 图标#066 图标_067 图标_068 图标_069 图标070

Schneider电工IGS数据服务器多重易变性

临界点

简表

Schneider电工IGS数据服务器(IGSSdataServer.exe)中可容发现多重漏洞

1)Opcode1(LOG)附加

IGSSdataServer请求包限制为0x1000字节带Opcode1消息可长0x1000字节并需要多次发送将第二个请求附加到现有消息数据时,IGSSDataServer.exe可错误计算缓冲位置存储接收请求,导致远程写攻击者控制数据

ocode1消息有以下格式:

lidist hdr {li16ReqSize/总req大小包括此字段le16unkle16unkle32编码le32unkle32Final/请求消息中最终片段}!structOpcode_1_req/h.opcode必须是1le16n/0xC字节项数FILETIMEftimeFiletimeftime2字节项目#0xC/0xC字节项目};


非认证远程攻击者可用大Opcode_1_req.nsdataServer.exe不检查收到请求中确实有项目字段数据项

接收第一个请求片段后, IGSSDataServer.exe使用从线上接收请求包大小标记当前消息大小,但也标注信息目前拥有数据nemits(攻击者指定的任意值)端端结果显示当前消息大小可大大小于项目字段表示的数量

第二次请求抵达后,服务器重定位消息缓冲存储请求中接收项目计算存储请求中项目所需的空间并添加到当前消息大小

IGSSDAServer.exev15.0.022082 <.snips.>.text:004A69A9 moveeax.text:004A69AC movzxex空间存储.text:004A69B0m4A69B6eaxmsg规模.text:004A69BF movex.text:004A69C2edxmsg缓冲区.text:004A69D2推eax.text:004A69D3调用ds


服务器后复制项目二请求当前扩展消息缓冲区,位置由Opcode_1_req.n项字段第一个请求确定使用此字段计算消息缓冲区内偏移值, 第一个请求中的项目将结束

IGSSDAServer.exev15.0.022082 <.snips.>.text:004A6A02 mvzxe攻击者控件->OB写.text:004A6A06imuledx,ecx,0Ch.text:004A6A09leaeax0C字节项目.text:004A6A0D推送ax.text:004A6A0E调用mcpy <.snip


字段可由攻击者任意大数并发Memcpy写址可能导致外写攻击者控制数据

概念证明

python3 igss_dataserver_appendRequest_oob_write.py -t
              
               P12401-O1尝试用Ocode1连接0001:项目req=0002,实际项目=0001回溯:文件/Work/0day/gs_dataserver_appendrequest_ob_write.pi
               
                s.connect((目标,端口))ConnectRefedError:[Errno111]Connect拒绝
               
              


由POC引起的堆化腐化

0:008> g Critical error detected c0000374 (27b0.8ec): Break instruction exception - code 80000003 (first chance) eax=00000000 ebx=054197d8 ecx=c0000374 edx=0092f541 esi=00000002 edi=00660000 eip=773c6ca2 esp=0092f6b0 ebp=0092f73c iopl=0         nv up ei pl zr na pe nc cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000246 ntdll!RtlReportCriticalFailure+0x4b: 773c6ca2 cc              int     3 0:008> kb  # ChildEBP RetAddr      Args to Child               00 0092f73c 773cfda4     00000001 77403990 773cdc99 ntdll!RtlReportCriticalFailure+0x4b 01 0092f748 773cdc99     ded7cede 00660000 0541a7e8 ntdll!RtlpReportHeapFailure+0x2f 02 0092f778 773d6110     00000003 00660000 0541a7e8 ntdll!RtlpHpHeapHandleError+0x89 03 0092f790 7732436f     0541a7e8 00000000 00000000 ntdll!RtlpLogHeapFailure+0x43 04 0092f8f8 773678fd     054197d8 054197e0 054197e0 ntdll!RtlpFreeHeap+0x70f 05 0092f954 77323c06     00000000 00000000 00000000 ntdll!RtlpFreeHeapInternal+0x783 06 0092f970 75373c9b     00660000 00000000 054197e0 ntdll!RtlFreeHeap+0x46 07 0092f984 75373c68     054197e0 00000000 0092f9b4 ucrtbase!_free_base+0x1b 08 0092f994 005cbf75     054197e0 90206481 04915f38 ucrtbase!free+0x18 WARNING: Stack unwind information not available.后台框架可能出错 。09099f90699909fffe092f9IGSDSSDServer+0x9f750a092f9c005697b092f6b09
              
               +0x3f 10 0092fad8 77347a7e 053cdb887c292000KERNEL32
              

2) Opcode2(BCL)附加

外写时用2代码附加请求时也发生 obcode2

IGSSDAServer.exev15.0.022082 <.snips.>.text.0049E132mvzxe攻击者控件->OB写.text.0049E136imuledxH'.text.0049E139leaeax0x48字节项目.text:0049E13D推送ax.text:0049E13E调用mcpy <.snip


3)Opcode5(ONL)附加请求出境写作

外写时用Opcode5附加请求时也会出现

IGSSDAServer.exe v15.0.022082 <.snips.>.text:004A7602 mvzxe攻击者控件->OB写.text:004A7606leaedx8字节项目.text:004A760A推送edx.text:004A760B调用mcpy <.snip


4) Opcode 6

外写时用Opcode 6附加请求时也会出现 obcode 6

IGSSDAServer.exev15.0.022082 <.snips.>.text:004A34B6 mvzxe攻击者控件->OB写.text:004A34BAimuledxh'.text:004A34BDleaeax0x48字节项目.text:004A34C1推送eax无效*.text:004A34C2调用mcpy <.snip


5)Opcode9

外写时用Occode9附加请求:

IGSSDAServer.exev15.0.022082 <.snips.>.text.0049C292mvzxe攻击者控件->OB写.text.0049C296leaedx8字节项目.text.0049C29A推送edx无效*.text.0049C29B调用mcpy <.snip


6)Opcode16/20

外写时用代码16或20附加请求

IGSSdataServer.exev15.0.022082 <.snips.>.text:004A83C2mvzxe攻击者控件->OB写.text:004A83C6imuledx,ecx14h.text:004A83C9leaeax0x14字节项目.text:004A83CD推送eax无效*.text:004A83CE调用mcpy <.snip


7)Opcode18

外写时用Opcode18附加请求

IGSSdataServer.exev15.0.022082 <.snips.>.text.0049CB26 mvzxe攻击者控件->OB写.text.0049CB2Aleaedx4字节项目.text.0049CB2E推送edx无效*.text.0049CB2F调用mcpy <.snip

求解

Schneider电气发布IGSS数据服务器V15.0.0.2217

披露时间线

2022年5月6日-报告Schneider电气
5月6日2022-Schneider电气确认
2022年5月17日-Schneider Electrication确认问题重复由另一位研究者报告的问题(但尚未固定/公开)
2022年6月14日-Schneider电气通知
2022年6月17日-可租电通知Schneider电厂原创补丁(15.0.0.22140)对occode20不完全
2022年6月17日-Schneider电气确认
2022年6月20日-Schneider电气确认补丁不完整
2022年6月22日-Schneider电通知
2022年6月23日-Schneider电机发布新补丁和新安全通知

TRA建议内所有信息均提供“原封不动”,不提供任何保理,包括隐含可交易性和适切性保证用于特定目的,不保证完整性、准确性或及时性个人和组织负责评估实际或潜在安全漏洞的影响

可租制非常严肃地对待产品安全if you believe你发现我们产品中的脆弱点, 我们请求你与我们合作 快速解决它以保护客户可点信快速响应报告,与研究人员保持通信并快速提供解决方案

关于提交脆弱资料的更多细节,请见我们漏洞报告指南页码

如有问题或更正,请发邮件[email protected]

风险信息

可租咨询ID
TRA-2022-22
sv3基础/时间评分
九点八
CVSSv3向量
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
受影响产品
Schneider电IS数据服务器 < 15.0.0.2217
风险因子
临界点

咨询时间线

2022年6月15日-咨询发布
2022年6月24日-咨询更新新固定版

可耐受脆弱性管理

前称Tenable.io


完全访问现代云型脆弱管理平台,使你能够以不匹配精度看到并跟踪所有资产

可租易容性管理实验中也包括可租可租Lumin、可租WebApp扫描和可租云安全

可耐受脆弱性管理

前称Tenable.io

完全访问现代云型脆弱管理平台,使你能够以不匹配精度看到并跟踪所有资产购买你年度订阅今天

65码资产类

选择订阅选项 :

立即购买

试可穿Nessus专业免费

免费7天

TenableNessus是当今市场最全面的脆弱感扫描器

New-Nessus专家
现可用

奈苏斯专家增加更多特征,包括外部攻击表面扫描能力以及添加域和扫描云基础设施能力点击这里尝试Nessus专家

填表后继续使用NessusPro测试

可买Nessus专业

TenableNessus是当今市场最全面的脆弱感扫描器可租Nessus专业程序帮助脆弱性扫描自动化,在守法周期中省时并允许你加入IT团队

购买多年度许可证并保存添加高级支持访问电话、社区聊天支持全天365天全天24小时

选择您的许可

购买多年度许可证并保存

添加支持培训

tenable.io

完全访问现代云型脆弱管理平台,使你能够以不匹配精度看到并跟踪所有资产

可租易容性管理实验中也包括可租可租Lumin、可租WebApp扫描和可租云安全

tenable.io 付费

完全访问现代云型脆弱管理平台,使你能够以不匹配精度看到并跟踪所有资产购买你年度订阅今天

65码资产类

选择订阅选项 :

立即购买

可租WebApp扫描试

前称Tenable.ioWeb应用扫描

完全存取最新网络应用扫描服务 设计现代应用安全扫描全在线组合漏洞高精度而不人工重创或干扰关键网络应用现在就签名

可租WebApp扫描实验中也包括可租易用性管理、可租可租鲁明和可租云安全

可租WebApp扫描

前称Tenable.ioWeb应用扫描

完全访问现代云型脆弱管理平台,使你能够以不匹配精度看到并跟踪所有资产购买你年度订阅今天

5 FQDNs

3 578美元

立即购买

试可腾鲁明

可视化并探索接触管理,跟踪随时间推移降低风险,并参照Tenablelumin对等基准

可点Lumin测试中也包括可点易点管理、可点WebApp扫描和可点云安全

可买路明

联系销售代表,看可租Lumin如何帮助你在整个组织中获取洞察力并管理网络风险

试可耐云安全

前称可租.cs

完全无障碍检测并修复云基础设施误配置并观察运行时漏洞注册免费测试了解更多试验过程点击这里

可租云安全测试中也包括可租易用性管理、可租可租鲁明和可租WebApp扫描

联系人a购买可租云安全

联系销售代表了解更多可耐云安全知识,并观察多易登录云账号并在分钟内为云误配置和漏洞获取可见度

试可耐奈苏斯专家免费

免费7天

内苏斯专家为现代攻击面搭建,使你能够看到更多并保护组织从IT到云的漏洞

已经有TenableNessus专业
升级Nessus专家免费7天

买可租Nessus专家

内苏斯专家为现代攻击面搭建,使你能够看到更多并保护组织从IT到云的漏洞

选择您的许可

购买多年度许可证并存更多

添加支持培训

试Nessus免费专家

免费7天

内苏斯专家为现代攻击面搭建,使你能够看到更多并保护组织从IT到云的漏洞

内索斯职业类
升级Nessus专家免费7天

买可租Nessus专家

内苏斯专家为现代攻击面搭建,使你能够看到更多并保护组织从IT到云的漏洞

选择您的许可

购买多年度许可证并存更多

添加支持培训

Baidu
map