其实我一直都对免杀兴趣斐然,大学期间花心思学了点exe的免杀,但却从来没有接触过安卓免杀。最近闲来无事,便在网上搜寻到一些文章进行初步的体验。
学习过程中发现除了MSF以外还有一个一个不错的RAT框架叫AhMyth,这里将拿它来举例谈谈我对安卓免杀的看法。在此之前说三个名词:
compileSdkVersion:用哪版 SDK 编译,决定你能调用哪些 API,AhMyth的值为24minSdkVersion:最低支持到 Android 什么版本,AhMyth的值为11targetSdkVersion:行为契约——决定系统对你启用/豁免哪些规则,AhMyth的值为24
下图为不同版本的targetSdk所必须遵循的一些规则:
所以说targetSdk越大,那么必须要遵守的行为规范就越多,比如说API30,后台服务就被限制、后台传感器也被限制;而API24后台服务可以不被限制。
同时 Android 14(API 34)起,系统拒绝安装 targetSdk < 23 的应用,logcat 报:INSTALL_FAILED_DEPRECATED_SDK_VERSION: App package must target at least SDK version 23的错误。因此现代手机的targetSdk必须在23及其以上。这就导致了我们几乎必须要遵守运行时权限这一规则了(除非是古董手机)。
然后我们再回到AhMyth工具。它 target 24 ≥ 23,所以侧载到任何 Android 版本都能装上——装得上,但跑不出东西(权限弹窗没人点)。它唯一能工作的场景是:用户手动把所有权限都打开了。而这在今天意味着用户要连续点十几个授权弹窗,每一个都是放弃的机会。
因此,在我看来,目前的安卓远控极度依赖社会工程(伪装成”系统更新””安全插件”诱导安装并授权),而不是靠技术绕过——技术这条路越走越窄,人就变成了最薄弱的环节。但是这里一些专业的APT组织所定制的安卓远控工具除外,他们可能是利用了系统的某些漏洞直接授权。
说到这里又想说说目前的AI人工智能,在使用过程中人类又何尝不是最薄弱的环节呢?我们的工作就是对AI下达指令,由AI全自动去完成某一项工作,不需要任何人为的技术支持。但是指令的质量会使AI给出的结果大相径庭,我在使用AI的过程中有过一些小巧思,让AI去完成一项目标时,如开发一个安全工具,我们不能直接让它开发一个安全工具,而应该尽可能地提出细节,否则AI不知道我们具体要做什么,只会给出一个很普通、很大众化的结果,甚至不符合我们的预期。同时,我们不仅可以主动向AI提出要求,我们作为人类,思维或多或少是会被局限的,那么此时我们就可以让AI来提出想法,不断地向用户提出假设与问题(这样好不好?这部分我们要去怎么做?我的建议是?……),这样我们的思维就会被AI拓展开,从而让整个项目的视野不再局限。在AI大致完成某项工作后,我们可以让AI作为一个客观的评价者去锐评这个项目,我们也就得到了这个项目的一些优缺点,从而再去循环优化。
说着说着说偏题了…但是回头看看,也没有什么再多的可以去说了…夜也深了,晚安…