"ReadyNAS是基于Linux和debian-sparc平台的直接挂网存储设备。 ReadyNAS设备的root用户口令生成实现上存在漏洞,远程攻击者可能轻易计算得到口令获取非授权访问。 ReadyNAS默认启用了两个用户,一个是admin(默认口令为infrant1),另一个为root,每次启动时都会使用硬编码的算法生成root口令,该算法会用到以太网MAC地址、软件版本号和共享密钥的哈希。无法永久性地更改root口令,因此每次启动时都会重置。 ReadyNAS设备从内置的闪存启动,Linux内核和initrd镜像都在这个闪存。启动时initrd镜像会寻找所安装的硬盘并初始化,如果找到了未初始化的硬盘就会将其添加到RAID阵列,硬盘的一部分会用作root文件系统,闪存中所存储的一个tarball将其初始化。 加载了rootfs后会执行一些一致性检查,并加密备份一些重要的配置文件,未经解密无法更改这些文件。 启动时首先执行initrd镜像中的/linuxrc文件如下: - ------------- SEED1=`/sysroot/sbin/ifconfig eth0|grep HWaddr|sed -e 's/.*HWaddr //' - -e 's/ //g'` SEED2=`cut -f2 -d= /sysroot/etc/raidiator_version |cut -f1 -d,` [*EDIT*: removed SEED3 as friendly requested by vendor] echo "root:`echo \"$SEED1 $SEED2 $SEED3\" | md5sum | cut -f1 -d' '`" | chpasswd # TAKE ME OUT!! [ -s /sysroot/.os_passwd ] && echo "root:`/sysroot/usr/bin/head -1 /sysroot/.os_passwd`" | chpasswd ############### /sysroot/bin/mv /etc/passwd /sysroot/etc/passwd 2>$ERR rm -rf /sysroot/etc/hosts_equiv /sysroot/root/.rhosts...
"ReadyNAS是基于Linux和debian-sparc平台的直接挂网存储设备。 ReadyNAS设备的root用户口令生成实现上存在漏洞,远程攻击者可能轻易计算得到口令获取非授权访问。 ReadyNAS默认启用了两个用户,一个是admin(默认口令为infrant1),另一个为root,每次启动时都会使用硬编码的算法生成root口令,该算法会用到以太网MAC地址、软件版本号和共享密钥的哈希。无法永久性地更改root口令,因此每次启动时都会重置。 ReadyNAS设备从内置的闪存启动,Linux内核和initrd镜像都在这个闪存。启动时initrd镜像会寻找所安装的硬盘并初始化,如果找到了未初始化的硬盘就会将其添加到RAID阵列,硬盘的一部分会用作root文件系统,闪存中所存储的一个tarball将其初始化。 加载了rootfs后会执行一些一致性检查,并加密备份一些重要的配置文件,未经解密无法更改这些文件。 启动时首先执行initrd镜像中的/linuxrc文件如下: - ------------- SEED1=`/sysroot/sbin/ifconfig eth0|grep HWaddr|sed -e 's/.*HWaddr //' - -e 's/ //g'` SEED2=`cut -f2 -d= /sysroot/etc/raidiator_version |cut -f1 -d,` [*EDIT*: removed SEED3 as friendly requested by vendor] echo "root:`echo \"$SEED1 $SEED2 $SEED3\" | md5sum | cut -f1 -d' '`" | chpasswd # TAKE ME OUT!! [ -s /sysroot/.os_passwd ] && echo "root:`/sysroot/usr/bin/head -1 /sysroot/.os_passwd`" | chpasswd ############### /sysroot/bin/mv /etc/passwd /sysroot/etc/passwd 2>$ERR rm -rf /sysroot/etc/hosts_equiv /sysroot/root/.rhosts /sysroot/root/.ssh/* 2>$ERR - ------------- 口令是通过以下组件的md5和初始化的: a.) 从ifconfig获得的MAC地址 b.) 从/etc/raidiator_version读取的软件版本号 c.) SEED3中的共享密钥串 即使root口令因设备而异(MAC地址也是哈希的一部分),但仍不是保密的。首先,如果NAS设备位于本地LAN中的话,就可以通过ARP请求查询MAC地址;其次,默认的主机名为nas-xx-yy-zz(可在基于https的接口显示),而xx、yy、zz是MAC地址的最后3个八进制数字;最后,可以通过暴力猜测判断软件的版本。 因此,攻击者可以猜测到设备的root口令,登录到远程ReadyNAS设备并访问系统上所有的数据。