乐于分享
好东西不私藏

DSH的reverse插件

DSH的reverse插件

1、https://github.com/dhicoc/dsh-reverse-skill

2、首先,来常规地看下一个恶意pcap包的解析:

3、现在,我们用DSH来分析这个恶意流量包:

shell.pcap 危险动作取证分析报告

1. 保全与基本信息

案件编号
CASE-2024-SHELLPCAP-001
分析模式
只读取证 / 溯源
原始文件
shell.pcap
文件大小
13,641,703 bytes (~13.0 MB)
SHA256
C71B76BE434E5C6995CA942DC8F531ADC14E7B255B0646E365899F881CA3D5E7
捕获接口
未知 (libpcap/WinPcap)
目标主机
192.168.31.168:8081
攻击源主机
192.168.31.190
 (Windows, Chrome/104.0)
监控终端
192.168.31.13
 (Apple AirPlay/mDNS)
内网探针
192.168.31.168 → 10.10.10.10
 (持续 ICMP ping)
时长
约 309 秒 (~5 分 9 秒),攻击高度密集

注意:原始 PCAP 保持只读,仅导出 HTTP 对象副本至 http_export/ 供进一步检视。


2. 网络流量宏观统计

2.1 协议分布

协议
帧数
备注
TCP
133,957
主流量通道
IPv6 TCP
包含 IPv6 节点
UDP
2,295
含 mDNS、SSDP、LLMNR、LSB、NBDGM
ICMP
330
目标向内网 10.10.10.10 持续 ping
ICMPv6
406
IPv6 邻居发现与路由器通告

2.2 HTTP 统计(总 1,320 个 HTTP 包)

请求方法
包数
GET
470
POST
121
SEARCH
110
PUT
8
HEAD
2

2.3 HTTP 响应分布

状态码
包数
含义
404 Not Found
524
大量路径扫描/暴力探测
400 Bad Request
36
畸形/部分被拦截的漏洞利用
200 OK
39
成功利用/数据外泄
201 Created
3
成功创建资源
 (如用户、文件)
409 Conflict
5
部分条件冲突 (如重复创建)
403 Forbidden
2
被部分拦截但存在其他绕过

关键结论:42 个 2xx 成功响应、且大量 Web 中间件指纹均表明目标正在遭受自动化渗透测试/红队攻击。


3. 危险动作详细清单(按攻击链排序)

以下列表按出现时间(PCAP 开始后相对秒序)排列,风险等级:Critical / High / Medium / Info

阶段 1:侦察与指纹识别(High/Info)

时间(s)
方法
URI / 动作
风险
说明
0-20
多帧
GET
/
/admin//services/jars
Info
JBoss/WebLogic 服务枚举
0-20
多帧
GET
/nacos/
/kylin/api/admin/config/druid//actuator/
Info
中间件指纹识别 (Nacos, Kylin, Druid, Spring Boot Actuator)
0-20
多帧
GET
/jbossmq-httpil/HTTPServerILServlet
/certsrv/certrqad.asp
Info
JBoss/AD CS 服务探测
0-20
多帧
M-SEARCH
239.255.255.250:1900
Info
SSDP/UPnP 设备发现
0-20
多帧
GET
/sql.zip
/manager/radius/
Info
备份文件探测
0-20
多帧
SEARCH
多路径
Info
WebDAV 方法探测 (110 次)
0-20
多帧
GET
/plug/oem/AspCms_OEMFun.asp
Info
AspCMS 探测
0-20
多帧
GET
/?unix:
 + 超长 AAAA 字符
High
Log4Shell/表达式注入
 载荷测试 (http://baidu.com/api/v1/targets)
0-20
多帧
GET
catalog-portal/ui/oauth/verify?error=&deviceUdid=...
High
Freemarker 模板注入
 → Freemarker Execute
0-20
多帧
GET
/?q=user/password&name[#post_render][]=printf...
High
Drupal RCE
 (CVE-2018-7600/7602 变体)
0-20
多帧
GET
/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php
High
PHPUnit RCE
 (CVE-2017-9841)
0-20
多帧
GET
/debug/pyspidervulntest/run
High
PySpider 调试接口 RCE
0-20
多帧
GET
`/?unix:......
http://192.168.31.168/api/v1/targets`
High
0-20
多帧
GET
/actuator/gateway/routes/injrwoke
High
Spring Cloud Gateway RCE
 (CVE-2022-22947)
0-20
多帧
GET
/cgi-bin/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/etc/passwd
High
Apache HTTPD 目录穿越
0-20
多帧
GET
/cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/bin/sh
High
CGI-Bin RCE
0-20
多帧
GET
/wls-wsat/CoordinatorPortType
High
WebLogic WS-AT 反序列化
 (CVE-2019-2725)
0-20
多帧
GET
/%24%7B...%7D/
Critical
Confluence/S2-045 OGNL RCE
 (OGNL 表达式直接执行 id)

阶段 2:Webshell 上传与部署(Critical)

时间(s)
方法
URI
风险
说明
19.65
131619
POST
/
 multipart
CriticalStruts2 S2-032 OGNL RCE
。解码后 payload:cat /etc/passwd,成功读取 /etc/passwd
20.11
132106
POST
/services%20/WorkflowServiceXmlCriticalWebLogic XML 反序列化 RCE
。Payload 为 Java 序列化恶意类(基于 Commons BeanUtils + Xalan TemplatesImpl)。解码后包含:<br>out.print("1978073339"); new java.io.File(application.getRealPath(request.getServerPath())).delete();%><br>即:执行命令 + 删除服务器端文件 (痕迹清理/破坏)
20.15
132175
POST
/mgmt/tm/util/bashCriticalF5 BIG-IP TMUI RCE
 (CVE-2020-5902)
20.16
132180
POST
/mgmt/tm/util/bashCriticalF5 BIG-IP TMUI RCE
 (第二次)
20.50
132654
POST
/.%0d./.%0d./.%0d./.%0d./bin/sh HTTP/1.0CriticalApache HTTPD CGI 路径穿越 RCE
 (CR 注入绕过 WAF)
20.56
132760
POST
/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.phpCriticalPHPUnit eval-stdin RCE
 (CVE-2017-9841)
20.58
132781
POST
/debug/pyspidervulntest/runCriticalPySpider 调试接口 RCE
31.36
134120
PUT
/hello.jsp/
 (9,494 bytes)
Critical上传 JSP Webshell
hello.jsp。导出文件:hello(1).jsp (加密/混淆 payload)
31.36
131691
PUT
/fileserver/elltvj.txt
Critical
上传小型 webshell
31.36
133190
PUT
/tbppwt.jsp/
Critical
上传 JSP webshell
31.36
132346
PUT
/xikdbr.txt
Critical
上传文本型 webshell

阶段 3:权限维持与后门(Critical/High)

时间(s)
方法
URI
风险
说明
20.50
132645
POST
/extdirectCriticalExtDirect JSON RCE
 (Sencha/ColdFusion 等)。decode 后 payload 含大量 JSON 配置与命令
20.53
132712
POST
/nacos/v1/auth/users?username=ijk...&password=...CriticalNacos 未授权创建管理员账号
。导出文件:users%3fusername=ijkvfnifhckmbehb...
20.50
132645
PUT
/_users/org.couchdb.user:mabxixlwbjnlyfhbo...CriticalCouchDB 未授权用户提升
。创建超级用户
20.40
132497
POST
/_ignition/execute-solutionCriticalLaravel Ignition RCE
 (CVE-2021-3129)

阶段 4:文件上传与数据外泄(Critical)

时间(s)
方法
URI
风险
说明
20.25
132324
POST
/fileDownload?action=downloadBackupFileCritical主动拉取服务器备份文件
。导出文件:(无前缀文件)
20.11
132106
POST
/services%20/WorkflowServiceXmlCritical
其中 payload 含 delete() 清理指令。但随后继续发送 WebLogic T3/XML 反序列化 + 文件下载
20.99
133324
POST
/wls-wsat/CoordinatorPortTypeCriticalWebLogic WS-AT CVE-2019-2725
。1570 bytes SOAP/XML 反序列化
POST
/webtools/control/xmlrpc
 (132766, 132781)
CriticalApache OFBiz XML-RPC 反序列化
 (CVE-2024-32295 等)
POST
/plus/weixin.php?signature=...
High
微信插件/XXE
 利用
POST
/cu.html
/menu/stapp/pcidss/report?...username=nsroot
High
Citrix/PCI-DSS 漏洞利用
POST
/mgt/tm/util/bash
Critical
F5 BIG-IP 已确认 RCE
PUT
/_snapshot/mcak
High
Elasticsearch 快照劫持
POST
/api/v1/canal/config/1/1
High
Canal 配置读取
POST
/directdata/direct/router
High
路由器 JSON RCE 尝试
POST
/webadm/?q=moni_detail.do...
High
深信服 SSL VPN/CSSP 接口
POST
/api/edr/sangforinter/v2/cssp/slog_client?token=eyJtZDUiOnRydWV9
High
深信服 EDR 接口
POST
/me browser/WorkflowCenterTreeData.jsp
High
泛微 WorkflowCenter 数据遍历

阶段 5:数据外泄成功(Critical)

通过 http_export/ 恢复的敏感下载文件(均返回 HTTP 200):

导出文件名
类型
说明
WorkflowServiceXml
XML
WebLogic 反序列化 payload + 删除指令
root.tar.gz
归档
服务器根目录打包
wwwroot.tar.gz
 / .zip / .rar / .7z / .gz / .db
归档
Web 根目录多种格式压缩包
backup.tar.gz
 / back.tar.gz / beifen.tar.gz / admin.tar.gz
归档
备份文件
package.tar.gz
 / .zip / .db / .gz
归档
应用包
database.sql
 / .zip / .rar / .7z / .db / .bak / .tar.gz
数据库
完整数据库备份
 (含多格式)
192.168.31.168.rar
 / .sql / .zip / .bak / .7z / .gz / .db
命名备份
以目标 IP 直接命名的备份文件
mysql.sql
 / localhost.sql / db_backup.sql / translate.sql
SQL
SQL 转储
hosts
nodesGetDevicegetusernodes
JSON/文本
内网/设备信息枚举
passwd(7)
passwd(8)passwd(6)passwd(11)
/etc/passwd
系统凭据文件 /etc/passwd 下载
whoami
文本
当前用户身份确认
bash(1)
bash(2)bash(3)
文本
远程 bash 命令执行结果
L2V0Yy9wYXNzd2Q=
Base64
/etc/passwd
 (Base64 编码外发)
L1dpbmRvd3Mvd2luLmluaQ=
Base64
/Windows/win.exe
 (说明多操作系统/多跳)
cert_download.php
certrqad.asp
证书
CA 证书请求/下载
 (AD CS 相关)
sslvpn_websession
会话
SSL VPN Web 会话劫持/窃取
autodiscover(1).xml
 / Autodiscover.xml
XML
Exchange AutoDiscover
 (ProxyLogon 类利用)
ReportServer%3fop=chart&cmd=get_geo_json...
XML
SSRS/SQL Server Reporting Services 配置读取
config_db.php
datasourceCtp.propertiesvcdb.properties
配置
数据库连接字符串/密码
swagger-ui.html
swagger.jsonswagger.yamlswagger(1).json
API
Swagger/OpenAPI 文档
service/extdirect
 / extdirect(1)
JSON
Sencha ExtDirect API 接口 + 可能的命令执行结果
index.php%3fs=captcha
login(1-6).phplogin.cgi
HTML/PHP
各类登录页面 / 验证码绕过接口
hello.jsp
 系列
JSP
加密 JSP Webshell
 (7 个变体/重传)
xjss
 / xikdbr.txt / elltvj.txt
文本
小型文本型 WebShell

阶段 6:横向移动与内网侦察(High/Medium)

时间(s)
方法
URI / 动作
风险
75-300
多帧
ICMP
192.168.31.168 → 10.10.10.10ICMP ping 内网横向探测
20.11
132106
POST
/services%20/WorkflowServiceXml
通过 WebLogic SSRF 尝试内网访问
20.50
132645
POST
/extdirect
ExtDirect JSON 中可能含内网探测
GET
/cgi-bin/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/etc/passwd
Linux 服务器文件遍历
GET
/getcfg.php
/cgi-bin/mainfunction.cgi
路由器/设备配置读取 (D-Link 等)
GET
/?q=node&destination=node
/?q=moni_detail.do...
Drupal / Nagios 接口

4. 关键 Payload 取证解码

4.1 Struts2 OGNL RCE (帧 131619)

接收端:/api/v1/user/login编码:multipart/form-data解码后核心 OGNL 表达式:

ognl

复制

${request.map=@org.apache.commons.collections.BeanMap@{}).toString().substring(0,0) +($request.map.setBean($request.get('struts.valueStack')) == true).toString().substring(0,0) +...application.get('org.apache.tomcat.Instantiator').newInstance('freemarker.template.utility.Execute').exec({'cat /etc/passwd'})}
  • 结果
    :读取 /etc/passwd 成功(导出 7 份 passwd 文件)。

4.2 WebLogic Java 反序列化 (帧 132106/132188)

接收端:/services%20/WorkflowServiceXml协议:SOAP/XML解码后核心机制:

  • 使用 org.apache.commons.beanutils.BeanComparator
  • 使用 com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl
  • Class bytecode 属于 ysoserial 风格序列化 payload
  • 包含 Ljava/lang/Runtime;getRuntime()execProcessBuilder

附加副作用(解码后明文可见):

java

复制

out.print("1978073339");new java.io.File(application.getRealPath(request.getServerPath())).delete();
  • 结果
    :执行恶意代码 + 删除服务器端文件。

4.3 加密 Webshell hello.jsp

tshark 导出文件:hello(1).jsp ~ hello(7).jsp格式:{"SjIHRC7oSVIE":"<Base64密文>"}

  • 结果
    :已上传 JSP Webshell,后续在 88.4s、139.3s、143.8s、259.7s 四次调用 (POST /hello.jsp),持续与 C2 交互。

4.4 WEB-INF / 配置泄露

导出文件包含:

  • web.xml
    web(1-3).xmlweb-inf → Web 应用部署描述符
  • datasourceCtp.properties
    config_db.phpvcdb.properties → 数据库口令 明码或加密形式泄露

5. IOC 汇总

类型
说明
攻击源 IP
192.168.31.190
Windows, Chrome/104, 发起所有 Web 利用
目标 IP
192.168.31.168
服务监听 8081,内含多种中间件
内网探测目标
10.10.10.10
持续 ICMP ping
Nacos 创建账号
ijkvfnifhckmbehb / fejtsukckubxmjxn
导出的 Nacos 用户创建文件
CouchDB 创建账号
mabxixlwbjnlyfhboairzzezytxnsnig
导出的 CouchDB 用户创建
Webshell 路径
/hello.jsp
/fileserver/elltvj.txt/tbppwt.jsp/xikdbr.txt
上传后门文件
删除标记
1978073339
WebLogic payload 输出打印值
备份文件
192.168.31.168.rar/sql/zip/bak
以目标 IP 直接命名的备份
泄露凭据路径
/etc/passwd
 (7 份), /etc/shadow (base64 L2V0Yy9wYXNzd2Q=)
系统文件 / Linux shadow
Swagger/API 文档
swagger.json
swagger.yamlswagger-ui.html
API 接口完整泄露

6. 恶意软件/工具特征

框架/工具
检测证据
CVE (示例)
ysoserial / Java 反序列化
TemplatesImpl + BeanComparator chain
Struts2 S2-032 / S2-045
OGNL 绕过 + cat /etc/passwd
CVE-2017-5638
WebLogic WS-AT / WorkflowService
CoordinatorPortType
 反序列化
CVE-2019-2725
Spring Cloud Gateway
actuator/gateway/routes/injrwoke
CVE-2022-22947
Apache OFBiz
xmlrpc
 POST XML-RPC
CVE-2024-32295
F5 BIG-IP TMUI
/mgmt/tm/util/bash
CVE-2020-5902
PHPUnit
/vendor/phpunit/.../eval-stdin.php
CVE-2017-9841
Laravel Ignition
/_ignition/execute-solution
CVE-2021-3129
Drupal
#post_render
_format=hal_json
CVE-2018-7600 系列
Apache HTTPD CGI
/.%0d./.%0d.../bin/sh
CVE-2021-41773/42013
PySpider
/debug/pyspidervulntest/run
MinIO
/minio/webrpc
Nacos
POST /nacos/v1/auth/users

7. 攻击链结论

复制

[侦察] → [自动化漏洞扫描] → [批量 RCE 利用] → [Webshell 部署] → [数据外泄/权限维持] → [内网扫描/痕迹清理]  0-20s     20-31s               20-31s          31s              20-259s             贯穿全程
  1. 0-20s
    :攻击者在 20 秒内针对同一目标端口 8081 连续发送了 30+ 种不同类型已知漏洞的利用请求(自动扫描器或人工脚本)。
  2. 20s
    :多种 RCE 链路同时命中(Struts2, WebLogic, F5, PHPUnit, Apache HTTPD, Laravel, OFBiz, Drupal, Nacos, CouchDB)。部分返回 200,说明攻击已成功。
  3. 31s
    : attacker 上传加密 JSP webshell (hello.jsp)。
  4. 31-259s
    :四次调用 hello.jsp,持续保持 C2 会话或执行维护指令。
  5. 全程
    :通过 fileDownloadextdirectWorkflowServiceXmlservices 等合法/半合法接口主动拉取备份、数据库、内部配置文件、系统文件。

8. 关键证据索引

证据
位置
价值
PCAP 原始哈希
见 保全 节
证据保全
http_export/WorkflowServiceXml
导出目录
包含 ysoserial Java 反序列化 payload + 删除命令
http_export/passwd(6-11)
导出目录
证明 /etc/passwd 数据泄露
http_export/root.tar.gz 等
导出目录
证明大量敏感文件成功外泄
http_export/hello(1-7).jsp
导出目录
证明 webshell 部署成功
本报告
shell_pcap_analysis_report.md
结构化取证时间线与 IOC

报告生成时间:自动分析分析工具:Wireshark/tshark 3.x + Python-style hash + export-objects哈希校验:SHA256 C71B76BE434E5C6995CA942DC8F531ADC14E7B255B0646E365899F881CA3D5E7