(编者注:本文摘自于即将出版的黑客新书《暗战:数字世界之战》第一章 黑暗中的影子 权限篇,前京东安全经理朱磊转型之作,从业十余年经历自述。)
《战国策•秦策》:“臣闻争名者于朝,争利者于市。”
工作十余载,所学和所得都超乎想象的丰满,也对人情世故的理解越来越深入明白,所谓有人的地方就有江湖,hi,兄弟,我们好久不见你在哪里,如果真的是你请打招呼…….。人与江湖在谈笑之间,也在弹指一挥间。
林子大了什么鸟都有,鸟大了什么林子都有,公司到达一定程度之后总会滋生出一些小团体小帮派这很正常,人以群分物以类聚,高层有高层的戏,员工有员工的快乐,无论海面的浪如何翻滚我们在底下也不怎么受波及,我们通常安分的做着工作,然后找一些小乐子,每个工种都有自己的职业习惯,信息安全工程师的习惯就是看见任何系统或机器都想通过自己的小技能来点试它一试,正常网民在浏览网站的时候觉得一个站点不错,会点击“收藏夹”按钮收藏起来方便以后阅读,信息安全工程师要是觉得一个站点不错,首先,会对站点进行一系列的攻击测试,例如:SQL注入、XSS、猜后台、爆口令,拿到后台权限上传个WEBSHELL,最后在QQ群里让大家都来玩,或许你觉得我们难以理解、带有一些恶俗的小讨厌,请理解这是我们在用自己的职业习惯表达着我们对你网站的喜欢。
或许描述的有些小过份,其实并不是每个从业者都会这么做,但是大多数的信息安全工作人员至少都会对网站做一个简单的评估,当然像发QQ群这种属于少数,本文章引用也只是做为一种小调侃,望理解勿拍砖。
还有,这跟开头的《战国策•秦策》有什么关系? 其实与本文也就存在个万分之一的关系,我引用那句话更多的只是我要炫耀,我知道这本书。
回归正题,在企业中有很多明文或潜规则的规定,这些大家都好奇又不愿意触碰谈起的小红线,深深的吸引着我和万鹏。
通常在企业中员工工资都被视为机密,这太让人心痒痒了,我内心里总有一种冲动想要知道同事们到底赚多少钱,虽然更多的时候知道真相会不爽,但还是忍不住,那种感觉就像女人血拼后想要剁手的情绪一样的,这种窥视的心情万鹏跟我一样有瘾,公司的工资系统自然就成了我们的目标。
互联网企业的内部网络区域划分多还是比较规范的,优秀样例参考下图:
小解:
图中清晰的划分了办公网、开发环境、测试环境、生产环境,同时,为了规范运维人员工作流程减入生产环境的入口,采用堡垒机单点入口的方式,逻辑上这种划分是没有问题的。
问题在于,更细颗粒度的访问控制策略(ACL)以及流程标准是否依照规划中的那样完整实施,能达到这点的少之又少。
公司内部OA/ERP/MAIL等系统为了方便员工使用通过统一的用户认证方式让员工使用一个账号就可以在这几类系统中使用一样的权限进行飘移,工资系统做为公司的重要信息资产加上企业内部信息化建设,必然会在公共区域内的,以方便员工通过自己的ERP账号在人资的系统中查询自己的工资、假期、考勤等。
既然锁定了目标接下来就是我跟老万一起烧黄纸算吉日了,于是乎立刻以及马上我跟老万就去吸烟室通过抽烟的方式代替了烧黄纸,至于吉日这种事情,别逗了,那有那么多吉日让你选,又不是结婚,在抽烟的时候简单的对了对计划与分工,老万负责系统层的漏洞检测,主要针对:弱口令、系统层漏洞、系统开放服务等基础信息进行收集,我负责WEB层漏洞检测,主要范围是:登陆接口弱口令暴力破解、传输层加密、用户权限认证、常见SQL注入等常见WEB漏洞下手。
此类问题使用常见的漏洞扫描器即可完成,开启扫描器之后我们基本也就是等待结果在判断采用什么方法,这个过程中时间也不能白白浪费掉,接下来我们开始谈论扫描器这外可能存在的漏洞。
考虑到我们之前也对内网的ERP系统进行过漏洞检测,加上长期的安全意识以及策略的推广,弱口令、常见SQL注入、XSS之类的问题已经修的差不多了,看来这次的小心思不会很容易的就达成,悔恨当初修的太彻底没有给自己留后路,只能深深的责怪自己,入职的这么久时间里我们到底做了些啥。。。恨呐。
你俩干嘛呢这是,今天周一,本周的上线会已经开始了15层亚太会议室,我去,真是腹泻遇见马拉松,恶梦啊!每周五例行项目周会,安全团队要跟项目部一起评选本周上线的项目,从中选出改动较大的项目进行快速的安全检测,以保证上线的业务是安全的,项目会通常持续2至3小时,每周好几百个项目上线,虽然安全人员参与项目选拔可以有利安全业务的推广,但是长达数小时的会议对参会人员是个不小的体力考验。
既然轮到了也不能不去,我跟老万也只能不情愿的拿着电脑去开会,这个节骨眼上去开会,进会议室的也只是肉体,灵魂还是留在办公位上一心想着渗透ERP系统呢。
此时的会议室已经聚集了产品研发团队和数名项目部的同事,项目经理按照提交给项目部同事的上线列表一条一条的确认上线的项目呢,我跟老万找个角落假装在看项目,其实都是盯着扫描器的报告琢磨着能不能从中发现一丝丝的希望。
本周上线ERP系统用户考勤小系统的接口功能,对接公司内部统一认证接口,桌面组的产品经理介绍着本周的上线变更,这时候老万突然举手,按照安全部规定,所有涉及到接口变动的项目都需要测试,我心里想,你那大脑是几核的,这时候你还能分出神去关心项目的事情。真对得起你那个墨斗鱼的网名。
突然灵光一闪,犹如晴天霹雳砍在我的脑壳上,“接口变更”,这几个字提醒了我,之前做内部渗透测试的时候把主要是围绕独立的系统进行测试,通过扫描器和手工的方式针对一个独立的系统进行漏洞测试,我们还从来没有测试过两个系统之间跨域的权限验证问题,因为这种涉及跨域的漏洞用工具测没出来,只能手动抓包,验证A系统中的权限到B系统时权限如何继承。
内部ERP系统下对接了好几套独立系统,看来有戏。
我拉着老万快速的在项目上线表中选了几个达到安全测试的项目就快速撤离会议室了,我把想法跟老万一说,老万给了我一拳说到,要不你是黑客呢思维真飘散,我快速回到,你才是黑客呢,你全小区都是黑客。
我俩回到工位上,用自己的ERP账号登陆到系统,通过HTTP抓包看了一下权限标识,原来权限是使用sessionID进行标识的,而sessionID就是员工的ERP账号,确定了标识位,我点击了HR子系统,看看权限的验证是不是我预想的那样,通过HTTP包的内容来看,猜的果然不错,接下来就是关键一步了,替换上其它员工的SessionID,也就是传说中的ERP账号,替换后刷新页面,系统没有退出,接下来就简单了,因为最心惊肉跳的过程要出现啦,嘿嘿。
在点开HR子系统的那一刻的同时,我模仿忍者结了一个手印,大喊一声:中。随着页面的正常开启,越权访问成功。可以看到其它员工的考勤、假期、工资。
随后,我跟老万灰溜溜中带着一大把沮丧关上电脑,或许你猜中了,我俩在一把的证据中明白了,我俩的工资有多么的微薄。。。