php发展

首页 » 常识 » 常识 » HW平安夜红队渗透手册之弹
TUhjnbcbe - 2021/5/7 4:24:00
云南白癜风QQ交流群 https://m.sojk.net/yinshijj/26394.html
前言

对于程序员们来说,一台多功能的路由器是提升生产力的有力武器。

除了某些网站的加速之外,还可以在路由器上运行Frp/Ngrok、组建NAS、挂机BT下载/百度云下载等等。

这些功能,在普通的家用路由器上是无法实现的。要享受它们,就得使用“软路由”了。

一般来说,“软路由”是特指将x86PC或服务器通过特定软件实现路由功能。但本文的内容广泛一点。为了便于表达,我们暂且把所有可以运行自定义系统的路由器称为软路由吧。可以自行安装OpenWRT、DD-WRT的设备,我们都称为软路由。

本文来讨论一下软路由的系统、应用程序,还有常见的路由器硬件,尤其是近几年很火的“矿渣”路由器。

Part1:基础知识软路由是什么

路由器各位Freebufer应该非常熟悉了。提起这个,您的第一反应可能是TP-Link、腾达、水星等品牌的家用路由器。它们有一个特点:路由器的系统是由厂商基于Vxworks等系统,自行开发的嵌入式系统。一般来说,只能使用原厂的系统,而且功能不多。腾达的路由,要刷个水星的系统,是不可能的。

经典的TP-Link路由器系统

但是,有这么一类操作系统,由社区开发维护,可以支持多种硬件平台。也就是说,您可以在不同的路由器上,甚至x86PC上运行它。最令人兴奋的是,这些系统上的应用程序也可以跨平台使用,而且应用程序非常丰富,提供了传统路由器无法企及的功能。

将一台路由器,“刷”上这一类操作系统,就变成了软路由。

常见的软路由系统

著名的软路由系统有OpenWRT、潘多拉、梅林(午餐肉)、DD-WRT、Tomato,还有国内较为著名的iKuai等。

OpenWRT应该是其中的佼佼者了,项目在年启动。曾经分支出LEDE,后又合并。它所支持的应用程序是上面这几种系统中最多的。而且硬件支持最为广泛,支持很多小众的芯片,添加新平台的支持也较为简单。

OpenWRT的Logo

笔者私以为OpenWRT是对开发者最友好,文档和支持最多的系统,因此,本文后面主要围绕着OpenWRT展开。

还值得一提的是iKuai,一个国产的软路由系统。它上面的软件非常少,而且只支持x86平台。但胜在操作简单,几乎不需要任何教程就能上手,如果您只是需要x86软路由强大的性能,不妨考虑一下。

iKuai固件

为什么要用软路由

软路由最著名的优点当然是前文提到的:可以安装各类自定义软件。

其中最多人使用的,当属科学上网。在国内由于某些原因,github等网站不能正常访问。对于程序员来说,在没有梯子的情况下,凡是涉及服务器在外网的下载、更新,都会令人痛苦不已。OpenWRT有非常强大的科学上网工具,而且全局无感知。在路由器上挂好后,PC、手机都可以随时访问外网,甚至连启动相关软件都不需要。

常见的应用程序还有去广告、远程下载、NAS、私人云盘之类的网络应用。例如在软路由上搭建BT下载服务器、搭建私人云、甚至部署php+mysql来搭建博客。而且,可以通过frp一类的服务将内网的应用转发到外网上,方便远程访问。

OpenWrt的部分应用

事实上,对于熟练的开发者而言,软路由系统其实和Linux一样。很多软件都可以被交叉编译到路由器上。

例如,如果需要捕获APP的网络流量进行分析,一般需要自建代理服务器,然后修改手机的Wi-Fi设置实现截获通讯。但如果您使用的是软路由,OpenWRT系统上自带的TcpDump等一系列程序,可以帮助您直接抓包。

更有趣的是,OpenWRT上甚至还有AirCrack-ng套件和Reaver等用于渗透测试的工具。如果您路由器的网卡支持,甚至可以用路由器破解Wi-Fi网络加密。著名的Wi-Fi攻击工具:Wi-Fi大菠萝,事实上也就是一个特制的OpenWRT路由器。

OpenWRT上的AirCrack-ng套件

Part2:硬件选择

软路由硬件的选择有大学问:不同的芯片性能相差巨大,不同的设计有会有不同的信号。很多时候并不是一分钱一分货,智商税的成分很大。本章我们来分析一下常见的路由器处理器和几种不同型号的路由器。

路由器的Flash、RAM大小是最容易看得到的数据,越大越好,这个没有过多的讨论价值。但是CPU就不一样了:厂商和型号众多,令人应接不暇。

我们先分析一下市面上主流的,有较好OpenWRT固件支持的路由器芯片。

厂商芯片名核心(个)主频(MHz)说明联发科MT性能较差,且只支持百兆,不够搭建梯子。但二手的核心板、主板量大价优,适合折腾研究。MTMTMT双核全千兆,中端性能的高性价比之选博通BCM较MT稍差高通IPQ/矿渣路由器中的最常见四核英特尔N核2线程英特尔的x86处理器。性能较强,且可以自由扩展内存、硬盘。可以运行ESXi甚至Windows系统。但是功耗发热略大。D核4线程D核4线程J核4线程-AtherosARWi-Fi大菠萝的芯片,可以刷大菠萝固件树莓派、香橙派之类的卡片电脑2-4核,M-4G内存价格较低廉,可以做旁路由。但是往往网口性能较差。

以上并不是全部,只是笔者较为熟悉的芯片。

您可能已经发现,笔者较为熟悉的价位大概在50-元左右。如果您需要一些高阶功能,如Wi-Fi6、mesh组网等等,笔者太穷,相关的硬件鲜有接触。可能还得您自行查阅相关资料。

接下来我们讲讲现在比较常见的一些路由器。作为图拉丁吧驻Freebuf办公室的贴子,笔者最喜欢的当然是矿渣路由器。也就是前几年区块链很火的时候,那些厂商弄出来割韭菜的产品。

例如竞斗云,美其名曰电竞路由器,其实主要卖点是可以“挖矿”,获得现金收益。暴雷之后多元的路由器直接跌倒元,韭菜们血本无归,最后的鸡毛由我们这些垃圾佬负责接盘。

您可以在闲鱼、转转、贴吧和论坛等地购买这些产品。如果是全新或者挖矿淘汰的,很多成色都非常新。

斐讯K2p

斐讯作为矿渣路由器的祖师爷(那个时候的套路还不是挖矿),当然要第一个介绍。K2P作为玩家最多的路由器之一,固件支持非常完善。硬件设计合理,无线信号好。缺点是价格略贵,而且由于某些原因,咸鱼下架了这个产品。

配置:MTAT双核,MBDDR3内存,16MB闪存,五千兆网口。

新路由3

新3也是MT的主力*,存货量大,价格较低。还有个没有什么卵用的M内存。但是质量一般,2.4G无线信号较差,有漏油的问题,拿到手可能要拆机。

配置:MTAT双核,MBDDR3内存,32MB闪存,五千兆网口,一个USB3.0

极路由B70

极路由是Freebuf的老朋友了,较高的可玩性和较低的价格,当年极1S的时候好多大佬发折腾的文章。

金属机身,有两个USB口,无线信号较好。比新3贵,但是我觉得比新3香,起码不用折腾。

配置:MTA双核,MBDDR3内存,MB闪存,4千兆网口,一个USB3.0,一个USB2.0

小娱路由器

这玩意是个奇葩,没有Wi-Fi,只能当路由器,还得自己配一个AP。优点是存货量大,随时可以买到成色好的。而且C1/C5版本有SATA,可以折腾NAS。不过价格略高。

配置:MTA双核,MBDDR3内存,32MB闪存,5千兆网口,一个USB3.0.

竞斗云2.0

上面几个全是联发科芯片的,再讲下去有厂商奸细的嫌疑。下面来讲个高通4核的。

竞斗云的外观,个人认为是这几款中最好的。而且内置IPQ四核处理器,性能家用绰绰有余。质量可以但是信号一般,据说有个批次还有暗病。

如果你喜欢折腾,有个好消息就是它有minipcie插槽,虽然是缺少电阻的。补齐后可以安装硬盘、4G网卡等等。

如果你不喜欢折腾,有个坏消息就是,它现在已经不能免拆机刷机了。亲测之前的方法全部失效,一定要拆机通过ttl接口刷机。没有相关经验的话,建议买刷好了的。

配置:IPQ四核,MBDDR2内存,MB闪存,5千兆网口,1个USB2.0(虽然是蓝色,但是2.0)

X86架构的软路由

X86架构的软路由,无疑是性能之王,理论上性能无上限。不仅CPU性能强,内存和硬盘可以自己添加。可以同时安装多块硬盘,组建NAS。而且折腾简单,不用考虑bootloader怎么刷的问题。这一类软路由都不带无线,需要搭配AP使用。

低端的X86软路由。D之类的凌动芯片,可以找到很多小主机。比如银行淘汰的瘦客户端。注意挑选双千兆网口的,单网口或者百兆就没意思了。

高端的,可以用i3、i5做软路由,很多网吧甚至用的双路E5。这些可以不单单做路由器了。装上ESXi虚拟化,可以在一台机子上配置OpenWRT、NAS等等服务,充分利用性能。

D小主机

树莓派一类的卡片电脑

树莓派、香橙派等卡片电脑,也是可以刷OpenWRT的。而且CPU性能和内存大小比较优异。笔者之前做项目,往OpenWRT上移植程序的时候,用树莓派4装OpenWRT环境编译程序,比MT开发板什么舒服不要太多。

但真要当路由器,它们是不大合适的:绝大多数卡片电脑的网口比较差,很多是单口百兆。用USB网卡也无济于事,因为USB和网口的带宽是共享的。树莓派4的设计好了很多,但除此之外,笔者没有见过适合当路由器的卡片电脑。

如果要使用它们,一般的思路是用单网口做旁路由:装上OpenWRT后,关闭树莓派的DHCP,将它连接到主路由器上。需要使用软路由的设备,把网关设置成树莓派的IP。即可实现通过OpenWRT上网,流量会经过软路由再转发给主路由。当然,也可以关闭主路由的DHCP,开启树莓派的DHCP,可实现默认通过树莓派上网。

如果是搭建NAS、ftp等服务器的话还可以。要用于上网的话,流入流出的流量都挤一个百兆网口,着实有点可怜。

香橙派Zero

Part3:OpenWRT刷机入门

折腾一台软路由的第一步,当然是把它刷上软路由系统。也就是OpenWRT。

Bootloader

路由器刷系统和电脑装系统不太一样。给电脑装系统的时候,进入主板的BIOS或者UFEI中,调整启动顺序,从带有系统安装镜像的U盘启动即可。

但是路由器的“BIOS”,也就是负责在上电后负责加载和引导系统的程序,称为Bootloader。可不能像计算机的BIOS那样随意设置。为了更方便的刷机,同时为了在系统损坏时可以进入Bootloader重新刷机,我们第一步要将路由器刷上第三方Bootloader,俗称“不死”(因为刷坏了系统也能重新刷)。

常见的Bootloader有Uboot、Breed、OpBoot等等,玩家多的路由器型号,在网上很容易找到定制的Bootloader。

Breed

至于刷入的方法,每台机器各有不同。一言蔽之就是要通过漏洞获得路由器的RootShell,然后解锁Bootloader区并且刷入。这个漏洞可能是Web管理页面的命令执行,也可能要拆开机器外壳,连接PCB上的UART调试串口。

玩家多的路由器大多有前人栽树,网上可以找到教程或者工具。当然,最简单的方法,还是找淘宝卖家帮忙刷好。这一部分因为每台路由器的方法都不一样,笔者就不在此叙述了。·

OpenWRT固件的类型

刷好了Bootloader,就可以刷入OpenWRT系统了。

OpenWRT的固件可以在网上下载,也可以选择自行编译。在网上搜索一下,应该可以找到大佬们自编译的镜像,一般都内置了相当丰富的应用。

如果比较冷门的路由器型号,可能会找不到,这个时候就要考虑自行编译或者使用官方镜像了。不过官方镜像的话,内置的软件非常少,web界面都需要手工安装,要通过telnet才能管理。不用担心,安装软件和编译固件后文都有教学。

OpenWRT固件的名字可能像是这样:

asus_rt-ac58u-squashfs-sysupgrade.bin

其中的asus_rt-ac58u代表固件适用的硬件型号,即华硕的ac58u路由器。

squashfs代表固件区的文件系统,请注意这里仅仅是固件区的,所以即使是squashfs的镜像,也是可以保存对系统的更改的。Squashfs因为高压缩率和可减少Flash芯片擦写的优点,是最为常见的文件系统。

sysupgrade代表更新包。OpenWRT常见的包类型有sysupgrade和factory。后者比前者更加完整,包含了Flash中的固件区和后面的内容,前者只有固件区内容。因此前者刷机的时候可以选择不刷新系统配置。但在比较底层的途径刷机,如TTL刷机时,就只能用factory包了。

刷写系统

在Bootloader和OpenWRT的Web界面都可以刷机。这一步不需要敲什么命令,一般都是连上路由器,打开对应的页面,上传固件即可。

在OpenWRT的Web界面-系统-备份/升级,可以上传sysupgrade包更新固件。

通过Bootloader刷机,一般要在关机状态下,按住路由器的reset按钮,然后插电开机,数十秒后松开,连上电脑后访问

1
查看完整版本: HW平安夜红队渗透手册之弹