2015年9月27日星期日

移动端内网渗透思路

一、攻击思路

1.1 idea

屏蔽器-伪基站:定向投放钓鱼欺诈信息
GSM sniffer:窃听短信
破解wifi-内网渗透-提权-窃取信息
攻击个人,手机植入木马
     手机跳板内网渗透
     手机HID攻击,植入木马到pc
攻击设备,智能设备、网关、路由等
蓝牙攻击&sniffer智能穿戴、手机、pc
射频攻击,公司、车库、汽车门锁

1.2 SDK场景

伪基站-定向投放欺诈短信、传播木马、钓鱼、社工等
手机渗透工具-内网扫描收集信息、攻击路由&智能设备、提权等
手机hid攻击-攻击pc,植入后门

1.3 假想攻击场景

位置:对方附近
设备:Android手机
工具:kali套件、dsploit&zanti
使用手机目的是方便在对方附近进行攻击,如果用pc目标比较大容易被发现
其实只要通过手机打开缺口植入对外后门,后续就不用在对方附近,也就无所谓用手机或者pc进行攻击了,这时再使用pc会更方便一些
另外对于域渗透之类不是很了解,暂不写进去

1.3.1 渗透方式

1、首先进行wifi破解
2、内网扫描、收集信息
3、根据获取到的信息,对特定设备进行攻击,弱口令、漏洞exp等
4、继续内网渗透,提权、获取文件
or&and
进入内网后
5、arp攻击、中间人劫持,监听所有通信,解析邮件、聊天工具等通信,获取用户名密码、聊天记录等隐私
6、DNS劫持,网站钓鱼、植入后门木马等

1.3.2 钓鱼方式

1、使用mana工具搭建钓鱼wifi(树莓派+移动电源、Android手机、菠萝派wifi皆可,但SDK场景下使用Android手机)
2、监听所有通信,解析邮件、聊天工具等通信,获取用户名密码、聊天记录等隐私
3、窃取cookie,会话劫持,利用公司内部人员帐号进行社工
4、DNS劫持,网站钓鱼、植入后门木马等

1.3.3 线下接触方式

1、手机做好hid攻击准备,用于植入PC后门
2、上门找客服解决问题,比如电池没电急需充电打电话、手机公司可做售后维护
or
1、锁定目标公司工作人员,线下接触
2、借机往手机植入木马 or hid攻击pc后门等(可准备好microUSB接口的U盘)
or
3、利用手机NFC工具,复制对方门禁卡等
4、节假日or深夜真人入侵

1.4 移动端渗透工具

1.4.1 kali nethunter

集合多种神器工具集:
1、Wireless Attacks:
  • Wifite-自动无线安全审计工具
  • Kismet-无线WarDriving工具
  • AP F**ker-无线网恶意攻击工具(多为拒绝服务)
  • Wash-扫描开启WPS的无线网络
  • Airodump-ng-基本无线攻击套件(必备)
  • Pingen-针对某些开启WPS的D-link的路由器计算其PIN码以破解
2、Sniffing/Spoofing
  • tcpdump-基本流量Dump工具
  • tshark-WireShark的Cli工具,可抓取分析流量
  • urlsnarf-Dsniff工具包一部分,可嗅探HTTP请求包内容,并以CLF通用日志格式输出
  • dsniff-强大的知名口令嗅探工具包
  • MITMproxy-中间代理,可截获修改HTTP流量,参考官网介绍
  • nmap-端口扫描器
3、Reverse Shells
  • AutoSSH-通过SSH反弹shell(NAT Bypass)
  • pTunnel-通过ICMP数据包隧道传送数据
4、Info Gathering
  • Spiderfoot-开源扫描与信息收集工具,对给定域名收集子域,Email地址,web服务器版本等信息,自动化扫描.
  • Recon-ng-强大的信息收集工具,模块化,可惜许多插件国内不适用(有墙).
  • Device-pharmer-通过Shodan搜索,大数据Hacking.
5、Vulnerability Scan
  • OpenVas-漏洞扫描器,需额外安装.Kali一直默认包含,好不好用客官自行定夺. :)
6、Exploit Tools
  • Metasploit-强大,核心,必备
  • BeEF-XSS-XSS渗透测试工具,看个人习惯使用
  • Social-Engineering-Toolkit-Kali下的SET,社会工程学套件,功能强大.
  • MITMf-中间人攻击框架,基于Python,拥有多个插件,渗透测试功能强大
7、USB Attacks
  • Dictionary based brute force attack-自动输入字典一行内容并回车,基于HID,模拟操作方式的暴力破解
  • deADBolt-执行一堆ADB命令可以推送隐私文件等信息到指定目录,参考项目主页 https://github.com/photonicgeek/deADBolt
8、other:
  • OpenVPN 
  • VNC Setup
  • Log/Capture Menu-可擦除本地所有抓取数据或同步到SD卡上(同步主要是解决权限问题.比如多数安卓APP未获得root权限是无法读取NetHunter工具截获的数据内容)
  • NFC Attack-提供了复制、重写、查看M卡数据功能(是不是不必带上Acr122u了;)

1.4.2 dsploit&zanti中间人攻击

这两个工具功能基本一致,其实dsploit作者停止开发后也参与zanti了,dsploit不支持andorid5以上,而zanti高级版有诸多路由器漏洞exp
主要功能为:中间人攻击,截取窃听所有通信、密码窃取、会话劫持、重定向等等

1.4.3 android渗透套件bygtroid pro 

与kali功能基本相同,应该是早期对kali for arm移植到android的
主要功能:
802.11无线评估
网络探测
远程连接
DDos
嗅探
渗透
安全
审计
评估
破解
暴力尝试
反病毒
系统

二、实际攻击场景(移动设备)

2.1 已实现

2.1.1 破解wifi

  • wifi万能钥匙
wifi万能钥匙内含了诸多网友保存的wifi帐号密码,对于wifi破解能有很大的帮助
  • kali套件工具-wifite
wifite是现在最流行的wifi破解工具,基于python,手机需要外接可更改监听模式的USB网卡,如TP-LINK TL-WN722N
实测破解楼下WEP加密的26位密码只需要10分钟不到
而破解WPA/WPA2则需要较久的时间,甚至需要用wifite抓到握手包后再到pc解密,利用字典和GPU加速会快很多,大约数个小时
但若路由器开启pin码验证,破解起来会比较容易

2.1.2 内网扫描&收集信息

破解wifi后,手机连入wifi网段,可以使用各种嗅探工具来对网络进行扫描,并收集信息
  • Nmap
nmap是一款网络扫描和主机检测的非常有用的工具。 Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器。
检测活在网络上的主机(主机发现)
检测主机上开放的端口(端口发现或枚举)
检测到相应的端口(服务发现)的软件和版本
检测操作系统,硬件地址,以及软件版本
检测脆弱性的漏洞(Nmap的脚本)
扫描活跃的主机,包括ip地址、MAC地址、设备厂商信息,可以判断设备类型
对目标的端口扫描、系统信息等,根据这些信息,后续可以针对性的进行攻击,如ssh弱口令、服务漏洞利用等

2.1.3 中间人攻击

连接内网后可以使用如下工具进行中间人攻击,监听通信、cookie劫持会话、重定向、攻击路由、植入木马等
  • dsploit
此工具已停止更新,不支持android5.0及以上
使用简单,功能相对较弱
 
  • zanti
功能与dsploit相同,但强大一些,使用须注册
集成nmap扫描工具,集成帐号爆破字典,针对端口和服务可爆破猜解,针对帐号密码特定抓取处理
付费高级功能提供庞大字典库、大量漏洞exp
   
  • mitmproxy
kali套件之一,中间人代理工具,可将https降级为http后抓包
绵羊墙mana套件就是基于这个

2.2 可实现

2.2.1 wifi钓鱼

  • mana-toolkit
之前在树莓派上基于kali系统和开源工具mana-toolkit搭建了一个绵羊墙,可以主动嗅探ssid并进行伪造,还可以将https自动降级为http进行数据包捕获
展示页面:http://192.168.10.151/
树莓派设备与Android手机基本一样,性能甚至更弱
Android上Kali套件同样有mana-toolkit工具
(Android上kali套件还没实际测试,但完全可以直接使用树莓派上的方式)

2.2.2 漏洞攻击

  • Metasploit
Metasploit框架是一套针对远程主机进行开发和执行“exploit代码”的工具
其包括各类数据库、linux、windows、mac、android、ios等各种平台漏洞利用工具
通过之前nmap扫描获取内网设备信息后,可以针对性的使用metasploit里面的exp对设备进行攻击
并且这里的exp基本都是后门进程,可以直接进行远控
这里的
参考:metasploit
下图为android手机上的Metasploit工具,包含了1400+个漏洞exp和432个playloads,右边则是linux漏洞exp列表

2.2.3 HID keyboard attack

  • HID keyboard attack
kali套件之一,该工具可将手机模拟成键盘,利用HID keyboard 攻击,可以在手机连接PC时,让PC自动执行脚本&植入后门
需实际上门接触后方可攻击
  

2.2.4 NFC attack

  • NFC attacks
kali套件,该工具可利用手机NFC模块复制NFC卡,可用于克隆门禁卡,便于真人入侵
需实际接触后方可攻击

2015年9月20日星期日

iOS/Malware(六)XCodeGhost分析

(原文2015年09月20日发在Antiy官网,Xcode非官方版本恶意代码污染事件(XcodeGhost)的分析与综述pdf版本,其实事件响应还是很及时的,微博上曝光当天就已经完成了分析,但整体报告一直达不到seak要求,反复修改最后成了总结文章了。事件前因后续不再赘述,仅贴上个人分析部分)

1、样本信息

  • 样本名:CoreService
  • 位于XCode位置:(iOS、iOS模拟器、MacOSX三个平台)
    ./Developer/Platforms/iPhoneOS.platform/Developer/SDKs/Library/Frameworks/CoreServices.framework/CoreService
    ./Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/Library/Frameworks/CoreServices.framework/CoreService
    ./Developer/Platforms/MacOSX.platform/Developer/SDKs/Library/Frameworks/CoreServices.framework/CoreService
  • 样本形态:库文件(iOS、iOS模拟器、MacOSX三个平台)
  • 样本信息:
文件名平台要求系统版本md5上传域名关键信息形式读取剪贴板弹框openURL文件平台结构说明
CoreServiceiOS/iOS模拟器6.04fa1b08fd7331cd36a8fc3302e85e2bcinit.icloud-analysis.com字符串

iOS模拟器与iOS平台使用同一库文件
CoreService库里面同时包含iOS的ARM版本和模拟器的X86版本
7.0
40e4342b04a3cedcb4eaa01a1b68f40e
5e5425b47df510b0cacb9665db8aeed5
字符拼接
MacOSX
8a4be8036fa874a664d9299cf2b3ea74
6881744ee3ccd9e3f625b02141b55c20
5240c964c9efad9f2c6ed4ac9968cb7e



该部分文件实际无完整有效的恶意代码
由于捕获受感染XCode版本不全,不排除存在其他含有效代码版本
即可能存在感染MacOSX应用的方式(未证实),至少此处代码能佐证攻击者据有潜在对MacOSX的攻击意图

2、感染方式

2.1 攻击机理

这次攻击本质上是通过攻击xcode间接攻击了自动化构建和编译环境,目前开发者不论使用xcode server还是基于第三方工具或自研发工具都是需要基于xcode
而这次如此大面积的国内产品中招,则只能反映大量产品研发团队的产品开发和构建环境的维护以及安全意识都呈现比较大的问题
图 基于XCode的开发流程

2.1.1 恶意插件植入XCode方式

也许出于对XCode稳定性和植入方便考虑,恶意代码实际并没有对XCode工具进行太多修改
主要是添加了如下文件:
  • 针对 iOS
    • Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/Library/Frameworks/CoreServices.framework/CoreService
    • Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/Library/PrivateFrameworks/IDEBundleInjection.framework
  • 针对 iOS 模拟器
    • Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/Library/Frameworks/CoreServices.framework/CoreService
    • Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/Library/PrivateFrameworks/IDEBundleInjection.framework
  • 针对 Mac OS X
    • Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/Library/Frameworks/CoreServices.framework/CoreService
    • Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/Library/PrivateFrameworks/IDEBundleInjection.framework
以及修改了配置文件:
  • Xcode.app/Contents/PlugIns/Xcode3Core.ideplugin/Contents/SharedSupport/Developer/Library/Xcode/Plug-ins/CoreBuildTasks.xcplugin/Contents/Resources/Ld.xcspec

2.1.2 恶意插件植入App方式

  • 被攻击的开发环节:编译App项目部分
  • 恶意代码植入机理:通过修改Xcode配置文件,导致编译Linking时程序强制加载恶意库文件
  • 修改的配置文件:Xcode.app/Contents/PlugIns/Xcode3Core.ideplugin/Contents/SharedSupport/Developer/Library/Xcode/Plug-ins/CoreBuildTasks.xcplugin/Contents/Resources/Ld.xcspec
  • 添加的语句:“-force_load $(PLATFORM_DEVELOPER_SDK_DIR)/Library/Frameworks/CoreServices.framework/CoreService”

图 受感染Xcode与官方版本配置文件对比

2.2 恶意代码运行时间

  • 恶意代码植入位置:UIWindow (didFinishLaunchingWithOptions)
  • 恶意代码启动时间:App启动后开启准备展示第一个页面时恶意代码已经执行了
  • iOS应用启动流程:从代码执行流程来看,下图中每一步都是可以作为恶意代码植入点的,且其框架基本都是由模版自动生成,而UIWindow为iOS App启动后展示页面时执行
  • UIWindow生成方式
通常通过模板建立工程的时候,xcode会自动生成一个window,然后让它变成keyWindow并显示出来;
由于是模版自动生成,所以很多时候都容易被开发人员忽略掉这个UIWindow对象,也是这次被植入恶意代码位置的原因之一
  • 恶意代码启动时机分析:
恶意代码植入于UIWindow (didFinishLaunchingWithOptions)中,其入口点为: __UIWindow_didFinishLaunchingWithOptions__makeKeyAndVisible_;
UIWindow是作为包含了其他所有View的一个容器,每一个程序里面都会有一个UIWindow;
 didFinishLaunchingWithOptions里面的代码会在UIWindow启动时执行,也就是说,被感染app在启动时候开始准备展示界面就已经在执行被植入的恶意代码了;
图 恶意插件植入的代码入口点

3、危害分析

3.1 上传隐私

恶意代码上传的信息主要有:时间戳、应用名、包名、系统版本、语言、国家、网络信息等;
同时还有被感染app的运行状态:launch、runing、suspend、terminate、resignActive、AlertView
所有信息通过DES加密后POST上传到服务器:
  • init.icloud-analysis.com
  • init.crash-analytics.com
  • init.icloud-diagnostics.com
其中6.0版本URL为字符串形式,而到7.0版本URL则进化到字符拼接
7.0版本中还可以获取应用剪贴板信息
图 获取上传的信息
图 6.0版本中URL为字符串形式
图 7.0版本中URL字符拼接形式
图 7.0版本获取应用剪贴板信息

3.2 任意弹窗

恶意代码可以远程设置任意的弹窗信息,包括弹框标题、内容、推广应用id、取消按钮、确认按钮;
需要注意的是该部分代码并没有使用输入框控件,同时也并无进一步的数据回传的代码,因此是不能直接高仿伪造系统弹窗钓鱼获取Apple ID输入和密码输入的(这点在诸多已公开分析报告中均有一定误导性)
图 远程设置弹窗信息
但是由于弹窗内容可以任意设定,完全可以使用弹窗进行欺诈通知,如:
图 利用弹框进行欺诈通知

3.3 远控模块

一、openURL远控

恶意代码包含了一个使用openURL的远控模块,该模块可以用来执行从服务器获取到的URL scheme
其使用canOpenURL获取设备上可以定义了的URL scheme信息,并从服务器获取URL scheme通过openURL执行 
图 canOpenURL获取信息,执行从服务器获取的URL scheme

二、URL scheme能力

URL scheme功能强大,通过openURL可用实现很多功能;
但需要注意的是,URL scheme所能达到的功能与目标app权限有关,如拨打电话、发送短信需要被感染应用具有相应权限
但如果其他app或系统组件有URL scheme 解析漏洞、webview漏洞等,则能相应执行更多行为
由于服务器已经关闭,同时该样本也没有明显证据表明具体使用了哪些URL scheme
以下为恶意代码所能做到的行为分析:
  • 调用App
  • 拨打电话
  • 发送短信
  • 发送邮件
  • 获取剪贴板信息
  • 打开网页,如打开高仿Apple的钓鱼网站
  • 结合弹窗推广应用,App Store&企业证书应用皆可
图 设置推广应用appID和对应URL scheme
另外推广应用时候,由于弹窗所有信息皆可远程设置,当把”取消“按钮显示为”安装“,”安装“按钮显示为”取消“,极易误导用户安装推广的应用

3.4 中间人利用

虽然恶意代码使用的域名已经被封,但由于其通信数据只是采用了DES简单加密,很容易中间人重定向接管所有控制
当使用中间人攻击、DNS污染时,攻击者只需要将样本中服务器域名解析到自己的服务器,即可接管利用所有被感染设备,进而获取隐私、弹窗欺诈、远程控制等
其中恶意代码使用的DES密钥生成比较巧妙,先定义一个字符串”stringWithFormat“,再截取最大密钥长度,即前八个字符”stringWi“
DES标准密钥长度为56位,加上8个奇偶校验位,共64bit即8个字节
图 DES密钥生成方式
所以即便恶意代码服务器已经失活,依然建议用户及时更新被感染App版本,若仍未更新版本的App建议立即卸载或尽量不要在公共WIFI环境下使用,请等待新版本发布

4、校验Mac&iOS app方式

本次事件导致大量原厂发布的APP遭到污染的重要原因是,其开发发布团队未坚持原厂下载,也并未验证所下载的开发工具的数字签名。
同时我们发现有很多分析团队向开发者提供了完整的官方Xcode文件的Hash,但我们认为直接对应用进行数字签名验证可能是更高效的方法。

4.1 Mac&iOS app签名方式

OS X和iOS应用使用相同的签名方式,即:
1、在程序包中新建 _CodeSignature/CodeResources 文件,存储了被签名的程序包中所有文件的摘要信息
2、使用私钥 Private Key 对摘要进行加密,完成代码签名

4.2 Mac上官方签名工具codesign验证App方式

Mac上可以使用官方codesign工具用来对Mac&iOS app进行签名验证;
codesign工具属于XCode Command Line Tools套件之一,可以使用如下方式获取安装,推荐使用1、2方式:
  1. Terminal里执行:xcode-select --install
  2. Mac App Store里安装
  3. 安装 brew 后执行 brew doctor 自动安装
  4. 在Developer Apple网站下载安装:https://developer.apple.com/downloads/
图 Developer Apple上的Command Line Tools工具

4.2.1 获取app签名证书信息

使用codesign -vv -d xxx.app 指令可以获取app的签名信息
如验证官方XCode7.0,方框内Authority信息即该应用的证书信息,其中:
Authority=Apple Root CA,表示发布证书的CA机构,又称为证书授权中心
Authority=Apple Worldwide Developer Relations Certification Authority,表示证书的颁发中心,为Apple的认证部门
 Authority=Apple Mac OS Application Signing,表示证书所有者,即该应用属于Mac App Store签名发布
图 官方XCode7.0签名信息
而验证含XCodeGhost恶意插件的XCode6.4应用,其所有者为“Software Signing”,说明非Mac App Store官方渠道发布
图 恶意XCode签名信息

4.2.2 验证app的合法性

为了达到为所有文件设置签名的目的,签名的过程中会在程序包(即Example.app)中新建一个叫做 _CodeSignatue/CodeResources 的文件,这个文件中存储了被签名的程序包中所有文件的签名。
使用codesign --verify xxx.app 指令可以根据_CodeSignatue/CodeResources文件验证app的合法性
校验官方XCode应用,验证通过,没有任何提示
图 官方XCode签名校验合法
校验含XCodeGhost恶意插件的XCode应用,验证失败,出现提示,说明应用在签名之后被修改过
图 恶意XCode签名校验失败

4.3 官方推荐XCode验证工具spclt

鉴于此时影响重大,Apple官方于2015.9.22日发布文章推荐使用spclt工具校验XCode合法性

图 官方推荐使用spctl工具校验XCode合法性
如下图,上面为正版XCode验证信息,表明来源为Mac App Store;
而下面为恶意XCode工具验证信息,没有任何来源信息;
图 使用spctl工具校验XCode来源

2015年9月8日星期二

iOS/Malware(五)KeyRaider盗Apple id微信红包插件


一、样本来源

1.1 威锋报给wooyun

越狱有风险,iPhone抢红包外挂陷阱(真实案例)(cydia源已无样本)     8.25

1.2 claud weibo

1.3 威锋声明木马作者:

作者id:氵刀八木
其中样本名:eu.heinelt.ifile_2.2.0-1.deb 
该作者个人源:http://apt.178.com/15402441(比较老,新源已经关闭)
     apt.so/aptso(已关闭)

1.4 盘古徐昊分析报告

样本:iFile.plist
作者:氵刀八木
查看iFile.plist发现iFile.dylib模块被注入了itunesstored这个关键服务:
hookaid方法调用MSHookFunction函数hook了”/System/Library/Frameworks/Security.framework/Security”框架的SSLWrite和SSLRead函数。
当用户输入AppleID和密码登陆账号时,itunesstored服务会通过SSL连接向苹果服务器验证。因此在SSLWrite函数中可以拦截到明文的ID和密码,而在SSLRead中可以通过服务器返回的数据判断登陆是否成功,一旦登陆成功就将记录的ID和密码回传到服务器。
实际解析ID和密码并记录是在 aid_r_SSLWrite -> parsexml 函数中,而实际回传盗取的数据是在 aid_r_SSLRead -> sendAid 函数中:
值得注意的是回传过程中会有一个”from”标记,应该是用于记录这个盗号数据的来源。而在我们拿到的这个样本中 g_aid_from=”bamu”,应该是代表刀八木源中的插件。

1.5 claud分析报告

作者id:mischa07
qq:201919890
源:http://apt.so/kuaidial7
服务器:
  • top100.gotoip4[.]com
  • www.wushidou[.]cn

二、样本分析

2.1 样本汇总

作者应用名文件名MD5状态
mischa07
http://apt.so/kuaidial73K抢红包王app.weiphone.9catbbs.iwexin_2.0-3_iphoneos-arm.deba02be31297d47274c4b95e620b3fd30e-
iFile(破解版)app.weiphone.ifile.179_2.2.0-1_iphoneos-arm.deba5595a03eb95427f73dffe9b4cad093f恶意
氵刀八木http://apt.178.com/15402441(早期)WiFi Boosterwifibooster.178_2.0.1_iphoneos-arm.deb4ec177caebd72c43420eb54aee81611b-
盘古徐昊分析样本iFile
iFile_2.2.0-2-2.deb
623866a78ac17fab043a28e8dc6dc63b93f691a2恶意
iFile.dylibc798d24673adcdfd1b31f1cf090766adbbe1622b
Claud共享样本 9catbbs.GamePlugin_6.1-9.deb(空)d41d8cd98f00b204e9800998ecf8427e恶意
GamePlugin9catbbs.GamePlugin_6.1-9_1.debcaaf060572e57b6d175c3959495bcdbf
MPPlugin9catbbs.MPPlugin_1.3.deb1dd1a8c6c213e3b51cd2463d764a9c62
iappinbuy9catbbs.iappinbuy_1.0.debddf224f63ee9c7fba76298664a2b0b00
iappstore9catbbs.iappstore_4.0.deb0f710f8397ec969af26c299a63aeda8b
ibackground9catbbs.ibackground_3.2.deb02464ae6259a2c8194470385781501b7
3K抢红包王iweixin.deb3838a37a9bc7df750fb16d12e32a2fcb
BatteryLiferepo.sunbelife.batterylife_1.4.1.deb3c57e433fbba1ac1e4dc1b84cec038fb

2.2 iFile分析(常规样本)

2.2.1 样本结构

以mischa07的iFile(破解版)为例分析:
应用名
作者
文件名
MD5
iFile(破解版)mischa07http://apt.so/kuaidial7app.weiphone.ifile.179_2.2.0-1_iphoneos-arm.deba5595a03eb95427f73dffe9b4cad093f
其包结构如下:
路径文件名文件类型说明MD5
/debian-binarytextdeb 格式版本号码3cf918272ffa5de195752d73f3da3e5e
/controlcontroltextdeb包描述文件,名称(Package),版本(Version)以及描述(Description)等4113b99b9a9233863bb6711e2146753a
preinstshell scriptDebian软件包(".deb")解压前执行的脚本6f7e4ce37778589acff48f5a45e6f6f5
postinstexec安装成功后执行 'postinst' 脚本,完成所需的配置工作c355f77e8ccd7484559ec73e40064839
/data/ApplicationiFile.appappApp包,被重打包植入木马程序
/data/Library/MobileSubstrate/DynamicLibrariesifile.dylibdylibcydia库,恶意代码主体fffbf26a22f3234d7a693a2c6f28abfd
ifile.plistplist标记hook目标3dc4a4f35b7c50913b5c6e08032651fd

2.2.2 cydia库分析

1、ifile.plist

标记了两个hook目标,其中SpringBoard是iOS的桌面,正常iFile需要的;
而itunesstored是itunes服务相关,与iFile无关,恶意代码hook后可借此获取apple id

2、ifile.dylib

cert:hook主体
cert(void)方法调用MSHookFunction函数hook了”/System/Library/Frameworks/Security.framework/Security”框架的SSLWrite和SSLRead函数,并kill itunesstored进程重启
大多数KeyRaider的样本钩取SSL的读写函数都在itunesstored的进程里,itunesstored是系统的守护进程,用iTurnes协议与App Store通信
当用户输入AppleID和密码登陆账号时,itunesstored服务会通过SSL连接向苹果服务器验证
因此在SSLWrite函数中可以拦截到明文的ID和密码
而在SSLRead中可以通过服务器返回的数据判断登陆是否成功,一旦登陆成功就将记录的ID和密码回传到服务器
 
replace_SSLWriteCert:获取apple id
解析ssl的数据包,获取明文的ID和密码
replace_SSLReadCert:回传正确apple id
findReagex读取服务器返回的dsPersonID数据,判断登陆是否成功,成功就执行sendAid()回传apple id信息
sendAid:回传信息
回传 id、name、pass、guid;
post提交到服务器:www.wushidou.cn/aid.php
flag:返回数据标记
  • 徐昊分析说明:
  • claud报告说明:
在mischa07的代码中,这些参数的值总是应用程序的名称,例如“letv”;
而在bamu的样本中,所有的值永远都是“bamu”
该样本未发现from标记

2.3 iappinbuy分析(免费内购)

2.3.1 样本信息

iappinbuy说明为:可以把那些应用内购买的项目都变成免费的
样本来源
作者
程序名
文件名
MD5
Claud共享mischa07iappinbuy9catbbs.iappinbuy_1.0.debddf224f63ee9c7fba76298664a2b0b00
主要文件:
文件
说明
MD5
iappinbuy.plist标记hook itunesstored188a555ad8c89d0be76a9311b21a6c3a
iappinbuy.dylib恶意主体dc71cb3a71f159e667367cb07d2660f7

2.3.2 dylib分析

主要行为代码与ifile一样,以下为不同点:

1、主动验证帐号

两次hook SSLWrite API,通过post /WebObjects/MZFinance.woa/wa/authenticate模拟登陆:

2、应用内购接口

用于实现应用说明免费使用应用内购,实现方式应是使用其他用户apple id来购买

3、AES加解密

密钥key都是作者id:mischa07

4、返回flag

样本返回flag为:g_aid_from=“iappinbuy”,与claud报告一样,为样本名

2.4 iappstore(免费下载收费应用)

2.4.1 样本信息

iappstore说明:可以免费下载appstore收费应用
样本来源
作者
程序名
样本名
MD5
claud共享mischa07iappstore9catbbs.iappstore_4.0.deb0f710f8397ec969af26c299a63aeda8b
主要文件:
文件
说明
MD5
iappstore.dylib恶意主体8985ecbc80d257e02c1e30b0268d91e7
iappstore.plist标记hook itunesstored188a555ad8c89d0be76a9311b21a6c3a

2.4.2 dylib分析

主要行为代码与iappinbuy一样,以下为不同点:

1、购买App接口

应该为使用购买过app的其他apple id来实现
匹配关键词“salableAdamId”, “appExtVrsId”, “vid”, “price”, “guid”, “installedSoftwareRating” 和 “pricingParameters” 用以定位当前APP的支付信息

2、下载&读取帐号信息

获取服务器上的帐号信息
读取帐号信息,用以购买应用

3、flag

此处flag为应用名:iappstore

2.5 未分析到的部分

由于木马植入样本较多,部分claud报告中的代码未遇到:

1、窃取证书&私钥

hook apsd进程(IOS用于推送消息的守护进程),钩取了安全框架中定义的SecltemCopyMatching 函数,这个API用于寻找密钥项来匹配查询词条
安装钩取之后,当查询词条为“APSClientIdentity”时,KeyRaider执行原始安全项目复制匹配,用 SecIdentityCopyCertificate和SecIdentityCopyPrivateKey 从原始函数返回结果复制证书和私钥,这些证书和GUID一起发送到C2服务器。IOS钥匙链中以APSClientIdentity标记的是IOS中用来推送消息的密钥。攻击者可以利用这些证书创建一个假的系统推送:

2、锁屏

KeyRaider  hook SecItemCopyMatching,除了拦截通知证书,它也会将当前查询的label和特定的字符串 “com.Apple.lockdown.identity.activation”进行比较。如果匹配,KeyRaider 会将查询结果的值设置为0.
通过将返回值设置为0,KeyRaider 会阻止用户解锁他们的设备,即使通过手机输入了正确的解锁码或通过iCloud服务远程解锁设备。
一些之前的iPhone勒索攻击基于iCloud服务远程控制手机技术。其中有一些重置密码就可以重新控制iCloud。
KeyRaider不一样,它本身禁止任何的解锁操作,包括输密码和iCloud重置。利用私钥和证书可以直接发提示信息要求赎金,不用经过苹果的推送服务。因为这种设计,以前的解决办法都无效了。

2.6 小结

样本恶意行为比较简单,主要是hook ssl api来获取apple id后回传
但植入了大量的应用,以及窃取了22.5w个帐号则很严重了
另外对免费安装收费应用和免费使用内购部分的目的不是很清楚

CVE/CNVD list

报告记录&poc: 最近fuzz出了不少crash,提交记录git: https://github.com/gandalf4a/crash_report 其中CVE记录如下: (不定期持续更新) 2025 CVE-2025-22134:heap-buffer-o...