什么是应急响应 当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解决方案与防范措施,为企业挽回或减少经济损失。
应急响应技巧在应急响应的过程中,有一个非常实用的技巧,那就是:如果能大概确定此次事件的成因、确定事件是勒索、挖矿还是木马、以及根据客户描述确定大概发生时间,再以攻击者的思路对整个攻击流程进行猜测,最后再去验证这些猜想,那么能大大加快破案的速度。
实际案例讲解通过此案例来为大家讲解一下应急响应中的一些思路和过程。
事件概述管理员发现部分用户的身-份证、银行卡、姓名、可用余额、总资产等信息被篡改,且用户APP 莫名其妙多出多张银行卡和电话号码,并且可以被无限次恶意申请提现。
事件定性根据了解到的信息,造成该事件的原因可能为:数据库被入侵、webshell和业务逻辑漏洞。
还原入侵过程在对APP功能浏览和简单测试后,我们发现了一个严重的漏洞:越权查看团队成员信息。再根据客户的描述,我们共设想了3种可能的攻击方案入口: 1、 利用越权查看团队信息漏洞
2、 利用thinkphp 3.2.3 的注入漏洞和缓存漏洞
3、 jwt的密钥可能泄漏 通过对日志的分析,并未发现利用tp框架的漏洞POC的请求,故排除设想2;又由于jwt的密钥很长,排除被爆破的可能,通过常规可能的信息泄漏途径,未发现敏感信息,故排除设想3。 通过对APP渗透的深入,我们发现一条可能的攻击链,并在日志中也找到了该攻击链的对应痕迹。 20XX年5月7日,IP 114.236.2.xxx 发起大量访问 tuandui 接口的请求,通过分析,该接口存在越权漏洞,可越权查看所有团队的成员的信息。
修改参数xjid的值,即可看到团队所有用户的信息
通过日志分析,发现攻击者主要的2个IP段主要为 114.23x.xxx.xxx 和 121.23x.xxx.xxx ,通过统计发现,攻击者尝试登陆的次数为7000+次,因此怀疑是通过弱口令进行枚举和利用md5解密后的明文进行登陆。 存在大量的登陆请求
登陆成功后,攻击者将调用yebzc接口对交易密码进行爆破尝试。由于该接口尝试次数高达1100000次,故可以确定此处采用爆破的方法获取交易密码。 大量尝试交易密码的请求
获取到用户的交易密码后,攻击者将调用接口smrz,修改用户的银行卡号、手机号和姓名等信息。 修改银行卡 姓名 身-份证等信息
可看到登陆后调用smrz接口修改用户的信息
为了方便批量操作,攻击者批量修改交易密码。
最后,攻击者将对应的账号进行提现操作,其中包括管理员所提到的时间“2020年10月10日凌晨02:04”的提现操作。
事件结论通过进行实际渗透和对Web日志的分析排查,我们发现攻击方案如下: 1、攻击者通过越权查看团队信息的漏洞,获取到系统中存在的用户的敏感信息;
2、由于系统中存在大量用户弱口令aa123456,且通过日志分析,未出现爆破的情况,故攻击者可能存在两种登陆正常用户的方式:弱口令和md5解密后登陆;
3、通过接口余额宝转出(yebzc)爆破出用户的交易密码;
4、通过接口(smrz)添加敏感信息(银行卡、身-份证、姓名等);
5、批量修改用户的交易密码,方便后续提现;
6、恶意申请提现;
根除遏制阶段1、修复越权漏洞,仅允许团队队长查看自己团队成员的非敏感信息,不返回密码md5值、身-份证号等敏感信息;
2、禁止用户设置弱口令,密码应满足如下规则:密码长度至少8位,且密码含有数字和字母、字母大小写、符号中的2项;
3、限制同一IP访问频率,防止爆破;用户在实名认证时,不允许已实名的用户再次实名而覆盖掉之前实名的信息;
4、开启Mysql日志,WEB日志中记录post传输的数据,定时备份日志;
|