Jest wiele serwisów, które za kilka dolarów oferują nam pirackie aplikacje. Pobierając pirackie aplikacje dostajemy je jednak z niespodzianką. Warto ryzykować? Zaraz się przekonamy!

Nigdy nie będziemy pewni, co cracker dodał do aplikacji. Mogą to być reklamy, a innym razem może być to keylogger. Najlepiej jest zdobywać aplikacje wprost od deweloperów.

Tak naprawdę jest wielu użytkowników, którzy nie aktualizują swoich urządzeń, przez co otwierają się na liczne ataki. Dzisiaj pokażemy, w jaki sposób stajemy się ofiarami korzystając z piraconych aplikacji.

Jakiś czas temu pojawił się ciekawy wpis na stronie VirusTotal:

guiinject 

Jest to wirus który dodaje do naszej aplikacji irytujące reklamy. Jest on zawarty w spiraconej aplikacji Mail Time Pro.

com.mailtime.MailTimePro-clutch2.ipa 

Po zdobyciu naszego pliku możemy zauważyć w nazwie słowo clutch.

Clutch jest narzędziem do piracenia aplikacji zainstalowanych na naszym iPhonie i jest on tylko dostępny po uprzednim Jailbreak'u urządzenia. Po otworzeniu pliku .ipa, znajdujemy pliki wykonawcze oraz kilka bibliotek współdzielonych których nie powinno tam być.

jailbreak: Mach-O universal binary with 2 architectures
jailbreak (for architecture armv7): Mach-O dynamically linked shared library arm
jailbreak (for architecture arm64): Mach-O 64-bit dynamically linked shared library
MailTime Pro: Mach-O universal binary with 2 architectures
MailTime Pro (for architecture armv7): Mach-O executable arm
MailTime Pro (for architecture arm64): Mach-O 64-bit executable

Używając polecenia codesign, możemy zauważyć ze te biblioteki zostały skompilowane przez Nguygen'a Tat Hung'a. Niestety nie jest on developerem aplikacji Mail Time Pro.

$ codesign -dvv "MailTime Pro" 2>&1 | grep Authority
Authority=iPhone Developer: nguyen tat hung (T99T9WYY54)
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
$ codesign -dvv jailbreak 2>&1 | grep Authority
Authority=iPhone Developer: nguyen tat hung (T99T9WYY54)
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA

Idąc dalej, odkrywamy że biblioteki zostają zaimportowane do plików wykonywalnych.

$ otool -arch arm64 -L "MailTime Pro"
@executable_path/jailbreak (compatibility version 0.0.0, current version 0.0.0)

Dzięki komendzie assert() jesteśmy w stanie zobaczyć co znajduje się w owych bibliotekach:

  • Advertisement SDKs
    • Carrot
    • Facebook Audience Network
    • Google AdMob
    • StartApp
  • Cocoa Pods
    • FileMD5Hash
    • MBProgressHUD
    • SSZipArchive

Przy użyciu tych bibliotek jest pobierany framework.

{ "show_ads": "YES",
"show_message": "YES",
"update_message_not": "",
"update_link": "http://google.com",
"linkfw": "http://****************/DailyUploadDownloadLib.framework.zip",
"namefw": "DailyUploadDownloadLib.framework",
"md5fw": "f6a51b479516f11ce503ae06f9ffff0f",
"script_zip": "http://*********************/lib/filehost.scr.zip",
"script_file": "filehost.scr",
"md5_script": "a9ef52dc75ecbcfce9447237f5154417"
}

Tak oto wygląda nasz pobrany framework:

Framework po rozpakowaniu

Po udanym załadowaniu go do aplikacji prosi on usługę lib o reklamy do wyświetlenia. Framework ten co jakiś czas sprawdza nasz adres IP używając DynDNS.

Przykładowe aplikacje zainfekowane przez nasz wirus:

ipa_jb DailyUploads/com.infinear.call-clutch2.ipa
ipa_jb DailyUploads/com.axidep.polyglotvoicereader-clutch2.ipa
ipa_jb DailyUploads/com.contrast.mileagelog-clutch2.ipa
ipa_jb DailyUploads/com.kymatica.AUFX-Space-clutch2.ipa
ipa_jb DailyUploads/co.qapps.calcpro-clutch2.ipa
ipa_jb DailyUploads/com.pixiapps.ecoutemobile-clutch2.ipa
ipa_jb DailyUploads/com.jhnd.blender-clutch2.ipa
ipa_jb DailyUploads/com.jackadam.darksky-rc.ipa
ipa_jb DailyUploads/com.markelsoft.Text2Speech-clutch2.ipa
ipa_jb DailyUploads/com.giacomoballi.FindTower-clutch2.ipa
ipa_jb DailyUploads/com.venderbase.dd-wrt-clutch2.ipa
ipa_jb DailyUploads/com.vincenzoaccardi.itracking-clutch2.ipa
ipa_jb DailyUploads/com.realvnc.VNCViewer-clutch2.ipa
ipa_jb DailyUploads/com.yacreader.yacreader-clutch2.ipa
ipa_jb DailyUploads/com.plumamazing.iWatermark-clutch2.ipa

W tym przypadku mieliśmy do czynienia tylko z irytującymi reklamami ale kto wie co nas czeka za rogiem? Wspomagajmy developerów.

Źródło