利用赛门铁克漏洞渗透整个企业网络

本文介绍了赛门铁克端点保护(SEP)12.1存在的高危漏洞,包括绕过登陆认证、任意文件写入和主机提权等问题。攻击者可以通过这些漏洞获取管理员权限,利用管理端部署恶意升级包,从而控制整个企业网络。重点讲述了攻击过程和漏洞利用方法。
摘要由CSDN通过智能技术生成


1.引言
赛门铁克端点保护Symantec Endpoint Protection (SEP) 12.1的存在数个高危漏洞!一旦攻击者拿下了管理端,得到了管理员的权限,那么他就可以重新部署安装升级包,把木马藏进安装包,推送至客户端执行,从而拿下整个企业网络。目前只有升级到12.1 RU6 MP1的版本不被影响。

简单介绍一下,SEP 是一个企业版的杀毒产品,分为管理端和客户端。管理端是提供web UI,允许管理员管理和察看客户端的状态和客户端的病毒感染事件等等。而客户端基本上就是一个普通的赛门铁克杀毒软件,但是接受管理端的管理并且定时上报 自己的状态。值得一提的是,管理员还可以在管理端部署安装升级包,以便客户端通过管理端来进行升级。

本文重点介绍这几个漏洞和利用方法:攻击者最终可以在管理端和所有客户端得到 ‘NT Authority\SYSTEM’ 的权限。

2.攻击SEP管理端
攻击以SEP管理端的登陆页面为突破口,因为登陆页面是暴露在最外层的接口。
在这里插入图片描述
2.1 CVE-2015-1486: 绕过SEP管理端登陆认证

当用户认证以后,setAdminCredential()把用户信息存在与当前session相关的AdminCredential对象中。而阅 读源代码后发现,setAdminCredential()在两个地方被调用,一个在LoginHandler类里面,一个在 ResetPasswordHandler类里面。奇怪的是,setAdminCredential()为什么会在 ResetPasswordHandler类里面被调用呢?看起来很可疑,这个值得我们研究一下。从名称上看,ResetPasswordHandler 类用来处理口令重置,其中handleRequest()方法的代码如下

/*     */   public void handleRequest(RequestData requestData, ConsoleSession session, Document doc)
/*     */   {
/*  72 */     this.requestData = requestData;
/*  73 */     String userName = (String)requestData.get("UserID");
/*  74 */     String domainName = (String)requestData.get("Domain");
/*     */
/*  76 */     NodeList list = doc.getElementsByTagName("Response");
/*  77 */     Element root = (Element)list.item(0);
/*     */     try
/*     */     {
/*  80 */       if (!isValidRequestWithinGivenInterval(requestData.getRemoteIP())) {
/*  81 */         throw new ServerException(-2130182144, 186);
/*     */       }
/*     */
/*  84 */       checkIfSiteCanRecoverPasswords();
/*  85 */       init();
/*     */
/*  87 */       if ((this.sRecipient == null) || (this.sRecipient.length() == 0) || (" ".equals(this.sRecipient))) {
/*  88 */         ServerLogger.log(Level.INFO, "Problem with Mail server Configuration");
/*  89 */         throw new ServerException(-2130182144, 179);
/*     */       }
/*     */
/*  92 */       AdminCredential credential = getCredential(requestData, session);
/*     */
/*  94 */       if ((credential != null) && (credential.getAdminID() !&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值