快捷导航
查看: 94|回复: 19

域名被隐藏(网址隐藏后怎么恢复)

[复制链接]

1万

主题

0

回帖

1万

积分

论坛元老

积分
10878
发表于 2023-10-14 10:14:02 | 显示全部楼层 |阅读模式
<p data-track="1">
<span style="letter-spacing: 1px;">
    前两天笔者写了一篇文章:《
    <a class="pgc-link" data-content="mp" data-source="innerLink" href="https://www.toutiao.com/i6953894044883976734/?group_id=6953894044883976734" rel="noopener noreferrer noopener noreferrer" target="_blank">
     不讲武德,欺负一个注册了快5年的白域名 | Red Team隐藏C2新套路
    </a>
    》
    <span style="color: #888888; --tt-darkmode-color: #888888;">
     (点击标题可查看原文)
    </span>
    。
   </span>
</p><p data-track="2">
<br/>
</p><p data-track="3">
<span style="letter-spacing: 1px;">
    有读者之后反馈,照着文中的方法做,虽然可以上线,但是发送命令不能正常回显。
   </span>
</p><p data-track="4">
<br/>
</p><p data-track="5">
<span style="letter-spacing: 1px;">
    笔者重新看了一下之后发现,确实存在这个问题,因此写出这篇文章,记录一下定位问题的过程,给出解决方案。
   </span>
</p><p data-track="6">
<br/>
</p><p class="pgc-img-caption">
</p><p class="pgc-p" data-track="7">
<br/>
</p><p class="pgc-p" data-track="113">
<br/>
</p><p data-track="8">
<span style="letter-spacing: 1px;">
    有些童靴可能没时间细看,笔者在此总结下,主要是以下两个问题导致云函数不能正确回显数据(贴心如我[吐舌]):
   </span>
</p><p data-track="12">
<br/>
</p><p data-track="13">
<span style="letter-spacing: 1px;">
    下面,我会详细写出问题的定位流程以及最后的解决方案。
   </span>
</p><p class="pgc-p" data-track="15">
<br/>
</p><p class="pgc-p" data-track="112">
<br/>
</p><p data-track="17">
<br/>
</p><p data-track="18">
<span style="letter-spacing: 1px;">
    首先,访问下载配置文件的 URL,发现可以正常下载。通过主机可以正常上线可知,云函数的 get 转发应该是正常的。
   </span>
</p><p data-track="19">
<br/>
</p><p data-track="20">
<span style="letter-spacing: 1px;">
    打开 beacon 指令页面,发送一下数据看看。
   </span>
</p><p class="pgc-img-caption">
</p><p data-track="22">
<span style="letter-spacing: 1px;">
    发现出现了如下字样:
   </span>
</p><p class="pgc-img-caption">
</p><p>
<br/>
</p><p data-track="24">
<span style="letter-spacing: 1px;">
    这意味着什么呢?意味着被控机已经收到了指令。
   </span>
</p><p data-track="26">
<span style="letter-spacing: 1px;">
    指令显示受控机已经呼叫了服务器,且发送了 19 byte 的数据。
   </span>
</p><p data-track="28">
<span style="letter-spacing: 1px;">
    但是在返回执行指令的结果数据时,转发出现了问题。
   </span>
</p><p class="pgc-p" data-track="97">
<br/>
</p><p data-track="30">
<span style="letter-spacing: 1px;">
    查看受控端发送的 post 数据包如下:
   </span>
</p><p class="pgc-img-caption">
</p><p class="pgc-p" data-track="32">
<br/>
</p><p data-track="99">
<span style="letter-spacing: 1px;">
    发现受控端正常 post 了数据,云函数也正常返回状态 200。
   </span>
</p><p data-track="33">
<br/>
</p><p data-track="34">
<span style="letter-spacing: 1px;">
    那应该是云函数出现了问题。
   </span>
</p><p data-track="35">
<br/>
</p><p data-track="36">
<span style="letter-spacing: 1px;">
    查看了一下云函数的 post 日志:
   </span>
</p><p class="pgc-img-caption">
</p><p class="pgc-p" data-track="38">
<br/>
</p><p data-track="98">
<span style="letter-spacing: 1px;">
    原来是云函数擅自将 body 字段的数据进行 unicode 编码了。
   </span>
</p><p data-track="39">
<br/>
</p><p data-track="40">
<span style="letter-spacing: 1px;">
    推测是因为 byte 的二进制字段没办法放入云函数的 dict 字典中。
   </span>
</p><p data-track="41">
<br/>
</p><p data-track="42">
<span style="letter-spacing: 1px;">
    所以,这里需要修改 post 上传包的 body 字段,自己手动编码一下,然后再解码后转发给 CS 服务器。(
    <span style="color: #5C83AA; --tt-darkmode-color: #5C83AA;">
     解决方案参见下文“修改方法”中的方法一
    </span>
    )
   </span>
</p><p data-track="43">
<br/>
</p><p data-track="44">
<span style="letter-spacing: 1px;">
    再试一下,发现还不行。
   </span>
</p><p data-track="45">
<br/>
</p><p data-track="46">
<span style="letter-spacing: 1px;">
    再次进行抓包,发现 CS 的上线包 post 是带参数传输的,如图所示:
   </span>
</p><p class="pgc-img-caption">
</p><p class="pgc-p" data-track="100">
<br/>
</p><p data-track="48">
<span style="letter-spacing: 1px;">
    而我们在云函数中没有传递这个参数,导致虽然受控机接收到了命令,且正确发送了数据,但是云函数转发的时候丢失了这个参数,即 id=85774 这个参数。
   </span>
</p><p data-track="49">
<br/>
</p><p data-track="50">
<span style="letter-spacing: 1px;">
    在云函数中加上就好了。(
    <span style="color: #5C83AA; --tt-darkmode-color: #5C83AA;">
     解决方案参见下文“修改方法”中的方法一
    </span>
    )
   </span>
</p><p data-track="51">
<br/>
</p><p data-track="52">
<span style="letter-spacing: 1px;">
    这样之后就能正确回显了。
   </span>
</p><p class="pgc-img-caption">
</p><p class="pgc-p" data-track="54">
<br/>
</p><p data-track="101">
<span style="letter-spacing: 1px;">
    另外,有读者表示,可以直接使用 api 网关进行转发。
   </span>
</p><p class="pgc-img-caption">
</p><p class="pgc-p" data-track="56">
<br/>
</p><p data-track="102">
<span style="letter-spacing: 1px;">
    这个思路很好,也比较简单,相较于云函数来说更容易部署。
   </span>
</p><p data-track="57">
<br/>
</p><p data-track="58">
<span style="letter-spacing: 1px;">
    不过笔者没有时间去复现了,不知道会出现什么问题。
   </span>
</p><p data-track="59">
<br/>
</p><p data-track="60">
<span style="letter-spacing: 1px;">
    云函数有更多的可拓展性,因为原则上来说,云函数可以对数据进行任意变换,甚至可以加解密等,可以对流量有更好的保护。
   </span>
</p><p class="pgc-p" data-track="62">
<br/>
</p><p class="pgc-p" data-track="104">
<br/>
</p><p data-track="64">
<br/>
</p><p data-track="65">
<span style="letter-spacing: 1px;">
<strong>
     // 方法一
    </strong>
</span>
</p><p data-track="66">
<br/>
</p><p data-track="67">
<span style="letter-spacing: 1px;">
    1. 开启网关 base64 编码,并在函数中 base64 解码,body=base64.b64decode(body) 。
   </span>
</p><p data-track="68">
<br/>
</p><p data-track="69">
<span style="letter-spacing: 1px;">
    在网关设置中开启 base64 编码,然后只设定特定 header 触发(不然会把 get 请求也进行 base64 编码)。
   </span>
</p><p class="pgc-img-caption">
</p><p class="pgc-p" data-track="71">
<br/>
</p><p data-track="105">
<span style="letter-spacing: 1px;">
    然后在函数中解码传输就好了,如下:
   </span>
</p><p class="pgc-img-caption">
</p><p class="pgc-p" data-track="73">
<br/>
</p><p data-track="106">
<span style="letter-spacing: 1px;">
    2. 增加参数传递函数。
   </span>
</p><p data-track="75">
<br/>
</p><p data-track="76">
<span style="letter-spacing: 1px;">
    如图所示:
   </span>
</p><p class="pgc-img-caption">
</p><p class="pgc-p" data-track="78">
<br/>
</p><p data-track="107">
<span style="letter-spacing: 1px;">
<strong>
     // 方法二(懒人版)
    </strong>
</span>
</p><p data-track="79">
<br/>
</p><p data-track="80">
<span style="letter-spacing: 1px;">
    开启网关 base64 编码,在网关设置中开启 base64 编码,然后只设定特定 header 触发(不然会把 get 请求也进行 base64 编码)。
   </span>
</p><p class="pgc-img-caption">
</p><p class="pgc-p" data-track="82">
<br/>
</p><p data-track="108">
<span style="letter-spacing: 1px;">
    然后直接复制(云函数)代码到云函数,记得更改自己的上线地址
    <span style="color: #888888; --tt-darkmode-color: #888888;">
     。
    </span>
<span style="color: #3F3F3F; --tt-darkmode-color: #A3A3A3;">
     (关注
    </span>
</span>
<span style="color: #121212; --tt-darkmode-color: #A3A3A3;">
    公众号“微步在线研究响应中心”,内回复“云函数”,可获取完整云函数代码。
   </span>
<span style="letter-spacing: 1px;">
<span style="color: #3F3F3F; --tt-darkmode-color: #A3A3A3;">
     )
    </span>
</span>
</p><p data-track="83">
<br/>
</p><p data-track="84">
<br/>
</p><p data-track="86">
<br/>
</p><p data-track="87">
<span style="letter-spacing: 1px;">
    笔者本意是想通过攻击复现,帮助大家明白 RT 的各种隐藏 C2 的技巧,方便之后做对应的防守策略。
   </span>
</p><p data-track="88">
<br/>
</p><p data-track="89">
<span style="letter-spacing: 1px;">
    其实,实际过程中 RT 可能使用各种方法综合进行隐匿, 详情可参见 https://www.anquanke.com/post/id/239640,作者依然是我们的老朋友
    <span style="color: #3F3F3F; --tt-darkmode-color: #A3A3A3;">
     「风起」
    </span>
    。
   </span>
</p><p class="pgc-p" data-track="91">
<br/>
</p><p data-track="109">
<span style="letter-spacing: 1px;">
    上篇文章发出后,有很多读者选择亲自动手去尝试,这个精神很好!笔者也是看到有些读者有疑问,不想直接无视,所以在某个下午继续探究了下这些问题并做出解答。
   </span>
</p><p data-track="92">
<br/>
</p><p data-track="93">
<span style="letter-spacing: 1px;">
    然而,不希望大家在尝试成功之后,将该类攻击用作除了 Red vs Blue 外的其他用途。若有用作任何违法用途,与本文无关。互联网并非法外之地,即使使用该方法隐藏 C2,我们依然有方法溯源到人,望耗子尾汁。
   </span>
</p><p data-track="94">
<br/>
</p><p class="pgc-img-caption">
</p><p data-track="95">
<br/>
</p><p data-track="111">
    本文作者:微步在线情报组
   </p>

1

主题

2584

回帖

3881

积分

论坛元老

积分
3881
发表于 2023-10-14 23:51:41 | 显示全部楼层
好好 学习了 确实不错

1

主题

2652

回帖

3983

积分

论坛元老

积分
3983
发表于 2023-10-14 23:52:18 | 显示全部楼层
牛啊兄弟 支持一下

1

主题

2722

回帖

4088

积分

论坛元老

积分
4088
发表于 2023-10-16 22:58:40 | 显示全部楼层
有竞争才有进步嘛

1

主题

2542

回帖

3818

积分

论坛元老

积分
3818
发表于 2023-10-18 01:56:33 | 显示全部楼层
学习了,谢谢分享、、、

1

主题

2726

回帖

4094

积分

论坛元老

积分
4094
发表于 2023-10-18 01:57:21 | 显示全部楼层
学习了,不错,讲得太有道理了

1

主题

2672

回帖

4013

积分

论坛元老

积分
4013
发表于 2023-10-18 07:57:50 | 显示全部楼层
难得一见的好帖

1

主题

2540

回帖

3815

积分

论坛元老

积分
3815
发表于 2023-10-18 07:58:24 | 显示全部楼层
看帖回帖是美德!

1

主题

2706

回帖

4064

积分

论坛元老

积分
4064
发表于 2023-10-22 19:42:27 | 显示全部楼层
找到好贴不容易,兄弟们,顶起!

1

主题

2714

回帖

4076

积分

论坛元老

积分
4076
发表于 2023-10-26 04:00:49 | 显示全部楼层
大佬牛逼,学习了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|聚云老站长 ( 粤ICP备2023011934号-1 )

GMT+8, 2024-5-17 19:33 , Processed in 0.633584 second(s), 24 queries .

快速回复 返回顶部 返回列表