**注释:此检测部分已经授权,其它部分存在争议,但非黑产行为,要买数据的勿扰。
**
前言
先举个例子,你在注册FreeBuf的时候,主要是填写邮箱账号来注册。继续往下想,中国的互联网公司为了规范实名制注册,大部分邮箱都会要求填写手机号码来进行实名验证,同时手机短信验证码也作为了比较靠谱的一道安全机制。再往下想,如果你能够控制中国的短信记录系统,理论上来说你在中国的互联网就是神一般的存在,想破解哪个账号就破解哪个账号。
我今天就完成了这个目标,我,控制了一个国家的电信系统,这次安全检测也是我人生中的一个里程碑。基本每天都能获取到上千万的电信数据,包括但不限于短信记录,通话记录,sim定位信息,手机话费详情等。整个入侵检测周期大约有7个月之久。
事先声明一下,这个电信系统不是中国的,而是靠近美国的一个国家。入侵完后看到数据库的一瞬间,我是被震惊了。全部服务器中包含了大量公司针对电信系统所开发的源代码,包括但不限于IBM,中兴,华为等等,在其短信记录的数据库中,我发现了Facebook,各个银行,Google等在该国的全部短信验证码,短信全部采用了base64位转码。换句话来说,我可以破解那个国家全部的Facebook账号,Google账号等。
最搞笑的是,在入侵的过程中,突然有个美国的IP地址出现在netstat里面,还把我的后门进程终止了!!!我那个时候还在内网服务器提权中!CNM的!井水不犯河水,杀我进程搞毛线!激烈斗争了半个月,终止了那个黑客的后门进程,修复了漏洞,才得以保住我在该服务器的绝对控制权,不过我现在还纳闷那个IP到底是不是NSA的。
外网服务器入侵
注释:因为漏洞影响太大,很多地方已经去敏,阅读体验有所下降,望谅解。
七个月前,我收到了一个域名地址,www开头的,除此之外再也没有其它信息。这家公司在当地是最大的一个电信运营商,全部的基站都被他们所垄断,其它电信公司也只能租用这家公司的基站运营。为了方便简述,下面以代号A来称呼这家公司。
第一次入侵失败
才开始我是很绝望的,就一个域名地址,其它什么都没有,只能先做简单的信息收集。才开始是查看www主域名,也就是A公司的官网主页查找漏洞,发现主页是以WP的框架建设的,扫了半天没发现什么漏洞,而且全部流量都经过了CDN,还配备的WAF等安全机制。
从主站入侵太过困难,但是在其主页上面发现了他们邮箱,就是一个@+主域名,nslookup扫描一下,发现未设置SPF记录,在尝试之后发现是可以利用这个缺陷去伪造一份官方邮件的,基本的入侵思路也想到了,采用钓鱼来进行入侵,具体步骤如下图。
理想很丰满,现实很骨感。在测试过程中发现A公司的邮件服务器采用了Spamhaus的黑名单列表,我全部服务器的IP段都在那个黑名单里面,邮件发送过去,对方也没办法接收到。
不过针对邮件钓鱼的方式还有很多,我也可以注册一个和A公司相似的域名(比如baidu.com和baidu.vip),然后用腾讯企业邮箱之类的发送过去,但是不想搞那么麻烦,我更想试试看其它可靠的方法。
第二次入侵失败
我随后扫描了该域名的全部二级域名,扫描结果共找到了5个二级域名地址,这5个二级域名都属于内部管理系统,都是一个登录页面。其中3个是没有验证码机制的,两个有验证码,采用后端验证。那么基本就有3个地址是可以尝试枚举攻击的。依托于我强大的字典,然后开始进行一一测试。测试了一天后发现,虽然那三个地址没有验证码机制,但是如果一个IP尝试过多的访问,那么会将该IP给拉入黑名单,同时,如果一个账号登录错误次数超过10此,这个账号将会被封锁。
第N次入侵成功
再后面大大小小的入侵也都尝试过了,但是都没有找到相关的突破口。万念俱灰之间,看了一下二级域名的扫描列表,突然发现了个有意思的情况。主站www域名和另外3个二级域名是经过CDN的,但是有1个二级域名都没经过CDN,直接是服务器真实IP地址。喝了杯咖啡冷静一会儿后,我就在想那么大一家电信企业,不可能只有四个内部管理系统,肯定有数十个不止。既然有1个二级域名已经暴露真实IP了,那么在其IP段是否有多个业务管理系统?
这个想法诞生后,直接NMAP扫描这个IP段,果不其然发现了数十个内部管理系统的登录界面,贴图给大家展示一下。
在其中一个系统中找到了一个上传漏洞,上传了一个后门,提升为root权限。
然后在这个服务器上发现了中兴和Facebook的相关源代码。
服务器是IBM架设的,采用Suse Linux。
还有很多细节就不一一展示了。
第一道内网入侵
第一台被入侵的服务器可以连接外网,但是里面的东西少的可怜,基本没啥太大价值的,就是一些源代码。经过长达两个月的分析,该服务器可以访问内网的服务器大于有200多台。内网扫描基本上也就是reGeorg开个socks代理,在linux上直接用proxychain做全局代理,windows上使用Proxifier做全局代理,然后直接nmap扫描了。其中一个内网IP地址开放了1521端口,那么没啥可以商量的了,尝试oracle默认账号和密码登录成功(system/manager),直接脱裤。下载下来发现是一个内部管理系统的数据库,数据量少的可怜,并无短信记录啥的。当时我就在想,会不会有二层内网,三层内网这么一种情况?
第二道内网入侵
既然有点子了,撸起袖子就开搞!Google了一下oracle 11G写shell的相关文章,然后写了个bash反弹shell,再运用MSF多层跳板技术对其内网反弹shell进行连接,然后控制其内网服务器。控制内网服务器后,帮它架设了一个Web环境,上传个jspspy大马,修改文件日期以防被管理员察觉,然后删除服务器日志记录。至此,那台内网服务器也被拿下,再对其扫描,果不其然又发现了一个超级大的数据库,也是oracle。
整个内网入侵的步骤有点复杂,之后我发现了这么一个内网入侵神器,现在都是用这个神器对内网入侵设备进行管理。
Termite:之前叫做EarthWorm,目前新版本叫做Termite,个人非常钟爱的内网管理工具,好像是个妹子写的,佩服佩服!
不打广告了,继续诉说细节。整理了手上现有的信息,花了2个月做分析,发现那个国家的电信系统布局情况,如下图所示。
在那个国家,不管你使用哪个电信运营商,最后的数据都会汇总到内网服务器中,由政府机构所掌控。现在我只访问到第二层内网服务器,是否有第三层内网暂时不得而知。花了一个月的时间,把第二层内网服务器中的其中一个数据库给扒下来了,数据大小约有700多个G,给你们一张图片感受一下。
Show Time
文字说的差不多了,该到装B环节了,请开始我的表演~
源代码
数据库
短信记录
各种内网系统
相关链接
oracle写shell:https://www.doyler.net/security-not-included/oracle-command-execution-sys-shell
MSF内网跳板详解:http://www.freebuf.com/sectool/56432.html
Termite官网:http://rootkiter.com/Termite/
总结
因为漏洞危害太大,很多地方都去敏了,让大家看到那么多马赛克十分抱歉。整个入侵还有很多步骤没细说,比如说几百G的数据文件,我是怎么拖下来的,rootkit植入,linux提权,我和那个美国黑客斗智斗勇的细节等等。
这篇文章主要表达了我对当前互联网安全机制的疑惑。假设说真的靠短信验证码作为最后一道安全措施,那么在其电信系统沦陷的情况下,整个互联网公司的安全体系将全部崩塌。举个例子现在我可以随便盗取那个国家任意一个Facebook账号,而且Facebook官方还纳闷漏洞在哪里。他当然纳闷了,漏洞不在他本身,而是整个安全体系就存在缺陷。我也可以盗取那个国家任意一个银行账户,银行发的短信验证码我全部都能收到。甚至玩的大一点,把那个国家全部的电信账号全部设置为欠费999999美元,再删除备份数据库,然后整个国家断网,想想就刺激。虽然现在找到了针对SMS短信记录,电话记录等等数据,但是我也只是入侵了整个内网系统的百分之五都不到。假如全部搞下来,我还可以监听任意网络流量等等,而我在那个国家的互联网上,就是神一般的存在。
我的主业目前是大数据垂直领域的研究,网络安全只能说是我的一个爱好。虽然以后的文章会越来越少,但是窃.格瓦拉精神在BUF永驻!
*本文原创作者:ArthurKiller