美文网首页linux运维Web攻防
浅谈未授权访问及批量检测

浅谈未授权访问及批量检测

作者: book4yi | 来源:发表于2021-01-24 22:01 被阅读0次

    前言:


    有一次工作中客户通过扫描器发现存在nfs未授权,让我给进行验证,我当时第一次遇到,结果半小时过去了,我还是没有给验证出来,留下了不学无术的泪水。我打算整理一篇文章记录我之前没遇到过的未授权访问。

    nfs 共享目录未授权访问:

    Network File System(NFS),是由SUN公司研制的UNIX表示层协议(pressentation layer protocol),默认端口2049,能使使用者访问网络上别处的文件就像在使用自己的计算机一样。nfs最初只支持UDP协议,在新版本中支持TCP和UDP协议。服务器在启用nfs服务以后,由于nfs服务未限制对外访问,导致共享目录泄漏。若运维人员未对文件访问进行控制,将导致本地文件可被任意读取。

    验证过程:

    # 安装nfs客户端
    apt install nfs-common 
    
    # 查看nfs服务器上的共享目录
    showmount -e x.x.x.x 
    # 挂载到本地
    mount -t nfs x.x.x.x:/grdata /mnt 
    # 卸载共享目录
    umount /mnt/
    

    msf具有一个可用于列出导出文件夹的模块:

    use auxiliary/scanner/nfs/nfsmount
    set rhosts x.x.x.x
    run
    

    通过fofa爬虫脚本进行批量收集,找到一个ip存在此漏洞:

    补充:*为所有人都可以访问,*显示就说明存在未授权漏洞
    挂载成功以后可以利用WinSCP或者Xftp进行查看

    修复方案:

    1、利用iptables限制端口2049和20048端口的访问,禁止外部访问。
    2、在/etc/exports下对所需要共享的文件进行访问控制,如: /home export 10.x.x.x(rw,async,no_root_squash) 仅运行10.x.x.x访问该目录。

    ldap未授权访问:


    LDAP中文全称为:轻型目录访问协议(Lightweight Directory Access Protocol),默认使用389端口, LDAP 底层一般使用 TCP 或 UDP 作为传输协议。目录服务是一个特殊的数据库,是一种以树状结构的目录数据库为基础。未对LDAP的访问进行密码验证,导致未授权访问。

    漏洞利用:

    利用ldapbrowser直接连接,获取目录内容

    fofa上根据关键词进行搜索随意找了一处ldap未授权:

    修复方案:

    1、修改ldap的acl,不允许匿名访问。
    2、根据业务设置ldap访问白名单或黑名单。
    3、增加强密码验证

    rsync 未授权访问:

    rsync是Linux下一款数据备份工具,可通过 LAN/WAN 快速同步多台主机间的文件,也可以同步本地硬盘中的不同目录,支持通过rsync协议、ssh协议进行远程文件传输。其中rsync且默认允许匿名访问,如果目标开启了rsync服务,并且没有配置ACL或访问密码,我们将可以读写目标服务器文件。
    rsync协议默认监听873端口。

    这里我搭建好vulhub中的docker环境进行漏洞检测:

    nmap -Pn -p 873 --script=rsync-list-modules 192.168.107.129
    

    发现有一个src模块,我们尝试是否能未授权列出这个模块下的文件:

    rsync rsync://192.168.107.129:873/src/
    

    任意文件下载:

    rsync -av rsync://192.168.107.129:873/src/etc/passwd ./
    

    写入任意文件:

    rsync -av book4yi rsync://192.168.107.129:873/src/book4yi
    

    在fofa上进行随机目标测试:

    修复方案:

    增加用户密码认证,设置访问ip限制。
    方式一:修改rsync的配置
    更改rysnc默认配置文件/etc/rsyncd.conf,添加或修改参数:
    访问控制;设置host allow,限制允许访问主机的IP;:hosts allow = 123.123.123.123。
    权限控制;设置read only,将模块设置成只读;Read only = true
    访问认证;设置auth、secrets,认证成功才能调用服务。
    模块隐藏;设置list,将模块隐藏;list =false
    数据加密传输:Rsync 默认没有直接支持加密传输,如果需要 Rsync 同步重要性很高的数据,可以使用 ssh。
    详情可参考官方doc:https://rsync.samba.org/ftp/rsync/rsyncd.conf.html

    VNC未授权访问:


    使用msf进行批量检测:

    auxiliary/scanner/vnc/vnx_none_auth
    

    修复建议:

    配置 VNC 客户端登录口令认证并配置符合密码强度要求的密码;
    以最小权限的普通用户身份运行操作系统;

    未授权访问批量化检测:


    针对常见的未授权访问漏洞,通过编写python脚本进行批量检测,之前我有发过一个检测脚本,但是还不够完善,可以自行补充:浅谈端口渗透那些事

    另外想补充一点就是对nmap的利用,nmap不仅仅只是作为端口扫描,它本身有丰富的script可以进行利用,也能简单地充当漏扫的角色,比如ms17-010、ms12-020、ms15-034等等,namp至少能够扫描5种常见的未授权漏洞,小伙伴们可以自行去研究:

    参考如下:

    26种未授权访问漏洞总结
    常见未授权访问漏洞总结
    NFS未授权访问 - 灰信网(软件开发博客聚合)
    NFS 未授权访的原理与检测方式 – Neurohazard

    相关文章

      网友评论

        本文标题:浅谈未授权访问及批量检测

        本文链接:https://www.haomeiwen.com/subject/qsazoktx.html