Cabassous/FluBot的短暂辉煌——一个私有Android银行僵尸网络
引言
2020年12月左右,一款针对Android操作系统的新型银行恶意软件在西班牙出现。在本文中,我们将讨论其存在的时间线、目标应用、当前规模和僵尸网络的传播情况,以及作者采用的技术和能力,并推测其有效性。
我们既没有发现其名称/别名的迹象,也没有在地下论坛中发现任何销售线索。后一个事实表明,该恶意软件很可能是一个私有僵尸程序,这意味着它未来将拥有较小的客户群,且没有广告活动。
事件时间线
我们在2020年12月下旬发现了第一个野外样本。从那时起,恶意软件配置文件中的“版本”字段更新相当频繁,每周都会添加新功能和修复。我们能找到的关于Cabassous的第一份分析来自1月6日的ThreatFabric。
随后,几位研究人员在Twitter上公开记录了该恶意软件的传播活动。我们的沉洞统计数据表明,Cabassous增长非常迅速,直到达到约60,000次感染。此时,它在PRODAFT发布分析报告当天遭到了西班牙执法部门的重大打击。
西班牙当局与PRODAFT协调,于3月5日逮捕了该犯罪团伙的4名嫌疑成员。
不幸的是,逮捕并未使该行动完全停止。C&C服务器在3月5日离线,但几天后活动恢复。在撰写本文时,Cabassous仍然活跃,传播恶意软件,欺诈受害者,甚至继续开发僵尸程序,尽管新感染率已经放缓。
同一周,该恶意软件开始在波兰传播,使用了类似的网络钓鱼主题。目标应用列表尚未改变,撰写本文时的最新已知版本是3.6。
我们的沉洞统计数据表明,在3月5日之后,Cabassous的传播确实出现了下降,感染数量在两天内从每天约4万次独立连接下降到约1.5万次。此后统计数据因另一个原因持续下降——作者在新分发的样本中更新了域名生成算法。
说到沉洞,C&C服务器的代理在一月份曾显示一条奇怪的消息,意在阻止研究人员查看服务器,或者只是试图幽默一下。很可能是后者。很简单——服务器对根“/” URI的HTTP响应是以下文本:“注意:这是一个沉洞”。沉洞是安全研究人员使用的一个术语,描述了一个设置恶意域名指向它的Web服务器。这样做是为了监控或劫持僵尸网络,因为恶意软件会连接到它,认为它是合法的C&C服务器。然而在这种情况下,这只是一条毫无意义的虚假消息,它实际上是真实C&C服务器代理到其后端的入口。
大约在2021年2月底,上述消息改为用俄语写的措辞强硬的研究人员问候语。还有德米特里·梅德韦杰夫的一段引文和一段他随着90年代一首关于“美国男孩”和“巴拉莱卡琴”的俄罗斯流行歌曲跳舞的视频蒙太奇。显然,这个页面是为“公共关系”保留的,而关于沉洞的原始信息更像是一个玩笑,而不是隐藏服务器位置的合法尝试。
“问候,研究员-****们。我们祝愿你们一切顺利,心情愉快,身体健康!”
传播
主要目标和当前大多数僵尸网络用户来自西班牙的移动银行和加密货币用户。传播活动是经过广泛测试的冒充邮政和快递服务的方案。给定的受害者首先收到一条关于包裹递送的短信,其中包含一个指向伪造邮政服务页面的链接。访问后,受害者被提示下载包裹追踪应用程序,这实际上是恶意软件。大多数感染可能来自僵尸程序的短信垃圾邮件:感染后,僵尸程序将本地联系人列表发送到C&C服务器,然后请求垃圾邮件并接收它以及要发送的号码。
较少见的恶意软件版本诱骗冒充DHL和FedEx快递服务:
我们估计该僵尸网络目前总规模约为6万次独立感染。
大约一半的受感染设备运行的是Android 10。支持最新版本的Android操作系统似乎对Cabassous非常有效:
以下应用程序是覆盖攻击(也称为注入)的目标。西班牙银行应用:
- “Bankinter Móvil” — com.bankinter.launcher
- “BBVA Spain | Online banking” — com.bbva.bbvacontigo
- “Cajasur” — com.cajasur.android
- “Grupo Cajamar” — com.grupocajamar.wefferent
- “Imagin. Much more than an app to manage your money” — com.imaginbank.app
- “Kutxabank” — com.kutxabank.android
- “ruralvía” — com.rsi
- “Banca Móvil Laboral Kutxa” — com.tecnocom.cajalaboral
- “Santander” — es.bancosantander.apps
- “Bankia” — es.cm.android
- “EVO Banco móvil” — es.evobanco.bancamovil
- “Ibercaja” — es.ibercaja.ibercajaapp
- “CaixaBankNow” — es.lacaixa.mobile.android.newwapicon
- “Banca Digital Liberbank” — es.liberbank.cajasturapp
- “Openbank — banca móvil” — es.openbank.mobile
- “Pibank” — es.pibank.customers
- “UnicajaMovil” — es.univia.unicajamovil
- “Banco Sabadell App. Your mobile bank” — net.inverline.bancosabadell.officelocator.android
- “ING España. Banca Móvil” — www.ingdirect.nativeframe
加密货币应用:
- “Binance: Bitcoin Marketplace & Crypto Wallet” — com.binance.dev
- “Coinbase — Buy & Sell Bitcoin. Crypto Wallet” — com.coinbase.android
- “Blockchain.com Wallet — Buy Bitcoin, ETH, & Crypto” — piuk.blockchain.android
以下是一些注入屏幕的示例:
能力
如上所述,Cabassous的主要业务是银行欺诈。它提供以下功能:
- 拦截短信
- 发送短信和自动联系人列表垃圾邮件
- 显示针对银行和加密货币应用的覆盖/注入,以及通用的信用卡网络钓鱼屏幕
- 窃取联系人
- 打开URL
- 禁用PlayProtect
- 运行USSD命令
- 卸载应用
- SOCKS代理
覆盖使用标准的WebView显示。
技术
在这种情况下,有两种技术值得注意:混淆和C&C通信。
大多数样本都使用腾讯的Legu Packer应用程序进行打包。该解决方案加密APK文件并将其内容隐藏在简单的沙箱服务之外。然而,使用Frida、Xposed Framework等软件或apklab.io服务解包也很简单。
第二层混淆是字符串加密。该软件包取自一个公共的github仓库。这意味着在第一层(腾讯Legu)解包之后——你仍然看到的是恶意软件代码,其所有字符串都以加密状态打包到一个类中,而任何使用字符串的地方都被替换为对混淆器的反混淆例程的调用,这仅允许字符串在运行时解密。使用任何运行时挂钩方法(如Frida或Xposed Framework)也可以轻松绕过这种混淆。
该恶意软件C&C通信的特殊之处在于罕见地使用了DGA模块(域名生成算法)。通常,任何恶意软件都带有一个嵌入其中的C&C服务器的域名或IP地址。使用DGA是一种不同的方法——恶意软件不是连接到预定义的地址,而是携带一段代码,以特定方式操作文本和/或数字。此操作的输出是一个可能的域名地址列表,通常很多——在Cabassous的情况下是2000个(截至版本3.6是5000个)。
每次恶意软件启动时,它都会生成一组可能的C&C服务器域名,尝试解析它们,然后连接到第一个解析为IP地址且未离线的域名。该技术的优势在于对域名查封的恢复能力。在当前C&C服务器域名被执法部门或域名注册服务机构查获并关闭的情况下,恶意软件仍然有许多其他域名可以使用。威胁行为者然后可以简单地从列表中注册一个新域名,所有受感染的设备将自动连接到它,从而完全不受查封的影响。
通常,带有DGA模块的恶意软件会从给定的种子值(如短字符串)开始生成域名。犯罪分子可以频繁更新此值,以防止调查人员能够预测他们未来的域名并在甚至使用之前全部阻止它们。然而,Cabassous的作者采取了不同的方法:他们算法的种子是当前年份和月份数字的组合字符串。他们也没有添加任何更新种子或恶意软件本身的机制。基本上,这意味着任何人都可以在系统日期设置为下个月的分析设备上运行他们的恶意软件,并预测所有未来生成的域名。然后他们可以在其组织内的DNS级别阻止所有这些域名。
在这种情况下,生成域名的顺序也是有意随机化的,但程度不大。似乎生成的域名列表非常相似,只有少数差异。在我们的测试中,我们观察到一定程度的可预测性。为了衡量它,我们在日期设置为下个月第一天的设备上运行恶意软件,然后记下2000个生成域名中的前10个。然后我们又运行了10次测试。第一次运行的前10个域名中大约有5个会在接下来的10次测试中出现于前10个域名中,通常在生成顺序中的位置几乎相同。
Cabassous的3.6版本引入了使用标准Java库——Collections.shuffle()的域名顺序的真正完全随机化。
DGA模块还保护僵尸网络免受劫持。由于域名可以被预测,并且任何人都可以注册恶意软件的未来域名,理论上应该能够从犯罪分子那里窃取所有僵尸程序。然而,Cabassous实现了一个服务器验证机制。僵尸程序发送到C&C的出站消息使用服务器的公钥加密。这意味着在从C&C服务器获取私钥之前,没有人能够解密被劫持的流量。入站流量使用简单的XOR加密,这不太重要。
每当僵尸程序首次连接到服务器时,它会向服务器发送一个PKI加密的僵尸程序ID字符串。然后它期望服务器能够解密并将其发回。如果服务器没有响应相同的僵尸程序ID,DGA模块将移动到下一个域名。
服务器可以与僵尸程序交换的命令集列表包含在本文的IOC部分。
DGA域名指向运行PRIVOXY实例的服务器,该软件将请求重定向到真实服务器,作为另一种抗查封措施。在活动早期,我们观察到服务器通过PRIVOXY信息页面泄露了真实的后端地址:hkwl6qgewwvj2q7rtfxehu3jq3cypvr435u4vby3dwo4lwuxi47i5bqd[.]onion。很快配置错误被修复,onion地址也被更改。
总结
在这种情况下,威胁行为者绝对有些精明, hardly beginners in the business。作者开始时只针对一个国家,完全清楚即使欺诈一个国家也需要付出很多努力。当你预先知道没有足够时间欺诈其他国家的受害者时,没有必要在其他国家制造太多噪音。在采取这些谨慎步骤的同时,他们可能觉得他们的私有恶意软件可以变得独特,所以他们为其填充了DGA算法。域名生成在Android恶意软件中很少使用。
作者每几天发布一次恶意软件代码的更新,这相当频繁。尽管取得了许多成功,逮捕仍然发生,我们可能会看到更多。
DGA的实现是独特且安全的。在僵尸程序的出站消息上使用PKI加密,而入站消息仅使用简单的XOR,这表明犯罪分子了解劫持风险以及如何解决该问题。我们推测犯罪分子可能将僵尸网络出租给其他卡片骗子使用,届时我们将开始看到其他国家成为其目标。
目前,我们建议在处理包裹追踪时要非常小心,因为这种感染媒介已被证明非常可行和有效。每当您期待包裹时,我们建议您从电子邮件中复制追踪号,然后手动导航到快递服务的网站。这样,您可以避免点击通过短信或电子邮件收到的链接。此外,您的快递服务始终会在官方应用商店发布其真实的追踪应用程序——即iOS设备的Apple AppStore和Android设备的GooglePlay。仅从官方商店获取应用程序使您下载假冒恶意版本的可能性大大降低。
参考
- https://twitter.com/ThreatFabric/status/1346807891152560131 — ThreatFabric关于Cabassous的初始报告
- https://raw.githubusercontent.com/prodaft/malware-ioc/master/FluBot/FluBot.pdf — PRODAFT的分析论文
- https://twitter.com/alberto__segura/status/1368833293051977735 — Alberto Segura关于西班牙逮捕后版本3.4的报告
- https://twitter.com/danlopgom/status/1359966295307993091 — Daniel López的垃圾邮件域名收集
- https://github.com/MichaelRocks/paranoid/ — 开源字符串混淆器“paranoid”
- https://frida.re/ — 强大的Android和其他平台运行时调试框架
- https://www.xda-developers.com/xposed-framework-hub/ — 运行时挂钩框架Xposed
- https://www.privoxy.org/ — Cabassous犯罪分子用来隐藏其真实恶意软件后端的免费Web代理软件
- https://blog.quarkslab.com/a-glimpse-into-tencents-legu-packer.html — 腾讯Legu打包程序分析
IOC
僵尸程序命令
- PRE
- PING
- PING_LOG
- SMS_RATE
- GET_SMS
- GET_INJECT
- GET_INJECTS_LIST
- CONTACTS
- SMS_INTERCEPTING
- SMS_INTERCEPTING_ERR_NOT_DEF
- AM_I_DEF_SMS_APP
- INJECT
- BAL_GRABBER
- EXCEPTION
- GET_CONTACTS
- SMS_INT_TOGGLE
- OPEN_URL
- DISABLE_PLAY_PROTECT
- CARD_BLOCK
- SEND_SMS
- RELOAD_INJECTS
- RETRY_INJECT
- RUN_USSD
- UNINSTALL_APP
- BLOCK
- SOCKS
- NONE
C2代理IP
- 8.209.76.91
- 8.209.80.73
- 8.208.101.25
旧C2后端onion地址
- hkwl6qgewwvj2q7rtfxehu3jq3cypvr435u4vby3dwo4lwuxi47i5bqd[.]onion
垃圾邮件/APK分发URL(感谢@danlopgom在他的twitter上)
- 7277320[.]ru/app/
- acoi[.]my/fedex/
- ailnoir[.]com/app/
- aminatech[.]net/fedex/
- amzstudy[.]com/pack/
- app[.]crconsultoriacontable[.]com/info/
- avacoper[.]com/fedex/
- blog[.]sidmach[.]com/app/
- boattrip[.]amsterdam/info/
- buguilou[.]com/p/
- bxc[.]net[.]au/fedex/
- canopusbd[.]com/fedex/
- cashboxcafe[.]ru/web/
- chevychasefarmersmarket[.]org/info/
- clone[.]app[.]home-cost[.]com/app/
- colegioaugustoribeiro[.]com[.]br/fedex/
- contornosdesign[.]pt/pkg/
- cwfplaceoptin[.]com/info/
- dclifechanging[.]com/fedex/
- delhi[.]tie[.]org/p/
- dgeneration[.]in/pack/
- diamondcup[.]gr/fedex/
- dibae[.]blog/fedex/
- dilalla[.]com[.]ar/web/
- ekremakin[.]org/pack/
- elonatheexplorer[.]com/fedex/
- erbiltursu[.]com/app/
- ericom[.]ltd/fedex/
- fallenjewellery[.]com/fedex/
- fbtataw[.]w99[.]hk-network[.]com/web/
- ganesha[.]com[.]py/web/
- geeklevi[.]com/fedex/
- illuminate[.]org/info/
- investisho[.]com/fedex/
- kakagems[.]com/fedex/
- keyofislam[.]com/dhl/
- kidimy[.]org/pkg/
- lacasa-dh[.]nl/pack/
- lavozislamica[.]com/www/
- lgklgklgk[.]com/fedex/
- magicboximportados[.]com[.]br/web/
- martinsinnovativeproductsoptin[.]com/app/
- maskarena[.]co[.]il/fedex/
- microdreamit[.]net/info/
- mir2018[.]mrororr[.]ru/fedex/
- mmcamping[.]com/app/
- nbkangxi[.]com/pack/
- nbkfinance[.]ru/fedex/
- njzmfcls[.]com/fedex/
- nuevocalor[.]com/fedex/
- offx[.]link/info/
- ordermy[.]vn/web/
- ouyangpengcheng[.]xyz/p/
- paradjsproductores[.]club/fedex/
- pochitto-daikou[.]com/info/
- prtysh[.]in/app/
- raeloficial[.]com/pkg/
- raisegroup[.]it/fedex/
- rasf[.]sa/fedex/
- rees[.]games/app/
- rishipes[.]co[.]nz/pack/
- ryansa[.]com/pkg/
- safemarkglobal[.]com/fedex/
- simplestepsllc[.]com/info/
- smcsme[.]com/fedex/
- spave[.]com[.]pk/p/
- standwithsabeena[.]com/info/
- tacloban[.]gov[.]ph/info/
- test[.]runningandliving[.]com/info/
- testtaglabel[.]com/web/
- thetopinterioraccentsoptin[.]com/web/
- topblackfridaydealz[.]com/web/
- tourvoltaire[.]fr/app/
- trophygamer[.]de/app/
- valleclean[.]com/fedex/
- verdun[.]com[.]br/app/
- viralfeeds[.]net/fedex/
- visotka[.]in/pack/
- walton[.]circusvn[.]com/dhl/
- webelevates[.]com/app/
- weboyal[.]com/p/
- wittyx[.]com/fedex/
- wowfollowers[.]com/fedex/
- xn–thvitstore-c7a[.]com/pack/
- yangbin[.]100cuo[.]com/pack/
- ylem222[.]com/p/
- yourelectricians[.]co[.]uk/app/
- zyzlk[.]com/pack/
SHA256
- d22c5db75f6260823e83057721a2d3e90a9821bdbc81ec52683e8cce49d9a49d
- 80260cc2e49e1014d64f871f5cc89754ecd0124337e3ce0a2ec9c2ec7f65c72
- 686e40d6ceb89373b121e9ce0c6af8777d976ceb7931edfe42eeba2646bc2f77
- 868d377abecc0b4505cc05552f602abed314ad75fea766086376cadd7ea5a09b
- 078397b3bc5bb086787474d81a3cea6a6c58f89931c7bb19eb52b1795b2695cd
- c804e48d95ee79a82d05e8616155e6ef9bf17277d01ab2ef900f67292ce1b8d5
- 62ac92933595be179484d18b672645d763a8177db4bc48826c4a688726f29108
- 431140a45bbd38bd69df903efe9d9fee1c08e620a3de102a3533bbbe583b3060
- e13cf22d878e208ea3d290532612e0f2fd805732c2e4c93f5b263bebc21eca80
- 1cf7ab4597dd8530b36bdebdb5b94ea89e49450ace25acdcdfaaa603f22e2184
- 2b8e728113d204794f5b566d14a4f8b1e9aaf1042aec336104ea08ba57f9bd59
- 4a2f1e1fa5c54caf389db3d987689e658944c63f784191b812fa2632fc088dec
- a60fee547a07856bb7fd5dfa8434d02403a8204b6b405f3398f8f1547b4bc57a
- c19e6e34762a605989fa2b1bedfd1e7333e77c6c8528622813db5f69affd0bd6
- e5bb121bf54f3317dfe65e6382040d4366244bab84e40a5f6dae966be0f4933f
- 66de8e6aeda050c499a2908be94209153f2f86b46e71cb33524e445a8c8b058a
- 7d0d5065262bc77c1cecd94c44a4c754e64657110d3de8904e8ad5e55e4a271e
- 8b66cf091750015413f63d048de8eb05b41d3e0d7e6ee33b86ae852f5bca40a6
- 667cd309e42e9b3cabbea8c4ecb4d37235fa209b52356cfc23b505e81cb9e491
- bcb1b15162f8a776a2942379f34459d784162ac7ccc4c312458d8ee1fd3712b4
C2代理DGA域名(为举例起见的一小批)
- afhckrfcucjbpln.com
- aoeaqxivuikhhdp.cn
- arymabkciiyygmh.com
- bdoefrixkguoivh.ru
- bfsggebsrhigyxh.com
- blaganfaqbsmgwc.ru
- corxcbfbpjcunia.ru
- dckhborssheephs.com
- dsjllaauvfxtxuu.cn
- eboyewtljkwywbr.ru
- ehjhihxkxtgbayy.cn
- eiobblimcjpilij.com
- ffqjqgorpsotrsj.ru
- gfnkhxbixjshqdx.com
- gykgaiboudkqllm.com
- hxntfaqyapsiqap.cn
- ilynavfqveqtaeg.cn
- ipiravjcwmjpjxa.cn
- ivsidewdwmtqhib.com
- ixexifcomsummmw.ru
- ixshbrjebrwhnwp.cn
- jagwvpmhykktllh.cn
- jiuyniwbhmnrubd.ru
- joslxklqphibnhn.cn
- joxcxsbjibkwoqe.cn
- joysqegeomjdipq.com
- jpbqlxiallxpxnf.ru
- jrjarkacjxptwaa.ru
- kuoycxqewotcwnr.cn
- larrowlygahvjrf.cn
- laxixnnswnfcoat.com
- lbdvdftoknnjgnt.cn
- lboyoqtrjngmxot.cn
- lcbqyugshoarnup.ru
- lqibdkotaucksjv.com
- ltyijgdjdiwatrd.cn
- luwardwlejahsbl.cn
- mcwaoarumdwfuoi.ru
- mkomjxfqmkpdsnp.com