18、无线渗透测试中自定义固件的使用

无线渗透测试中自定义固件的使用

在无线渗透测试领域,修改无线接入点的固件是一项关键技术,它能为测试人员提供更多的功能和灵活性。下面将详细介绍几种常见的固件选择、OpenWRT 固件在 Linksys WRT54G 上的安装过程以及 OpenWRT 网络接口的配置与理解。

1. 修改无线接入点固件的选择

当涉及到修改接入点的固件时,有几种不同的选择,可安装在各种接入点上。以下是一些主要的固件选项:
- HyperWRT :是 Linksys WRT54G 和 WRT54GS 路由器的增强型固件(详见 www.hyperwrt.org )。由于该固件版本有限,可能较难找到适用的 WRT54G(S),因为新的 Linksys 设备运行的是版本 5。HyperWRT 允许使用命令 shell 或 Telnet 连接,大部分选项可通过 Web 界面操作。它具备防火墙日志记录、添加启动脚本和调整 WRT54G(S) 发射功率的功能,但命令和功能相对有限。
- DD - WRT :适用于多种设备,提供比 HyperWRT 更丰富的选项。截至撰写本文时,DD - WRT 版本为 23 Service Pack 1 (SP1)。其默认功能包括 KAI 游戏网络守护进程、远程认证拨号用户服务 (RADIUS) 支持、增加无线电发射功率的能力以及服务质量 (QoS) 分配。更多关于 DD - WRT 发行版的信息可在 www.dd - wrt.com 上找到。
- OpenWRT :是最受欢迎的固件,已发布在 30 多家不同制造商的 50 多种设备上。它不断添加改进和软件包,以充分利用接入点的功能。最新版本是 WhiteRussian RC5,许多人使用 OpenWRT 固件来扩展现有网络设备,使其具备新的服务。

2. 支持 OpenWRT 固件的硬件选择

目前,大多数无线接入点都可以刷新更新的固件。有些设备仅支持 HyperWRT,而有些则支持所有类型的固件。在选择固件时,需查看推荐硬件列表,确保设备支持该固件。以下是部分支持 OpenWRT 固件的制造商列表:
|制造商|制造商|制造商|制造商|
| ---- | ---- | ---- | ---- |
|3Com|Compex|Microsoft|T - Com|
|4 Systems|Comtrend|Mikrotik|Thomson|
|ActionTec|Dell|Mitsubishi|Topcom|
|Airlink101|D - Link|Motorola|Toshiba|
|A - link|Dynalink|Netgear|TP - LINK|
|ALLNET|Edimax|Netopia|Trendnet|
|Asus|Freecom|Ravotek|US Robotics|
|AVM|Gateway|Siemens|Viewsonic|
|Aztech|Gigabyte|Simpletech|Yakumo|
|Belkin|LevelOne|Sitecom|ZyXEL|
|Buffalo|Linksys|SMC| |
|Castlenet|Maxtor|Soekris Engineering| |

这些制造商旗下有多种设备支持 OpenWRT 固件,具体设备列表可在 http://toh.openwrt.org 查看。部分设备仅支持有限的命令,而像 WRT54G 这样的设备则支持完整的软件包。一些设备(如 Asus WL - 700gE)支持添加外部硬盘,以便安装更多软件包,使其可作为功能齐全的工作站使用。但大多数设备仅能在设备提供的随机存取存储器 (RAM) 中安装固件,多数设备只有 16 或 32 兆字节 (MB) 的可用 RAM,这限制了设备管理大量不同软件包的能力,因此需要谨慎选择下载和安装的软件包。不过,固件的优点之一是可以根据需要轻松添加和删除软件包。

3. 在 Linksys WRT54G 上安装 OpenWRT

OpenWRT 固件支持多种类型的无线接入点。随着新设备的出现,越来越多的人开始尝试在自己的设备上安装该软件。以下将详细介绍在 Linksys WRT54G v3.1 上安装 OpenWRT WhiteRussian RC5 版本的过程。

3.1 下载源码

OpenWRT 固件可从 www.openwrt.org 下载,该网站提供了有关固件的有用信息,包括开发页面、文档维基以及论坛上的大量帮助和信息。最新版本是 WhiteRussian 版本 RC5,此版本已发布一年多,新版本即将推出。

在购买设备前,可通过以下表格确定 Linksys WRT54G 是否与 OpenWRT 兼容:
|WRT54G 版本|CPU 速度|RAM|闪存|序列号前缀|
| ---- | ---- | ---- | ---- | ---- |
|1.0|125 兆赫兹 (MHz)|16MB|4MB|CDF0, CDF1|
|1.1|125 MHz|16MB|4MB|CDF2, CDF3|
|2.0|200 MHz|16MB|4MB|CDF5|
|2.2|200 MHz|16MB|4MB|CDF7|
|3.0|200 MHz|16MB|4MB|CDF8|
|3.1|216 MHz|16MB|4MB|CDF9|
|4.0|200 MHz|16MB|4MB|CDFA|
|5.0|200 MHz|8MB|2MB|CDFB|
|5.1|200 MHz|8MB|2MB|CDFC|
|6.0|200 MHz|8MB|2MB|CDFD|

此表格信息来源于 OpenWRT 的维基百科页面 ,该页面还提供了 Linksys WRT54GS 和其他 Linksys 硬件版本的安装表格。

OpenWRT 固件提供两种文件系统:SquashFS 和 JFFS2。JFFS2 文件系统会额外占用几百千字节的空间,且在出现问题时没有故障安全模式。SquashFS 文件系统使用起来可能会有些麻烦,因为大多数配置文件是只读的。若要编辑这些文件,需将其从 /rom 目录复制到要编辑的目录。

3.2 安装过程及避免设备损坏

为了在 WRT54G v3.1 上安装 SquashFS 文件系统,需前往 OpenWRT 网站下载适用于该版本 WRT54G 的 .bin 文件(可从 http://downloads.openwrt.org/whiterussian/rc5/bin/ 下载)。将 openwrt - wrt54g - squashfs.bin 文件下载到本地计算机的临时文件夹(如 c:\temp),注意根据安装选择可能需要不同的安装包。

下载固件后,有两种安装选项:
- 使用原始 Linksys Web 界面安装
1. 启动 WRT54G,使用默认用户名 Admin 和密码 admin 或自定义的用户名和密码连接到 Web 界面。
2. 确保工作站与接入点在同一子网,并通过物理连接到设备背面的四个端口之一。
3. 选择“Administration” -> “Firmware Upgrade”。
4. 点击“Browse…”按钮,找到保存 openwrt - wrt54g - squashfs.bin 文件的文件夹。
5. 点击“Upgrade”进行升级,升级过程中切勿中断,否则会导致安装损坏并引发严重问题。
6. 升级完成后,Web 页面会提示“Upgrade is successful”,点击“Continue”访问 OpenWRT Web 界面,或在浏览器中输入 http://192.168.1.1
- 使用 Trivial File Transfer Protocol (TFTP) 服务器安装
- Windows XP 客户端
1. 点击“Start” -> “Run”,输入“cmd”打开命令提示符。
2. 切换到下载固件的目录(如 c:\temp)。
3. 在命令提示符中输入以下命令,但不要按 Enter 键:

# tftp –i 192.168.1.1 PUT openwrt - wrt54g - squashfs.bin
    4. 断开 WRT54G 的电源,准备好后,在命令提示符中按 Enter 键的同时插入 WRT54G 的电源适配器。
    5. 如果传输成功,命令提示符会显示“Transfer successful”消息。
    6. 收到成功消息后,等待路由器完成安装和重启,直到可以成功 ping 通 192.168.1.1 IP 地址,此时可通过 [http://192.168.1.1](http://192.168.1.1) 连接到 Web 界面。
- **Linux 客户端**:
# tftp 192.168.1.1
# tftp> binary
# tftp> rexmit 1
# tftp> trace
# tftp> put openwrt - wrt54g - squashfs.bin

同样,等待设备接收固件并重启几分钟。

如果安装 OpenWRT 固件后不满意,可以回滚到 Linksys 固件。按照上述 TFTP 方法操作,但使用从 www.linksys.com 获取的 Linksys 固件:
1. 点击“Support|Downloads”。
2. 从下拉列表中选择正确的设备,包括版本号。
3. 点击“Downloads for this product”查看可用软件列表。
4. 页面加载后,点击“Firmware”链接下载该设备的固件。注意要使用正确的固件,否则可能会导致后续问题。

在通过 Web 界面更改密码之前,需要从命令提示符 Telnet 到路由器并更改 root 密码:
1. 在命令提示符中输入 # telnet 192.168.1.1 ,以 root 用户登录 Telnet 界面。
2. 在 Telnet 提示符下输入 passwd 设置 root 密码,确保使用强密码,该密码也将作为 Secure Shell (SSH) 密码。
3. 退出 Telnet 控制台,使用 SSH 以 root 用户重新连接,至此 OpenWRT 固件的初始安装完成。

4. 命令语法和使用

将 WRT54G 用作渗透测试工具时,可通过 DropBear SSH 嵌入式服务器使用命令行 SSH 界面。新手或追求简单实现和使用的用户也可连接到 Web 界面操作。以下以 Linux SSH 外壳为例:
从 Linux 终端会话,以 root 用户 SSH 到路由器的 IP 地址,并输入之前设置的密码。此时位于文件系统的 /tmp 文件夹,可将系统视为常规的 Linux 系统,有 /etc、/tmp 和 /bin 等默认目录。但系统中的大多数文件是只读的,是 /rom 文件夹中同一文件的符号链接。例如,若尝试编辑 /etc 文件夹中的链接文件,在 vi 编辑器中会显示 [Read only] 消息,因为 /rom 文件夹是只读的。安全编辑这些文件的方法是删除符号链接,将文件从 /rom 文件夹复制回相关文件夹。以下是删除 /etc/hosts 文件的符号链接并复制可编辑的 hosts 文件的命令:

cd /etc/  # 更改工作目录到 /etc
rm –rf hosts  # 删除符号链接
cp /rom/etc/hosts /etc/  # 从 /rom 目录复制可编辑文件
vi /etc/hosts  # 编辑文件

注意,如果在 OpenWRT 系统中编辑文件遇到问题,要确保文件未被标记为只读。

OpenWRT 系统支持一套完整的非易失性随机存取存储器 (NVRAM) 变量,可轻松更改设备的系统设置。通过这些变量,可以设置广域网 (WAN) 接口的 IP、无线接入点的服务集标识符 (SSID) 和路由器主机名。在 SSH 提示符下输入 nvram show 可查看完整的 NVRAM 变量列表,将内容保存到文本文件以便后续查看或设置变量内容的基线是很有帮助的。
设置 NVRAM 变量使用 nvram set 命令,获取变量值使用 nvram get 命令。设置变量后,需运行 nvram commit 命令将更改提交到 RAM。例如,查看、设置和提交 wan_hostname 变量的操作如下:

nvram show | grep wan_hostname  # 查看 wan_hostname 变量
nvram set wan_hostname=your_hostname  # 设置 wan_hostname 变量
nvram commit  # 提交更改

另一个重要的变量是 boot_wait,如果该变量未设置为 on,在出现问题时将无法使用 TFTP 方法推送新固件。可通过以下命令确保该变量设置为 on:

# nvram get boot_wait
off
# nvram set boot_wait=on
# nvram commit
# nvram get boot_wait
on
5. 配置和理解 OpenWRT 网络接口

OpenWRT 架构包含多个不同的接口,具体取决于 WRT54G 的版本。以下是不同版本 WRT54G 的 OpenWRT 接口命名约定:
|型号|硬件版本|LAN|WAN|WIFI|
| ---- | ---- | ---- | ---- | ---- |
|WRT54G|V1.x|vlan2|vlan1|eth2|
|WRT54G|V2.x, 3.x, 4.x|vlan0|vlan1|eth1|

WRT54G 本身不区分 WAN 和局域网 (LAN) 端口,但通过将每个端口放入不同的虚拟局域网 (VLAN),可逻辑上创建 WAN 和 LAN 端口设置。设备背面的端口 0 保留为 WAN 端口,端口 1 到 4 是默认的 LAN 连接器 (vlan0),端口 5 内部连接到 WRT54G 的 eth0 端口,无线连接保留为 eth1。vlan0 和 eth1 桥接在一起形成 br0,以创建无缝的网络段。了解这些信息有助于配置设备内部的 NVRAM 变量,可根据网络结构将不同端口放入不同的 VLAN。

接下来设置 WAN 端口以连接到外部 Internet,通过以下命令可查看通过 NVRAM 控制的 WAN 变量:

# nvram show | grep wan_

大多数情况下,应确保 wan_proto 变量设置为 Dynamic Host Configuration Protocol (DHCP),以便外部服务提供商分配 DHCP 地址。若要设置 WAN 端口的静态地址为 70.35.98.15,可设置以下变量:

# nvram set wan_proto=static  # 设置协议为静态 IP 寻址
# nvram set ipaddr=70.35.98.15  # 设置静态 IP 地址
# nvram set netmask=255.255.248.0  # 设置静态子网掩码
# nvram set gateway=70.35.96.1  # 设置静态网关地址
# nvram set wan_dns=70.34.117.10  # 设置静态域名服务 (DNS) 地址
# nvram commit  # 提交更改到设备

同样的技术也可应用于 OpenWRT 系统中的无线接口变量。若要设置无线接入点包含 Wi - Fi 受保护访问 (WPA) 预共享密钥 (PSK) 加密,主要变量以 wl0 开头,对应无线接口。

综上所述,通过选择合适的固件、正确安装 OpenWRT 固件并合理配置网络接口,可在无线渗透测试中充分发挥设备的潜力,为网络安全测试提供有力支持。

无线渗透测试中自定义固件的使用

6. 安装和管理 OpenWRT 软件包

OpenWRT 系统的一大优势在于其丰富的软件包生态系统,用户可以根据自身需求安装和管理各种软件包,以扩展设备的功能。

6.1 软件包源配置

在安装软件包之前,需要确保系统配置了正确的软件包源。可以通过编辑 /etc/opkg.conf 文件来配置软件包源。一般来说,默认的软件包源是可以正常使用的,但如果遇到网络问题或者需要使用特定的源,可以进行相应的修改。

vi /etc/opkg.conf

在文件中,可以看到类似以下的配置:

src/gz openwrt_base http://downloads.openwrt.org/releases/[version]/targets/[target]/packages
src/gz openwrt_packages http://downloads.openwrt.org/releases/[version]/packages/[arch]/packages

其中 [version] 是 OpenWRT 的版本号, [target] 是设备的目标平台, [arch] 是设备的架构。确保这些配置正确无误后,保存并退出文件。

6.2 软件包的安装与更新

使用 opkg 工具可以方便地进行软件包的安装、更新和卸载操作。以下是一些常见的操作命令:
- 更新软件包列表 :在安装新软件包之前,建议先更新软件包列表,以获取最新的软件包信息。

opkg update
  • 安装软件包 :使用 opkg install 命令来安装所需的软件包。例如,安装 tcpdump 工具:
opkg install tcpdump
  • 更新已安装的软件包 :使用 opkg upgrade 命令可以更新系统中已安装的所有软件包。
opkg upgrade
  • 卸载软件包 :使用 opkg remove 命令可以卸载不需要的软件包。例如,卸载 tcpdump 工具:
opkg remove tcpdump
7. 从接入点进行枚举和扫描

将安装了 OpenWRT 固件的接入点用作渗透测试工具时,枚举和扫描是重要的步骤。通过这些操作,可以发现网络中的设备、服务和漏洞。

7.1 网络枚举

使用 nmap 工具可以对网络进行枚举,发现网络中的活动主机和开放端口。首先,确保 nmap 工具已经安装:

opkg install nmap

然后,使用以下命令对指定网段进行扫描:

nmap -sn 192.168.1.0/24

这个命令会对 192.168.1.0/24 网段进行 ping 扫描,发现活动的主机。扫描结果会显示出活动主机的 IP 地址。

7.2 端口扫描

在发现活动主机后,可以使用 nmap 对这些主机进行端口扫描,发现开放的端口和运行的服务。例如,对 192.168.1.100 主机进行全端口扫描:

nmap -p- 192.168.1.100

扫描结果会显示出主机开放的端口以及对应的服务信息。

8. Kismet Drone 和 Server 的安装与配置

Kismet 是一款强大的无线嗅探和入侵检测工具,由 Drone 和 Server 两部分组成。Drone 负责收集无线数据包,Server 负责处理和分析这些数据包。

8.1 Kismet Drone 的安装与配置
  • 安装 Kismet Drone :使用 opkg 工具安装 Kismet Drone:
opkg install kismet-drone
  • 配置 Kismet Drone :编辑 /etc/kismet_drone.conf 文件,配置 Drone 的相关参数。主要配置项包括监听的无线接口、Server 的地址和端口等。
vi /etc/kismet_drone.conf

示例配置如下:

source=wlan0
server=192.168.1.200:2501

其中 source 指定监听的无线接口, server 指定 Kismet Server 的地址和端口。

  • 启动 Kismet Drone :使用以下命令启动 Kismet Drone:
/etc/init.d/kismet_drone start
8.2 Kismet Server 的安装与配置
  • 安装 Kismet Server :使用 opkg 工具安装 Kismet Server:
opkg install kismet-server
  • 配置 Kismet Server :编辑 /etc/kismet.conf 文件,配置 Server 的相关参数。主要配置项包括监听的端口、存储数据的路径等。
vi /etc/kismet.conf

示例配置如下:

serverport=2501
logprefix=/var/log/kismet

其中 serverport 指定 Server 监听的端口, logprefix 指定存储数据的路径。

  • 启动 Kismet Server :使用以下命令启动 Kismet Server:
/etc/init.d/kismet_server start
9. 总结

通过以上步骤,我们完成了 OpenWRT 固件的安装、配置和相关工具的使用。在无线渗透测试中,使用自定义固件可以为我们提供更多的功能和灵活性。以下是整个过程的关键步骤总结:
1. 固件选择 :根据设备的支持情况和需求,选择合适的固件,如 HyperWRT、DD - WRT 或 OpenWRT。
2. 硬件支持 :确保设备支持所选的固件,查看推荐硬件列表。
3. OpenWRT 安装 :下载并安装 OpenWRT 固件,可选择 Linksys Web 界面或 TFTP 服务器进行安装。
4. 系统配置 :通过 NVRAM 变量配置网络接口、主机名等系统设置。
5. 软件包管理 :使用 opkg 工具安装、更新和卸载软件包。
6. 枚举和扫描 :使用 nmap 等工具进行网络枚举和端口扫描。
7. Kismet 配置 :安装和配置 Kismet Drone 和 Server,进行无线嗅探和入侵检测。

通过合理运用这些技术和工具,我们可以在无线渗透测试中更好地发现网络中的安全隐患,为网络安全保障提供有力支持。

以下是整个过程的流程图:

graph TD;
    A[选择固件] --> B[确认硬件支持];
    B --> C[下载 OpenWRT 固件];
    C --> D{安装方式};
    D -->|Linksys Web 界面| E[使用 Web 界面安装];
    D -->|TFTP 服务器| F[使用 TFTP 安装];
    E --> G[配置系统];
    F --> G[配置系统];
    G --> H[安装软件包];
    H --> I[进行枚举和扫描];
    I --> J[配置 Kismet];

希望本文能对您在无线渗透测试中使用自定义固件有所帮助。在实际操作中,请确保遵守相关法律法规,仅在合法授权的情况下进行测试。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值