我的红队回忆录

文摘   科技   2023-10-29 02:26   上海  

哈喽,正在看这篇文章的大家最近还好吗。

看到这篇文章的时候,我已经在红队离职的流程中,或者已经离职进入职业生涯的下一个阶段了。我们好像一直在说程序员有35岁危机,好像只有程序员才有危机,其实攻击队们的职业寿命可能更短,周围三五年红队工作经历并且还在继续的师傅已经很少了,而对我来说这个数字是一年半。大家经常会看到一个红队特有的现象,很多师傅离开的原因通常是年纪增长身体吃不消了,实际上他们也就25岁上下。离开的原因可以有很多,可能是每个项目需要重新证明自己能力的心累,可能是接连而来熬不完的夜,可能是大大小小无数次演练狂欢以后戛然而止的寂静落寞。最后他们总会挑一个风和日丽的下午,披上一件大衣出门,消失在冬日的阳光里,再也不会回来。写个简单的回忆录,跟大家聊聊普通红队一年半的感受,还有离开的原因。晚上写的比较乱,见谅。

先给新来的同学科普一下红队,圈内有句很有名的话叫“未知攻,焉知防”,红队就是那群负责攻击的人。红队是由一群合法、经过授权的黑客团队,模拟真实的黑客攻击,通过多种手段,如漏洞利用、社交工程和恶意软件,来测试系统的安全性。旨在发现系统中的潜在弱点,评估现有的安全措施,并提供改进建议。我经常给我爸妈亲戚举例子解释我的工作,如果程序员一行行敲代码来实现功能可以理解成一块砖头一块砖头搭房子,那我的工作就是检查搭建好的商店能不能不付钱拿到商品,能不能不用钥匙进入大门,能不能在废弃纸篓犄角旮旯拿到商店客户的信息,能不能绕过监控保安和狗进入卧室。这样的漏洞与其被恶意的攻击者利用造成损失,不如让专业且合法的攻击队模拟黑客攻击,提前发现并修复漏洞。生涯中比较风光的时刻,大概是像一个真正的黑客,大概是从只知道目标名,到如入无人之境。明明是一个新手萌新,最后去大公司安全部门给二三十个人解读攻击报告。

说起黑客团队,进了圈子才知道互联网盘古开天时期也有很多热血故事,很多红队人员一腔热血大概也源于这里。最热血的大概是盘古开天时候中国黑客红盟因为五八事件,单凭一腔热血和最基础的DDOS人海战术让白宫官网沦陷,攻下很多政府网站。少年行侠更仗剑,何惜囊中沽酒钱。很多当时的截图已经非常模糊,但是为了抒发自己心中愤懑不平,抱着最老式台式机用拙劣的方式退出又进来去攻击A国网站的画面好像还是历历在目。侠之大者,为国为民。早期的国内黑客世界也像一个路见不平,拔刀相助,惩奸除恶,快意恩仇的江湖。前两天看到一篇文章《中国黑客关系图》仍然热血。只是这种自发的民间的攻击行为又太像江湖草莽,不利于维护的国际形象,终究是不值得提倡的,已经被取缔终止了。

说来可笑,现在网上反而冒出来一批顶着过去热血黑客们头衔,带个面具装神弄鬼故作玄虚的人。

红队的日常工作,通常是被企业授权、点到即止的合法行为。和Moba类竞技游戏里五个位置各司其职一样,红队通常也是团队协作分工明确,有人负责木马免杀绕过杀软,有人负责社工钓鱼、有人负责信息收集、有人代码功底好擅长外网突破、有人擅长内网横向。专业一点的团队还配有代码审计,武器开发。团队内相互协作,相互信任,取长补短,最终拿下目标会感觉到前所未有的成就感。在比赛名次落后的情况下,下班前给在忙其他项目的同事发了一个自己没利用成功的薄弱点,第二天早上起来发现给我发了个利用成功的webshell,这大概是工作中最大的惊喜。那时候是我最能直接感受到自己不是孤军奋战,自己背后也是有一个团队的啊。下面两张图,相信同行师傅可以体会当时的心情,也会发出跟我一样的语音。

知己相逢显神技,一剑成名天下闻。团队中如果有一个个人能力很强的队友,是完全可以靠他一个人carry全场改变局势的,大概就是团队合作中的个人英雄。比如某次PK项目,某友商有个个人能力很强的队长,据说一个人打出局二十几个目标,后半场他没参与之后队伍的比分基本没怎么变化。一起做过项目的很多实验室大佬的个人能力都很强。个人英雄的背后是对工作的热爱,多年积累的精湛攻击技术,深厚的代码功底和牺牲自己睡眠休息熬夜攻坚,这类人在技术为王的行业里是非常被人尊敬的。

但是渐渐发现团队协作里自己也有很倔强的时候,先说一个知乎看到的某个5.5w高赞故事。大意是一个小镇做题家考到上海某高校的研究生,在研二认识了后来富二代老婆。毕业后的他被分到了某个国企,但墨守陈规的他后来十几年都没什么起色。中间他老丈人想要帮他疏通关系升职,但是他都拒绝了,最后又因为过于平平无奇不被尊重重视选择了离婚。有人说他矫揉造作,多少有一点。我也很不理解他的偏执,自家人顺水推舟的事情有什么好不接受的。后来翻评论区看到他本人的解释又感觉能够理解他的心情,“如同别人给你买了双跑鞋,往后你所有走过的路,都有他的一份功劳。”很多PK项目或者攻防演练里我的状态也很相似,队友率先打点突破进入目标内网以后照例我也该进内网刷分扩大成果,但是如果时间充裕总会倔着在外面打点。一是如果不是域内突破拿下DC,有口子刷分的事情技术含量不高。我感觉不到自己存在的意义,好像没有我这个项目也能正常进行。二是就像这个知乎回答说的,即使我在内网有所成果,我所走过的每一步都有别人的功劳。比起这个如果可以的话,我更愿意打一个自己的点。所以有时候一个普通的项目容易比其他人承受更大的压力,经常一个队员的身份操着队长的心,在经常需要演练PK证明自己的背景下,这也是我离开的原因之一。

我记得今年国H开始的很匆忙,一夜之间上百一线攻击队员从全国各地奔赴北京,场面蔚为壮观。小有遗憾的是今年我没去红方,在去年相同的公司的蓝方研判防守。演练是轰轰烈烈开始的,有启动会鼓舞士气,有演练预习,监控、研判、溯源、处置几十个人分工与流程明确各司其职。早十二小时晚十二小时轮班,每晚八九点和每天早上会开会复盘,严阵以待。顿顿五菜一汤、喝不完的红牛和两点的烧烤夜宵,好生招待。只要守得住攻击,我们就是甲方眼里的安全专家。可在我熬完第十五六个白班和通宵之后,演练结束了,总好像是突然结束了,几十个人一起拍了合照切了蛋糕。那一秒以后的漏洞攻击、钓鱼邮件不会有人关注。第二天就不用再来这里值守了,通宵熬夜和夜宵也没有了。大屏幕上如往年一样播放着倒计时,守住没被打出局全场欢呼,各友商买了很多蛋糕、榴莲、奶茶,好像是完成了某件了不起的大事。所有人都在庆祝,好像没我们不行,但又好像跟我们什么关系都没有。突然会有一种“诶,我怎么在这,在庆祝什么”,我们被裹挟着凑了一个跟我们关系不大的热闹。我很不喜欢这种稀里糊涂感觉,这大概也是我离开的原因。

从创建这个公众号开始,陆陆续续有五六个大学生后台问我红队的学历需求和就业前景,我回答总是“红队现在仍然是一个对学历要求较低,只看技术众生平等的好时代”。但是不可否认红队的道路正在逐渐狭窄,技术要求也逐渐提高。刚开始的渗透服务,可能只是几天时间渗透一个Web系统,有几个漏洞产出就能交差。后来要求提高你APP要会渗透,小程序要会渗透。后来服务提升变成一周对某个公司所有暴露资产进行攻击的红队项目,需要拿下服务器权限进入内网才能证明危害。再到后来变成半个月时间对某个地区的上百个有防守的目标单位进行攻防演练,需要打穿好几家才能保证成绩不难看,从证明一个红队的能力变成几个红队之间的较量。更夸张一点就是为了排名好看,比的是背后各厂商投入的红队资源多少,内卷就出现了。一个红队项目的价格没有上去,人天投入越来越多。红队越来越变成卖力赚吆喝,后续的合作才是重点。如果缩句用的好,我的攻击成果甚至不是为了提升企业的安全,而是为了后续的商业合作。一个技术的安全江湖,慢慢变成人情世故的江湖。另一方面让道路边狭窄的其实是红队人员自己,大量攻击工具的开发方便了攻击人员的同时也降低了行业门槛和一部分人的竞争力,漏扫工具的开发最终赶走了之前做漏扫的人,自动化攻击工具如BAS的开发常常是红队相关人员,最终BAS取代的也可能是他们自己。当简单的工作被取代,明显的漏洞被工具发现,未来留给红队的路想必会更加艰辛。

还有生活的缺位,我很早就意识到自己工作以后生活的缺位。“未知攻,焉知防”了解攻击是为了更好的防御,我一直觉得防御才是我职业生涯的终点。所以我把红队看作人生中的一个过渡阶段,而不是生活本身。就像我觉得我不会一辈子当学生所以读书只是一个过渡阶段,总是想着等这段时间过了换一个全新轻松的环境生活才会真正开始。就像金庸笔下在西夏争驸马时候慕容复说的话,大意是“我的快乐不是现在,而在将来”。

我很喜欢法斗,有一天养猫的朋友问起我为什么现在不养狗,在等什么。其实那一秒我也不知道自己在等什么,我只是潜意识否定现在想着未来可能会更合适。近两年的经历告诉我,我所期待的未来是没有尽头的,“等考完试就好了”,“等毕业了就好了”,“等找到工作就好了”,“等有技术就好了”,“等考完CISSP就好了”,每一个我认为的过度时刻结束就进入了下一个过度时刻。所幸接下来时间应该会变的慢一点(希望是),也可以低头看看生活了。

就用艾弗里德·德索萨的一句话作为这篇回忆录的结尾。“很长一段时间,我的生活看似马上就要开始了,真正的生活,但是总有一些阻碍阻拦着,有些事得先解决,有些工作待完成,时间貌似够用,还有一笔债务要去付清,然后生活就会开始。最后我终于明白,这些障碍,正是我的生活。”

    后续还会继续发一些其他师傅投稿的攻击文章,和我视野能触及的甲方安全。那么我先走了,大家也早日找到自己的生活。

云下信安
再溯源就不礼貌了