在攻防演练中,攻击队不仅会利用信息系统的各类漏洞和口令攻击方法,更会在影子资产、移动应用中寻找攻击点。而在实战攻防中,攻击者则会在此基础上,加入大量基于邮箱和人员的攻击(例如钓鱼)、在泄露的文档和代码中寻找攻击点、针对企业VIP(高管、IT管理员等)进行信息化攻击、利用暗网中的情报数据(例如社工库、租用/购买勒索软件等)以及针对M&A和供应链的风险进行攻击。
而防御者视角下,往往只能关注到已知风险并设计防御策略,而忽略很多未知风险。
在此背景下,零零信安推出了攻击面查询和收敛平台——0.zone(登录网址:https://0.zone),它是一个免费的外部攻击面管理SaaS平台,供红蓝队使用,为防御者提供攻击者视角下的企业外部攻击面数据,减少攻防信息差,以促进企业攻击面的收敛和管理。
为了便于广大用户在攻防演练活动中大展拳脚,本文一方面将为大家如何快速上手使用0.Zone进行简单直观的说明,以便能够更好的利用该平台去发现潜在风险;另一方面,也会进一步结合0.Zone的实际应用,针对六大主流风险的利用方式及整改建议进行较为细致的阐述。
1、登录https://0.zone,在搜索框输入您的【企业名称】,即可获得攻击面报告(这里以“北京零零信安科技有限公司”为例):
2、点击上图红框部分,获得详细信息:
如上图所示,红框部分内,为“零零信安”公司全部外部攻击面信息,包括:信息系统暴露、移动端应用(APP、API、小程序、公众号)、敏感目录、邮箱泄露、文档和代码、域名、人员、DWM情报等。
3、以查询、导出、订阅、API等形式获取需要的数据:
信息系统是Web应用程序、数据库、中间件上能标识对象类型的一段特征信息,用来在渗透测试信息收集环节中快速识别目标服务。大部分应用组件存在足以说明当前服务名称和版本的特征,识别这些特征从而获取当前服务信息。常见利用方式如下:
信息系统信息通常是指各个应用在开发时所留下的对其类型及版本进行标识的特殊信息,在这里主要是指WEB层面的指纹信息,其中包括WEB服务器指纹、中间件指纹及前端框架指纹等。对于指纹信息泄露,我们给出如下安全建议:
移动端应用包含APP、API、小程序、公众号。APP、API、小程序等,通常与服务端进行数据交互,其可能包含越权、验证等各类漏洞,尤其是未进行加壳的APP,有可能被攻击者进行代码审计来寻找漏洞。公众号则分为有功能交互的公众号及没有功能交互的公众号,对于有功能交互的公众号,同样面临着可能受到漏洞的影响,而不管是哪种公众号,都可能面临着攻击者对公众号运维人员的社会工程学攻击。
敏感目录是指目标服务器上存在敏感信息或有信息泄露风险的目录。如/admin、/conf、/backup、/db等;这些目录中有可能包含了大量的敏感文件和脚本,如服务器的配置信息或管理脚本等。包括后台页面、上传页面、目录列表,甚至是网站源代码文件、数据库文件、配置文件、物理路径等。常见的利用方式如下:
攻击者可通过对敏感接口的未授权访问发现危险的功能或敏感信息,利用这些脚本或信息可直接获取目标服务器的控制权。例如在发现上传页面后,可尝试利用文件上传漏洞,上传webshell至web服务器中,若发现还存在phpinfo文件可获取网站配置信息,在一定条件下可以进一步提权获取服务器权限。
敏感目录是指目标服务器上存在带有敏感名称的目录,如/admin、/conf、/backup、/db等;也包含由于错误配置导致的敏感信息泄露的目录位置,以及存在信息泄露风险的目录位置。对于敏感目录信息泄露,参考建议如下:
邮箱泄露包含:邮箱地址泄露,以及邮箱其他敏感信息的泄露。
邮箱地址的泄露,有时候是不可避免的,因为在需要的情况下,企业中某些邮箱是必须公开在互联网上的,例如商务合作邮箱等。但是更多的时候,很多邮箱地址是不需要暴露在互联网上的,尤其是企业员工邮箱和员工的个人邮箱。攻击者通常利用收集到的邮箱地址作为钓鱼邮件和投放宏病毒等的靶标,如果企业中有大量邮箱地址暴露,会增加防范难度,攻击者实施钓鱼或释放病毒的成功率将会大幅提高。
邮箱其他敏感信息的泄露,可能包含用户名、密码、电话号码、姓名、家庭住址、身份证号、银行卡号等等,这些信息通常并不是在公开网络上泄露的,更多可能性是在暗网中泄露。它们通常已经被攻击者制作成“社工库”,用于直接对于个人的信息攻击。
无论对于邮箱地址的暴露,还是邮箱其他敏感信息的泄露,在0.zone中均尽量标注了其来源。
在搜索引擎、代码仓库、文库网盘中泄露的文档信息可能包含重要系统的敏感数据,如人员、账号、邮箱、单位组织架构、IT系统拓扑图等。常见利用方式如下:
文档信息在这里是指通过已泄露的文档或公司公开文档获得的敏感信息,例如由于某工作人员的疏忽,误把内部文档放在互联网平台,可被公众进行查阅。针对这类问题,请参考如下安全建议:
某些系统开发人员缺乏足够的安全防范意识,将网站源代码放置在代码托管仓库,如GitHub、GitLab、码云Gitee、阿里云Code托管平台等,并设置为公开的,这就导致任何人可以通过关键字搜索下载获取系统源代码,发现代码仓库中的敏感信息。常见利用方式如下:
源码信息泄露一般是指开发人员通过代码存储平台如Github,SVN,Gitlab等而泄露的敏感信息。针对这类问题,请参考如下安全建议: