本文原创作者: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原创奖励计划文章,未经许可禁止转载。

源链接

Hacking more

...