来源:弘连网络
软路由是指利用台式机、服务器或其他通用计算设备,配合特定的软件来实现路由器功能的解决方案。它的硬件配置通常远高于传统硬件路由器,所以具备无以伦比的性能优势。正是由于它具备的高度灵活性以及强大的网络管理功能等优点,所以在现实场景中受到很多用户的青睐。
Linux系统开启包转发即可以实现路由功能,如修改“/proc/sys/net/ipv4/ip_forward”设置为1(针对不同Linux发行版可能修改位置不同);Windows也有类似的功能,比如我们常用的“Internet连接共享”,Windows自动配置了网络共享和路由网关等配置从而实现了转发。
这种原生软路虽然配置简单、使用方便,但缺点也很明显。一是无法对流量和网络进行直接管理,二是资源开销相比于真正的路由器或者软路由系统更大,因为有大量的资源被其他臃肿的系统进程占用,对包转发调度和网络管理功能收益太小,适用范围有限。
由于其开源属性,存在很多分支版本,比较知名的有DD-wrt、ImmortalWRT、LEDE。
其界面和操作逻辑更加类似于家用路由器设备,使用web进行管理,包含丰富的功能体验和扩展插件,可以实现很多高度定制化的功能,如ddns,frp等,甚至可以实现绝大多数Linux操作系统的功能,如docker等。国内外有一些路由厂商预载或者支持刷入第三方固件。
Mikrotik RouterOS
由于是闭源系统,系统授权本身也做商品售卖,所以网络上较多流行的是破解授权的版本。其使用也有很多限制。这个软路由系统本身使用c/s架构,需要使用官方提供的winbox工具通过账号密码和mac进行连接。系统本身更像工业路由器或者网管交换机。其使用的命令也不兼容Linux,需要类似思科华三网络设备的专属命令,较之Openwrt的上手难度更高,也难以安装插件,好在其本身功能较全,支持现有几乎全部的网络相关协议。但是对于一些软件定义协议就比较难以在该系统上使用。
RouterOS的管理软件winbox操作界面
Openwrt 证据固定
在实际取证中对于Openwrt需要特别关注的是其文件系统和分区挂载问题。由于其是为嵌入式设备和路由设备设计,本身系统大小约为4m,而为了安装到更小的flash闪存芯片上,其保留了只写分区的安装模式。如果取证过程中遇到SquashFS的只读压缩文件系统,可能出现无法识别文件系统的情况。该文件系统由于使用LZMA进行压缩且不需要数据对齐,数据及其紧凑,所以在镜像过程中建议除dd镜像外使用文件复制方式进行一遍根目录拷贝,保存时进行完整性校验即可。文件系统做只读和压缩的目的不仅是为了节约成本,也是为了保持系统的完整性,方便快速恢复系统回初始状态,只要抹除增量即可,非常方便。
对于其他软路由也同样如此,合理利用内存作为缓存硬盘,可以有效节约路由的硬件成本,也符合其所需要的重置逻辑。所以在固定上尽量尝试固定内存和独立文件,更能便于后续分析。
Openwrt 插件及配置分析
对于Openwrt来说取证相对比较简单,Openwrt上几乎所有的服务进程或者网络,都有一个或一组配置文件与之对应,所以找到对应服务的配置文件即可还原或者分析相关服务。我们以sd-wan组网工具zerotier为例。
可以直接在/etc/config中看到对应配置:
软路由设备上面存在大量网络调整,设备配置防火墙设置和国际互联网访问配置,所以对其取证的意义不只是用户信息和数据痕迹,还包括网络路径追踪和定位。
所以在分析过程可以着重services和network配置中的内容。部分主题和插件会修改首页面板,如果首页面板有服务有内容可以重点关注,如nas存储挂载、三方软件、流量记录等。
在查找配置文件过程中可以在系统配置中将语言设置成英语,去文件系统中进行插件英文的搜索,大概率在/etc或/etc/config下能找到对应插件文件夹。
RouterOS仿真注意事项
由于RouterOS的闭源和授权特性,导致其文件系统也是奇葩,甚至在这个魔改的系统上无法使用正常的Linux命令对系统文件进行读取,即使用火眼等软件进行分析也只能分析出支离破碎文件内容。因为大部分内容都经过授权和系统封闭原因的加密。不过由于软路由特性,如果其安装在虚拟环境中,可以使用虚拟机的内存镜像工具对其内存进行固定,文件系统固定一般也可以使用常规方式固定。后续可以通过ip正则或者针对案情的特定ip进行搜索找到相关配置。或者使用仿真方式还原系统。针对这类只能仿真分析的软路由系统也有需要注意的几点。
一是在固定过程中尽量记录mac地址,部分网络使用的软路由系统授权和mac地址和授权文件挂钩,仿真配置网卡时可能需要硬修改仿真网卡使之与原mac和ip对应,以免无法访问或者授权锁定系统无法打开;二是要记录授权时间,如果其使用真实或伪造授权而非永久破解可能授权存在期限,过期无法仿真。虽然授权时间可以通过修改系统时钟和bios时钟绕过,还是需要知道授权期限以达到最佳的仿真研究效果,避免仿真过程中出现意外。
由于路由器本身大多没有太大存储空间,或者厂商认为无存储必要,很多内容属于易失性数据,只临时存放于内存和外接硬盘中,所以应当尽量第一时间做内存、日志或者tmpfs的内容固定。其次由于其只是网络中转设备,不一定有终端或者服务器的原始日志内容,所以能够拿到软路由且行为持续期间可以尝试登录路由器进行流量抓包以获取更多线索。流量报文更容易透露相关线索和信息。虽然很多软路由使用弱口令或者空口令即可登录获取权限,建议在非活跃时段进行尝试,避免引起性能下降、网络中断从而带来不必要的麻烦。
仿真过程可能还会遇到一些无法访问网管的情况,这时候需要修改终端的网络配置,使其处于lan口网络下,因为一般防火墙策略会拦截从外部wan网络访问内部lan网络的流量导致无法登录网关。针对于具体的路由器抓包和路由器文件分析这里就不再过多赘述,建议各位通过搭建虚拟机进行实际操作体验。
原文始发于微信公众号(电子物证):【主流软路由取证技巧】
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论