OSINT-Charter
Communication
声明:
这篇文章是我从b站上的一个up主那看到的,up主名字--徳勒安全,感觉很详细,值得一好好研究一下,作者也是做红队工作的,和他沟通交流后,他说可以转载的。
--------------------------------------------------------------------------------------------
对Charter Communication 电信公司进行 OSINT 侦查。需要灵活新增侦查手段,创造性地搜集信息。
既然是 OSINT,那么意味着我们与目标的交互需要是被动的,包括但不局限于使用搜索引擎搜索有关目标公司的信息、查看社交媒体、whois 查询等。为了降低一点难度,我们可以与目标进行正常的交互,例如浏览网站。但是不能进行的有:nmap扫描、漏洞扫描、对公司员工进行社会工程学攻击、利用漏洞等。
我们目前只有目标企业的名称,即Charter Communication Inc.。首先,我们要确定 Charter 公司在公网的网段,这个我们可以通过查询 Charter 公司的 ASN 编号。Charter 这样的大型企业,可能拥有多个 ASN (自治域) 编号,并且每个 ASN 编号都有大量的公共网段。至于ASN,是一个全球唯一标识符,它定义了一组一个或多个 IP 前缀,这些前缀由一个或多个网络运营商运行,这些网络运营商维护一个明确定义的路由策略。这些 IP 前缀组称为自治系统。ASN 允许自治系统与其他自治系统交换路由信息,世界各地的网络运营商都需要自治系统编号来控制其网络内的路由以及与其他网络运营商交换路由信息。
我们可以通过一些在线工具根据企业域名或者企业名称来查询ASN编号,例如https://bgp.he.net/search?search%5Bsearch%5D=charter+communication&commit=Search
但是,单个来源获取到的 ASN 编号肯定是不全甚至不准确的,我们需要从多个来源搜集相对完整的 ASN 编号。此外,有的 ASN 编号也可能不再活跃,即没有网段与之关联。这里,我提供几个有效的 ASN号码:AS12271,AS11427,AS20115,AS33363。
然后,我们根据 ASN 编号得到尽可能完成的网段。比如,我们可以通过在线网站查询 AS12271 的网段 https://asnlookup.com/asn/AS12271/。同样的,我们需要集中多个来源的数据以尽可能减少遗漏,同时,可能一些网站因为更新不及时等原因,会有一些不再属于该 ASN 编号的网段,我们需要注意。在合法的红队行动或者渗透测试中,如果我们确定了错误的范围,那么在后续的过程中可能无意中对非范围内的目标进行攻击,即未授权的行动。所以,相比添加错了的目标,宁愿遗漏一些。当然,最好也不要遗漏。
除了过时的数据,我们还需要注意区别出客户资产!!!考虑到 Charter 是一家很大的电信企业,在有些服务上也充当着运营商或者服务提供商的身份,因此有些资产可能是客户的,并非 Charter 自身的。如何准确区分这些资产,是难以三言两语总结的。我们简单看 2 个例子作为对比。下图是 shodan 搜索的一个结果,我们看到该结果的主机名是 mail.wonsbackgroundchecks.com。
查询一下 wonsbackgroundchecks.com 的 whois 信息,我们没有发现有关 charter.com 的字样,那么有可能是 charter.com 客户的资产。
其网站主页揭露了该公司是从事背景调查的,与电信关系不大,因此,作为子公司或母公司的概率也很小。
查看一下 Charter 的子母公司,也确实没有发现其踪迹。我们发现Spectrum 是 Charter 收购的一家公司。
那么下图所示的结果,因为其主机名在spectrum 域之下,很有可能是属于 Charter 的资产了。
查询 spectrum.com 的 whois 信息,也能确认这一点。总之,对于资产的确认,我们务必要十分小心,不然很容易进行未授权操作。
得到了 ASN 以及对应的网段后,尽管我们不可能搜集完整 (甚至企业自己都理不清全部资产),接下来可以搜集顶级域名 TLD 了。顶级域名例如 charter.com,spectrum.com。我们可以优先从字母公司入手,另外一个很快捷的方法是逆向 whois 查询,即我们根据 whois 信息中的某个信息进行逆向查询,有哪些域名包含了特定的关键字。我们可以尝试的逆向查询内容可以是邮箱 (charter.com)、域名服务器 (ns1.charter.com)。便捷的在线网站有https://viewdns.info/reversewhois/?q=charter.com,https://hackertarget.com/find-shared-dns-servers 等。
我们也是得到了海量的输出,因为 Charter 也是服务供应商,这是可以预期的,我们需要手动筛选。并且在上图中我们可以看到,即便是 charter.com 主站,也有一些变种,例如 charter-business.com 。当我们层层筛选后,可以将 TLD 列表输入给各种子域名枚举工具,这类工具我们之前已经介绍过一些了,这里我再介绍一款 ReconFTW (https://github.com/six2dez/reconftw)。这款工具十分强大,但具体强大之处请自行参考文档以及探索,这里不占用篇幅了。
接下来,是本节最核心的内容,是之前几节难以覆盖到的内容,请系好安全带,让我带你们从 OSINT 到 shell。当搜索引擎与特定的查询相结合的时候,可以辅助我们找到有趣的资产,比较知名的是 Google Dorking。除此之外,还有 Shodan dorking,Github Dorking 等。这些平台的具体侧重点有所不同或略有不同,但背后的宗旨都是一样的,利用现成的语法,组合成特定且精确的搜索语句。比如,在 Github 上,我们可以通过 Dorking 找到包含有明文凭证硬编码的文件,Google 上,我们可以找到开放目录站点,在 Shodan 上,我们可以找到 RDP 暴露于公网的主机。虽然这些 Dorking 都有一定的用途且都很有趣,为了能对我们的红队行动帮助最大,我们主要借助于 Shodan,Fofa,Quake 这 3 款搜索引擎。这 3 款搜索引擎功能是一致的,在具体能力上各有高低,此外,并且还存在着其他同类型的搜索引擎。
简述一下这 3 款搜索引擎的特点和优缺点
Shodan
会员价格整体偏贵
详细的 banner 或者响应信息
特定订阅允许根据 CVE 漏洞进行过滤
不太擅长识别一些特定的应用或者组件
有搜索次数和请求次数额度
Fofa
1000 元即可终身会员
能识别大量的应用和组件
有限的 banner 信息
如果使用 API,一次最多返回 100 条
只要频率控制在 1 秒 2 条请求以内,那就没有额度可言
Quake
1000 元即可终身会员
能识别大量的应用和组件
有限的 banner 信息
有搜索次数和请求次数的额度,但一般够用
在探讨各个搜索引擎的语法以及特别的搜索语句之前,我们需要知道我们搜索的宗旨,我们想要得到的是其他搜索引擎难以提供的 quick win。
1: 高风险 CVE 漏洞
未认证 RCE
目录遍历
任意文件读写
更多
2: 配置不当的服务
可读可写 SMB 共享目录
不需要认证的 rsync
不需要认证的 VNC
不需要认证的 X11
开放目录
暴露在公网的域主机
暴露在公网的域控制器
默认凭证
更多
3: 信息搜集
NetBIOS-SSN
SMB
RDP
MSSQL
WinRM
SNMP
更多
4: 企业中常被利用的应用和组件
Outlook
Tomcat
Jenkins
Fastjson
Log4j
Spring
ManageEngine Products
Weblogic
Vmware Products
Struts2
Gitlab
Nexus
JFog
更多
考虑到我们有特定的目标,即 Charter,那么我们每次搜索的时候都需要把目标带上。幸运的是,这 3 款搜索引擎都帮我们整理好了 Organization 以及 ASN。考虑到 Charter 有多个活跃 ASN,那么我们就以组织名为准 (Fofa 对于一些 ASN 识别的结果与其他 2 款搜索引擎不一致,因此组织名也有所不同)。时刻记得判断目标结果是否为 Charter 自身的资产。
接下来,我们就可以构造特定的搜索语句了,我个人建议从精确、quick-win的开始,即找到大概率能提供给我们 shell 的资产。这样的案例可以为具有永恒之蓝 MS17-010 漏洞的主机,目前只有 shodan 能精确查找到,语句为org:"Charter Communications Inc" vuln:ms17-010。
shodan 找到了 16 台具备条件的资产,但是从下图中的结果的域名来看,有可能是 Charter 客户的,我们往下翻一翻。
我们看到这个结果,域名是 spectrum 的,很有可能是 Charter 自身的资产,即在范围内。但请别过于激动,我们不应当实际进行攻击。并且攻击也可能因为其他原因导致失败,例如安全产品的部署、网络防火墙、补丁和系统加固等。
另外一个例子是VsFTPd 2.3.4 后门 RCE。在 3 款不同搜索引擎下,语句是这样的:
FOFA:org="CHARTER-20115" && banner="vsFTPd 2.3.4"
Shodan: org:"Charter Communications Inc" vsFTPd 2.3.4
Quake: org: "Charter Communications Inc" AND response:"vsFTPd 2.3.4"
同样的,不是所有结果都是我们合法范围内的,需要甄别。我们可以确认该漏洞 (https://www.exploit-db.com/exploits/49757) 利用难度很低,并不需要提供凭证即可执行远程代码。唯一需要注意的是,如果后续我们在利用的时候,目标主机会被开启一个端口,然后我们正向连接该端口。实际利用的成功与否,需要考虑到防火墙的因素。
在刚才,我们通过 2 个精确定位受 CVE 漏洞影响的资产的案例告诉大家,善于使用这些搜索引擎可以给我们后续的边界突破带来 quick win。更多的案例,我不在此一一枚举,重点是我们需要总结出受特定漏洞影响的资产的特征,可以是版本号,可以是 banner 或者响应中的独特字符串。
接下来,我们讨论能同样给我们 quick-win 的配置不当的网络服务或应用,它们通常并不是漏洞,而是配置不当,例如没有设置认证的 VNC 服务,可以让我们不提供凭证的情况下访问目标的桌面,变相给我们提供了 shell,甚至是更高级的 shell。我们先以传统 VNC 服务器举例,这里的话,想要精确定位到未开启认证的 VNC 服务器,我们需要依赖于 shodan。在之前,Quake 也支持精确定位,但可能由于法律法规和隐私的原因,关闭了。
shodan 语句为org:"Charter Communications Inc" "authentication disabled" "RFB"。我们得到了 15 个结果,并且前几个结果看起来大都是范围内的。
我们连接其中一个,发现确实可以访问到对方的远程桌面 (我没有进行任何操作并且迅速退出)。
并且该主机所在的域为 Charter 注册,那么大概率是范围内的。
不过,也有一些不太成功的案例,例如目标是 IoT/OT 系统,或者目标主机设置了锁屏,因此即便我们能看到目标的 GUI,但是需要凭证才能进入系统 (但只要被解锁之后我们进入,就没有障碍了)。
(这些命令并非我留下的)
我们再来看 noVnc web 应用 (https://github.com/novnc/noVNC),即在服务器上部署 noVnc 应用后,可以通过浏览器访问。3 款搜索引擎都能进行精确查找:
FOFA:org="CHARTER-20115" && server="WebSockify Python" && title="Directory listing for /"
Shodan: org:"Charter Communications Inc" http.title:"Directory listing" "Server: WebSockify Python"
Quake: org:"Charter Communications Inc" and server: "WebSockify Python" and title: "Directory listing for /"
你们也许发现了我额外地给查询语句添加了开放目录的限制条件。原因在于,我们无法根据响应信息确认noVnc是否开启认证,而如果目标主机的使用者不小心开放了目录,那么说明其不是很具备安全意识或者粗心,更有可能不设置认证。这是一个从行为与心理层面进行的推断,如果因为范围限制地很狭窄导致搜索结果过少,我们也可以适当放宽,例如删去开放目录的限制。如下图所示,如果配置了开放目录,我们会能访问该页面,反之则直接进入连接的页面,然后可能面临认证。
不出意料,粗心到配置了开放目录的人确实没有设置认证,我们可以直接访问到他的桌面。
有些应用是被强制全屏的,如果想要获得代码执行,可能需要使用kiosk breakout 的技术。虽然这很有趣,但请记住我们不能进行任何未授权攻击尝试。
以及在有的服务器上,我们能执行代码,但 noVnc 是运行在容器内的,获得代码执行的意义也不是特别大。
除了 VNC,类似的协议还有 X11,请自行探索利用方法。
目前为止,我介绍了几种通过 OSINT 就能大概率获得 shell 的方法与思路。接下来,我们也许不能直接获得代码执行,但能很大程度丰富我们掌握的知识和情报,例如未认证情况下访问目标的 SMB 共享目录、FTP 服务器等。
我们来查看一下有哪些资产是允许 FTP 匿名访问的。FTP 服务器中可能存储着敏感文件,尤其是如果包含明文凭证、知识产权、VPN侧写文件等。3 个搜索引擎可以分别用如下语句查询:
FOFA:org="CHARTER-20115" && banner="User logged in"
Shodan: org:"Charter Communications Inc" port:21 "User logged in"
Quake: org:"Charter Communications Inc" and response:"User logged in" AND service: "ftp"
我们看到,还是有不少 FTP 服务器允许匿名登陆的,选择其中一个进行访问尝试,虽然看起来没有什么特别有趣的文件,但考虑到样本较多,我们也许总能找到敏感的文件。
类似的,我们还可以访问部分共享目录没有设置认证的 SMB 服务。实际上,SMB 服务本就不该被暴露在公网上。查询没有设置访问的 SMB 服务器,FOFA 无法做到精确查询,因此展示另外 2 个搜索引擎的语句
Shodan:org:"Charter Communications Inc" "authentication disabled" port:445
Quake: org:"Charter Communications Inc" and response:"authentication disabled" and port:445
选择其中一个,尝试访问,我们发现该目标有多个开放的共享目录。如果我们运气好,也可能在其中能得到敏感文件。
例如该资产,我们甚至能访问用户的 C 盘文件,十分危险。
接下来,我们寻找在公网上开放了 RDP 服务的主机,,虽然 RDP 的认证是强制开启的,但是我们可以搜集到目标主机的一些信息。3 款搜索引擎的语句分别如下:
FOFA:org="CHARTER-20115" && protocol="rdp"
Shodan: org:"Charter Communications Inc" "Remote Desktop Protocol"
Quake: org:"Charter Communications Inc" and service:"rdp"
如下图所示,RDP的响应中,我们能够提取到一些主机信息,虽然该目标显然可能是 Charter 客户的资产。我们还可以搜索 MSSQL,NBT-SSN,WinRM 等服务来得到有关主机、域的一些信息。
最后,我们来搜索一些企业中常用的应用和组件。考虑到这些应用在历年几乎都有 RCE 漏洞。虽然有些漏洞并不新了,但是考虑到企业对于安全的重视程度、合规性、流程等因素,想要从所有应用与组件的 RCE 中幸存下来是有难度的,因为我们想要突破边界,1 个 shell 就够了,而企业却要补丁所有资产上运行的应用与组件。现代企业所用的应用与组件颇多,比较典型的有 Confluence,Outlook,Vmware 产品,JBoss,Weblogic,Tomcat 等。例如,要搜索 Outlook OWA 应用,我们可以用以下的查询语句:
FOFA:org="CHARTER-20115" && title="outlook"
Shodan: org:"Charter Communications Inc" http.title:"Outlook"
Quake: org:"Charter Communications Inc" and title:"Outlook"
我们可以看到有不少的实例,但是请注意甄别客户资产。在确定了范围内的资产后,我们可以用nuclei (https://github.com/projectdiscovery/nuclei) 或 vulmap (https://github.com/zhzyker/vulmap) 等批量扫描工具进行漏洞验证。但是我们只是对 Charter 进行 OSINT,所以请不要实际对 Charter 做漏洞扫描。并且大面积的漏洞扫描是不太隐蔽的,因此在实际的红队行动中,需要在另一台 VPS 主机上进行扫描工作,以免暴露出我们的大本营。
下图是我之前对其他地区资产进行的扫描与概念验证,严格来说依旧属于未授权,请大家不要效仿。
原文始发于微信公众号(XxSec):如何使用osint的手法获取到目标权限
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论