也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大
少走了弯路,也就错过了风景,无论如何,感谢经历
当想要从 Play Store获取 apk 文件时,我们可以将应用程序提取出来,而无需先将其安装到 Android 上,然后再将其从设备中提取为 apk。 为了缩短应用程序的分发时间,用于测试或逆向工程和打补丁
本文将介绍如何安装Android LSPosed 框架,以帮助测试人员修改安装在手机上的应用程序的工作方式。 不需修改应用程序,我们将在程序启动时进行修改(Android Runtime – ART)
转到 Magisk 程序,并选择如图所示的图标
按放大镜的图标
按允许
当下载完成后,按安装按钮进行安装
安装完成后,按下Reboot按钮
回去再看一下Module,你会看到Installed成功的状态
然后,再重复一次安装 LSPosed
按Install进行安装
安装完成后按重启按钮
将出现一个 LSPosed 图标,按下它
你会发现 Modules 为 0,还没有安装任何模块
试了一下,找不到任何模块
LSPosed 安装完成
目的是能够通过 “Wifi” 网络访问 “Android”,通过 “FTP” 管理各种 “文件”,例如在 “电脑” 和 “Android” 手机之间传输文件,或通过 “Telnet” 等命令进行管理
需要一个已经 "安装 "在 “Android” 设备上的 “.apk” 文件,该文件可以从 “Google Play” 或 “未知来源” 获得,以便在 “模拟器” 或 “逆向工程” 中进行测试
/data/app/
路径,选择需要的.apk
Drozer是MWR Labs开发的一款Android安全测试框架。是目前最好的Android安全测试工具之一
Drozer官方文档说道:“Drozer允许你一一个普通android应用的身份与其他应用和操作系统交互。”在Web世界已经有了许多安全测试工具了,我们只需要给出一个目标,这些工具就会自动为我们安全测试报告。但Drozer与这样的自动化扫描器不同,Drozer是一种交互式的安全测试工具。使用Drozer进行安全测试,用户在自己的工作站上输入命令,Drozer会将命令发送到Android设备上的代理程序执行。其官方文档说道:“Drozer允许你一一个普通android应用的身份与其他应用和操作系统交互。
Drozer下载地址:
需要下载一个Windows客户端和一个安卓客户端:
https://github.com/FSecureLABS/drozer/releases/download/2.3.4/drozer-agent-2.3.4.apk
https://labs.mwrinfosecurity.com/assets/BlogFiles/mwri-drozer-user-guide-2015-03-23.pdf
https://www.python.org/downloads/release/python-2718
因为Drozer 需要Python环境,但只能选择Python2.7或Python3.6
PS:注意,要把Python的PYTHON_HOME和PYTHON_HOME\Scripts加入到环境变量,如下:
有夜神、网易MuMu等Android模拟器,依据个人情况自主选择,此处选择网易MuMu模拟器
https://mumu.163.com/
在逍遥安卓模拟器中安装运行drozer Agent App,并打开Embbdded Server:
PS:安装好后打开 drozerAgent应用,点击右下角的开启按钮
打开命令行工具,并cd切换到安卓模拟器的安装路径,运行adb devices命令,查看是否能看到模拟器。如果看不到,重启模拟器试试
切换到drozer安装目录,其实也可以不用切入,因为我们已经加入了环境变量
使用 adb 进行端口转发,转发到上边Drozer使用的端口 31415,并进入Drozer 控制台:
adb.exe forward tcp:31415 tcp:31415
drozer console connect
用list命令列出Drozer所有功能模块,如能正常显示,则说明Drozer已正确安装
dz> list
执行报错解决方案:
问题:ImportError: No module named google.protobuf
解决方法:pip install protobuf问题:ImportError: No module named OpenSSL
解决方法:pip install pyOpenSSL问题:drozer Server requires Twisted to run.Run 'pip install twisted' to fetch this dependency.
解决方法:pip install twisted问题:UserWarning: You do not have a working installation of the service_identity module: 'No module named service_identity'. Please install it from https://pypi.python.org/pypi/service_identity and make sure all of its dependencies are satisfied.
解决方法:pip install service_identity
本文将介绍一种检索安装在我们 “Android” 设备上的各种 “Package” 信息的方法,我们通常可以检查这些信息。当设备通过 "Root “完成后。并进入”/data/data
"文件夹,会有一个所有 “Package” 的列表,但这次我们将通过ADB使用该命令
adb shell "pm list packages"|cut -f 2 -d ":"
在这篇文章中,我们将介绍一种方法来检索安装在我们“Android”设备上的各种“Package”信息,通常我们可以检查这些信息。 当设备通过 "Root “完成后。并进入”/data/data
"文件夹,会有一个所有 “Package” 的列表,但这次我们将通过 “Drozer” 命令来使用
步骤(步骤)
安装“Drozer”可以从 (https://www.mwrinfosecurity.com/products/drozer/)
“Drozer”可以通过“Appie2”运行,可以从以下网址下载 (http://sourceforge.net/projects/appiefiles/files/Appie2.zip/download)
打开程序“Drozer”并按“OFF”按钮为“ON”(如何设置 Drozer)。
然后使用连接命令如下
C:\Users\wsunpachit\Desktop
λ adb forward tcp:31415 tcp:31415C:\Users\wsunpachit\Desktop
λ drozer console connect
dz> run app.package.list
android (Android System)
com.android.SSLTrustKiller (Android SSL TrustKiller)
com.android.backupconfirm (com.android.backupconfirm
com.android.browser (Browser)
com.android.certinstaller (Certificate Installer)
com.android.contacts (Contacts)
com.android.defcontainer (Package Access Helper)
com.android.gallery (Camera)
com.android.htmlviewer (HTML Viewer)
com.android.inputdevices (Input Devices)
com.android.inputmethod.latin (Android keyboard (AOS)
com.android.keychain (Key Chain)
com.android.launcher (Launcher)
com.android.location.fused (Fused Location)
com.android.magicsmoke (Magic Smoke Wallpaper)
com.android.musicvis (Music Visualisation Wallpaper)
com.android.noisefield (Bubbles)
com.android.packageinstaller (Package installer)
com.android.phasebeam (Phase Beam)
com.android.phone (Phone)
com.android.providers.applications (Search Applicatis Provider)
com.android.providers.contacts (Contacts Storage)
com.android.providers.downloads (Download Manager)
com.android.providers.downloads.ui (Downloads)
com.android.providers.drm (DRM-Protected Content Stoge)
com.android.providers.media (Media Storage)
com.android.providers.settings (Settings Storage)
com.android.providers.telephony (Phone/Messaging Stoge)
com.android.providers.userdictionary (User Dictionar
com.android.provision (com.android.provision)
com.android.settings (Settings)
com.android.sharedstoragebackup (com.android.sharedsragebackup)
com.android.smspush (com.android.smspush)
com.android.soundrecorder (Sound Recorder)
com.android.systemui (System UI)
com.android.vending (Google Play Store)
com.android.vpndialogs (VpnDialogs)
com.android.wallpaper (Android Live Wallpaper)
com.android.wallpaper.holospiral (com.android.wallpar.holospiral)
com.android.wallpaper.livepicker (Live Wallpaper Picr)
com.cyanogenmod.filemanager (File Manager)
com.example.android.livecubes (Example Wallpapers)
com.example.android.softkeyboard (Droid4X IM)
com.google.android.gms (Google Play services)
com.google.android.gsf (Google Services Framework)
com.google.android.gsf.login (Google Account Manager
com.google.android.location (Network Location)
com.google.android.syncadapters.contacts (Google Concts Sync)
com.haimawan.push (ๆตท้ฉฌ็Žฉ)
com.mwr.dz (drozer Agent)
com.saurik.substrate (Cydia Substrate)
com.svox.pico (Pico TTS)
eu.chainfire.supersu (SuperSU)
me.haima.androidassist (ๅบ”็”จไธญๅฟƒ)
me.haima.helpcenter (HelpCenter)
在本文我们将通过 “Drozer” 命令来检查每个 “应用程序” 的 “软件包” 信息,这使我们能够看到文件中包含的基本信息,包括文件中的 “使用许可”
C:\Users\wsunpachit\Desktop
λ adb forward tcp:31415 tcp:31415C:\Users\wsunpachit\Desktop
λ drozer console connect
dz> run app.package.list
org.owasp.goatdroid.fourgoats (FourGoats)
dz> run app.package.info -f org.owasp.goatdroid.fourgoats
Package: org.owasp.goatdroid.fourgoatsApplication Label: FourGoatsProcess Name: org.owasp.goatdroid.fourgoatsVersion: 1.0Data Directory: /data/data/org.owasp.goatdroid.fourgoatsAPK Path: /data/app/org.owasp.goatdroid.fourgoats-1.apkUID: 10040GID: [3003]Shared Libraries: nullShared User ID: nullUses Permissions:- android.permission.SEND_SMS- android.permission.CALL_PHONE- android.permission.ACCESS_COARSE_LOCATION- android.permission.ACCESS_FINE_LOCATION- android.permission.INTERNETDefines Permissions:- None
AAPT(Android Asset Packaging Tool)程序是随我们所安装的Android SDK 一起提供的。通常情况下,AAPT 负责将属于资源的文件合并成一个APK文件中,然后将其与 .dex 文件通过 javac 编译成 .class,然后再转换为 .dex,如下图所示
另外,它可以用来从APK中提取各种重要数据,例如:检查应用程序要求许可权限的Android权限信息
//aapt d permission followed by application
aapt d permissions diva.apk
本文介绍安装程序。“Mobile-Security-Framework-MobSF”,帮助 “Android”(.apk)和 “iOS”(.ipa)的 "二进制 "检查,以减少漏洞测试的时间。其中可以为 "Windows "和 "Linux "安装,具体步骤如下
卡利Linux
下载“MobSF”
提取“Zip”文件。
步骤(Steps)
1)Kali Linux
- 使用命令激活 “MobSF 服务器”
python manage.py runserver
- 如果出现如图所示的问题,请使用以下命令:
pip install -r requirements.txt --user
在 Mac OS 上使用 Docker 安装 "Mobile-Security-Framework-MobSF"可以下载pdf
1)安装Docker
2)安装和使用 “移动安全框架-MobSF”
docker pull opensecurity/mobile-security-framework-mobsf
docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
3)参考
QARK是一个免费的Android安全测试工具。它也很方便,缩短了测试时间。包括拥有一个帮助创建 .apk
的工具,它可以帮助制作 POC 来理解应用程序攻击
python qarkMain.py
.apk
文件进行测试,或者安装在Android设备上,选择数字 1.apk
程序,把你要测试的文件复制粘贴到想要的文件夹中,然后填上数字1和你要测试的 .apk
文件的目录,如下所示:- 完成后,等待处理
从检查结果来看,有一个有趣的菜单,就是Exploit,即不同的Android组件的导出部分。你可以,从下面的文章中了解更多信息:
尝试运行导出的Activity
本文讨论如何在已root的Android设备上安装Frida
1)设备已经被ROOT
2)安装Android Studio程序
//adb folder
cd /Users/root/Library/Android/sdk/platform-tools/// can be run using the command
./adb
3)使用以下命令安装 Frida
// install pip
sudo easy_install pip
which pip
pip --version//install Frida
pip install frida
frida --version
// connect to adb via network
adb connect 127.0.0.1:5555//check if you can connect to the device
adb devices -l
- 从 https://github.com/frida/frida/releases 下载 Frida 服务器
//frida-server is the location of the program on the desktop
adb push frida-server /data/local/tmp/
adb shell
chmod 755 /data/local/tmp/frida-server
su
/data/local/tmp/frida-server &
frida-ps -aU
- 如果,在下面的示例中看不到上述 Android 软件包,请重新启动设备,并再次执行上述步骤
解释如何,在 Android 模拟器上安装Frida服务器,在MacOS上测试连接
安装Genymotion Emulator 好了后,再安装Android Studio运行ADB How to install Android Studio
将模拟器连接到ADB,访问模拟器目录,如下所示
cd /Users/root/Library/Android/sdk/platform-tools/
./adb connect 127.0.0.1
./adb devices
./adb shell
cd data/local/tmp
安装 Busy box 程序以便能够使用来自 https://busybox.th.uptodown.com/android/download 的 wget 命令
要在 MacOS 上安装 Frida 客户端,请参阅文章如何在 MacOS 上安装 Frida。
首先尝试检查版本 frida,如果是旧版本,则可能有问题。 要连接我们将在模拟器中安装的 Frida 服务器,可以从命令中检查版本
安装Busy box程序,以便能够从https://busybox.th.uptodown.com/android/download,使用wget命令
安装Frida客户端成功后,尝试检查一下frida的版本,如果是旧版本,可能会有问题。要连接我们将安装在模拟器上的Frida-Server,可以通过以下命令来检查版本:
frida --version
然后通过检查 Frida 服务器的版本下载到模拟器,如下所示 https://github.com/frida/frida/releases ,对于 Android 来说,选择 Android x86 ,并尝试先安装与客户端相同的版本。使用不断更新的下一个版本
wget https://github.com/frida/frida/releases/download/12.8.0/frida-server-12.8.0-android-x86.xz
unxz frida-server-12.8.0-android-x86.xz
chmod 777 frida-server-12.8.0-android-x86
mv frida-server-12.8.0-android-x86 frida-server
su
/data/local/tmp/frida &
然后切换到Mac OS机器上,使用Frida客户端命令连接,查看Android Emulator上是否有进程
frida-ps -aU
如果在模拟器中安装frida服务器无法运行或无法连接,请删除我们下载的文件夹中的文件,这里是cd data/local/tmp
,此外,frida服务器会创建一个文件夹来跟踪并删除所有文件
rm frida-server
rm -r re.frida.server
参考链接:
https://blog.itselectlab.com/?p=14313
https://blog.itselectlab.com/?p=13756
http://blog.itselectlab.com/?p=1449
http://blog.itselectlab.com/?p=1475
http://blog.itselectlab.com/?p=7565
http://blog.itselectlab.com/?p=10052
http://blog.itselectlab.com/?p=5019
http://blog.itselectlab.com/?p=5032
http://blog.itselectlab.com/?p=10060
http://blog.itselectlab.com/?p=9059
http://blog.itselectlab.com/?p=11688
http://blog.itselectlab.com/?p=10179
http://blog.itselectlab.com/?p=10725
http://blog.itselectlab.com/?p=13059
你以为你有很多路可以选择,其实你只有一条路可以走