在本文中将介绍三种使用 Android设备进行渗透测试的思路。本文中的大多数使用基于 Kali Nethunter.
安装 Kali Nethunter
kali nethunter 是在已有的 rom上对内核进行修改而定制的一个系统,他通过 chroot 来在安卓设备中运行 kali。故在安装 kali nethunter前你得先有一个被支持的rom.官方支持的设备和rom列表: https://github.com/offensive-security/kali-nethunter/wiki 。这里我用的是 nexus4 ,其他设备的流程应该大概差不多。具体流程如下:
根据官方的支持列表刷入 对应支持的 rom , 为了方便可以使用 刷机精灵 进行刷机,我的是nexus4 ,刷cm13, 使用这个镜像 http://www.romzj.com/rom/61429.htm 。
从 https://build.nethunter.com/nightly/ 下载对应的 kernel-nethunter-makocm-marshmallow-* 和 nethunter-generic-armhf android-kalifs-full-rolling-* , 然后使用 twrp 先刷 kalifs , 然后刷入 kernel.
遇到的问题
nethunter app会卡死在 复制脚本文件那,我注释掉了那两句复制文件的代码,手动把apk中asserts目录下的相应目录复制为: /data/data/com.offsec.nethunter/files/{etc,scripts} 和 /sdcard/nh_files
在windows下复制脚本到linux, 会因为换行符的问题导致脚本不能执行, 使用 dos2unix 对文件进行转换
com.offsec.nhterm (用于开启、使用 kali的命令行界面)会报错,使用 https://github.com/madScript01/install_nh 中的Term-nh.apk 把它替换掉。
为了方便后面的实验,开启 ssh服务,使用PC连接(默认用户名密码: root/toor), 真正去渗透时我们可以把一些常用的命令写成脚本方便直接运行。
开启ssh
思路一:普通U盘类攻击
在nethunter安装完后,会有一个 DroidDrive 的app, 我们可以用它来创建一个镜像,然后挂载,然后我们的安卓手机就可以当U盘来用了。具体过程看下面。
点击需要挂载的镜像,然后会有几种挂载方式,这里使用第二种就行。弄好后,用usb线接入电脑,会提示 需要格式化 ,格式化后就和普通的U盘一样用了。
U盘攻击很早之前就有了,那时使用 autorun.inf 来传播病毒, 下面要介绍的是使用 最近的 cve-2017-8464 的 exp来进行攻击。首先使用msf生成 payload
根据你的U盘在pc上识别为什么盘(A,B,...)来复制相应的 .lnk文件 和 .dll。为了通用把他们全复制到u盘根目录。然后设置好 handler:
插入U盘,打开我的电脑,就会反弹shell了。
思路二:HID攻击
通过HID攻击,我们可以通过USB线来模拟键盘鼠标的操作,这样我就可以在目标上执行恶意代码。Kali Nethunter中有两种 HID攻击payload生成方式。第一种就是下面这个:
手机通过USB连到 PC ,然后:
电脑上会打开 cmd, 执行 ipconfig:
这种方式非常简单,但是不够灵活。当机器的默认输入法为中文时,命令输入有时是会出问题的,比如输入 " (英文双引号)时 会变成 “(中文双引号)。
我建议用下面的那个 DuckHunter HID 模式进行这种方式的攻击。
该模式 允许我们使用 Usb Rubber Ducky的语法来实现 HID攻击,此外该模式还提供了一个 Preview 的选项卡,通过它我们可以发现其实HID攻击实际上就是使用 shell命令向 /dev/hidg0 发送数据,之后该设备就会将他们转换为键盘或者鼠标的操作。
后来在Github瞎找,找到了一个针对该模式生成shell脚本的项目: https://github.com/byt3bl33d3r/duckhunter 使用它我们可以很方便的对脚本进行测试(写完Usb Rubber Ducky脚本用该工具生成shell脚本然后再 Nethunter上运行 shell脚本。),同时该项目还提供了简单的 Usb Rubber Ducky的语法。
此时我们就能通过Nethunter向主机输入各种的键盘按键,组合键等。所以对于上面提出的 中文问题。我们可以在需要输入字符时,发送shift键切换到英文就行了。
|