[SPICE-0002] - 赛博空间自我保护技巧包:利用 Telegram 转发短信
可能是友善的提醒: “技巧包” 中的方法可能需要一些计算机基础知识,一些要自己完成的操作,有可能还需要一笔支出。
欢迎通过各种方法和咱交换心得和意见。
为啥汝可能需要转发短信?
- 有不少网络服务的主要验证手段是手机验证码(特别是在中国大陆)。
- 手机网络依托的 GSM 已经被发现是不安全的了,这也是为啥“伪基站”攻击越来越多的缘故。
- 汝有可能会把手机搞丢,于是一起丢了手机卡。(要是再被别有用心的家伙利用……一个比较新鲜的案例可以参考这篇文章)
- 或者汝为了省钱等各种原因开通了一张新手机卡,却因为各种原因(懒或者忘记了)没有在各种服务上更换的关联手机号码。然后又不想带着好几部手机(啥?)
- 好吧咱编不下去了……
在开始之前
当然这招不能帮汝拦住所有的攻击(例如家里没锁好门于是转发短信的手机被偷、汝不走运的在家里遇上伪基站等等),以及从服务商向手机发短信这个过程因为汝自己控制不了,所以也和毫无防备差不多……
所以想在这种地方防御的话要么服务商自己不再用手机短信验证,要么自己放弃只能通过短信验证的辣鸡服务……
以及下面的内容可能会偏向中国大陆的状况多一些,虽然咱不确定会不会有其他地方的人想要参考,还是提醒注意一下好了。
准备一部 Android 手机
因为这次有用到一个小小的应用。(当然啦,在 iOS 上通过快捷指令应该能达到类似的效果,不过就不是这篇文章提起的范围啦……)
- 配置不必很高,汝最近或以前换下来的手机就很合适。
- 出于中国大陆厂商定制的 Android 会有一些不知是好是坏的调整,推荐使用类原生 Android 。(至于什么算作类原生的话可以自己上网搜索,或者问问汝身边可能了解的朋友们)
- 如果汝像咱一样用中国电信的手机卡来接收验证码短信,而且想要模仿咱下面的操作的话,要注意汝的手机是否支持中国电信 UIM 卡作为副卡。(有的手机在同时插入电信卡和另一张卡后只有电信卡支持4G/3G,那另一张卡就没法上网了,后面的操作就模仿不起来啦……)
- 然后把必要的保护措施做好,(例如设置 SIM 卡 PIN 啦、设置屏幕锁定啦、设置不在锁屏上显示通知啦……),防止有人想在汝放手机的地方图谋不轨(?)
- 接上电源。(汝一定不希望汝在外面的时候接收短信的手机没电收不到消息吧……)
准备一只 Telegram Bot
首先推荐阅读 Telegram 官方的创建指南: https://core.telegram.org/bots#creating-a-new-bot
1. 在 Telegram 中打开 https://telegram.me/botfather ,会跳转到与 BotFather 的对话中。 2. 点击 /newbot, 接下来他会提示汝为要创建的机器人起个名字。 (Alright, a new bot. How are we going to call it? Please choose a name for your bot.) 4. 为汝的机器人指定一个用户名,和人类用户的规则基本一致,不过一定要以 “bot” 结尾 。(Good. Now let’s choose a username for your bot. It must end in `bot`. Like this, for example: TetrisBot or tetris_bot.) 5. 然后他会生成一个 token,大概是这样: Use this token to access the HTTP API: xxxxxxxx:xxxxxxxxxxxxxx 把这串字符复制下来备用。
设置应用
从 https://github.com/telegram-sms/telegram-sms 下载 Telegram-SMS 、安装然后打开,界面大概像这个样子:
别忘了看看 Telegram-SMS 的用户手册和常见问题解答。
在“机器人令牌”那里填上刚才汝从 BotFather 那里拿来的 Token。
随便给汝自己的机器人发些什么,然后点击”获取最近的对话 ID“、就能得到汝自己的 ID 啦。
如果有需要的话,填写一个可信的电话号码,这个电话号码用于使用短信远程控制。
下面这些是可选的选项,汝可以根据自己的需要进行调整。
- 网络错误回退到短信 - 当网络消息发送失败的时候,通过短信发送到可信号码。
汝填写了可信电话号码后这个选项才会出现,以及咱这次的目标之一就包括不打开这个选项。
- 监控电池状态 - 当充电状态变动或手机电量过低的时候,发送信息。
- 监控充电器状态 - 当充电器状态发生变动的时候,发送消息。
- 获取聊天命令 - 使用聊天命令管理机器人(不启用将仅使用短信管理)。
- 验证码自动提取 - 自动识别获取短信中的验证码(实验性功能)。
- 显示SIM卡别名 - 在消息标题显示卡别名。
- 仅响应包含机器人用户名的命令 - 在群组或频道中只响应包含机器人用户名的命令。
但这次咱只想自己用,于是这个选项就没什么作用啦……
- 使用 DNS over HTTPS - 使用安全带加密的DNS服务(基于 Cloudflare®)。
EXTRA: 如果汝的网络不能正常的和 Telegram 通信……
汝大概能想到一些权宜之计,例如在手机或手机连接的 WIFI 的路由器上设置代理或者 VPN等等。
咱这回参考了 LetITFly BBS 站长 LetITFly 的一种方法,买一张中国大陆外的运营商的 SIM 卡为转发短信用的手机提供网络。
考虑到一般的储值卡的漫游流量基本偏贵有效期还很短,这里推荐买一张带有足够多内地用流量的储值卡。(例如中国移动香港的“特约经销商储值卡”, 365日10G内地香港共用流量售价 218 港币。
考虑到转发短信可能不会消耗太多流量,这张卡说不定还能作为某种应急手段……
ONE MORE EXTRA: 继续联动?
汝可以做的事情当然不止于此,下面是咱想到的一些可能会有意思的操作。
当然需要一些其它的知识,以及更谨慎的头脑。(?)
- 修改 Telegram-SMS ,加入自己用起来方便的指令。
- 和 Tasker 这样的自动化应用联动,例如收到特定发件人的短信执行一些操作什么的。
- ……
效果大概就是这个样子(当然短信不会给看)……