企业安全建设之与灰黑产对抗的两个多月(一)

0x00 前言

9月初的时候离开了工作两年的上海,又回到了杭州的一家初创的金融公司。为什么想着换工作呢,主要是想着换个角色和身份,学习下甲方的安全建设思路,从甲方角度思考安全方面的问题。由于行业特性的原因,来了之后才发现自己想法太单纯。。。水太深了。。。

入职之后,总监和我说了下目前公司大致情况,目前的主要问题就是用户、订单信息泄漏。

然后自己就有了个很年轻的想法:”那就应急响应呗“

拿到APP、后台地址以及服务器账号密码,信誓旦旦的准备大展身手。

文章中列举的都是有些异常或者不太规范的点,未提及的暂时都可以认为相对来说是没啥问题的。

0x01 应急响应

首先,分析下问题,由于总监比较忙,只给我说了用户信息及订单信息泄漏,其他就是两眼一抹黑了。

这种情况下,自己就要针对实际情况进行思考了,我这里想了如下几个方面:

先解决下上面的问题,这样我们的脑海里就会知道该往哪查,哪些地方可能会有什么问题。

1.1 用户、订单信息从哪产生?

  • 前台APP

1.2 用户、订单信息在哪展示?

  • 前台用户APP和后台系统

1.3 用户、订单信息的数据流向?

  • 这个暂时先不讨论,涉及到供应链及第三方厂商,后续会单独讨论

1.4 用户、订单信息存储在哪?

  • 阿里云RDS

1.5 用户、订单信息泄漏的途径有哪些?

前台客户端

  1. 水平、垂直越权漏洞
  2. APP安装包硬编码了数据库的敏感信息
  3. 存在命令执行漏洞控制了服务器
  4. 上传了webshell木马控制了服务器
  5. 接口存在SQL注入漏洞

管理后台

  1. 后台账号存在弱口令
  2. 通过某种途径进入后台,比如爆破、未授权访问等
  3. 管理员Cookie被盗取

运营人员

  1. 内鬼
  2. 手机、电脑等终端被病毒木马入侵控制了

好了,大致思路有了,买包瓜子、花生,开瓶旺仔,撸起袖子开始干吧!

0x02 应用层安全分析

2.1 前台安全分析

拿到APK之后,打开APK,进行业务流量数据包抓取,发现所有数据包均被加密过

由于比较敏感,所以后续的图打码可能会有点严重,见谅~

发现数据已被加密,那么如果不知道加密算法,即使有漏洞也是无法利用的,所以得想办法找到加密规则。

溯源加密算法

发现APK可被逆向、反编译获取源码文件,但是并未在APK源码中找到硬编码数据库、服务器等敏感信息。

在源码中找加密算法,发现加解密key直接硬编码在代码中,导致存在敏感信息泄漏

根据算法源码及泄漏的密钥,编写解密脚本。

解密数据包试试

但是,我们可以发现这个用户的唯一标识不是规律递增的,舔了会开发小哥哥,开发小哥哥告诉我用户的唯一标识是经过几个参数拼接的,同时有时间戳。后续和服务端的交互都是通过这个标识进行通讯的,后续的测试也印证了这个说法,没有白舔!

那我就放心了,通过越权漏洞这种途径,是基本上不太可能了。

但是,%&!@$^%*

这个地方给大家留个悬念,大家可以自己想下黑产会怎么搞?后续会揭晓哦~

2.2 后台安全分析

后台地址登录处,最开始是没有任何限制的,导致可直接进行口令爆破

使用社工口令、密码进行爆破,未爆破出存在弱口令的账号。

自认为根据自己的经验和陈酿多年的字典生成的口令还是很全面的,所以弱口令这方面基本上也可以排除了。

接口测试

对后台地址 API 接口进行模糊测试,发现所有接口均需要登录之后才能操作,未发现存在未授权访问的接口。

又去舔了下开发小哥哥,一天就完成了短信验证码+图形验证码的登录方案,果然给力,舔的超值!

0x03 主机层安全分析

按照常规的排查步骤走一遍呗,当然也可以编成脚本跑喽,我个人建议分析、排查类的还是一点点仔细看比较好。

这里只罗列一些常规、简单的,具体可以网上搜下排查的点,不在赘述

查看服务器用户,未发现异常账号

查看服务器网络连接,未发现异常网络连接

查看服务器计划任务,未发现恶意计划任务

查看历史登录日志,未发现异常登录IP

查看SSH日志,未发现异常记录

查看开机启动项,未发现异常

查看是否存在SSH后门及密钥文件,未发现异常

查看是否存在动态链接库后门,未发现异常

查看服务器是否存在webshell恶意后门,经确认,未发现异常

所以,主机层也是没啥问题的。

0x04 日志分析

日志分析的点太多了,比如攻击特征、时间维度、接口特征、IP纬度、请求头纬度等,所以这里就不全部一一列举了,大家有兴趣可以一块探讨。

统计IP请求次数,发现未对安全产品进行有效配置,导致访问日志中记录的都是高防的回源IP

统计接口请求,未发现异常接口请求

根据开发文档,模糊匹配相关用户、订单请求日志

根据用户、请求头等排查分析,暂未发现异常情况

0x05 后续分析

经过初步流程分析排查,发现待改善的问题点还是蛮多的,还得继续舔开发小哥哥。

另外,大家有没有发现,上述所有的排查都是笼统的,不是针对某个特殊的点进行的,比如某个用户纬度的日志分析、RDS、后台等。

由于篇幅问题,以及所涉及的面太多了,所以都会留到后续慢慢整理处理,大家一块加油呀!

大爷,赏个铜板呗!