写在前面(背景):网络安全攻防演练行动在即,各个行业都在如火如荼的准备前期的工作:资产排查,攻防演练,应急预案等。企业安全人员都明白,只要摸清家底,弱口令排查清,修复已知漏洞,员工安全意识培养到位,那么被大规模入侵的可能性将会降低。但对于大型集团企业来说,资产多、下属资产不明确、源代码泄露、公司内部资料泄露各种网盘、公司集团架构复杂、其资产排查也将会是件费时费力、枯燥乏味的事;同时有些存在高危漏洞及仿冒网站在没有沟通上报的情况下的直接使用公司名称和Logo,然后等一封上级部门的通知函直接寄来更是哑巴吃黄连。
本文基于魔方团队实际参与企业网络安全攻防演习经验而成,魔方安全多年来专注于企业网络资产测绘与漏洞检测扫描,在攻防演习中发现总有企业摸不清家产情况,导致防守失利。有没有能够一键发现资产、识别未知资产、指纹识别、漏洞发现的平台?给企业资产来一场体检?安排!!!细看下面详解。
近日,团队参加某集团的内部攻防演练,为期一周的时间。此次演练的主要目的是收集发现该集团互联网暴露资产、未知资产、源代码泄露等为主,同时也是检验集团下属单位的安全防御水平;此次演练没有设置具体的标靶系统,所以各个攻击团队需要持续针对互联网开放资产进行信息收集,发动目标,以获取目标系统权限、拿到系统数据为目的。
主要目标“资产先行”
进行资产收集和发现,也是为了获取更多的切入口以方便后续渗透。
目标确认及流程
1企业组织架构
根据企业关键字,通过搜索引擎、企查查、天眼查等平台找出相关的域名、下属单位、邮箱、联系人、电话等信息。同时,根据企业股权关系,也可查找相关的下属子公司企业的网站域名。
2备案信息
通过工信部的备案查询来获取公司所注册的的域名,下面以百度为例,直接搜索对应的备案号即可。
直接获取公司全名后获取到的信息可能更多,有时一个公司不止一个备案号,并且企业若是比较庞大的话,主单位的名称也要全面考虑,毕竟能参加护网的已经是大户人家了。一个集团内存在很多公司名称都差不多,不同的主办单位名称的备案也会不同。
3子域名、C段收集、指纹识别
确定域名后,接下来使用子域名网站或工具找到二级域名、三级域名,通过这些域名,在FOFA、Shadon、Sumap互联网搜索引擎找到关键字的网站登录入口,之后进行批量目录扫描、识别域名使用的组件、开放的端口、运行的服务、指纹信息。根据识别找出组件信息、开放端口、运行服务、指纹信息后,整理出一些常见的高危组件、高危端口、系统类型、脚本语言、使用框架等加以利用。以上都为常规的信息收集流程,各种方式网上也多的是,就不赘述了。
一般都是依靠子域名字典的复杂度或者目录字典的复杂度来说的。对于一些不是很大的企业来说,可能已经找的差不多,剩下的还可能是在子域名的C段方面来获取信息,虽然也是可以增加突破口,但是效率属实不是很高,毕竟大部分只获取到域名或者IP并进行访问,同时C段中无法确认资产归属的系统也很多,因此都还需要继续进一步扫描端口和目录来扩大攻击面。
当然,得到新的网站目标后,需要通过seo查询来确认网站确实归属该公司,有时候网站可能会归属于旗下的子公司或者孙公司,可以通过企查查,天眼查的股权架构关系等来进行进一步确认。
4利用公众号和小程序进行信息收集
除此以外,对于分公司较多,在全国各地都有营业点的大型企业来说,信息收集的涵盖面包括各种网盘文库,开源社区,社工库,公众号也都是很好的切入点。不过以这些为信息的话,那就是基于关键字去进行搜素,关键字要尽可能的去概括包含所要搜索的集团的众多公司以及业务,关键字可以是公司缩写,主公司域名,公司产品名,主营业务等具有明显特征的词汇。
以公众号为例,例如关键字为:AAAA能源有限公司AA市分公司:
1、收集下属单位、邮箱、联系人、电话等信息;
2、根据关系图谱,找到下属公司-BBBB区中BB燃气发展有限公司;
3、根据二级单位-BBBB能源有限公司的关键字,继续查找三级单位,查看关系图谱,得出CCCC燃气发展有限公司关键字。使用手机或者模拟器,挂上代理微信搜索相关关键字,就可以抓包提取给公众号提供服务的域名或者IP了,支付宝一般也存在小程序哦。
OK!"全面体检"来了“魔方星云漏洞检测平台来提高资产信息与漏洞检测发现的效率”
细细看~~
导入关键字
查看识别结果,结果Very Nice!!!
识别出来的信息还挺详细,酸爽啊!!!啊!!!
根据公司的名称或者基于不同的关键字在微信上搜索公众号和小程序,值得一提的是,大多数的公众号的功能都只是用来进行文章报送,是没有后台接口的,因此这样的公众号并不是重点目标。
需要作为重点渗透测试的是这种存在后台接口的即存在服务功能的公众号或者小程序,通过在物理机或者模拟器上打开代理抓包即可,除去weixin、app.eslink.cc等第三方相关的域名后,对剩下的陌生域名和进行下一轮的端口扫描和测试,不过这些后台接口获取到的IP资产,相来说都是很容易检查处有高危漏洞组件的存在。
查看公众号,发现服务接口,得出它的域名和IP,接着就是正常的渗透测试了。
注意:有些网站的相关目录的微信接口会自动跳转至open.weixin.qq.com
在抓包的时候还是要以点击服务后的所打开的域名为准,同时,有些功能比较多的公众号或者小程序不同的功能的数据包中的域名或IP可能不止一个。抓取的域名最好进行下对域名进行资产归属,排除是第三方挂靠服务的可能性。
敏感信息方面可以通过网盘和文库以及贴吧,QQ,微信和telegram等各种社交平台进行获取;开源社区例如github,则可以根据github搜索语法或者GitHack之类工具来基于关键词进行搜索,所以关键字的提取一定要尽可能的全面。
继续检查!依靠星云平台来实时监控github开源代码:
上述就是我们在攻防演练中进行的操作,那通过这一系列流程,我们的成果怎么样呢?
成果总结
整场演练下来,由于该集团在各地的营业点较多,靠公众号相关的服务接口获取到的后台资产数量是通过常规跑字典获取到的数量的好几倍。找到足够多的入口后,那么下一步自然就变得简单起来,归根结底,渗透测试的本质还是信息收集,前期的工作做的足够了,那么后面就可以愉快的梭哈了。
由于该演练的主要目的是为了资产测绘,性质上更像是一次排查,并且借助魔方星云平台不断监控得到的公众号和github泄露项目,报送资产报的都手软了,既然找到了这么多的资产,接下来就是一身法力随意施展了,不用多说,网络安全攻防演习中三大杀器:Shiro,weblogic,Struts2!然后就是弱口令,文件上传,jenkins,druid未授权等比较常见的了。
相信目前不少前辈们差不多都准备或者已经入场开始进行攻防演习前的最后战备了,备好速效救心丹,让你在攻防演习中平平安安!!我们也将继续作为攻防演习的参与者,期待能为大家分享更多攻防经验以及网络安全专业知识,也预祝各位都能取得一个好成绩,在结束的时候还是最初的样子,一切顺利~