Cisco ACS是用作身份识别、授权的好工具。ACS5.4基于Redhat 5.1定制,命令行默认用户admin登录后无法执行完整的Linux命令。但生产系统中我们经常有自己的Linux系统规范,比如各种配置、日志、登录等方面的规范。为此需要破解ACS的root shell。 ACS5.4和ACS5.2的区别在于,ACS5.2中用户的密码类型无法选择为外部用户,比如外部的Radius服务器,因此还是ACS5.4比较好用。网上有很多ACS5.0和ACS5.2的破解,但由于ACS5.4锁了grub,因此不适用。这里一并介绍破解方法。 安装前准备:ACS_v5.4.0.46.iso;任一5.x版本64位CentOS或Redhat镜像,如CentOS-5.1-x86_64-bin-DVD.torrent;以及破解文件flexlm-10.9.jar和license,这个在网上很容易搜到,例如acs5.2-license.rar。
安装ACS5.4。将CentOS-5.1-x86_64-bin.DVD.iso插入光驱,在BIOS中把CD-ROM设为第一启动项,重启ACS。进入安装界面后,按F5进入恢复模式,在boot提示符下输入输入linux rescue,进入维护模式。按需要进行网络等设置,最后选Continue,进入命令行,可看到提示符:sh-3.2#。执行以下命令,进入完整命令行,并修改root密码: chroot /mnt/sysimage/ su passwd 注意,此时修改的root密码在重启后会丢失,因为ACS会载入存盘配置,覆盖现有的密码。find / -name shadow,发现存在3个相关文件:[root@localhost /]# find / -name shadow /etc/shadow /storedconfig/startup-config-1489076485/etc/shadow /opt/system/etc/config/shadow …
恢复模式下修改的只是/etc/shadow,要将其覆盖/storedconfig下的相应文件:
cp /etc/shadow /storedconfig/startup-config-1489076485/etc/shadow 为了破解,还需要解锁grub。vi /etc/grub.conf,删除password一行。由于是完整的命令行,可以使用ftp等命令下载flexlm-10.9.jar,并覆盖原文件: cp flexlm-10.9.jar /opt/CSCOacs/mgmt/apache-tomcat-6.0.18/lib/flexlm-10.9.jar 连续exit,重启之后,用admin登录命令行,执行show application status acs查看ACS模块的运行情况,全部显示为running即为正常运行。此时从远程机器ssh到ACS,使用root登录,即可获得完整的linux shell;也可以用admin登录执行以下命令:ssh localhost root。可从web页面导入acs50base.lic和acs50feat.lic两个license,如果有多台ACS要做HA,将acs50base.lic和acs50feat.lic中的LicFileID和CompanyName两个字段随意修改一下,就可以用在不同的机器。