freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

蓝队学习:记录总结监控研判溯源内容及面试题(持续更新中)
凯哥咯 2024-12-18 23:01:19 73175
所属地 广东省

前言

学习网络安全总要记录一下吧,要不然怎么证明自己学过呢!该文章记录了监控研判溯源内容以及面试常问的一些题目,由于本人学习内容有限只能逐步给大家分享相关内容,所以如果分享内容存在误区请大家多多包涵!之后也会持续更新网络安全相关内容,请大家多多支持,十分感谢!(之后可能更新的内容:Web渗透流程总结渗透测试常用工具应急响应流程总结应急响应常用工具基线检查及安全加固......

一、安全监控

安全监控是护网蓝队中最基础的岗位,在实际的工作中一般安全服务/安全运维岗这一块基本是必会的技能,这一块主要是一些安全产品以及相关的面试题!

1、网络安全相关设备及代表产品

(1)防火墙:

  • 监控和控制进出网络流量的设备,可以根据预设规则允许或拒绝数据包(与入口交换机串联部署)

(2)IPS(启明星辰-天清入侵防御系统):

  • 入侵防御系统(与交换机串联部署,对流量进行分析拦截)

(3)IDS(启明星辰-天阗入侵检测系统):

  • 入侵检测系统(并联部署在核心交换机进出的地方,做一个端口镜像,将流量复制一份进行分析检测,不进行拦截)

(4)WAF:

  • Web应用防火墙,专门保护Web应用程序免受常见的Web攻击(部署在DMZ区域的Web区域)

(5)态势感知(奇安信的天眼):

  • 对网络环境进行实时监控和理解,以便能够及时发现和响应安全威胁,将对方的攻击路线展示出来

(6)上网行为管控(深信服的全网行为管理AC):

  • 用于监控、管理和控制用户网络活动,一般企业会使用此类产品便于管理员工的网络行为

(7)堡垒机(飞致云的jumpserver):

  • 用于增强访问控制与安全审计的设备,可以限制和管理用户访问权限、记录和监控用户登录和操作等行为、同时还提供额外的安全保护以及资产管理等功能,运维人员常用

(8)VPN:

  • 虚拟专用网络,主要是为了实现远程加密访问公司内部网络达到远程办公的目的,当然也可以用来实现科学上网

(9)蜜罐(默安的幻阵):

  • 顾名思义,就是一个蜜罐子,将需要防护的系统另外部署一份到蜜罐中,并且可能将其设置的不是那么安全,吸引攻击者对其进行攻击,其实攻击者可能已经被监控溯源了而不自知,从而达到吸引、检测、分析和防御网络攻击的目的

(10)EDR(青藤云的青藤云安全):

  • 端点检测与响应,我个人认为EDR优势在于可以检测横向渗透攻击

(11)APT预警(安恒信息的安恒明御APT攻击预警平台):

  • 用于检测、分析和响应复杂网络攻击,APT攻击通常由有组织的团体发起,目的是长期潜入目标网络,窃取敏感信息或进行破坏活动

(12)防DDOS(绿盟科技的黑洞):

  • 保护网络资源免受分布式拒绝服务攻击(DDOS)的影响,对流量进行清洗,确保服务的可用性和可靠性

2、常问面试题

(1)防火墙与WAF的区别

  • 防火墙是通用型网络防护设备,一般部署在网络流量入口处
  • WAF是Wbe层面的防护,主要保障Web应用程序的安全,一般部署在DMZ区域的Web区域

(2)防火墙、IDS与IPS的区别

  • 防火墙主要是基于规则对网络流量进行访问控制,IDS是用于检测网络流量中存在的威胁并报警但是不进行主动拦截,IPS在IDS的基础上增加了主动拦截功能

(3)你使用过堡垒机吗,叫什么名字,堡垒机的作用是什么?

  • 使用过,叫jumpserver
  • 堡垒机的作用是:增强访问控制与安全审计,可以限制和管理用户访问权限、记录和监控用户登录和操作等行为、同时还提供额外的安全保护以及资产管理等功能

(4)态势感知的工作原理,有没有拦截功能

  • 原理:静态规则匹配,一般都是进行规则叠加更新
  • 有没有拦截功能:态势感知自身没有拦截功能,但是可以和其它设备,比如EDR设备联动进行横向拦截,但是一般不这么做,因为态势感知的误报率太高了!

(5)天眼有什么功能模块

  • 监测中心、威胁感知、分析中心、响应处置、资产感知

(6)天眼的告警列表字段、天眼的攻击结果有哪些、企图和失陷的区别

  • 告警列表字段:受害IP、攻击IP、资产IP、告警类型、威胁名称、攻击结果、威胁级别、攻击次数
  • 攻击结果:失败、企图、失陷、攻击成功
  • 企图与失陷的区别:企图表示攻击者尝试进行攻击,但是暂时没有突破防御机制,失陷表示攻击者已经突破了某些防线,并且已经获得了某种程度的权限

(7)天眼三大功能(三件套)是什么

  • 传感器:对流量进行解析还原,发现网络攻击和Web攻击能力
  • 沙箱:发现恶意样本投递能力
  • 分析平台:存储历史流量,分析威胁和溯源能力

(8)天眼的日志检索功能有哪些模式,高级模式怎么使用

  • 快捷模式:直接填写IP点击字段进行查询即可
  • 高级模式:搜索语句一般由”字段名称“、“项”、“运算符”三大元素组成,例如:sip:"xx.xx.xx.xx" AND dip:"xx.xx.xx.xx"或search sip=10.0.0.0/8 | top 100 dip
  • 专家模式:支持更高级的搜索语法和功能,适用于更复杂的查询需求

(9)天眼中怎么判断文件被上传成功了

  • 首先可以检索Web访问日志,如果存在对该文件的访问记录,并且响应状态码为200或者500,则基本可以认定文件存在,可以直接上机排查对应文件

(10)如果天眼中告警量特别大应该怎么办

  • 首先可以更新规则库,如果告警量还是很大,则可以将记录导出来,然后再进行攻击次数从高到低进行排序,排在前面的放到威胁情报里面看看,或者寻找对应的IP日志,排查是不是攻击,如果是就将IP封掉

(11)天眼设备怎么判断是不是蠕虫,应该怎么处理

  • 如何判断:主要是看源IP是不是一直对外请求一些非法站点或者对内网IP是否存在弱口令扫描、缓冲区溢出、ARP攻击、内网Web等攻击,这种蠕虫攻击一般采用一对多,发送大量数据包,容易造成内网广播风暴
  • 怎么处理:首先通过防火墙、交换机的访问控制策略,对感染主机的访问数据进行控制,以防止蠕虫对其它网段主机进行感染,对已感染的主机从网络上进行隔离。关闭不必要的服务,对存在漏洞的主机打补丁,安装杀毒软件查杀,完成清除后恢复网络和业务。

(12)安全监控的过程中发现最多的告警类型是什么

  • 弱口令攻击、SQL注入、文件上传、命令执行、反序列化

二、分析研判

分析研判属于护网蓝队的中级岗位,需要进一步分析判断流量包是否为攻击,为何种攻击,并执行IP封禁协助溯源等工作,在实际的工作中安全服务/安全运维岗基本也需要会这一块的内容,分析研判大部分内容是分析告警流量特征,学习的内容包括常见的攻击流量特征、攻击工具流量特征、框架及中间件流量特征、Webshell管理工具流量特征等,面试题一般也是问这些流量特征!

1、常见的攻击流量特征

(1)SQL注入流量特征

  • SQL语句关键字:select、where、order by、union、update、delete
  • 系统函数:user()、@@version、database()
  • 特定的数据库函数或者特性:information_schema库(用来获取数据库库名、表名、字段名)、报错注入三大函数(updatexml、extractvalue、floor)
  • 编码和转义:URL编码(%27代表单引号...)、十六进制编码(char(39)...)、ASCII编码(0x27...)等、注释语句--或者#或者/**/
  • 多个或者错误的SQL语句:在一个请求中插入多条查询语句,或者插入格式错误的查询语句

(2)XSS流量特征

  • 请求包中包含各种形式的HTML或者JavaScript标签(如<script>、<img>、<iframe>等)以及弹窗函数(如alert()、confirm()、prompt()),返回包中返回了对应的未被正确过滤的前端脚本语句

(3)RCE流量特征

  • 请求头或者URL中可能会有危险的函数:比如PHP中的命令执行函数如system()、exec()、shell_exec()、passthru()函数、文件操作函数如popen()函数、代码执行函数如eval()、assert()函数,Java中的命令执行函数runtime.getruntime.exec函数等
  • 流量中包含特殊的字符:比如|、||、&、&&、反单引号、>、>>、<、<<等
  • 流量中包含系统命令或敏感文件路径:命令如ls、cat、rm,敏感文件路径如/etc/passwd、/etc/shadow、/var/log等

(4)SSRF流量特征

  • URL参数异常:URL参数指向内网地址或者不应该访问的地址,参数值是内网IP或127.0.0.1或者使用了伪协议(file://、ftp://、dict://、gopher://)
  • 参数值后面存在特殊的字符或者使用编码绕过:特殊字符比如点号、冒号、空格,编码比如URL编码、Base64编码、16进制编码等隐藏或混淆IP地址或者域名

2、攻击工具流量特征

(1)Cobalt Strike流量特征

  • HTTP请求特征:默认使用GET方法向特定URL地址(比如/load、/dpixel、/pixel.gif、/__utm.gif等)发送请求,cookie里面有一个Base64编码的数据
  • DNS请求特征:在DNS请求中,域名可能以特定前缀开头(比如cdn、www6、api等),域名的查询结果可能包含非常规IP地址,这些地址被用于指令传输和心跳检测
  • 心跳包特征:CS的默认心跳间隔是60秒,每隔60秒发送一次心跳包,用来确认被控端是否在线,当然可以在Beacon会话中执行sleep命令来修改心跳间隔
  • 端口特征:CS默认端口为50050,当然这个端口可以通过编辑teamserver文件中的server_port进行修改

(2)Metasploit流量特征

  • 端口特征:MSF数据库默认使用的postgresql端口是5432,MSF默认使用的反向连接端口是4444
  • 数据包特征:MSF数据包中通常包含“meterpreter”、“revshell”等特殊字符串
  • 使用特殊协议:MSF框架通常使用如Meterpreter、Reverse TCP等特殊的协议

(3)sqlmap流量特征

  • User-Agent头特征:sqlmap工具在发起请求的时候,默认的User-Agent中通常包含"sqlmap"关键字,比如sqlmap/1.7.5.2#dev (https://sqlmap.org)
  • 攻击流程具有顺序和规律:sqlmap的攻击流程通常遵循一定的顺序和规律。比如在使用--os-shell攻击时,它会首先测试链接是否能够访问,接着判断操作系统版本,尝试爆绝对路径,指定上传路径,写入一个php文件,找到上传文件的访问路径,上传另一个php文件并执行命令等
  • Payload测试语句模板化:sqlmap使用的payload测试语句往往具有模板特征。比如在盲注入时,它会使用逻辑语句(如and、or)和特定的函数来测试SQL注入的可行性。这些语句在流量中会以特定的模式出现,如尝试让SQL语句报错来发现SQL漏洞,或者使用特定的函数(如@@version_compile_os)来判断操作系统等

3、框架及中间件流量特征

(1)Apache Shiro反序列化漏洞及其流量特征

漏洞原理:

  • Apache Shiro框架提供了记住密码的功能(RememberMe),在用户登录成功后会生成经过加密并编码的cookie,在服务端对rememberMe的cookie值,先base64解码然后再AES解密最后再反序列化,最后导致了反序列化RCE漏洞

Shiro550与Shiro721的区别:

  • Shiro550:由于AES密钥被泄露(密钥被硬编码),攻击者不需要获取真实的rememberMe字段,可以通过密钥重新构造请求,导致反序列化漏洞的产生
  • Shiro721:在该版本中,AES密钥不再是硬编码的了,而是系统随机生成的,但是攻击者还可以利用登录后获取的真实的rememberMe cookie值作为Padding Oracle Attack的前缀,通过构造的cookie值来实现反序列化攻击

Shiro反序列化流量特征:

  • 登录失败:返回包中包含rememberMe=deleteMe
  • 不勾选记住密码登录成功:返回包中set-Cookie包含rememberMe=deleteMe字段,但是后续请求中Cookie不包含rememberMe字段
  • 勾选记住密码登录成功:返回包中set-Cookie包含rememberMe=deleteMe字段以及rememberMe字段,后续请求中Cookie也包含rememberMe字段

(2)Apache Log4j2远程代码执行漏洞及其流量特征

漏洞原理:

  • log4j2的lookup功能下的Jndi Lookup模块未对用户输入进行严格判断,请求了恶意资源导致了远程代码执行漏洞

Log4j2远程代码执行漏洞流量特征:

  • 数据包中包含{jndi:ldap//}字段、响应体中可能存在命令执行的结果(有回显)、可能存在源IP与DNSlog的外联日志记录(无回显)

(3)fastjson反序列化漏洞及其流量特征

漏洞原理:

  • Fastjson在使用autoType功能实例化指定类时会读取@type指定的对象类型到内容,试图把JSON数据反序列化为这个对象,导致攻击者可以通过@type指定比如com.sun.rowset.JdbcRowSetImpl这样的远程命令执行类构造恶意利用链进行攻击

fastjson反序列化流量特征:

  • 个人感觉主要特征就是请求包中包含"@type"、"ldap"、"rmi",还有就是Content-Type字段为"application/json"

(4)Apache struts2命令执行漏洞及其流量特征

漏洞原理:

  • Apache Struts2框架执行了恶意用户传入的OGNL表达式,造成远程代码执行

struts2命令执行漏洞流量特征:

  • 请求参数中包含OGNL表达式,比如"${}"、"%{}",请求包中包含#_memberAcecess,请求参数的值中包含"java.lang.Runtime",该参数值用于执行系统命令

4、Webshell管理工具流量特征

(1)菜刀流量特征

  • 默认Webshell连接密码为caidao
  • 请求包中User-Agent头为百度或者火狐等爬虫标识
  • 请求体中存在eval、base64等特征标识
  • 流量参数中包含z0、z1、z2
  • 建立连接后会发送特定的验证码,比如"knife"、"dadan"等进行验证

(2)蚁剑流量特征

  • 默认的User-Agent头为英文的蚁剑(antsword)
  • PHP类型的Webshell流量请求体通常都以@ini_set("display_errors","0");@set_time_limit(0)开头(通常是URL加密)
  • 响应体通常会进行base64编码,解码后可以观察到攻击行为的payload

(3)冰蝎2.x/3.x/4.x流量特征

冰蝎2.x:

  • 请求体进行了AES加密 + Base64编码,使用的是动态密钥
  • 请求时内置了十几个User-Agent头,每次请求时会随机选择其中的一个
  • 请求的Cookie的格式通常为: Cookie: PHPSESSID=; path=/;

冰蝎3.x:

  • 请求体进行了AES加密 + Base64编码,使用的是固定的连接密钥,AES加密的密钥直接固定为webshell连接密码的MD5哈希值的前16位,默认连接密码是“rebeyond”,因此AES加密的密钥就是“e45e329feb5d925b”
  • 请求时内置了十几个User-Agent头,每次请求时会随机选择其中的一个,通信时可能会频繁使用特定的User-Agent,比如"WOW64"等
  • 请求包中Content-Length为5740或5720(可能会根据Java版本而改变)
  • 每一个请求头中存在Pragme: no-cache,Cache-Control: no-cache
  • 可能会频繁访问默认路由,比如"/con"

冰蝎4.x:

  • 该版本不再有连接密码这个概念,自定义传输协议的算法就是连接密码,与3.x相同的是默认情况下Webshell都有"e45e329feb5d925b"这个连接密钥
  • 请求时内置了十几个User-Agent头,每次请求时会随机选择其中的一个
  • 使用了长连接,请求头和响应头中connection头为"keep-alive"
  • Content-Type字段通常为"Application/x-www-form-urlencoded"
  • 默认情况下有固定的请求头和响应头,请求字节头:dFAXQV1LORcHRQtLRlwMAhwFTAg/M,响应字节头:TxcWR1NNExZAD0ZaAWMIPAZjH1BFBFtHThcJSlUXWEd

(4)哥斯拉流量特征

  • Webshell使用了eval函数以及base64编码
  • 请求包通常以"pass="开头
  • 通常请求包较长,但是响应包长度可能为0
  • 默认的User-Agent字段是Java/版本号,但是可以被修改
  • 最后一个Cookie值的末尾有一个不必要的分号
  • 响应包具有特定的结构特征,结构特征为:md5前十六位+base64+md5后十六位

三、攻击溯源

攻击溯源属于护网蓝队的高级岗位,需要根据攻击者的留下的IP、域名、网站url、攻击样本等信息,定位出攻击者的个人信息,包括攻击者的物理地址、攻击者服务器地址、攻击者姓名、电话、邮箱等信息。攻击溯源分为三大部分:攻击源捕获溯源反制手段攻击者画像绘制

1、攻击源捕获

(1)安全设备报警:扫描IP、威胁阻断、病毒木马、入侵事件等

(2)日志以及流量分析:异常的流量、攻击来源与攻击目标等

(3)服务器资源异常:异常的文件、账号、进程、端口、启动项

(4)计划任务和服务等

(5)邮件钓鱼:获取恶意文件样本、钓鱼网站URL等

(6)蜜罐系统:获取攻击者行为、意图的相关信息

2、溯源反制手段

(1)IP定位技术:通过IP定位物理地址-代理IP

(2)ID追踪术:搜索引擎、社交平台、技术论坛、社工库匹配

(3)网站URL:域名whois查询-注册人姓名、地址、电话和邮箱

(4)恶意样本:提取样本特征、用户名、ID、邮箱、C2服务器等信息

(5)社交账号:基于JSONP跨域,获取攻击者的主机信息、浏览器信息、真实IP及社交信息等

3、攻击者画像

(1)攻击路径

  • 攻击的目的:拿到权限、窃取数据、获取利益、DDOS等
  • 网络代理:国外VPN、代理IP、跳板机、C2服务器等
  • 攻击手法:鱼叉邮件钓鱼、Web渗透、水坑攻击、社会工程等

(2)攻击者身份画像

  • 虚拟身份:ID、昵称、网名
  • 真实身份:姓名、物理位置
  • 联系方式:手机号、qq/微信、邮箱
  • 组织情况:单位名称、职位信息

4、溯源案例

攻击溯源面试题一般就问你做过溯源没有,怎么做的,接下来我就举一个被fastjson攻击的溯源流程案例:

(1)流量监控与日志分析:通过监控网络流量和审查应用服务器日志,发现了异常的JSON请求,其中包含了不寻常的@type字段和dataSourceName字段

(2)识别攻击特征:分析请求中的@type字段和dataSourceName字段,发现它们指向了一个外部的RMI服务,这是Fastjson漏洞的一个典型特征

(3)IP地址溯源:通过WHOIS以及威胁情报平台等对dataSourceName中的RMI地址进行溯源,确定了攻击者控制的服务器IP地址以及其它信息

(4)漏洞验证与复现:在隔离的环境中复现了攻击,验证了漏洞的存在,并分析了攻击触发的流程

(5)漏洞修复及后续行动:为防止再次被攻击,更新了Fastjson库到最新的安全版本,并禁用了autoType功能。同时根据获取到的IP地址以及其它相关信息进行了报警处理

四、总结

以上就是本文章的全部内容了,由于本人现在也在学习过程中现在可能还不太完善,后续可能还会进行添加或者修改,该文章到时候会同步到微博,也欢迎大家提出修改建议!

我是凯哥,我们下一篇文章再见!

# 安全服务工程师 # 攻击溯源 # 网络安全知识 # 安全监控 # 蓝队防守
本文为 凯哥咯 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
凯哥咯 LV.2
我是小凯哦!微博:凯哥咯see
  • 7 文章数
  • 12 关注者
漏洞复现:通天星 CMSV6 车载定位监控平台 disable SQL 注入漏洞
2025-01-11
Linux基线加固:Linux基线检查及安全加固手工实操
2025-01-05
Windows基线加固:Windows基线检查及安全加固手工实操
2024-12-23
文章目录