IOS越狱恶意软件:WiFi破解大师

2015-10-09 439662人围观 ,发现 12 个不明物体 无线安全终端安全

本文原创作者:mryu1

Xcode事件把IOS系统终端安全再次推向了风口浪尖,AppStore已然如此那作为越狱系统应用商店的Cydia中的APP又会是如何呢?太极越狱重大安全后门暂且按下不表,此次以越狱应用“WiFi破解大师”为例进行分析。

应用简介

“WiFi破解大师”是一个查看wifi密码小工具,自己连上某个wifi,朋友第一次来不知道密码怎么办?通过wifi密码查看功能来查看当前连接的wifi密码是什么吧,让朋友也能一起上网。(摘自BigBoss源应用简介)。

异常

近日查看路由器的拦截日志(自制路由器)发现“WiFiPoJieDaShi”有数据上传行为,于是乎抓包看下:

APP向服务端发包

泄露信息:用户外网IP,所属省份及城市

                服务端页面

明明是个WiFI密码查看应用可偏偏向服务端回传用户的WiFi连接信息,这是绝不能忍的!

逆向越狱应用

工具简介:

class-dump顾名思义是用来dump目标class信息的工具,它利用的是OC的runtime特性将存储在Mach-O文件中的@protocol & @interface提取出来并生成.h文件。

class-dump相对于其它逆向工具的优势就在于它能导出任意程序的@interface信息,并整理成开发者常用的阅读方式。

利用class-dump导出头文件列表如下(部分):

经排查发现可疑文件: DMNetwork.h

#import "NSObject.h"

@class NSDictionary, NSString;

__attribute__((visibility("hidden")))
@interface DMNetwork : NSObject
{
    struct __WiFiNetwork *_network;
    NSString *_SSID; 
    NSString *_encryptionModel; 
    NSString *_BSSID; 
    NSString *_username; 
    NSString *_password; 
    NSString *_vendor; 
    NSDictionary *_record;
    float _RSSI; 
    int _channel;
    int _APMode; 
    int _bars;
    BOOL _isAppleHotspot;
    BOOL _isCurrentNetwork;
    BOOL _isAdHoc;
    BOOL _isHidden;
    BOOL _isAssociating;
    BOOL _requiresUsername;
    BOOL _requiresPassword;
    BOOL _isAdhoc;
}

@property(readonly, nonatomic) struct __WiFiNetwork *_networkRef; 
@property(nonatomic) BOOL requiresPassword; 
@property(nonatomic) BOOL requiresUsername; 
@property(nonatomic) BOOL isAssociating; 
@property(nonatomic) BOOL isHidden; 
@property(nonatomic) BOOL isAdHoc; 
@property(nonatomic) BOOL isCurrentNetwork; 
@property(nonatomic) BOOL isAppleHotspot; 
@property(nonatomic) int bars; 
@property(nonatomic) int APMode; 
@property(nonatomic) int channel; 
@property(copy, nonatomic) NSDictionary *record; 
@property(copy, nonatomic) NSString *vendor; 
@property(copy, nonatomic) NSString *password; 
@property(copy, nonatomic) NSString *username; 
@property(copy, nonatomic) NSString *BSSID; 
@property(copy, nonatomic) NSString *encryptionModel; 
@property(nonatomic) float RSSI; 
@property(copy, nonatomic) NSString *SSID; 
- (void)populateData;
- (id)description;
- (void)dealloc;
- (id)initWithNetwork:(struct __WiFiNetwork *)arg1;

@end

从这段代码可以看出该恶意软件收集了:SSID,加密模式,BSSID,用户名,密码,WiFi信道,AP模式,是否苹果热点,是否当前网络,是否隐藏等等…

APP分析小结

至此已经还原并证实了恶意软件收集用户WiFi信息的过程及方法,那我们开始“文明”溯源(不对服务端进行攻击),看看作者到底是谁。

情报分析

作者的警惕性还是很高的,简单聊了一会发现作者对WiFi破解大师一直避而不谈。

危害

由于“文明”溯源的原因未对服务端进行测试,不过从APP获取信息的方式,手法及下载量上来看服务端数据库应该存储着容量相当可观的数据量,一旦这些信息被恶意利用将会造成一定的安全隐患,试想:

场景一:
企业对DMZ区、员工终端及网络边界做了很好的安全防御,可一旦员工安装了该软件便相当于给攻击者敞开了一扇直捣黄龙的大门(类似京东园区wifi渗透)。
场景二:
该软件搜集用户的外网IP及位置信息,一旦用户的宽带接入设备或路由器存在漏洞将会给用户带来严重的安全隐患。
场景三:
这些WiFi密码也是极具价值的“社工”信息。

结论

本次分析仅浅尝辄止,以证明WiFi破解大师存在恶意收集用户信息的行为,建议使用IOS系统的用户如非必需尽量不要越狱设备,一旦越狱请谨慎安装插件,研究人员可使用测试机进行测试以避免信息泄露。

* 作者:mryu1,本文属FreeBuf原创奖励计划文章,未经许可禁止转载。

相关推荐

这些评论亮了

  • 他的QQ是:2635066116
    )10( 亮了
  • mryu1 (1级) 回复
    @ super 该软件的工作方式是读取/private/var/preferences/SystemConfiguration/com.apple.wifi.plist文件信息,通过调用恢复wifi密码函数来输出Keychain中保存的Wifi名和密码。简单讲它就是“密码查看器”的东西,可它收集了这么多信息却不像“万能钥匙”(类似的APP)那样去“分享”,谁敢保证这些数据没被恶意利用?
    )8( 亮了
  • 写这个还不如去看看安卓,禁止不受信软件访问WiFi密码的明文存储位置
    )8( 亮了
  • super 回复
    @ mryu1  几乎所有的APP全都在偷用户的信息,没有不偷的。谁敢保证不会被泄露,不会被卖?但是你不偷,你清高,你免费,你就活不下去。这是个行业问题,没有行业协会来监管,也没有法律法规条文来规范,所有谁都在偷,偷什么都不为过。我用过蜡笔同步,我本意只用来同步通讯录,什么也没设置, 结果发现我的短信全被上传了,银行的验证码也被上传,你说他算不算恶意?
    )7( 亮了
  • 这些东西应该很多的
    )7( 亮了
发表评论

已有 12 条评论

取消
Loading...

这家伙太懒,还未填写个人描述!

1 文章数 2 评论数

特别推荐

推荐关注

活动预告

填写个人信息

姓名
电话
邮箱
公司
行业
职位
css.php