iOS/Malware(八)FlexiSpy间谍件分析
项目结构
- 文件结构
- 上:最初泄露版本目录结构;下:更新后的版本目录结构
工程 内嵌项目 功能 时间戳 Apricot AppEngine(主程序子模块) iOS代码主体(最二版本) 07/06/2013(version.xml) ApricotV2 AppEngine(主程序子模块) iOS代码主体(第三版本) 23/01/2015(version.xml) BlueBlood blbla macOS程序子模块 blbld macOS程序子模块 6/14/16(代码备注) blblu macOS程序主体 13/07/2016(version.xml) codebase 129个功能模块 隐私窃取、程序更新等 1/11/2011-2016-07-29(代码备注) Cyclops AppEngine(主程序子模块) iOS代码主体(最早版本) 26/06/2012(version.xml) FeelSecure AppEngine(主程序子模块) iOS代码主体(各部分打包存放) FeelSecure 两个版本(version.xml) 19/11/2012 25/12/2012 FeelSecureSettings FlexiSPY AppEngine(主程序子模块) iOS代码主体(最终版本) 29/07/2016(version.xml) GreenBlood blbla macOS程序子模块 blbld macOS程序子模块 10/9/15(代码备注) blblu macOS程序主体 15/07/2016(version.xml) KnowIT AppEngine(主程序子模块) iOS代码主体(第五版本) 15/07/2016(version.xml) KnowITE AppEngine(主程序子模块) iOS代码主体(第四版本) 26/11/2015(version.xml) Panic+ AppEngine(主程序子模块) 同FeelSecure,iOS代码主体(各部分打包存放) FeelSecure Tools AutomateAESKey CleanserTester PCFChecksum SecurityTool 加密模块,同iOS中SecurityManager子模块 UrlProtector
iOS平台
- iOS程序只有源码,没有可执行程序
- iOS程序需要先越狱才能安装
- 分析以最后版本FlexiSPY为主
- 恶意代码潜伏位置,设备检查是否有以下目录或文件
- 路径作用文件
/Applications/systemcore.app 直接安装的程序,恶意代码主体 /Applications/systemcore.app/systemcore /usr/libexec/.systemcore/systemcore/ 恶意代码主体即/Applications/systemcore.app隐藏的位置 /usr/libexec/.systemcore/systemcore/systemcore /Library/MobileSubstrate/DynamicLibraries/添加越狱tweak插件 /Library/MobileSubstrate/DynamicLibraries/.MSFSP.dylib/Library/MobileSubstrate/DynamicLibraries/.MSFSP.plist/Library/MobileSubstrate/DynamicLibraries/.MSSPC.dylib/Library/MobileSubstrate/DynamicLibraries/.MSSPC.plist/Library/MobileSubstrate/DynamicLibraries/.MSFKL.dylib/Library/MobileSubstrate/DynamicLibraries/.MSFSRC.dylib/Library/MobileSubstrate/DynamicLibraries/.MSFSRC.plist/System/Library/LaunchDaemons//Library/LaunchDaemons/设置守护进程,用于开机启动 /System/Library/LaunchDaemons/com.applle.systemcore.plist /Library/LaunchDaemons/com.applle.systemcore.plist /var/.lsalcore/窃取的隐私信息数据库 /var/.lsalcore/rcm/var/.lsalcore/csm/var/.lsalcore/ddm/var/.lsalcore/etc/fs.plist
- iOS间谍程序开发规模
- 子模块&框架
模块
|
作用
|
作者
|
备注标明时间(该部分代码初次编写时间)
|
---|---|---|---|
iOS程序主体 | 界面交互 |
Dominique Mayrand
Makara Khloth
Ophat Phuetkasickonphasutha
| 2011-2014 |
AppEngine | 恶意代码主体 |
Makara Khloth
| 2011-2012 |
TinderCaptureManager
| 控制获取社交软件Tinder聊天记录 |
Khaneid Hantanasiriskul
|
7/22/2559 BE(佛历,盛行于南亚、东南亚,如柬埔寨、泰国,以释迦牟尼涅槃年度为计算基准,换算过来为2016年)
|
InstagramCaptureManager
| 控制获取社交软件Instagram聊天记录 | Khaneid Hantanasiriskul |
7/15/2559 BE(佛历,2016年)
|
CallRecordManager
| 控制获取通话记录 |
Makara Khloth
|
11/30/15
|
TemporalControlManager
| 控制时间日期与闹钟 |
Benjawan Tanarattanakorn
|
2/18/2558 BE(佛历,2015年)
|
HistoricalEventManager
|
控制获取各类历史记录隐私信息
|
Benjawan Tanarattanakorn
|
12/3/2557 BE(佛历,2014年)
|
SlingshotCaptureManager
| 控制获取Slingshot(facebook推出类似Snapchat图片分享的app)记录 |
Makara
| 7/22/14 |
YahooMsgCaptureManager
| 控制获取YahooMsg聊天记录 |
Benjawan Tanarattanakorn
| 3/26/2557 BE(佛历,2014年) |
HangoutCaptureManager
| 控制获取Hangout(google 环聊)聊天记录 |
Ophat Phuetkasickonphasutha
| 3/19/14 |
SnapchatCaptureManager
| 控制获取Snapchat(图片分享)记录 |
benjawan tanarattanakorn
| 3/13/2557 BE(佛历,2014年) |
DeviceSettingsManager
| 控制设备设置 |
Makara
| 3/4/14 |
PasswordCaptureManager
| 控制获取社交软件的密码 |
Makara
| 2/26/14 |
BBMCaptureManager
| 控制获取BBM(黑莓通信软件)聊天记录 |
Ophat Phuetkasickonphasutha
| 11/20/13 |
FacebookCallLogCaptureManager
| 控制获取facebook通话记录 |
Benjawan Tanarattanakorn
| 9/6/13 |
KeyLogCaptureManager
| 控制获取键盘记录 |
Ophat Phuetkasickonphasutha
| 9/5/13 |
ViberCallLogCaptureManager
| 控制获取Viber(网络电话)通话记录 |
Benjawan Tanarattanakorn
| 9/3/13 |
LINECallLogCaptureManager
| 控制获取LINE(类似微信)通话记录 |
Benjawan Tanarattanakorn
| 8/28/13 |
WeChatCallLogCaptureManager
| 控制获取微信通话记录 |
Benjawan Tanarattanakorn
| 8/27/13 |
SkypeCallLogCaptureManager
| 控制获取Skype通话记录 |
Benjawan Tanarattanakorn
| 8/21/13 |
IMVersionControlManager
| 获取各个IM软件版本信息,确定是否支持获取隐私 |
Ophat Phuetkasickonphasutha
| 8/15/13 |
FaceTimeCaptureManager
| 控制获取FaceTime记录 |
Benjawan Tanarattanakorn
| 7/22/13 |
FaceTimeSpyCallManager
| 控制监听FaceTime通信(主要通过界面截图) |
Makara Khloth
| 7/15/13 |
WeChatCaptureManager
| 控制获取微信聊天记录 |
Ophat Phuetkasickonphasutha
| 6/20/13 |
UpdateConfigurationManager
| 远程获取更新间谍软件配置 |
Makara Khloth
| 6/24/13 |
SoftwareUpdateManager
| 远程获取更新间谍软件 |
Ophat Phuetkasickonphasutha
| 6/17/13 |
ViberCaptureManager
| 控制获取Viber(网络电话)记录 |
Makara Khloth
| 11/27/12 |
CameraCaptureManager
| 控制获取相册照片 |
Benjawan Tanarattanakorn
| 6/5/12 |
CalendarManager
| 控制获取日历信息 |
Benjawan Tanarattanakorn
| 1/16/13 |
NoteManager
| 控制获取记事本信息 |
Ophat
| 1/16/13 |
FacebookCaptureManager
| 控制获取facebook消息记录 |
Makara Khloth
| 12/24/12 |
SkypeCaptureManager
| 控制获取skype消息记录 |
Makara Khloth
| 12/7/12 |
AmbientRecordingManager
| 控制获取Ambient(环境录音软件,多用于辅助睡眠)录音 |
Benjawan Tanarattanakorn
|
29/11/2012
|
LINECaptureManager
| 控制获取Line消息记录 |
Makara Khloth
| 11/27/12 |
BookmarkManager
| 控制获取safari书签 |
Benjawan Tanarattanakorn
| 7/9/12 |
ApplicationManager
| 控制安装/启动APP |
Benjawan Tanarattanakorn
| 7/9/12 |
ALCManager
| 控制监控APP生存周期(ALC,ApplicationLifeCycle) |
Makara Khloth
| 9/18/12 |
SecurityManager
| 混淆加密校验config.dat(同SecurityTool) |
Makara Khloth
| 11/2/10 |
Cleanser
| 加密模块 |
Makara Khloth
| 10/23/12 |
BrowserUrlCaptureManager
| 控制获取safari历史记录和书签 |
Suttiporn Nitipitayanusad
| 4/27/12 |
AppAgent
|
监控电池、电源、存储空间、内存空间(有iOS和mac版本)
|
Benjawan Tanarattanakorn
| 9/12/12 |
WhatsAppCaptureManager
| 控制获取WhatsApp消息记录 | Prasad M.B |
28/03/2012
|
SpyCall
|
监听电话、facetime通话
|
Makara Khloth
| 3/14/12 |
MediaCaptureManager
| 控制获取视频、照片、桌面背景 | Prasad M.B |
14/2/2012
|
MediaThumbnail
| 获取视频、照片缩略图 | Benjawan Tanarattanakorn |
22/02/12
|
MediaFinder
| 媒体文件管理器 |
Makara Khloth
| 2/17/12 |
AddressbookManager
| 控制获取通讯录 |
Makara Khloth
| 6/13/12 |
MMSCaptureManager
| 控制获取彩信记录 | Prasad M.B |
31/1/2011
|
iMessageCaptureManager
| 控制获取iMessage消息记录 |
Makara Khloth
| 2/1/12 |
SystemUtils
| 控制获取设备、系统、app进程等信息 | Prasad M.B |
19/12/2011
|
MailCapture
| 控制获取邮箱内容 | Prasad M.B |
13/12/2011
|
ABContactsManager
| 控制获取联系人信息 | Prasad M.B |
1/11/2011
|
SMSCaptureManager
| 控制获取短信内容 | Prasad M.B |
28/11/2011
|
CallLogCapture
| 控制获取通话记录 | Prasad M.B |
30/11/2011
|
UnstructuredManager
| 非结构化数据处理(Http通信) |
Pichaya Srifar
| 7/20/11 |
ProtocolBuilder
| 与服务器通信时构建数据格式 |
Pichaya Srifar
Makara Khloth
| 7/26/11 |
HTTP
| HTTP通信模块 |
Pichaya Srifar
| 7/22/11 |
Preference
| 控制获取设备偏好设置信息 |
Benjawan Tanarattanakorn
Makara Khloth
|
28/11/11
|
SIMChangeCapture | 监控sim卡、imsi等信息 | Syam Sasidharan | 06/11/2011 |
Cryptography | AES、RSA加密模块 |
Pichaya Srifar
Jeff LaMarche
|
7/13/11
2/12/09
|
GZIP | 压缩/解压模块 |
Pichaya Srifar
| 7/12/11 |
CRC32 | 冗余校验模块 |
Pichaya Srifar
Makara Khloth
|
7/12/11
9/28/15
|
EDM | EventDeliveryManager,事件传递管理 | Makara Khloth | 10/26/11 |
LocationManager
| 控制获取地理位置 | Prasad M.B |
28/10/2011
|
IPC
| IPC通信模块 |
Makara Khloth
| 1/6/14 |
RCM |
RemoteCommandMager,远控指令管理
|
Prasad M.B
Ophat
Phuetkasickonphasutha
Benjawan Tanarattanakorn
Makara Khloth
|
17/11/2011
1/11/16
3/16/2558 BE(佛历,2015年)
6/18/12
|
Activation | 间谍程序激活模块 |
Pichaya Srifar
Gabriel Handford
|
11/1/11
4/8/09
|
TelephonyNotification
| 控制监听电话通知 | Syam Sasidharan |
04/11/2011
|
ConfigurationManager
| 间谍程序监控配置模块 |
Makara Khloth
| 11/22/11 |
EventRepos
| 事件数据库 |
Makara Khloth
Benjawan Tanarattanakorn
|
10/3/11
9/3/13
|
ServerAddressManager | 解密获取服务器地址 | Dominique Mayrand | 11/22/11 |
ActivationCodeCapture |
控制获取激活码、通话记录、记事本
| Makara Khloth | 11/23/11 |
FMDB
| 三方轻量级数据库 |
Peter Carr
Andrew Goodale
|
6/12/12
3/27/14
|
CommandServiceManager
| 管理远控指令服务器通信 | Pichaya Srifar | 9/15/11 |
DDM |
DataDeliveryManager,数据传递管理
|
Makara Khloth
| 10/19/11 |
LicenseManager
| 激活码管理 |
Pichaya Srifar
| 10/3/11 |
SMSSender
| 控制发送短信 |
Makara Khloth
| 11/16/11 |
EventCenter
| 事件中心 |
Makara Khloth
| 10/31/11 |
FxEvents
| 监控事件管理 |
Makara Khloth
| 1/18/13 |
FxStd
|
Makara Khloth
Benjawan Tanarattanakorn
Oliver Letterer
|
9/26/11
6/19/12
01.09.12
| |
PhoneInfo | 获取手机号码、imei等信息 |
Prasad Malekudiyi Balakrishn
|
10/6/11
|
ConnectionHistoryManager | 连接服务器记录管理 | Makara Khloth | 11/28/11 |
AppContext | 安装/卸载/启动APP |
Dominique Mayrand
| 12/21/11 |
- 主体
- 样本信息
- bundle id程序名针对版本
com.applle.systemcore >=6.0
- 程序主项目主要是用于界面交互
- 恶意代码主体位于AppEngine模块中,设置并调用各个恶意功能模块(具体功能实现分别位于各个子项目)
- 获取各类历史记录隐私信息,VoIP实际为facetime
- 部分设备隐私保存位置
- 远控指令类型
- 控制获取的设备配置
- 控制获取社交软件的密码(强制结束程序,再捕获重新登陆时候的密码)
- 获取通话记录,保存信息路径,以及开启本地通信端口
- 监听facebook通信时使用界面截图
- 使用pp助手和盘古越狱
- 使用launch加载守护进程(需越狱,字符拼接形式)
- 备注里使用佛历标记的时间(2559 BE为公历2016年)
- sh脚本
- 文件名作用路径
Install.sh 将可执行文件systemcore加入守护进程 /Applications/systemcore.app/Install.sh Uninstall.sh 删掉systemcore守护进程 /usr/libexec/.systemcore/systemcore/Uninstall.sh Update.sh 更新systemcore文件 /Applications/systemcore.app/Update.sh Lauch.sh 执行/usr/libexec/.systemcore/systemcore/systemcore文件 /usr/libexec/.systemcore/systemcore/Launch.sh
- IoC
- sh脚本
类型
|
值
|
作用
|
---|---|---|
domain |
| |
本地端口 | 30302 | 本地socket通信 |
url |
|
|
0 评论:
发表评论