草庐IT

新安卓恶意软件“变色龙”正在冒充澳大利亚银行和加密货币交易所

小王斯基 2023-08-31 原文

近日,网络安全公司 Cyble 发现一种名为 Chameleon(“变色龙”)的新安卓恶意软件冒充澳大利亚政府机构 CoinSpot 加密货币交易所和 IKO 银行,通过受损网站、Discord 附件和 Bitbucket 托管服务进行分发,对澳大利亚和波兰的用户展开网络攻击。

Cyble 的安全研究人员表示 Chameleon 主要通过叠加注入和密钥记录、cookie 和受感染设备的短信窃取用户凭据。

能够逃避安全软件检查

该恶意软件有很强的逃避安全检查能力,一旦启动后会立即执行各种“检查”,以逃避安全软件的检测。(据悉,“检查”主要包括反仿真检查,以检测设备是否已扎根并激活调试,从而增加恶意软件应用程序在系统安全环境中运行的可能性。)

如果检查结果显示受害系统环境很“干净”,Chameleon 就会请求受害者允许其使用无障碍服务,并滥用该服务授予自身额外的权限,以期禁用 Google Play Protect。

请求允许使用无障碍服务(Cyble)

在与 C2 第一次连接时, 为了解最新的感染情况,Chameleon 灰发送设备版本、型号、根状态、国家和精确位置。接下来,根据恶意软件模拟的实体,它会在 WebView 中打开其合法 URL,并开始在后台加载恶意模块。

值得一提的事,这些模块包括一个 cookie 窃取器、一个键盘记录器、一个网络钓鱼页面注射器、一个锁屏 PIN/模式抓取器,以及一个可以窃取一次性密码并帮助攻击者绕过 2FA 保护的短信窃取器。

短信拦截(Cyble)

研究人员分析后发现上述恶意模块大多依赖可访问性服务滥用来按需工作,从而使 Chameleon 恶意软件能够监控屏幕内容、监控特定事件、进行干预以修改界面元素,或根据需要发送某些 API 调用。

滥用无障碍服务来检索锁屏密码(Cyble)

一部分恶意模块被用于阻止恶意软件的卸载,识别受害者何时试图删除恶意应用程序,并删除其共享的首选项变量,使其看起来好像不再存在于设备中。

自动删除共享首选项变量(Cyble)

共享的首选项变量的擦除使得 Chameleon 恶意应用程序在下次启动时重新建立与 C2 的通信,但阻止了其卸载,并使研究人员更难进行分析。

Cyble 还观察到一些代码,这些代码使 Chameleon 能够在运行时下载有效负载,并将其保存在主机上作为“.jar”文件,稍后通过 DexClassLoader 执行,但此功能目前尚未使用。

下载额外有效载荷的代码(Cyble)

Chameleon 作为一种新兴恶意软件威胁,可能会在未来的版本中增加更多的功能,因此网络安全专家建议安卓用户保持谨慎安装应用程序,只从官方商店下载软件,并确保其设备始终启用了Google Play Protect。

有关新安卓恶意软件“变色龙”正在冒充澳大利亚银行和加密货币交易所的更多相关文章

  1. ruby - 如何在新安装的 Mountain Lion 上安装 libv8 ruby​​ gem? - 2

    我一直在为这个问题绞尽脑汁。我已遵循几篇相关帖子中的建议,但无济于事。我从全新安装的MountainLion开始,安装了命令行工具,并根据我发现的其他一些关于通过Homebrew安装gcc-4.2并添加符号链接(symboliclink)的帖子成功安装了Ruby1.8.7/usr/bin/gcc-4.2.但是,现在我无法成功安装libv8。下面的错误是我从现有建议中得到的。任何额外的输入?Gem::Installer::ExtensionBuildError:ERROR:Failedtobuildgemnativeextension./Users/Eric/.rbenv/version

  2. ruby-on-rails - 新安装的 Rails + Devise 总是得到 401 Unauthorized - 2

    我新安装了Rails,正在尝试使用Devise设置身份验证。据我所知,我有一个非常基本的设置应该可以工作,但是每当我尝试使用默认的Devise登录表单登录时,我都会收到未经授权的错误。我确定我的凭据是正确的,因为我创建了一个用户来在控制台中进行测试,如下所示:User.new({:email=>'mark@markdavies.com.au',:priv_level=>'admin',:password=>'mypassword',:password_confirmation=>'mypassword'}).save我的用户模型:classUser我的日志:StartedPOST"/a

  3. ruby-on-rails - 处理货币/金钱的最佳方法是什么? - 2

    我正在开发一个非常基本的购物车系统。我有一个表items,其中有一列price类型为integer。我无法在包含欧元和美分的价格View中显示价格值。就在Rails框架中处理货币而言,我是否遗漏了一些明显的东西? 最佳答案 您可能希望在数据库中使用DECIMAL类型。在您的迁移中,执行如下操作:#precisionisthetotalnumberofdigits#scaleisthenumberofdigitstotherightofthedecimalpointadd_column:items,:price,:decimal,:p

  4. javascript - 如何将语言环境字符串(货币)转换回数字? - 2

    我正在使用toLocaleString()https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString转换成美元字符串格式,但我在反转操作时遇到了麻烦。在我的例子中,转换回美分。dollarString.split('$')[1]*100一旦字符串中有,就搞砸了。有没有比通过字符串删除逗号更好的方法来处理这个问题?如果我最终使用其他货币怎么办?我不能将任何货币转换成美分表示形式,这样我就可以做数学运算,然后再转换回某些语言环境吗?

  5. javascript - 热衷于在 JavaScript 或 jQuery 中获取用户的货币区域设置? - 2

    我正在尝试使用jQuery格式化一些数字。我想获取用户对货币和数字的区域设置,以实现正确的格式(获取小数点分隔符)。是否可以使用jQuery或JavaScript检索这些参数? 最佳答案 使用Number.toLocaleString()使用style:'currency':(73.57).toLocaleString('de-DE',{style:'currency',currency:'EUR'});//German:73,57€(73.57).toLocaleString('en-US',{style:'currency',c

  6. javascript - 更改货币符号或在inputmask货币中将其删除 - 2

    我正在使用RobinHerbot'sinputmaskjqueryplugin我想将默认货币符号(默认情况下为美元货币符号)更改为PESO货币符号或删除货币符号。下面是我试过的,是的,符号发生了变化,符号被删除了,但它不会让我输入任何东西。$(document).ready(function(){$("#currency1").inputmask({alias:"currency",mask:"0.00"});$("#currency2").inputmask({alias:"currency",mask:"₱0.00"});});REMOVECURRENCYSYMBOLCHANGET

  7. javascript - 我网站中的恶意 javascript 代码 - 2

    我在我的网站源代码中找到了这段代码:var_0xd28d=["\x5F\x30\x78\x33\x32\x6C\x73\x6A\x39","\x5F\x78\x6C\x74","\x5F\x78\x38\x66\x6B\x63\x33","\x66\x6C\x6F\x6F\x72","\x72\x61\x6E\x64\x6F\x6D","\x6C\x65\x6E\x67\x74\x68"];var_0x9ae4=[_0xd28d[0],12,_0xd28d[1],_0xd28d[2],2,31,Math,_0xd28d[3]];var_0xcd6e=[_0x9ae4[5],_0x9ae

  8. javascript - JavaScript 文件的变色龙模板? - 2

    我正在开发一个简单的Pyramid应用程序,我在其中使用JQuery执行AJAX请求。到目前为止,我的变色龙模板中有我的javascript代码。现在我想将我的javascript提取到另一个位置(例如作为静态资源)。我的问题是我发现我的javascript代码依赖于动态生成的内容,如下所示:$.post("${request.route_url('my_view')}",{'data':'somedata'},function(html){$("#destination").html(html);});动态元素是:"${request.route_url('my_view')}"在模

  9. javascript - 我如何在 JavaScript 中处理货币? - 2

    据我所知,JavaScript中的数字实际上存储为float,没有真正的整数类型。这准确吗?如果没有整数类型,那如何准确存储货币呢?作为字符串还是什么? 最佳答案 [...]andthereisnorealintegertype.Isthisaccurate?是的。Ifthereisnointegertype,thenhowcanIaccuratelystorecurrencies?您仍然可以使用我们认为是整数的值,即5、42等。这些值是准确的。“整数”值只有大于2^53时才会失去精度。在任何语言中,您都应该避免使用有理数来表示货币

  10. javascript - 使用 javaScript 进行货币操作? - 2

    我正在使用javascript创建一个预算应用程序。我必须让javascript完成大部分操作。所以我有一些控件,用户可以在其中更改某个类别的所需数量,而我的应用程序会显示子类别的新数量。所以如果我有+汽车$50.23-汽油30.25美元-维护6.27美元-保险$10.02-...因此,如果用户将Auto50.23更改为90.00,则Gas、Maintenance、Insurance等的金额将反射(reflect)其父类别中增加的百分比。问题是,经过几次操作后,我失去了精度,并产生了一些讨厌的错误。大多数时候,数字不会相加(它们应该相加)。在多次更改auto的数量然后将其设置为0之后,

随机推荐