浅谈企业内部IT系统漏洞的挖掘

isnull   ·   发表于 2019-08-25 11:24:06   ·   漏洞文章

介绍

接上篇文章,这篇文章介绍一下如何挖掘企业内部系统的漏洞,如何在互联网中找到企业隐藏在内部的业务域名,从而找到薄弱的方向进行渗透

寻找企业的Intranet域名

一般来说,企业一般会单独开一个域名,或者开一个二级域名来放置自己的各个内部业务系统以方便管理和维护,一般来说可以从企业邮箱、VPN、OA等关键部分入手,比如我们要渗透A公司,这家公司对外提供服务的域名是 abc.com,但是我们暂时不知道他们的内网域名的时候,可以先尝试对下面的域名进行子域名扫描和信息收集:

  • abc-inc.com
  • *.corp.abc.com
  • *.intra.abc.com
  • abc-corp.com
  • abc-ltd.com
    这些都是我日常在渗透测试中总结出来的一些经验


  • 假设我们成功的找到了 abc 公司的内网域名是 *.corp.abc.com,接下来我们就可以去先使用subDomainBrute等工具先爆破这个域名下面的多级域名,然后进行进一步的扫描渗透

    寻找业务系统

    企业中一般都会建立一些为内部员工服务的业务系统,有IT类、行政类、人事类等等,我们以 abc.com 为例子,介绍一下企业会怎么放这些业务系统:

    SSO/CAS



    由于企业内的业务系统繁多,如果每个应用都有自己的独立的用户名密码,这不仅对于用户来说难以记忆,而且还无法控制权限,带来安全隐患。所以CAS(中央认证服务)应运而生,CAS的优势就是只需要登录一次,就可以使用就可以获取所有系统的访问权限,不用对每个单一系统都逐一登录。

    目前SSO做的比较好用,IT使用比较广泛的是Apereo CAS,Apereo CAS 是由耶鲁大学实验室2002年出的一个开源的统一认证服务,现在归Apereo基金会管理。
    一般企业会使用 sso.corp.abc.comssosv.corp.abc.comcas.corp.abc.comlogin.corp.abc.com或者bsso.corp.abc.com作为统一身份认证的域名;判断是不是Apereo CAS最简单的一个办法就是在跳转的redirect_uri下面输入一些特殊字符,导致Apereo CAS报错提示

    以及退出时候的文字提示,看到这个


    就可以100%确定是Apereo CAS了,对于CAS可以尝试以下漏洞:

  • 撞库爆破
  • 任意URL跳转
    第一个漏洞我们就不说了,第二个漏洞产生的原因是企业在部署的时候没有配置好,CAS有一个单点退出的功能,logout后面会跟着要跳转的地址,例如logout?redirect_uri=xxxxx,CAS会直接跳转到这个地址,利用这个特性我们可以构造一个任意URL跳转漏洞
    我们可以尝试fuzz如下参数进行测试:
    redirect_uri
    redirect
    service
    url
    redirect_to
    jumpto
    linkto
    next
    oauth_callback
    callback
    如果遇到企业对URL做了限制,推荐大家看一下小猪佩奇师傅的这篇来绕过URL跳转的限制:https://xz.aliyun.com/t/5189
  • 邮箱

    我们可以先找到邮件系统的域名,一般来说企业会使用的域名是:webmail.(corp).abc.comemail.(corp).abc.commail.(corp).abc.com识别一下企业所使用的邮件系统,可以先根据URL打开之后展示的网页样式进行判断,但是如果会跳转到SSO、OAuth等域名的时候,可以观察一下callbackserviceredirect_uri等参数,如果URL中包含了下面的内容,就可以判断企业使用的是何种邮件系统:

    /owa:Microsoft Exchange
    /zimbra:Zimbra
    /coremail:Coremail

    说明如果打开之后跳转到了网易或者腾讯企业邮箱,说明这个企业使用的邮箱是用了腾讯或者网易、阿里云的服务,将自己的域名解析到了他们的服务器上面

    VPN



    SSL VPN因为方便使用,成本低易部署等优势,成为员工在外部网络访问企业资源的一种主流方式。很多企业都会把一些比较敏感的业务系统放到内网,外网访问就必须要使用VPN,SSL VPN是一项重要的企业资产,但一旦主流的SSL VPN上发现高危漏洞,其影响就会很大,再加上SSL VPN必须暴露在互联网环境中,反倒是一个比较脆弱的点。目前企业所使用的主流SSL VPN产品有:

  • Cisco
  • FortiGate
  • Global Protect
  • 深信服(Sangfor)
  • Pulse Secure
  • 国内的互联网公司以Cisco ASA和深信服为主,BAT三家的办公VPN都使用的是Cisco ASA,还有一部分企业使用的是FortiGate或者深信服;华为、山石网科、天融信等公司也有自己的VPN产品,但根据我的观察,国内公司很少用到这些公司的产品
    通常的域名是:

  • vpn.corp.abc.com
  • sslvpn.corp.abc.com
  • proxy.corp.abc.com
  • tunnel.corp.abc.com
  • 同样我们可以从URL来识别处这家企业使用的是什么品牌的VPN产品:

  • +CSCOE+:Cisco ASA
  • dana-na:Pulse Secure/Juniper
  • por/login_psw.csp:深信服
  • remote/login:FortiGate
  • global-protect/login.esp:GlobalProtect
  • 确定对应厂商的VPN后,就可以使用一些已知的漏洞尝试对VPN设备进行渗透测试了(例如XSS、未授权访问、拒绝服务等漏洞),这些漏洞基本上都是CVE漏洞,可以使用公开的一些PoC进行测试。例如:https://xz.aliyun.com/t/5988



    HR系统

    一般企业会使用这些域名:

  • ehr.corp.abc.com
  • hr.corp.abc.com
  • myhr.corp.abc.com
  • hrss.corp.abc.com
    国内的很多企业的HR系统都是用的Oracle的PeopleSoft Enterprise HRMS,对应的URL是psp/hrprd/?cmd=login,其他系统可以自行参考其他厂商的文档或者下载一份试用版回来看目录结构

  • 转自先知社区

    打赏我,让我更有动力~

    0 条回复   |  直到 2019-8-25 | 1618 次浏览
    登录后才可发表内容
    返回顶部 投诉反馈

    © 2016 - 2024 掌控者 All Rights Reserved.