找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4487

积分

0

好友

585

主题
发表于 2 小时前 | 查看: 5| 回复: 0

0x1 前言

随着为期两个月的护网行动拉开序幕,截止目前已经有多家单位遭受钓鱼、投毒、横向等红队的渗透攻击,上次我们说到 如何做好一名优秀的蓝队(外网篇),本次依然参考 ATT&CK 模型和实质案例来讲述执行、持久化、权限提升这三个核心模块,绘制和分析攻击手法,找到并防御内网带来的威胁。

0x2 执行

攻击手法分析

在执行阶段,我们面临的主要威胁有两个,分别是无文件落地 Webshell(内存马)和实体恶意软件执行。下面将从网络层面来分析可能产生的告警,并对其进行精准打击。

1. 流量挖掘

与外网篇的踩点、渗透不同,执行层面所传输的内容主要是文档、程序、图片、脚本,其告警特征更为明显。我们应当着重寻找上传口,并对上传文件进行审计。

分析指标
1.1 态势感知汇总
目前市面上主流态势感知产品(如微步、深信服态势感知、天眼等)基本都可以通过流量测绘系统中存在的资产和接口,梳理上传接口来对文件进行审计。

态势感知上传接口统计界面

1.2 流量包特征搜索
如果态势感知中不存在该功能,也可以手动根据特征来发现和梳理,以下是一个上传类型的表单示例:

POST /upload HTTP/1.1
Host: xxxx
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryxJoimunuCt1r2RmT
Accept: application/json, text/plain, */*
Connection: close

------WebKitFormBoundaryxJoimunuCt1r2RmT

Content-Disposition: form-data; name="file.exe"

50 4b(方便演示采用了十六进制,真实流量包为ascii字符)
------WebKitFormBoundaryxJoimunuCt1r2RmT

通过对表单进行分析,可以通过以下几个特征搜索上传口:

Content-Type: multipart/form-data; 
------WebKitFormBoundar
name="file"
504b等文件头(十六进制搜索)

沙箱分析
获取了疑似恶意文件后,应先对文件进行打包,避免二次传染。在护网环境中,除了极少数需要深度分析病毒文件的需求外,最常用的方式就是通过沙箱或病毒查杀工具进行扫描查杀。一旦发现可疑行为则直接封禁拦截,可有效节省人工分析时间。以下是一些常用的恶意软件分析网址:

VirSCAN:https://www.virscan.org
VirusTotal:https://www.virustotal.com
NoDistribute:http://nodistribute.com
微步在线云沙箱:https://s.threatbook.cn
腾讯哈勃分析系统:https://habo.qq.com
奇安信威胁情报中心:https://ti.qianxin.com
大圣云沙箱检测系统:https://mac-cloud.riskivy.com

云沙箱文件安全分析报告

2. 防御手法

针对恶意病毒,最好的方法就是“防毒墙+沙箱”的组合。目前下一代防火墙基本都包含了病毒检测功能,最常用的是通过匹配病毒 MD5 值进行拦截,但这种静态匹配效果有限,需要结合沙箱进行动态行为分析。即使没有沙箱,也可通过病毒 MD5、DNS 请求行为、HTTP 请求行为等特征对其进行发现并拦截。

  1. 开启防火墙防病毒功能

防火墙安全策略编辑界面

  1. 配置防火墙防病毒策略

编辑反病毒策略具体规则

  1. 最终防护效果

威胁检测结果显示高危告警

0x3 持久化 & 权限提权

持久化和权限提权这两个模块都是基于主机层面进行攻击,常见的攻击手法有:

利用计划任务 T1542
修改身份认证 T1556
劫持进程 T1574
利用漏洞提权 T1068
容器逃逸 T1611
进程注入 T1055
操纵访问令牌 T1134
.....

因此,我们将这两个模块合并在一起分析其攻击手法及应对措施。

1. 日志挖掘

说到日志挖掘,就不得不提下面这几个工具。在大型企业网络中想快速、高效地发现存在问题的日志,工具是必不可少的。这些工具也是我在应急响应中经常使用的,可以快速帮助安全人员对服务器安全进行检测,节省大量工时。

Linux 推荐工具:LinuxCheck (https://github.com/al0ne/LinuxCheck)

git clone https://github.com/al0ne/LinuxCheck.git
chmod u+x LinuxCheck.sh
./LinuxCheck.sh

Linux应急处置/信息搜集/漏洞检测工具,支持基础配置/网络流量/任务计划/环境变量/用户信息/Services/bash/恶意文件/内核Rootkit/SSH/Webshell/挖矿文件/挖矿进程/供应链/服务器风险等13类70+项检查

Linux 日志虽然非常直观且详细,但人工排查极其费时,LinuxCheck 恰好能解决这个问题。它可以快速扫描日志中可能存在的风险并生成报告。对安全新人也很友好:只需在没有问题的时候先跑一遍脚本,将输出作为基准模板,后续再定期执行脚本进行扫描,将结果与模板进行对比,一旦发现差异,再去重点关注即可。

Linux系统进程与软件检查日志对比

Windows 推荐工具:WindowsLog_Check (https://github.com/Fheidt12/Windows_Log/)

此工具主要实现对windows日志进行分析,主要分为以下功能,

1. 针对常规 登录成功、登录失败、RDP登录、用户创建、服务创建等日志进行分析,判断是否存在爆破、是否有代理登录行为;
2. 针对SQLServer数据库,可分析是否存在爆破,以及开启Xp_cmdshell等记录;
3. 针对域控主机日志分析,是否存在漏洞利用,密码抓取,后门用户等情况,前提为域控主机开启高级策略配置,否则主机不会有日志记录;
4. 分析主机进程,外联,文件是否存在已知恶意的文件或者IP;
5. 分析常用远控软件被控记录,可定位IP和动作;
6. 目前支持离线分析,若针对win2008和win7版本操作系统,只能使用离线分析,因为低版本系统无法运行,winserver 2012也建议使用离线分析,便于查看日志信息,高版本 winserver2016 2019 win10 win11 均可以在主机直接进行分析;

Windows 和 Linux 的日志区别非常大,Windows 自身记录的日志没有 Linux 那么丰富。除了中间件所产生的日志外,Windows 自身只记录一些重要事项,工具也只能将已有的日志进行展示和梳理,更多时候还是需要人工进行研判分析。

2. EDR 部署

除了分析日志,EDR 是最直接、也是最有效的主机安全防护工具。以上提到的所有日志告警或可疑操作,都会被 EDR 发现并阻拦。

主机安全监控系统日志分析

3. 权限收拢

提权也好,维持权限也罢,其核心过程都需要文件或文件夹具有执行权限。只要避免权限过大,就可以规避一部分提权或执行操作。

系统文件监控与防护配置

建议配置的目录及权限示例如下:

/var/www(类似网站目录) 允许读取、其余禁止
 /var/www/upload(类似文件存放目录) 允许读取、创建、写入、重命名,其余禁止
 /etc/passwd(敏感信息文件) 仅允许读取
 /bin/bash(程序文件夹) 该操作需通过EDR进行禁止,在非运维、登录期间禁止执行
以此类推...

0x4 内存马专项

这里重点针对无文件落地的情况,也就是内存马进行分析。内存马是无文件攻击的一种常用手段,随着攻防演练热度越来越高,攻防双方的博弈也越发激烈。流量分析、EDR 等专业安全设备被蓝方广泛使用,传统的文件上传 Webshell 或以文件形式驻留的后门越来越容易被检测到,因此内存马的使用也越来越多。

内存马检测工具推荐:arthas (https://github.com/alibaba/arthas)

`Arthas` 是Alibaba开源的Java诊断工具,深受开发者喜爱。

当你遇到以下类似问题而束手无策时,`Arthas`可以帮助你解决:

0. 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
1. 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
2. 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
3. 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
4. 是否有一个全局视角来查看系统的运行状况?
5. 有什么办法可以监控到JVM的实时运行状态?
6. 怎么快速定位应用的热点,生成火焰图?
7. 怎样直接从JVM内查找某个类的实例?

Arthas JVM实时监控诊断界面

arthas 是一款功能强大的监控诊断产品,可以通过全局视角实时查看应用 load、内存、GC、线程的状态信息。我们可以利用该工具对内存马进行排查和分析。如果攻击者隐藏得比较深,甚至可以将所有的类都反编译导出来,然后逐一排查。

Java 大杀器 - RASP

随着 Web 应用攻击手段变得愈发复杂,单纯基于请求特征的防护手段已经不能满足企业安全防护的需求。Gartner 在 2014 年提出了应用自我保护技术(RASP)的概念,即将防护引擎嵌入到应用内部,不再依赖外部防护设备。OpenRASP 是该技术的开源实现,可以在不依赖请求特征的情况下,准确地识别代码注入、反序列化等应用异常,很好地弥补了传统设备防护滞后的问题。

OWASP TOP 10 覆盖说明与检测能力

来源:百度 OpenRASP 官方检测能力说明

RASP 与 WAF 的本质区别在于拦截方式不同。WAF 主要以语义引擎和规则引擎为主,而 RASP 则是从行为上进行拦截,这大大提高了对反序列化等攻击的防护效果。

OpenRASP 官方测试用例集合

0x5 总结

以上给大家总结了几种针对内网攻击的防御方法和发现手段,和之前的外网篇一样,这些方法肯定不可能适用于所有场景。比如遇到没有 EDR、业务方不给配置、没有沙箱等种种困难时,我们更需要另辟蹊径,在现有设备的基础上发挥其最大价值,开出绚丽的防护之花,共勉!




上一篇:AI 创业实验:买假用户、内存崩溃,烧3亿Token零收入
下一篇:Agent Skills + MCP:构建智能Azure文档助手(附源码)
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-8-3 09:06 , Processed in 1.160295 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表