Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
AMDH — Android 移动设备加固 | Kitploit
工具/GitHubGitHub/a-yatta/amdh
Android安全静态分析移动应用渗透测试配置审计取证分析恶意软件分析移动安全
GitHuba-yatta/amdh

AMDH

Android 移动设备加固

查看仓库
222273年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

AMDH

使用python3编写的Android移动设备加固工具。

Android版本,PObY-A(隐私归你所有 - Android),带有恶意软件和设置扫描功能,已在Play商店上架,源代码可在此处获取。

动机

AMDH旨在帮助自动扫描Android设备上已安装的应用程序,检测一些已知恶意软件,并保护隐私。

功能

  • 基于CIS(互联网安全中心)针对Android设备的基准检查以及Android master分支设置文档(全局设置和安全设置)检查和加固系统设置
  • 列出当前用户进程并终止选中的进程
  • 分析设备上当前安装的应用程序:
    • 列出危险权限并撤销它们
    • 与恶意软件使用的权限进行比较
    • 生成JSON格式的报告
  • 列出应用程序:
    • 卸载/禁用应用
    • 撤销管理员接收器
  • 导出已安装应用的APK
  • 检查系统是否有待更新
  • 提取打包的APK(如果存在)
  • 恶意软件检测的静态分析。当前可检测的恶意软件:
    • ActionSpy
    • WolfRat
    • Anubis
  • 将当前手机状态快照到JSON文件:
    • 应用程序:
      • APK
      • 首次安装时间
      • 最后更新时间
      • 当前权限
      • 应用是否为设备管理员
    • 短信:当前短信
    • 联系人:当前联系人列表
    • 备份已启用备份的应用
  • 与当前手机状态的快照比较
    • 应用程序
    • 设置
  • 恢复快照
    • 应用程序
    • 联系人
  • 同时管理多个设备(暂不支持快照比较和恢复)
    • 为每个设备创建一个新线程
  • HTML报告

要求

  • Python3
  • 已安装Android调试桥(ADB)
  • androguard
  • pwntools

安装

root@kitploit:~
$ git clone https://github.com/SecTheTech/AMDH.git; cd AMDH
$ python3 -m venv amdh
$ source amdh/bin/activate
(amdh) $ pip install -r requirement.txt

用法

注意:对于Windows,您需要指定ADB路径,或编辑"config/main.py"中的变量"adb_windows_path"。

警告:当使用-l参数并启用应用程序'-t e'时,将列出系统应用。卸载系统应用可能会破坏您的Android系统。建议对系统应用使用'disable'代替'uninstall'。

root@kitploit:~
$ python amdh.py -h
usage: amdh.py [-h] [-d DEVICES] [-sS] [-sA] [-H] [-a ADB_PATH] [-t {e,d,3,s}] [-D APKS_DUMP_FOLDER] 
          [-rar] [-R] [-l] [-P] [-S SNAPSHOT_DIR] [-cS SNAPSHOT_REPORT] [-rS SNAPSHOT_TO_RESTORE] [-o OUTPUT_DIR]

Android移动设备加固

optional arguments:
  -h, --help            显示此帮助信息并退出
  -d DEVICES, --devices DEVICES
                        用逗号分隔的设备列表或"ALL"表示所有已连接设备
  -sS                   扫描系统设置
  -sA                   扫描已安装的应用程序
  -H                    加固系统设置 /!\ 开发者选项和ADB将被禁用 /!\ 
  -a ADB_PATH, --adb-path ADB_PATH
                        ADB二进制文件的路径
  -t {e,d,3,s}          应用程序类型:
                                e: 已启用的应用
                                d: 已禁用的应用
                                3: 第三方应用
                                s: 系统应用
  -D APKS_DUMP_FOLDER, --dump-apks APKS_DUMP_FOLDER
                        将APK从设备转储到APKS_DUMP_FOLDER目录
  -rar                  移除管理员接收器:如果应用不是系统应用,则移除所有管理员接收器
                        需要扫描应用选项"-sA"
  -R                    对每个应用撤销所有危险权限
                        需要扫描应用选项"-sA"
  -l                    列出带编号的应用以禁用、卸载或分析
  -P                    列出当前用户进程
  -S SNAPSHOT_DIR, --snapshot SNAPSHOT_DIR
                        将当前手机状态快照到JSON文件,并将应用备份到SNAPSHOT_DIR
  -cS SNAPSHOT_REPORT, --cmp-snapshot SNAPSHOT_REPORT
                        将SNAPSHOT_REPORT与当前手机状态进行比较
  -rS SNAPSHOT_TO_RESTORE, --restore-snapshot SNAPSHOT_TO_RESTORE
                        恢复SNAPSHOT_TO_RESTORE
  -o OUTPUT_DIR, --output-dir OUTPUT_DIR
                        报告和日志的输出目录。默认:out

文档与帮助

测试与CIS版本

  • 已在Android 7.1.1、8、9和10上测试
  • CIS版本:1.3.0

恶意软件检测

将已授予的权限与文件malware_perms.json中描述的权限进行比较。该文件包含三个节点:

  • malware_only:仅恶意软件使用的权限
  • all:恶意软件和合法应用都使用的权限
  • combinations:恶意软件常用的权限组合

仅恶意软件权限

仅恶意软件使用的权限是那些只被恶意软件使用的权限。分析的恶意软件来自以下仓库:

  • https://github.com/ashishb/android-malware
  • https://github.com/sk3ptre/AndroidMalware_2018
  • https://github.com/sk3ptre/AndroidMalware_2019
  • https://github.com/sk3ptre/AndroidMalware_2020
  • https://github.com/MalwareSamples/Android-Malware-Samples

使用"aapt"命令转储权限。第二部分是转储合法应用(约400个应用)的权限。 仅恶意软件权限是那些被恶意软件使用但从未在分析的合法应用程序中出现的权限。

所有权限

所有权限同时被恶意软件和合法应用使用。这些值表示恶意软件使用这些权限与合法应用相比的百分比。

静态分析

  • 使用androguard查找、转储和列出打包APK的危险权限
  • 使用pwntools转储库并扫描已知恶意软件原生函数

快照

快照可以帮助监控系统状态并备份手机数据:

  • 应用程序及其权限
  • 系统设置
  • 联系人
  • 短信

已知问题

  • 命令"pm revoke"返回成功退出代码,但并未撤销某些恶意软件的权限。
  • 在某些设备上,由于ADB shell无权访问短信数据库,备份短信可能会失败。如果遇到此问题,请创建一个issue。

示例

扫描

  • 扫描应用程序
root@kitploit:~
(amdh)$ python amdh.py -d SERIAL1,SERIAL2,SERIAL3 -sA -o reports

在"reports"文件夹中为每个设备生成两个文件:

  • SERIAL.log
  • SERIAL_report_apps.json:一个JSON文件,包含每个应用已授予的权限以及被视为危险的权限。 每个条目如下所示:
root@kitploit:~
{
    "com.package.name": {
        "malware": true,
        "permissions": {
            "all_permissions": [
                "com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE",
                "com.google.android.c2dm.permission.RECEIVE",
                "com.google.android.providers.gsf.permission.READ_GSERVICES",
                "android.permission.WRITE_SYNC_SETTINGS",
                "android.permission.RECEIVE_BOOT_COMPLETED",
                "android.permission.AUTHENTICATE_ACCOUNTS"
            ],
            "dangerous_perms": {
                "android.permission.ACCESS_FINE_LOCATION": "此应用可以获取您的位置信息,基于GPS或网络位置源(如基站和Wi-Fi网络)。必须打开这些位置服务并在手机上可用,应用才能使用它们。这可能会增加电池消耗。",
                "android.permission.READ_EXTERNAL_STORAGE": "允许应用读取您的SD卡内容。",
                "android.permission.ACCESS_COARSE_LOCATION": "此应用可以基于网络源(如基站和Wi-Fi网络)获取您的位置信息。必须打开这些位置服务并在手机上可用,应用才能使用它们。",
                "android.permission.CAMERA": "此应用可以随时拍照和录制视频。",
                "android.permission.WRITE_EXTERNAL_STORAGE": "允许应用写入SD卡。"
            },
            "is_device_admin": false,
        }
    }
}
  • 扫描设置
root@kitploit:~
(amdh)$ python amdh.py -sS

在"out"文件夹(默认输出文件夹)中生成名为"SERIAL_report_settings.json"的报告。

加固

  • 应用程序加固
root@kitploit:~
(amdh)$ python amdh.py -sA -R -rar

与扫描应用相同的报告,但增加了两个键:

root@kitploit:~
   "is_device_admin_revoked": true,
   "revoked_dangerous_pemissions": "succeeded"

如果应用不是设备管理员,结果中将不会包含键is_device_admin_revoked。

  • 设置加固
root@kitploit:~
(amdh)$ python amdh.py -sS -H -o reports

在"reports"目录中生成报告和日志文件。

静态分析和多个应用卸载/禁用(交互式)

root@kitploit:~
(amdh)$ python amdh.py -l

列出当前正在运行的用户进程

root@kitploit:~
(amdh)$ python amdh.py -P -d SERIAL1,SERIAL2 

快照

root@kitploit:~
(amdh)$ python amdh.py -S out
[-] INFO: 开始 ...
解锁设备SERIAL并按回车键继续
[-] INFO: 完成

文件夹"out"将包含子文件夹"SERIAL_DATE-TIME"。其中DATE-TIME的格式为"YYYY-MM-DD-hh:mm:ss"。

快照比较

root@kitploit:~
(amdh)$ python amdh.py -cS out/report.json
[-] INFO: 开始 ...

[-] INFO: 快照后安装的应用
{}
[-] INFO: 快照中存在的应用
{
    "com.package.name1": {
        "firstInstallTime": "2020-07-06 18:53:07",
        "lastUpdateTime": "2020-07-06 18:53:07",
        "grantedPermissions": [
            "com.google.android.c2dm.permission.RECEIVE",
            "android.permission.USE_CREDENTIALS",
            "android.permission.MODIFY_AUDIO_SETTINGS",
            "com.google.android.providers.gsf.permission.READ_GSERVICES",
            "android.permission.MANAGE_ACCOUNTS",
            "android.permission.NFC"
        ],
        "deviceAdmin": false,
        "apk": "com.package.name1.apk"
    },
    "com.package.name2": {
        "firstInstallTime": "2020-07-10 23:57:53",
        "lastUpdateTime": "2020-07-10 23:57:53",
        "grantedPermissions": [
            "android.permission.DOWNLOAD_WITHOUT_NOTIFICATION",
            "com.google.android.c2dm.permission.RECEIVE",
            "android.permission.USE_CREDENTIALS",
            "android.permission.MODIFY_AUDIO_SETTINGS",
            "org.thoughtcrime.securesms.ACCESS_SECRETS",
            "android.permission.ACCESS_NOTIFICATION_POLICY",
            "android.permission.CHANGE_NETWORK_STATE",
            "android.permission.FOREGROUND_SERVICE",
            "android.permission.WRITE_SYNC_SETTINGS"
        ],
        "deviceAdmin": false,
        "backup": "com.package.name2.ab",
        "apk": "com.package.name2.apk"
    }
}
[-] INFO: 快照后卸载的应用
{
    "com.package.name3": {
        "firstInstallTime": "2020-07-18 07:56:44",
        "lastUpdateTime": "2020-07-18 07:56:44",
        "grantedPermissions": [
            "android.permission.INTERNET",
            "android.permission.ACCESS_NETWORK_STATE"
        ],
        "deviceAdmin": false,
        "backup": "com.package.name3.ab",
        "apk": "com.package.name3.apk"
    }
}
[-] INFO: 快照后更改的设置
{
    "global": [
        "stay_on_while_plugged_in"
    ],
    "secure": [],
    "system": []
}

快照恢复:应用

root@kitploit:~
(amdh)$ python amdh.py -d SERIAL -rS out/report.json
[-] INFO: 开始 ...
解锁设备SERIAL并按回车键继续
[-] INFO: 开始恢复
[-] INFO: 恢复完成
[-] INFO: 恢复报告
{
    "apps": {
        "com.package.name1": {
            "install": "success",
            "backup": "restored"
        },
        "com.package.name2": {
            "install": "success",
            "backup": "NOT FOUND"
        },
        "com.package.name3": {
            "install": "success",
            "backup": "restored"
        }
    }
}

构建二进制文件

root@kitploit:~
(amdh) $ pip install pyinstaller 
(amdh) $ pyinstaller --clean amdh.spec

输出二进制文件: dist/amdh.

参与和想法

感谢您对这个项目的兴趣!如果您有任何改进此工具的想法,请创建新的issue或发送pull request。

下载工具