<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet href="/scripts/pretty-feed-v3.xsl" type="text/xsl"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:h="http://www.w3.org/TR/html4/"><channel><title>Hack Your Heart</title><link>https://h4cker.zip/tags/%E9%92%93%E9%B1%BC/</link><description>临渊羡鱼，不如退而结网</description><generator>Hugo 0.168.0</generator><language>en</language><atom:link href="https://h4cker.zip/tags/%E9%92%93%E9%B1%BC/rss.xml" rel="self" type="application/rss+xml"/><lastBuildDate>Thu, 17 Apr 2025 16:40:02 +0800</lastBuildDate><item><title>分析一个政务网钓鱼攻击</title><link>https://h4cker.zip/8ba6c2/</link><pubDate>Thu, 17 Apr 2025 16:40:02 +0800</pubDate><guid isPermaLink="true">https://h4cker.zip/8ba6c2/</guid><description/><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>今天是领导发了一个聊天软件的截图，一个工作人员发起了群聊，开启了全员禁言。群名为“京东购物补贴”，感觉应该是把自己权限能拉群的人都拉了进去。</p>
<p>实际上是他的电脑中毒，被远控，拉群发送钓鱼图片，要求大家扫码</p>
<p>钓鱼图片如下【<strong>各位想要复现，必须保证环境安全，别搞得自己被钓了</strong>】</p>
<img src="./fishQRcode.webp" style="width:50%;" />
<p>二维码的url是：<code>https://adobegpt.com/#/teach</code></p>
<p>钓鱼页面如下</p>
<img src="./1.webp" style="width:50%;" />
<img src="./2.webp" style="width:50%;" />
<p>Ctrl + U看看有没有向哪个url提交</p>
<div class="code-block highlight"><pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="cp">&lt;!doctype html&gt;</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="p">&lt;</span><span class="nt">html</span> <span class="na">lang</span><span class="o">=</span><span class="s">&#34;en&#34;</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">  <span class="p">&lt;</span><span class="nt">head</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">    <span class="p">&lt;</span><span class="nt">meta</span> <span class="na">charset</span><span class="o">=</span><span class="s">&#34;UTF-8&#34;</span> <span class="p">/&gt;</span>
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">    <span class="p">&lt;</span><span class="nt">link</span> <span class="na">rel</span><span class="o">=</span><span class="s">&#34;icon&#34;</span> <span class="na">type</span><span class="o">=</span><span class="s">&#34;image/svg+xml&#34;</span> <span class="na">href</span><span class="o">=</span><span class="s">&#34;/vite.svg&#34;</span> <span class="p">/&gt;</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">    <span class="p">&lt;</span><span class="nt">meta</span> <span class="na">name</span><span class="o">=</span><span class="s">&#34;viewport&#34;</span> <span class="na">content</span><span class="o">=</span><span class="s">&#34;width=device-width, initial-scale=1.0&#34;</span> <span class="p">/&gt;</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">    <span class="p">&lt;</span><span class="nt">title</span><span class="p">&gt;</span>《2025年个人购物补贴》<span class="p">&lt;/</span><span class="nt">title</span><span class="p">&gt;</span>
</span></span><span class="line hl"><span class="ln"> 8</span><span class="cl">    <span class="p">&lt;</span><span class="nt">script</span> <span class="na">type</span><span class="o">=</span><span class="s">&#34;module&#34;</span> <span class="na">crossorigin</span> <span class="na">src</span><span class="o">=</span><span class="s">&#34;/assets/index-Dqx1ziiL.js&#34;</span><span class="p">&gt;&lt;/</span><span class="nt">script</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">    <span class="p">&lt;</span><span class="nt">link</span> <span class="na">rel</span><span class="o">=</span><span class="s">&#34;stylesheet&#34;</span> <span class="na">crossorigin</span> <span class="na">href</span><span class="o">=</span><span class="s">&#34;/assets/index-D8NNqKCG.css&#34;</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="ln">10</span><span class="cl">  <span class="p">&lt;/</span><span class="nt">head</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="ln">11</span><span class="cl">  <span class="p">&lt;</span><span class="nt">body</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="ln">12</span><span class="cl">    <span class="p">&lt;</span><span class="nt">div</span> <span class="na">id</span><span class="o">=</span><span class="s">&#34;app&#34;</span><span class="p">&gt;&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="ln">13</span><span class="cl">  <span class="p">&lt;/</span><span class="nt">body</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="p">&lt;/</span><span class="nt">html</span><span class="p">&gt;</span></span></span></code></pre><div class="title text-sm text-muted-foreground px-3 py-1 rounded-lg border">钓鱼网页源代码</div><span class="language ps-1 pe-3 text-sm bg-muted text-muted-foreground">html</span><button class="copy text-muted-foreground p-1 box-content border rounded-lg bg-card" aria-label="Copy code"><div class="ready"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="M15 2c.683 0 1.287.343 1.647.866l.085.134H18a2 2 0 0 1 1.995 1.85L20 5v12a5 5 0 0 1-4.783 4.995L15 22H6a2 2 0 0 1-1.995-1.85L4 20V5a2 2 0 0 1 1.85-1.995L6 3h1.268a2 2 0 0 1 1.563-.993L9 2zM7 5H6v15h9a3 3 0 0 0 3-3V5h-1a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2m5 9a1 1 0 0 1 .117 1.993L12 16H9a1 1 0 0 1-.117-1.993L9 14zm3-4a1 1 0 1 1 0 2H9a1 1 0 1 1 0-2zm0-6H9v1h6z"></path></g></svg>
</div><div class="success hidden"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="M13.586 2A2 2 0 0 1 15 2.586L19.414 7A2 2 0 0 1 20 8.414V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zM12 4H6v16h12V10h-4.5A1.5 1.5 0 0 1 12 8.5zm1.59 8.657a1 1 0 0 1 1.415 1.414l-3.111 3.112a1.1 1.1 0 0 1-1.556 0l-1.343-1.344a1 1 0 0 1 1.414-1.414l.707.707ZM14 4.414V8h3.586z"></path></g></svg>
</div></button></div>
<p>这里发现前端是个module引入，里面的js是混淆的</p>
<p>不过，我们访问钓鱼页面时就抓包，我按照顺序来分析一下所有请求包</p>
<p>攻击者申请了adobegpt的域名，目前微信和支付宝扫码未识别为恶意网址，未拦截</p>
<p><img
  src="/8ba6c2/3.webp"
  alt=""
  class="zoomable"
  loading="lazy"
  decoding="async" width="2253" height="304"
/>
</p>
<p>扫码后，首先访问了主域名，这个域名解析IP地址为<code>149.104.15.92</code>，微步显示为傀儡机IP</p>
<p>然后访问了<code>https://adobegpt.com/assets/index-Dqx1ziiL.js</code>，这个js将近两兆，很大。这个js就是负责页面显示和建立ws的</p>
<p><code>https://adobegpt.com/api/admin/templates/current</code>请求可能是判断当前模板：</p>
<img src="./4.webp" style="width:50%;" />
<p><code>https://adobegpt.com/assets/wsCallbacks-EW0UM84j.js</code>导入ws建立的提示消息：</p>
<img src="./5.webp" style="width:50%;" />
<p><code>https://adobegpt.com/assets/TeachPage-B5DhspEC.js</code>应该是ws的建立</p>
<img src="./6.webp" style="width:50%;" />
<p><code>https://adobegpt.com/api/admin/popup/list</code>这个居然是获取模板，他不仅有今年的个人购物补贴，还有财政补贴模板：</p>
<img src="./7.webp" style="width:50%;" />
<p><code>https://adobegpt.com/api/admin/templates/config/template-3</code>调用模板三，也就是个人购物补贴模板：</p>
<img src="./8.webp" style="width:50%;" />
<p>随后调用四家IP显示网站的api（ipinfo.io、myip.com、ip.sb、ipify.org）来获取用户IP：</p>
<img src="./9.webp" style="width:50%;" />
<p>随后请求<code>https://adobegpt.com/api/admin/user/getByIp?ip=受害者IP</code></p>
<p>返回：<code>{ &quot;code&quot;: 200, &quot;msg&quot;: &quot;操作成功&quot;, &quot;data&quot;: [] }</code></p>
<p>这里我觉得是建立连接</p>
<p><code>https://adobegpt.com/api/admin/settings</code>，这个返回了管理员的各种设置项：</p>
<img src="./10.webp" style="width:50%;" />
<p>这就耐人寻味了，没事请求这个干啥？难不成故意留漏洞让分析人员打站，实际是个蜜罐？</p>
<p>提交信息后，<code>https://adobegpt.com/api/admin/user/update</code>，提交了姓名、身份证和用户IP
<img src="./11.webp" style="width:50%;" /></p>
<p>请求<code>https://adobegpt.com/assets/PhonePage-PdYzH4oS.js</code>，是一个验证信息和注册用户的功能：</p>
<img src="./12.webp" style="width:50%;" />
<p>新页面：</p>
<img src="./13.webp" style="width:50%;" />
<p>期间经常有形如：<code>https://admin.yhr73k.com.cn/ws/info?t=1744891847456</code></p>
<p>的ws信息请求。</p>
<p>状态码为101的请求是ws数据帧</p>
<p>这其中包括了我的IP和相关请求，最离谱的是，<strong>它居然能看到最近提交信息的受害者信息</strong>，比如我随便点开一条：</p>
<img src="./14.webp" style="width:50%;" />
<p>这就非常离奇了，可能这是个定时获取服务端的请求。而且持续在获取，也就意味着中招的人正在增加</p>
<p>在我提交虚假信息后，有请求<code>https://adobegpt.com/api/admin/user/add</code>：</p>
<img src="./15.webp" style="width:50%;" />
<p>这是添加了用户</p>
<p>然后加载了<code>https://adobegpt.com/assets/Password-tMb0BWmg.js</code></p>
<p>跳转到了输入支付密码的页面：</p>
<img src="./16.webp" style="width:50%;" />
<p>填写后，有一个虚假的进度条，这就是上面js的功能：<img src="./17.webp" style="width:50%;" /></p>
<p>然后让提交验证码：</p>
<img src="./18.webp" style="width:50%;" />
<p><code>https://adobegpt.com/api/admin/user/update</code>增加了密码字段</p>
<p>然后<code>https://adobegpt.com/assets/SmsPage-AzsMvOyO.js</code>是验证码功能</p>
<p>里面居然有个星号的银行卡号：</p>
<img src="./19.webp" style="width:50%;" />
<p>我推测，这是用那个号码从某网银的忘记卡号那里获取的部分卡号信息，不过也有可能就是个假的。</p>
<p>然后就是</p>
<img src="./20.webp" style="width:50%;" />
<img src="./21.webp" style="width:50%;" />
<p>这些全是虚假的js内容，根本没有验证的，可以看到是加载了各种js生成的<code>https://adobegpt.com/assets/LoadingPage-ClVFyRVL.js</code></p>
<p>甚至上面页面还在等待时，失败页面的js就已经请求好了<code>https://adobegpt.com/assets/FailPage-B9BXODq1.js</code>：</p>
<img src="./22.webp" style="width:50%;" />
<p>稍等一会就显示：</p>
<img src="./23.webp" style="width:50%;" />
<p>这里的联系方式就是乱写的了，点击重新提交，跳转到初始页面。</p>
<p>所以整个钓鱼流程就很清晰了</p>
<ol>
<li>adobegpt.com域名可以由微信、支付宝扫码进入，未拦截</li>
<li>受害者填写姓名、身份证</li>
<li>输入手机号和补贴金额，这里实际上只传输了手机号过去，金额根本没有传递过去</li>
<li>用户输入支付密码</li>
<li>发送验证码，验证此手机号是否为真，不过这个验证码好像不会发送</li>
<li>无论真不真都显示失败</li>
</ol>
<p>所以这里推荐的封禁：<code>149.104.15.92</code>、<code>adobegpt.com</code>、<code>yhr73k.com.cn</code></p>
<p>他那个ws实际上是监控受害者的行为，而且打印在控制台！</p>
<p>鼠标点击的每一步，任意一次访问都会发送的服务端</p>
<img src="./25.webp" style="width:50%;" />
<p>第一个页面里，返回了api接口，跟我们每一个钓鱼页面都对得上。这里访问photo页面</p>
<p>是一个上传照片的页面：</p>
<img src="./24.webp" style="width:50%;" />
<p>很可惜这里没找到上传木马的点。</p>
<p>直接访问success，他居然直接一个申请成功</p>
<img src="./26.webp" style="width:50%;" />
<p>没啥有技术的东西，纯属记录</p>
<p>记得封禁<code>149.104.15.92</code>、<code>adobegpt.com</code>、<code>yhr73k.com.cn</code></p>
<p>对了<code>yhr73k.com.cn</code>就是一个虚拟域名服务商的资产</p>
]]></content:encoded><h:img src="https://h4cker.zip/8ba6c2/cover.webp"/><enclosure url="https://h4cker.zip/8ba6c2/cover.webp"/><category>钓鱼</category><category>应急响应</category></item></channel></rss>