当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0106761

漏洞标题:瑞星杀毒网络版存在通信漏洞,可导致远程停止监控、卸载、上传下载文件、远程shell权限执行

相关厂商:RiSing

漏洞作者: 路人甲

提交时间:2015-04-09 10:28

修复时间:2015-07-08 13:10

公开时间:2015-07-08 13:10

漏洞类型:远程代码执行

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-04-09: 细节已通知厂商并且等待厂商处理中
2015-04-09: 厂商已经确认,细节仅向厂商公开
2015-04-12: 细节向第三方安全合作伙伴开放
2015-06-03: 细节向核心白帽子及相关领域专家公开
2015-06-13: 细节向普通白帽子公开
2015-06-23: 细节向实习白帽子公开
2015-07-08: 细节向公众公开

简要描述:

企业内部安装的“瑞星杀毒软件网络版”(RavSetup22.01.70.60)通信存在漏洞,可导致局域网内其他计算机可以远程攻击安装有“瑞星杀毒软件网络版”的计算机。
可导致的后果:远程调整瑞星设置、远程启动停止瑞星监控、远程上传文件到目标计算机、远程以SHELL身份执行任意程序。

详细说明:

“瑞星杀毒软件网络版”与服务器通信方式部分在ravsevproxy.dll中,通信方式采用了CORBA作为通信协议来进行网络版客户端和服务器直接通信使用,同时并没有使用SSLIOP进行通信加密导致可通过监听来分析通信数据与命名格式。
在分析出通信协议的具体格式后发现瑞星网络版通信协议并未对发送命令的来源方进行检测导致存在认证漏洞。任意计算机可模仿瑞星网络版服务器对任意客户端发送假冒命令。

下载文件通信包.png

漏洞证明:

该问题是几年前发现,向瑞星反馈无果,考虑到安全性风险,所以一直未公布。现在考虑请求邀请码才将其发布出来。目前所在环境无法运行对应的瑞星程序,所以只能提供代码或截图片段证明。

IDA反汇编.png


通信接口代码(片段)

interface Service
{
long RunRavProgram(in string filePath);
long QuitRavProgram(in string filePath);
long InstallSoftware(in long agr1, in string agr2, in string agr3, in string agr4, in long agr5);
char InstallControl(in string arg1, in short arg2);
char UninstallControl();
DiskInfo GetAllDisk();
DiskInfo GetAllHardDisk();
DiskInfo GetAllHardNetDisk();
char GetFileStatus(in string filePath, out FileState state);
long GetFile(in string filePath, in long nPos, out List buffer);
long GetFileEx(in string filePath, in long nPos, out List buffer);
long ReadFile(in string filePath, in long nPos, out List buffer);
long AddTask(in string taskInfo, in long replayCount, in string remoteIP, in long nPort, in string objectName, in string macAddress, in string arg3, in string arg4);
long DeleteTask(in long taskId);
long QueryTask(in long fastId, in long count, out TaskInfoList askList);
long OnFinishTask(in string taskInfo, in string arg1, in long arg2, in string agr3);
DiagnoseInfo GetDiagnose(in long type);
//List GetRegInfoList(in List info);
// SysDef、AppCtrl、ActVirus、RemovMon、WebMon、RsSelf、FileMon、MailMon
long CtrlMonitorEx(in InfoValueList arg0);
long ReadConfig(in string name, in string arg2, out string retValue);
long WriteConfig(in string name, in string arg2, in string value);
long GetRsConfig(in long arg0, out List arg1, out long arg2);
long SetRsConfig(in long arg0, in List arg1, in long arg2);
long GetClientStatus(out ClientInfo info);
};


IDA反汇编代码:

case 42:
result = remote_Uninstall(v7, (int)readPos, (DWORD)readSize, (char *)readBuffer, (int)writeBuffer);
break;
case 43:
result = remote_UninstallControl(v7, (int)readPos, (int)readSize, (int)readBuffer, (int)writeBuffer);
break;
case 44:
result = remote_UninstallReceiver(v7, (int)readPos, (int)readSize, (int)readBuffer, writeBuffer);
break;
case 45:
result = remote_UninstallSender(v7, (int)readPos, (int)readSize, (int)readBuffer, writeBuffer);
break;
case 46:
result = remote_UpdateClient(v7, (int)readPos, (int)readSize, (int)readBuffer, (int)writeBuffer);
break;
case 47:
result = remote_UpdateStrategy(v7, (int)readPos, (DWORD)readSize, (char *)readBuffer, (int)writeBuffer);
break;
case 48:
result = remote_WriteConfig(v7, (int)readPos, (int)readSize, (char *)readBuffer, writeBuffer);
break;
default:
goto LABEL_52;
}
}
return result;
}
int __cdecl ServiceCreateProcess(LPCSTR lpString2)
{
int v1; // eax@1
int result; // eax@4
char ArgList[4]; // [sp+0h] [bp-4h]@1
*(_DWORD *)ArgList = 0;
CheckSystemVersion_sub_10001380(ArgList);
v1 = (int)GetNCRsLogUtility();
OutputLogToFile_0(v1, "ServiceCreateProcess():%d-%s");
if ( ArgList[0] == 0x93 || ArgList[0] == 0x91 || ArgList[0] == 0x92 )
result = (int)ExecuteProcessAsUser((int)lpString2);
else
result = ExecuteProcess(lpString2);
return result;
}


修复方案:

需瑞星公司更新版本增加通信认证机制,同时建议增加通信加密处理。

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:1

确认时间:2015-04-09 13:09

厂商回复:

3Q!

最新状态:

暂无


漏洞评价:

评论

  1. 2015-04-09 10:30 | Mr.leo ( 普通白帽子 | Rank:1314 漏洞数:176 | 说点神马呢!!)

    你赢了,主页变形了。

  2. 2015-04-09 10:31 | 火焰真菌 ( 实习白帽子 | Rank:37 漏洞数:11 | 火焰真菌)

    duang diao

  3. 2015-04-09 10:31 | H4ck1y ( 路人 | Rank:18 漏洞数:5 | 不拿Shell的帽子不是好的白帽子!!)

    同楼上。。。

  4. 2015-04-09 10:33 | 疯狗 认证白帽子 ( 实习白帽子 | Rank:44 漏洞数:2 | 阅尽天下漏洞,心中自然无码。)

    好长的标题,乌云主页都变形了 --

  5. 2015-04-09 10:33 | px1624 ( 普通白帽子 | Rank:1036 漏洞数:175 | px1624)

    标题要不要这么长

  6. 2015-04-09 10:34 | bitcoin ( 普通白帽子 | Rank:715 漏洞数:218 | 学习是最好的投资!)

    好长

  7. 2015-04-09 10:35 | Mosuan ( 普通白帽子 | Rank:449 漏洞数:175 | 尘封此号,不装逼了,再见孩子们。by Mosua...)

    @疯狗 没看到变形啊

  8. 2015-04-09 10:36 | HackPanda ( 普通白帽子 | Rank:113 漏洞数:15 | Talk is cheap,show me the shell.)

    MITM吧

  9. 2015-04-09 10:38 | 小威 ( 普通白帽子 | Rank:492 漏洞数:76 | 活到老,学到老!)

    看着标题好难受

  10. 2015-04-09 10:39 | bitcoin ( 普通白帽子 | Rank:715 漏洞数:218 | 学习是最好的投资!)

    @疯狗 这样好多了!

  11. 2015-04-09 10:39 | he1renyagao ( 普通白帽子 | Rank:225 漏洞数:29 | 是金子总会发光,在还未发光之前,先打磨打...)

    so diao

  12. 2015-04-09 13:01 | 小马宝利 ( 路人 | Rank:17 漏洞数:3 | 特么的ID打错了。是小马宝莉。)

    碉堡了啊。。

  13. 2015-04-09 13:17 | along ( 实习白帽子 | Rank:45 漏洞数:7 | 关注信息安全,阿龙)

    貌似挺严重,rank才1呢?坐等公开。

  14. 2015-04-09 13:43 | bey0nd ( 普通白帽子 | Rank:895 漏洞数:142 | 相忘于江湖,不如相濡以沫)

    1?

  15. 2015-04-09 14:01 | MITM ( 普通白帽子 | Rank:167 漏洞数:25 | 先空着)

    貌似瑞星大部分都是1 rank。

  16. 2015-04-15 08:41 | Fire ant ( 实习白帽子 | Rank:73 漏洞数:26 | 他们回来了................)

    回复楼上=。= 瑞星穷你不知道么

  17. 2015-06-23 19:08 | 内谁 ( 实习白帽子 | Rank:81 漏洞数:5 | 我是内谁)

    1rank,醉了……

  18. 2015-07-12 09:47 | 落叶_test ( 路人 | Rank:15 漏洞数:1 | 爱渗透 爱搞基)

    该问题是几年前发现,向瑞星反馈无果,考虑到安全性风险,所以一直未公布。现在考虑请求邀请码才将其发布出来----------------洞主好厉害