在对客户网站和应用进行渗透测试服务之前,重要的前期工作是全面收集网站和应用的信息,知己知彼,才能更好地渗透。前段时间,我们的SINE安全公司接到一个金融客户的委托,对其网站和应用进行安全渗透。我们将以文章的形式分享整个信息收集过程。
安全工程师和白猫都非常清楚渗透测试期间信息收集的重要性。我们将从我们的角度收集和渗透信息。首先要明白为什么第一步一定要做信息收集,因为只有真正了解客户,才能知己知彼,百战不殆。进攻和防守是你我竞争的过程。路越高,魔力越高。
如果客户要求查找当前网站和App的漏洞,那么我们就要收集客户网站开发语言、数据库类型、服务器Ip等综合信息。我们掌握的信息越多,漏洞就越多。如果找到最薄弱的环节,就会发现其他漏洞。对于收集到的信息,我们可以分为三类,第一类是可以直接使用的信息,第二类是可以间接使用的信息,第三类是未来可以使用的信息。如何理解这三类?简单来说,未来可以利用的信息是,在新版本网站开发上线之前,官网上就公布了某个平台将在下个月上线新版本,所以我们可以获得的信息是,新版本网站上线有可能不经过渗透测试,安全风险系数高,漏洞存在率高。可以直接使用的信息是网站存在漏洞,如SQL注入漏洞、远程代码执行漏洞、逻辑越权漏洞、短信验证码窃取漏洞等。我们经常遇到的间接可用信息,是网站的后台地址、文件上传的地址,或者是网站中存在的主域名下的二级域名,对于我们的SINE安全来说,统称为间接可用信息。
那么我们的SINE安全就在实际的渗透测试服务中,针对金融客户的信息采集主要从以下几个方面进行:
收集网站域名信息,查看域名注册信息、注册邮箱和域名联系方式,通过SSL证书查看域名信息,查看网站JS文件是否包含其他二级域名信息和网站后台地址信息,反编译ApK文件查看源代码是否包含其他域名的接口信息,通过搜索引擎查看子域名的列表情况,用域名暴力猜测工具扫描。
从网站服务器收集信息,检查网站是否隐藏了真实的Ip,启用CDN。如果真的Ip是隐藏的,通过注册会员和邮件发送到这里查看真的Ip。如果有二级域名,可以pING二级域名的服务器Ip地址。使用pING工具,在中国建议ping.chinaz.com可以在全国每个节点查询网站的Ip。也可以通过nslookup查询国外的DNS,因为国内的CDN只解析国外的Ip。
服务器由windows系统或linux系统采集,系统版本号也可以通过工具扫描。kali系统对服务器的端口开放情况进行全面的安全测试,以及服务器是否存在漏洞,包括redis的未授权访问漏洞等。通过打开端口,您可以检查服务器运行的服务和安装的软件。
收集网站代码,检查网站的JS文件是否有开源系统的痕迹,或者手动搜索特征码,确定使用的CMS系统、网站开发语言和数据库类型,然后检查网站是否有网站防火墙,收集网站后台地址。
以上是我们在之前的SINE Security渗透测试中需要收集的一些信息。这项工作真的很重要。我们收集的信息越多,就越有把握发现网站的漏洞。因此,许多客户在网站和App上线之前,必须进行全面的安全测试和漏洞扫描。有些顾客没什么感觉。网站和App用户上规模后,一个漏洞造成的经济损失会特别严重,发展也会受到阻碍。因为尺寸大,有必要换一下。如果你对渗透测试不太了解,可以找专业的渗透测试公司帮你处理。国内的SINESAFE,启明星辰,绿盟都挺好的。网络安全有你也有我。你应该有安全感和防范意识。只有相辅相成,网站才能走得更远。