通过分析加密流量快速检查手机是否中了APT远控

admin 2025-12-29 00:55:05 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文介绍了一种通过分析加密流量快速检测手机APT远控的方法,并开源了mbnsc工具。该方法利用热点抓包,结合威胁情报比对、心跳包检测及流量模式匹配来识别C2连接。建议重点关注非大陆IP的周期性心跳,并结合奇安信或卡巴斯基平台二次确认,实现了无需备份的高效应急排查。 综合评分: 93 文章分类: 威胁情报,移动安全,应急响应,安全工具,恶意软件


cover_image

通过分析加密流量快速检查手机是否中了APT远控

原创

为了安全鸭

冲鸭安全

2025年10月20日 09:00 北京

前言

最近 国家授时中心 被美国用三角测量行动同样的手法攻击了iphone https://mp.weixin.qq.com/s/XPjT0BVOJPJxSmASW0tXTA 众所周知,windows的安全最容易做,即便是有0day,在windows下也一定有办法能检测。linux的安全看linux的系统版本,而手机,尤其是ios/安卓 那一坨,是压根做不了安全的.因为系统机制的问题,攻防完全不对等.

我就在想,我们如何在不用到MVT(Mobile Verification Toolkit)的情况下怎么快速的分析一个设备是否中了0day/apt的远控木马,毕竟开ADB或者iTunes备份都挺麻烦的. 首先我想到的是流量设备,因为他非常简单,手机接入网络这个操作谁都会,连个wifi就行 而且卡巴斯基发现三角测量行动也是的流量设备先分析到的.更早的飞马 也是流量设备捕获到的. 不过我家里也没IDS/NDR设备,也没软路由,搞个流量设备不现实,所以就有了今天主题.手搓一个简单的.

地址

整个项目地址 https://github.com/huoji120/mbnsc

这东西电脑应急响应也能用.不过windows上没设计解密RPC.MAC用了谷歌不维护的gopacket不知道能不能用.linux也得看gopacket的兼容性.

设计思路

整个设计路线非常粗暴,我们搞一个抓包工具,用go-packet用libpcap进行抓包.然后我们把数据包变成一个JSON,本来想变成ELK里面的,但是考虑到便携性,还是算了.我们没必要那么重. 之后就是python的分析了.而我们目的很明确,检测APT,所以思路是:

  1. IP/DNS/SNI 先过一次情报
  2. 检测抖动心跳 -> 这个是关键
  3. 流量模式匹配,匹配特定的流量

(1)很好理解 (2)主要目的是,中马后,通常是多少分钟/多少小时 来一次心跳,通过心跳来检测C2是绝对靠谱的.不会错的.要是看到10分钟一次/1分钟一次/一个小时一次的心跳,或者N久才连一次服务器的网络,那就是了. (3)的主要目的是,辅助我们看流量的类型,虽然流量是加密的,但是我们任然可以通过接收/发送/频率做一定的模式匹配,去匹配一些相关的,上传,下载,http请求,混合交互,心跳等模式.虽然不是100%准确,但是很值得我们研究. 具体我们直接实战:

教程

部署

电脑上开热点,手机链接热点 然后,编译好go程序,直接运行,会显示出网卡列表,选择一个网卡,一定要选,热点的网卡.不要选错了. 如果你选错网卡了,会什么都抓不到. 如果你选了电脑的网卡,不是wifi热点的网卡,则会抓整个电脑的流量,而不是只抓手机的流量 所以选择手机的wifi的网卡很重要!(还要注意不要选wifi链别人的那个网卡,要选热点的那个网卡!)

选正确后 xxx.exe -i 网卡名字 然后手机访问网络都有链接: 这样才是正确的!

抓包开始后,建议操作,重启手机,并且息屏等10分钟或者一个小时,在电脑内存允许的情况下,放置久一点.因为我也不知道心跳什么时候回来 当抓到一定数量的包后,ctrl+c抓包软件,会生成一份JSON.用目录下的analyzer进行分析

python .\analyzer.py .\capture_stats_20251019_221220.json --proxy --proxy-host 127.0.0.1 --proxy-port 7890

如果你有OTX的威胁情报key,你也可以接: https://otx.alienvault.com/ 我本来想用国内的威胁情报的,但国内威胁情报API无一例外都收费,不如用国外的otx的

--otx-api-key YOUR_API_KEY

等一会,分析完毕后,我们就能看手机这段时间内访问的信息了: 这个html一共有两个部分组成,首先是图表,他是能快速分析的地方 另外一个是总览表格

快速威胁检测

如果你部署了OTX的API,拉到表格下面,有IOC 比如我的xred蠕虫的C2,我测试访问的 然后在图表里面也会有表格 注意,OTX的情报并不是准确的,他很多CDN服务器,114dns服务器之类的会被标记恶意,这个是正常的.毕竟他是社区驱动的. 而且考虑到apt的远控不太会暴露,所以IOC数据只能说看看就行. 第二就是国外IP 国外IP在一个手机里面占比非常少,建议快速check,国外和香港台湾的这几个IP. 第三就是看心跳 心跳包的特征如下: 这种就是非常典型的心跳包,你可以看到X秒来一次发送接受. 如果心跳包是已知手机域名,那没什么问题,如果你看到

  1. 一分钟以上来一次,或者十分钟来一次,或者一个小时来一次
  2. IP是非大陆地区

那你需要额外警惕.

建议用qax的威胁情报平台进行二次确认: https://ti.qianxin.com/ 我不推荐别的,因为qax的情报对APT追踪是最敏感的 还有就是辅助的,卡巴斯基的平台 https://opentip.kaspersky.com/ 这两个二次确认即可

比如我的,虽然是心跳包,但是是小米手机追踪的东西,不知道是什么,但是应该是暂时没问题

其他流量特征

这有几种常见的模式匹配 比如这个,当你发现,send比recv小的时候,那一般就是下载流量,比如我这是美团下载的流量

被阻断的: 单向发送,没任何的recv的,比如如下是谷歌的域名被阻断了 典型心跳: 经过排查,这个IP是小米的消息通知推送,也确实是心跳,x秒一次: 上传,美团的report域名

结语

最后,经过检查,我确认我手机没问题.可以放心睡觉了


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:冲鸭安全 为了安全鸭《通过分析加密流量快速检查手机是否中了APT远控》

评论:0   参与:  0