专栏首页BinarySec一种绕过TACACS+的思路

一种绕过TACACS+的思路

最近对一些交换机做口令猜测检查的时候遇到一个奇怪的现象:配置AAA认证的交换机总能扫出一些弱口令,而且每次都不一样还都不能登录,更神奇的是返回的session确实能执行命令。

0x00 什么是AAA认证

AAA是指用使用AuthenticationAuthorizationAccounting三种功能对要管理交换机的用户做控制。 Authentication(认证):对用户的身份进行认证,决定是否允许此用户访问网络设备。Authorization(授权):针对用户的不同身份,分配不同的权限,限制每个用户的操作Accounting(计费):对每个用户的操作进行审计和计费

0x01 什么是TACACS+

TACACS+(Terminal Access Controller Access Control System,终端访问控制器控制系统协议)是在TACACS协议的基础上进行了功能增强的安全协议。该协议与RADIUS协议的功能类似,采用客户端/服务器模式实现NAS与TACACS+服务器之间的通信。

0x02 TACACS+的用途

TACACS+协议主要用于PPP和VPDN(Virtual Private Dial-up Network,虚拟私有拨号网络)接入用户及终端用户的AAA。

0x03 排查过程

说白了,AAA认证是一种集中认证的模式。所有的认证都是在AAA服务器上完成的,交换机只能得到认证结果。猜测可能是AAA认证服务器出问题了,不过不太了解AAA认证服务器。看了同事发的一篇文章(http://www.vuln.cn/7043)。

然后看了下交换机的配置文件,找AAA认证相关的配置。发现了以下配置。

aaa authentication login default group tacacs+ local line none

网上搜了一下,这个配置的意思就是AAA认证使用TACACS+完成。当AAA认证无法认证时使用local认证,当前面都无法认证则不需要认证(注意,不是认证失败,是无法认证。因为认证失败的话会直接返回)即可登录。

现在原因已经比较清晰了,多线程口令猜测导致AAA认证服务器压力过大拒绝服务,然而本机交换机也因处理认证线程过多拒绝服务。导致最终无需认证登录交换机。

0x04 攻击方式

这种攻击方式也很简单,只需要向服务器发起大量请求认证的线程即可使AAA服务器拒绝服务,导致无需认证登录交换机。

0x05 缓解方法

要防止这种情况发生只需要改成如下语句即可。

aaa authentication login default group tacacs+ local

意思就是,在AAA认证无法完成的情况下,使用交换机本地认证,而不是不认证直接返回命令行。

0x06 题外话

在搜索这个问题的时候在一个cisco工程实施人员的论坛中看到这样一段话,“老司机”在给新手传授“经验”

aaa authentication login default group tacacs+ line none 这句话的意思是先使用 tacacs+认证;如果失败,则使用line认证,如果还失败,就不需要认证,这就相当于是AAA的一个后门,怕在AAA配置中把自己锁在里面出不来了,一般配AAA前先做后门,然后在配AAA。这个是实际工程中常见的一个后门,记住,做AAA一定要有后门,不然把自己锁里面就麻烦了!

0x07 Refer

http://www.vuln.cn/7043 http://edwinzw.blog.sohu.com/67531824.html http://www.h3c.com.cn/MiniSite/Technology_Circle/Net_Reptile/The_Seven/Home/Catalog/201309/797633_97665_0.htm

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • CVE-2010-3333分析[漏洞战争]

    CVE-2010-3333漏洞是一个栈溢出漏洞,该漏洞是由于Microsoft word在处理RTF数据的对数据解析处理错误,可被利用破坏内存,导致任意代码执行...

    WeaponX
  • 如何在python中定义有序字典

    WeaponX
  • unexploitable Writeup[pwnable.tw]

    最近在刷pwnable.tw(类似pwnable.kr,不过是台湾的)的题,看到了一个unexploitable的题目。根据题目描述:

    WeaponX
  • 给开源库提交 pr,让更多人知道你

    我们经常看到一个开源库会有很多人一起去维护,像 vue,webpack 就会有很多大牛去维护。

    石燕平
  • 企业的云迁移指南

    如今的企业比以往任何时候都能访问更多的数据。这些数据正在以惊人的速度增长,无论是数量还是变化量。无论是传统的分析还是机器学习和人工智能等前沿技术,将这些信息从所...

    静一
  • 企业如何无缝迁移到云端

    人才管理解决方案提供商Cornerstone OnDemand公司首席顾问Arnab Banerjee解释了企业的业务在迁移到云端时需要考虑的多个流程,其中包括...

    静一
  • 30个最优CSS动画案例分享,轻松让网页用户随心而“动”

    CSS或CSS3动画,包括常见的鼠标悬停动画,网页加载动画,页面切换动画,文本动画以及背景动画等等,能够有效地提升网页趣味性和视觉吸引力。这也是为什么CSS/C...

    奔跑的小鹿
  • 一则小故事看产品数据分析

    网上有个故事很有趣,说3个人去投宿,一晚30元.三个人每人掏了10元凑够30元交给了老板. 後来老板说今天优惠只要25元就够了,拿出5元命令服务生退还给他们, ...

    机器学习AI算法工程
  • 采用开源OP-TEE 的芯片厂商

    OP-TEE (Open Portable Trusted Execution Environment)。 OP-TEE 是一个开源工程,完整的实现了一...

    安智客
  • 【程序源代码】Ssm 好用快速框架

    jeexjj基于springboot和ssm的极速轻量快速开发框架,能够根据数据库生成单表和一对多表的增删改查代码,使开发节省50%的开发工作量。使用XJJ可以...

    程序源代码

扫码关注云+社区

领取腾讯云代金券