{
	"id": "79707902-bf1b-4395-a98e-92d9217fa9e8",
	"created_at": "2026-04-06T00:19:25.088008Z",
	"updated_at": "2026-04-10T13:12:18.17607Z",
	"deleted_at": null,
	"sha1_hash": "a3a38154d6bdd96c6a55927f11fe8c59388c98fd",
	"title": "Aktywacja aplikacji IKO – Kampania złośliwego oprogramowania",
	"llm_title": "",
	"authors": "",
	"file_creation_date": "0001-01-01T00:00:00Z",
	"file_modification_date": "0001-01-01T00:00:00Z",
	"file_size": 1053598,
	"plain_text": "Aktywacja aplikacji IKO – Kampania złośliwego oprogramowania\r\nArchived: 2026-04-05 14:09:00 UTC\r\nW ostatnim czasie obserwowaliśmy kolejną kampanię złośliwego oprogramowania wymierzoną w użytkowników urządzeń\r\nmobilnych z systemem Android. Szkodliwa aplikacja, podszywa się pod aplikację banku PKO BP – IKO. Po analizie\r\nokazało się, że w atakach wykorzystywany jest obserwowany po raz pierwszy w Polsce trojan bankowy Coper.\r\nW dniu 28 grudnia 2021 dostaliśmy pierwsze zgłoszenie o podejrzanym SMSie w którym nadawca wiadomości prosi o\r\nodnowienie systemu poprzez \"aktywację\" aplikacji:\r\nSzanowny kliencie.W ostatnim czasie odnotowaliśmy aktywność ataków chakerskich.\r\nProsimy odnowić system https://iko.pkobq.pl/aktywacja/\r\nNa uwagę zasługuje słowo \"chakerskich\" pisane przez ch i brzmiące dziwnie po polsku zdanie \"Prosimy odnowić system\".\r\nOczywiście złośliwa domena od razu znalazła się na naszej liście ostrzeżeń, a dla samej domeny pkobq.pl został\r\nwystawiony wniosek o usunięcie z rejestru.\r\nPo kliknięciu w link zawarty w wiadomości SMS, użytkownik zostaje przeniesiony na fałszywą stronę banku PKO BP. Jest\r\nona przygotowana profesjonalnie i przypomina prawdziwą stronę aplikacji IKO.\r\nAtakujący przygotowali instrukcję dla użytkownika krok po kroku w jaki sposób zainstalować aplikację i nadać jej\r\ndodatkowe uprawnienia. Po pierwszym uruchomieniu pojawia się okno, które w natarczywy sposób domaga się wyrażenia\r\nzgody na korzystanie z usług ułatwień dostępu (ang. accessibility services).\r\nUłatwienia dostępu, mają z założenia wspomagać obsługę systemu osobom niepełnosprawnym, ale są one często\r\nwykorzystywane przez złośliwe oprogramowanie do przejęcia kontroli nad urządzeniem. Jeżeli użytkownik zgodzi się, aby\r\nzłośliwe oprogramowanie korzystało z tej funkcjonalności, może ono samodzielnie imitować działania użytkownika jak\r\nklikanie w przyciski, czy zamykanie okien. W efekcie przejmuje ono pełną kontrolę nad urządzeniem.\r\nhttps://cert.pl/posts/2021/12/aktywacja-aplikacji-iko/\r\nPage 1 of 6\n\nCiekawą obserwacją jest to, że przez pewien czas, aktor kampanii do hostowania złośliwego pliku APK używał platformy\r\nGitHub. Jednak po usunięciu kilku kolejnych kont zdecydował się na kierowanie użytkowników bezpośrednio na aplikację\r\nznajdującą się na jego stronie.\r\nPobierany plik oczywiście nie jest prawdziwą aplikacją banku, lecz próbką mało znanego, złośliwego oprogramowania z\r\nrodziny Coper. Jedyny na te chwile dostępny materiał na jego temat pochodzi z analizy dokonanej przez firmę Dr.WEB,\r\ngdy była ona używana do infekowania użytkowników z Kolumbii: https://news.drweb.com/show/?i=14259\r\nAnaliza techniczna\r\nPo zdekompilowaniu pliku APK, np. narzędziem JADX, na pierwszy rzut oka nie wydaje się on szczególnie ciekawy –\r\nwiększość klas jest pusta i nie widać w nich żadnych ciekawych funkcjonalności. Możemy zacząć podejrzewać, że aplikacja\r\nzostała w jakiś sposób spakowana.\r\nNaszą uwagę może przykuć klasa która odwołuje się do załączonej biblioteki natywnej EzSNRfTMfY .\r\npublic class SjrPjuhyyhtmbDJ extends Application {\r\n static {\r\nhttps://cert.pl/posts/2021/12/aktywacja-aplikacji-iko/\r\nPage 2 of 6\n\nSystem.loadLibrary(\"EzSNRfTMfY\");\r\n }\r\n /* access modifiers changed from: protected */\r\n public void attachBaseContext(Context context) {\r\n super.attachBaseContext(context);\r\n snlOMCujSZmMAS(context);\r\n }\r\n public native void snlOMCujSZmMAS(Object obj);\r\n}\r\nMożemy również stwierdzić jej obecność korzystając z przeglądarki plików projektu. Na poniższym screenie jest widoczna\r\njako libEzSNRfTMfY.so .\r\nKolejnym krokiem będzie więc analiza tej biblioteki, a w szczególności wywoływanej z niej funkcji snlOMCujSZmMAS . W\r\ntym celu możemy skorzystać np. z dekompilatora dostępnego w IDA Pro.\r\nhttps://cert.pl/posts/2021/12/aktywacja-aplikacji-iko/\r\nPage 3 of 6\n\nDostęp do zdekompilowanego kodu bardzo pomaga w ustaleniu działania biblioteki. Szybko dochodzimy do wniosku, że\r\ndeszyfruje ona załączony plik ziwnopuf , korzystając z szyfru RC4 i stałego klucza – w tym przypadku\r\n3O10TAjsBlehWNa8e7vUgOWHlRH1T4Tr .\r\nDziałanie tego kodu możemy bardzo prosto zasymulować, korzystając ze stworzonej przez nas biblioteki do pracy nad\r\nzłośliwym oprogramowaniem – Malduck. Kod z jej wykorzystaniem pozwalający odszyfrować plik ziwnopuf wygląda\r\nnastępująco:\r\nfrom malduck import rc4\r\nwith open(\"res/raw/ziwnopuf\", \"rb\") as f:\r\n data = f.read()\r\ndecrypted = rc4(b\"3O10TAjsBlehWNa8e7vUgOWHlRH1T4Tr\", data)\r\nwith open(\"decrypted.dex\", \"wb\") as f:\r\n f.write(decrypted)\r\nWynikowy plik dex jest już o wiele ciekawszy.\r\nNiektóre łańcuchy znaków są szyfrowane ponownie za pomocą RC4 i klucza 7BLiz2PK6wbk1mhp , ale również tym razem\r\nnie sprawia to zbyt wiele problemu i analogicznie możemy wykorzystać Malduck.\r\nWynikowo dostaniemy odszyfrowane stringi. Jednym z nich są wykorzystywane serwery C\u0026C:\r\n'https://s22231232fdnsjds.top/PArhFzp5sG2sN/|https://s32231232fdnsjds.top/PArhFzp5sG2sN/|https://s42231232fdnsjds.top/PArhFz\r\nSpędzając trochę czasu na dalszej analizie możemy ustalić, że zapytania i odpowiedzi są szyfrowane za pomocą szyfru AES\r\nw trybie blokowym ECB, a następnie kodowane z wykorzystaniem Base64:\r\npublic static String m59try(String str) {\r\n if (str == null || str.isEmpty()) {\r\n return \"\";\r\n }\r\n try {\r\n SecretKeySpec secretKeySpec = new SecretKeySpec(adgjsfgjsgdfjea(Ctry.f83try).getBytes(), \"AES\");\r\n Cipher instance = Cipher.getInstance(\"AES/ECB/PKCS5Padding\");\r\n instance.init(1, secretKeySpec);\r\n byte[] doFinal = instance.doFinal(str.getBytes());\r\n return doFinal == null ? str : Base64.encodeToString(doFinal, 0);\r\n } catch (Exception unused) {\r\n return str;\r\nhttps://cert.pl/posts/2021/12/aktywacja-aplikacji-iko/\r\nPage 4 of 6\n\n}\n}\nNatomiast klucz dla tego szyfrowania jest generowany korzystając z funkcji skrótu MD5 –\n54569d2aaae7176335a67bf72e86736f :\npublic static String adgjsfgjsgdfjea(String str) {\n try {\n MessageDigest instance = MessageDigest.getInstance(\"MD5\");\n instance.update(str.getBytes());\n byte[] digest = instance.digest();\n StringBuilder sb = new StringBuilder();\n for (byte b : digest) {\n String hexString = Integer.toHexString(b \u0026 255);\n while (hexString.length() \u003c 2) {\n hexString = \"0\" + hexString;\n }\n sb.append(hexString);\n }\n return sb.toString();\n } catch (NoSuchAlgorithmException e) {\n e.printStackTrace();\n return \"\";\n }\n}\nPotrafiąc odszyfrować komunikację możemy przeanalizować jak ona wygląda, a następnie spreparować odpowiedni pakiet\npodszywający się za zainfekowane urządzenie. Więcej informacji o protokole komunikacji można znaleźć w raporcie\nDr.WEB. Dzięki nawiązaniu takiej komunikacji, możemy uzyskać odpowiedź od serwera z aktualnymi danymi\nkonfiguracyjnymi, m.in listą aplikacji, dla których autor przygotował webinjecty, czy dodatkowe domeny C\u0026C.\n{\n \"response\": \"er1\",\n \"tasks\": [],\n \"injects_list\": \"au.com.auswidebank.auswidebank|au.com.bankwest.mobile|au.com.ingdirect.android|au.com.nab.mobile|au.c\n \"extra_domains\": \"https://s122231232fdnsjds.top/|https://s222231232fdnsjds.top/|https://s322231232fdnsjds.top/|\",\n \"keylogger_enabled\": null,\n \"net_delay\": \"20\"\n}\nW przypadku nieprawidłowego zapytania serwer udaje zwykły serwer HTTP, jednak można dostrzec zakomentowaną\ninformację o błędzie w dekodowaniu zapytania – :\n\n404 Not Found\n\n# Not Found\n\nThe requested URL /PArhFzp5sG2sN/ was not found on this server.\n\nNa uwagę zasługuje lista webinjectów, czyli aplikacji dla których złośliwe oprogramowanie będzie próbowało wykraść\ndane. W większości przypadków mają one dopisek .test który powoduje, że nie zadziałają one i mogą sugerować\nwczesną fazę rozwoju oprogramowania. Gdy je usuniemy dostajemy następującą listę targetowanych aplikacji:\nhttps://cert.pl/posts/2021/12/aktywacja-aplikacji-iko/\nPage 5 of 6\n\nau.com.auswidebank.auswidebank\r\nau.com.bankwest.mobile\r\nau.com.ingdirect.android\r\nau.com.nab.mobile\r\nau.com.pnbank.android\r\nau.com.suncorp.SuncorpBank\r\nbot.accessibility.hint\r\ncom.anz.android.gomoney\r\ncom.bankofqueensland.boq\r\ncom.bbva.bbvacontigo\r\ncom.bbva.netcash\r\ncom.bendigobank.mobile\r\ncom.commbank.netbank\r\ncom.fusion.banking\r\ncom.fusion.beyondbank\r\nenterprise.com.anz.shield\r\nes.bancosantander.apps\r\norg.banksa.bank\r\norg.bom.bank\r\norg.stgeorge.bank\r\norg.westpac.bank\r\nuk.co.tsb.newmobilebank\r\nCiekawe jest to, że na chwilę obecną nie znajdziemy na niej polskich aplikacji, co nie znaczy, że infekcja tym złośliwym\r\noprogramowaniem nie jest groźna. Poza mechanizmem webinjectów Coper pozwala m.in na przechwytywanie i wysyłanie\r\nSMSów, czy uruchomienie keyloggera.\r\nIOC\r\nPliki APK:\r\nNazwa pliku Użytkownik Githuba MD5\r\nIKO.apk @steve229898 368f4b4d74a749ff55d76e929b52fedd\r\n2.iko_com.mindsoonvfk_IKO.apk @bechertfidor aebe71b857e868b1af752f90255aaab5\r\n2.iko_com.stoptravelg_IKO.apk @bechertfidor d2d8027baebf285703dc753219574d3e\r\n3.iko_com.growmainwkmm_IKO.apk @fidorde d6f521d9e83160ee06d71dc217c56693\r\nIKO.apk d6f521d9e83160ee06d71dc217c56693\r\nSerwery C\u0026C zaszyte na stałe w próbkach:\r\nhttps://s22231232fdnsjds[.]top/PArhFzp5sG2sN/\r\nhttps://s32231232fdnsjds[.]top/PArhFzp5sG2sN/\r\nhttps://s42231232fdnsjds[.]top/PArhFzp5sG2sN/\r\nDynamiczne serwery C\u0026C:\r\nhttps://s122231232fdnsjds[.]top/\r\nhttps://s222231232fdnsjds[.]top/\r\nhttps://s322231232fdnsjds[.]top/\r\nSource: https://cert.pl/posts/2021/12/aktywacja-aplikacji-iko/\r\nhttps://cert.pl/posts/2021/12/aktywacja-aplikacji-iko/\r\nPage 6 of 6",
	"extraction_quality": 1,
	"language": "PL",
	"sources": [
		"Malpedia"
	],
	"origins": [
		"web"
	],
	"references": [
		"https://cert.pl/posts/2021/12/aktywacja-aplikacji-iko/"
	],
	"report_names": [
		"aktywacja-aplikacji-iko"
	],
	"threat_actors": [],
	"ts_created_at": 1775434765,
	"ts_updated_at": 1775826738,
	"ts_creation_date": 0,
	"ts_modification_date": 0,
	"files": {
		"pdf": "https://archive.orkl.eu/a3a38154d6bdd96c6a55927f11fe8c59388c98fd.pdf",
		"text": "https://archive.orkl.eu/a3a38154d6bdd96c6a55927f11fe8c59388c98fd.txt",
		"img": "https://archive.orkl.eu/a3a38154d6bdd96c6a55927f11fe8c59388c98fd.jpg"
	}
}