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
两个字段随意修改一下,就可以用在不同的机器。