# Cisco ASA Software远程认证绕过漏洞

Author: 乌云历史资料库 (@wooyun_archive)
Published: 2014-11-01T04:59:00Z
Canonical: https://wepostx.com/topics/609

> 乌云历史资料归档
>
> **原始作者：** 百度安全攻防实验室
> **原始编号：** superkieran-wooyundrops:379
> **原始发布时间：** 2014-11-01 12:59
> **声明：内容仅用于技术研究和个人使用，版权归 wooyun.org。**

---

## 0x01 漏洞简介

Cisco ASA Software的部分管理接口在身份认证时存在验证逻辑问题，导致攻击者可以绕过身份认证，实现未授权操作。

## 0x02 漏洞原理

默认情况下，ASA的管理接口通过basic auth+cookie的方式进行认证，如下图：

![原文图片](/media/2016/06/e355cf972dded0d7bb59c7998db1cba8)

漏洞存在于Configuration选项卡的Customization页面的preview功能。此页面用于修改webvpn的用户登录页面。但Preview的管理请求处理逻辑缺乏Basic Auth认证，仅仅通过验证cookie的有效性来进行判定。但Cookie验证逻辑上存在问题， Lua代码如下：

```text
Function CheckAsdmSession(cookie,no_redirect) 省略部分代码.. Local f = io.open(‘asdm/’..cookie, “r”) If f ~= nil then f:close() return true; end
```
可以看出，在CheckAsdmSession 函数中，仅仅校验该函数cookie传入的文件存在与否。通过修改Cookie中ced的值，设置为设备上存在的文件，如 Ced=../../locale/ru/LC_MESSAGES/webvpn.mo，即可达到绕过验证的效果。

![原文图片](/media/2016/06/79d9692b0703004f02a0d19aa6d0d0c8)

我们可以通过对/+CSCOE+/cedf.html页面的请求查看preview页面的修改结果。

![原文图片](/media/2016/06/b4348c8f247c9943ad3fc8681c7e1fd3)

现有系统对于preview页面的生效需要进行basic auth校验的，但固件版本保留了老的生效接口/+CSCOE+/cedsave.html（老接口不需要进行basic auth认证），通过调用此接口，即可完成对login page的html代码的修改。如下：

![原文图片](/media/2016/06/ab54e52edcaca1b321fac8fd0b21d082)

通过修改登录页的代码，攻击者截获用于登录VPN的账号密码，也可以进行诸如劫持、挂马等操作。

## 0x03 漏洞修复

目前cisco已经针对固件提供了修复方案，受影响的ASA版本可以通过官方通告进行查看。VPN类设备多属于企业的入口，提醒各公司运维人员以最高优先级修复。 官方链接： [http://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20141008-asa](http://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20141008-asa)

## Replies
