0x01 概述
近期给客户做巡检时,使用Nessus扫描分析报告时发现了一个ISCSI Unauthenticated Target Detection的漏洞,随即进行验证漏洞是否存在;
iSCSI(Internet Small Computer System Interface)Internet小型计算机系统接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准。
iSCSI利用了TCP/IP的port 860 和 3260 作为沟通的渠道,透过两部计算机之间利用iSCSI的协议来交换SCSI命令,让计算机可以透过高速的局域网集线来把SAN模拟成为本地的储存装置。该漏洞主要由配置不当导致的未授权访问漏洞。任意的攻击者都可以使用linux系统或windows系统的软件进行连接,连接成功后,即可管理远程的磁盘,查看、删除、修改文件等操作。
0x02 验证过程
这里我使用的是kali,首先安装iscsiadm,直接输入命令后根据提示进行安装或者使用apt进行安装即可;
获取iqn,Nessus已经获取到了,这里也可以使用命令
iscsiadm --mode discovery --type sendtargets --portal 10.10.6.66进行获取
获得iqn后就可以尝试挂载,这里可以先用fdisk -l查询一下当前分区情况;
尝试挂载磁盘使用iscsiadm -m node -T iqn...... -p 10.10.6.66 -l
使用fdisk -l查看发现已经挂载上了
此时在tmp下创建一个文件,使用mount命令将/dev/sdb2挂载上去就可以访问挂载目录中的文件了,不过我这里遇到了Bitlocker 加密的 Windows 分区挂载不上去;
查询了一下报错需要密码才能挂载访问,在kali的桌面上可以看到磁盘图标,点击后需要输入密码才能访问,因此也不存在未授权一说;
验证完成后使用iscsiadm -m node -u取消挂载磁盘;
0x03 漏洞修复
增加认证,配置iscsi-target服务器:
[root@Target iet]# vi ietd.conf
IncomingUser disuser dispass123456
#这里的这个IncomingUser用于对discovery的认证,是一个全局的对所有的客户端都有效。
Target iqn......Target:sdc
IncomingUser windows windows123456
#由于该IncomingUser配置在Target和Lun之间,所以只对该共享的磁盘、分区有效。
Lun 0 Path=/dev/sdc,Type=fileio,ScsiId=xyz,ScsiSN=xyz
参考链接:
https://cloud.tencent.com/developer/article/2121309
https://blog.51cto.com/tenderrain/1906888