【问题标题】:How to control modems inside a GoIP gateway with AT commands如何使用 AT 命令控制 GoIP 网关内的调制解调器
【发布时间】:2012-04-24 14:57:54
【问题描述】:

我们购买了一个 4 通道 GSM 网关,型号为 GoIPx4-G610(手册标题为“用于 GSM 语音网关 - GSM VOIP 网关的 GoIP 系列 SIM 卡”)。

我们正在寻求开发一个自定义应用程序来控制 GOIP 网关。我们过去开发了自定义应用程序,通过 AT 命令控制简单的 GSM 调制解调器,特别是发送/接收 SMS 消息。

虽然可以通过 SIP 控制网关,但如果可能,我们希望通过 AT 命令控制嵌入在网关中的 GSM 调制解调器。这是因为 AT 命令提供了细粒度的控制,而且我们不需要 VoIP 功能,因为我们只需要发送/接收 SMS 消息。

网关运行一个未知的 Linux 实例,我们可以通过 telnet 连接到该实例。不幸的是,我们没有对其进行身份验证的凭据。网关还有一个 Web http 管理界面,我们可以对其进行身份验证,但我们无法找到与我们可以用于 AT 命令的通道相关的设置/信息。

文档很差,提供商无法向我们提供任何有用的信息。

如果有人知道我们如何向网关内的调制解调器发送 AT 命令,我们将不胜感激。

到目前为止,我们已经尝试对 telnet 接口进行暴力攻击以查找凭据,但没有成功。我们希望一旦我们可以连接到驱动网关的 Linux 实例,我们就可以通过串行连接从那里连接到调制解调器(发送 AT 命令),我们可以重新配置它以重定向调制解调器外部的连接或为向调制解调器发送命令。

设备有一个更新固件选项(通过 Web 界面),它总是给出错误“下载失败”。从他们的更新页面手动下载固件(.pkg 文件),并从嵌入式 Linux 发行版中提取文件,这些文件应与放置在网关上的文件相对应。这些文件作为 ROMFS 压缩映像保存在 pkg 文件中,我们将其安装在测试站上以查看文件(网关上运行的操作系统可能是 uClinux 分发版)。

这样做是希望我们可以在那里找到可以通过经典攻击破解的 /etc/passwd 文件。但是没有找到它,并且可能该文件放在网关闪存上(与存储在 ROM 内存上的 Linux 文件相反)。因此,如果有一种方法可以擦除/重置此闪存,这可能是一种解决方案(以防网关在没有这些文件的情况下不会拒绝启动)。如果有这种情况,另一种解决方案是能够使用 passwd 文件访问闪存。

【问题讨论】:

  • 你明白了吗?我也在研究如何做到这一点。
  • @AlessandroSchneider 我没有继续走这条路,找到了替代解决方案。我本来希望他们同时改变他们的政治,但似乎有些事情永远不会改变。在接受的答案中检查关于后门的评论。
  • 您是否使用 GoIP 解决方法?或者你正在使用其他硬件?我已经使用 USB 加密狗做过类似的事情,我正在研究一些关于 GoIP 的东西。
  • @AlessandroSchneider 我不再使用 GoIP(也不再使用其他 GSM 网关/硬件),并且我没有了解过去几年的进步。

标签: sip voip embedded-linux gsm at-command


【解决方案1】:

您可以取下盖子,看看里面有什么部件。

如果它是具有已发布数据表且没有大量代码安全功能的通用处理器,那么您可能会走运。例如,您可能会发现:

  • 通过猜测标头或跟踪已知引脚、控制台串行端口、逻辑电平或 RS232,希望有 shell 监听

  • 微控制器的启动模式引脚连接到一个电阻,您可以跳线使微控制器启动到一个 uart 引导加载程序,您可以在其中下载新系统映像,或修补现有系统映像。如果幸运的话,引导加载程序将是已知的,例如 u-boot。

  • 处理器的 JTAG 端口

  • 您可以移除和更改的可移动存储设备

  • 一个 SPI 闪存,您可以仔细利用和更改

  • 可以拆焊并移植到编程器上的闪存芯片

您还可以向供应商提出内核和其他任何内容的 GPL 源请求。甚至只是尝试识别诸如 Web 服务器之类的事物的版本可以帮助您查找任何已知的漏洞。由于您似乎具有与已安装的系统映像相似的系统映像,因此查看它可能会有所帮助 - 查找正在运行的其他守护程序、侦听您以前不知道的端口、剩余的调试支持等。

【讨论】:

  • 克里斯:感谢您的详细回答(即使这么晚了)。将接受您的回答并发布有关我们发现的访问网关的一种方式的更多详细信息。
  • 我有一个相同型号的更新版本,可以确认一个 JTAG 端口(115200 波特),该端口通向一个可以插入的 U-Boot 外壳。我的是砖块,所以不知道之后会发生什么开机。也有人发现了 2017 年之前的固件的后门 telnet 用户:trustwave.com/en-us/resources/security-resources/…
  • @toaster-cx 您似乎将 115200 波特 异步 串行接口错误地标记为 JTAG; JTAG 是一个同步接口。
【解决方案2】:

我是您购买的 GoIP 的开发者。您没有尝试破解 GoIP,而是联系我们以支持您开发自定义应用程序?这是为您提供的 GoIP 更新。

  1. GoIP 现在支持 SMPP。这可以替代使用 AT 命令发送和接收 SMS。

  2. 现在可以使用适用于 GoIP 的 API(应用程序编程接口)来支持您的自定义应用程序开发。

如果 AT 命令仍然是首选方法,请与我们联系,我很乐意与您进一步讨论。

【讨论】:

  • 感谢您的回复。我们如何直接与您联系?通过 DBLTek 支持尝试但未收到回复。回答您的问题:是的,我们过去确实联系了 DBLTek 支持,他们拒绝允许我们访问网关上运行的操作系统(顺便说一下,产品发货地的欧洲规则应该允许这样做)。理解这样做可能是为了保护自定义操作系统分发实现和其他信息,但认为我们有权尝试破解机器,因为我们这样做只是为了我们的目的(现在取得了一些成功)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多