接上篇文章,这篇文章介绍一下如何挖掘企业内部系统的漏洞,如何在互联网中找到企业隐藏在内部的业务域名,从而找到薄弱的方向进行渗透
一般来说,企业一般会单独开一个域名,或者开一个二级域名来放置自己的各个内部业务系统以方便管理和维护,一般来说可以从企业邮箱、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
为例子,介绍一下企业会怎么放这些业务系统:
由于企业内的业务系统繁多,如果每个应用都有自己的独立的用户名密码,这不仅对于用户来说难以记忆,而且还无法控制权限,带来安全隐患。所以CAS(中央认证服务)应运而生,CAS的优势就是只需要登录一次,就可以使用就可以获取所有系统的访问权限,不用对每个单一系统都逐一登录。
目前SSO做的比较好用,IT使用比较广泛的是Apereo CAS,Apereo CAS 是由耶鲁大学实验室2002年出的一个开源的统一认证服务,现在归Apereo基金会管理。
一般企业会使用 sso.corp.abc.com
、ssosv.corp.abc.com
、cas.corp.abc.com
、login.corp.abc.com
或者bsso.corp.abc.com
作为统一身份认证的域名;判断是不是Apereo CAS最简单的一个办法就是在跳转的redirect_uri
下面输入一些特殊字符,导致Apereo CAS报错提示
以及退出时候的文字提示,看到这个
注销成功
您已经成功退出CAS系统,谢谢使用!
出于安全考虑,请关闭您的浏览器。
就可以100%确定是Apereo CAS了,对于CAS可以尝试以下漏洞:
logout?redirect_uri=xxxxx
,CAS会直接跳转到这个地址,利用这个特性我们可以构造一个任意URL跳转漏洞redirect_uri
redirect
service
url
redirect_to
jumpto
linkto
next
oauth_callback
callback
如果遇到企业对URL做了限制,推荐大家看一下小猪佩奇师傅的这篇来绕过URL跳转的限制:https://xz.aliyun.com/t/5189我们可以先找到邮件系统的域名,一般来说企业会使用的域名是:webmail.(corp).abc.com
、email.(corp).abc.com
、mail.(corp).abc.com
识别一下企业所使用的邮件系统,可以先根据URL打开之后展示的网页样式进行判断,但是如果会跳转到SSO、OAuth等域名的时候,可以观察一下callback
、service
、redirect_uri
等参数,如果URL中包含了下面的内容,就可以判断企业使用的是何种邮件系统:
/owa
:Microsoft Exchange
/zimbra
:Zimbra
/coremail
:Coremail
说明如果打开之后跳转到了网易或者腾讯企业邮箱,说明这个企业使用的邮箱是用了腾讯或者网易、阿里云的服务,将自己的域名解析到了他们的服务器上面
SSL VPN因为方便使用,成本低易部署等优势,成为员工在外部网络访问企业资源的一种主流方式。很多企业都会把一些比较敏感的业务系统放到内网,外网访问就必须要使用VPN,SSL VPN是一项重要的企业资产,但一旦主流的SSL VPN上发现高危漏洞,其影响就会很大,再加上SSL VPN必须暴露在互联网环境中,反倒是一个比较脆弱的点。目前企业所使用的主流SSL VPN产品有:
国内的互联网公司以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 ASAdana-na
:Pulse Secure/Juniperpor/login_psw.csp
:深信服remote/login
:FortiGateglobal-protect/login.esp
:GlobalProtect确定对应厂商的VPN后,就可以使用一些已知的漏洞尝试对VPN设备进行渗透测试了(例如XSS、未授权访问、拒绝服务等漏洞),这些漏洞基本上都是CVE漏洞,可以使用公开的一些PoC进行测试。例如:https://xz.aliyun.com/t/5988
一般企业会使用这些域名:
ehr.corp.abc.com
hr.corp.abc.com
myhr.corp.abc.com
hrss.corp.abc.com
psp/hrprd/?cmd=login
,其他系统可以自行参考其他厂商的文档或者下载一份试用版回来看目录结构