往期技术分享已经介绍了家用路由器的取证方法《家用路由器的数据取证方法》读者可再次知识回顾。本文主要介绍第三方路由器系统OpenWrt的相关内容。由于OpenWrt是开源的,所以允许路由器厂商或者开发者进行二次开发、增加丰富的功能和各种各样的插件。这也使得越来越多的人选择使用OpenWrt。

什么是OpenWrt
路由器是网络系统中不可或缺的一部分。同我们使用的计算机、手机一样,需要有一套完整的操作系统才能供用户使用。比如常见的路由器品牌普联(TL-Link)、华为、小米等路由器都具有自己的操作系统。除了为用户提供基础的路由信息交换之外,有些品牌的路由器还支持行为管理、数据统计、扩展存储等功能。
而一般情况下,各品牌路由器的发行版操作系统只能在本品牌的设备上运行和使用。而第三方路由器系统OpenWrt有别与此,可在大部分品牌型号的设备上运行。OpenWrt可以理解为一个嵌入式的Linux系统,OpenWrt项目最早开始与2004年1月,相比路由器厂商的发行版操作系统,OpenWrt提供了一个完整的可读写的文件系统,允许开发者和爱好者对其进行配置和编译。

OpenWrt的特点
OpenWrt同其他第三方开源系统一样允许开发者进行二次开发,定制自己的功能和插件,改善网络的性能。正因如此也使得OpenWrt具有了诸多路由器厂商发行版系统没有的功能,比如可以在OpenWrt中利用插件实现广告的屏蔽。则在此网络环境下的设备在互联网访问时即可去除烦人的广告。
还可以设置进行应用过滤,可限制某些应用程序的联网状态,被规则限制的应用在使用时则被拒绝网络连接。
(应用过滤)
甚至还可以在OpenWrt中配置VPN,则整个网路环境下均可进行“科学上网”。在案件侦查中,路由器的配置数据同样重要。在计算机端、手机端找不到VPN连接证据,或许可以在路由器上下点功夫。

OpenWrt路由器取证
关于OpenWrt取证,说到底还是路由器取证的范畴,取证方法可参考往期文章。但OpenWrt又有别于路由器厂商发行的原厂系统。OpenWrt本身类似一套嵌入式Linux系统,并且具有文件系统的读写权限。所以甚至可以直接参考Linux系统的取证方法。
关于如何刷入OpenWrt系统,网络上有大量可参考的教程,在此不详细说明。我这里用的是小米路由器(R3P)首先刷入开发者版本的官方固件并开启SSH,之后再安装OpenWrt系统。
(小米SSH模式)

取证分析
首先通过SSH登陆到OpenWrt系统。此时可以看到当前系统的版本号,并且此时具有最高权限。
ssh root@192.168.1.1
(OpenWrt界面)
-
获取系统时间
date "+%Y - %m - %d %H:%M:%S"
(系统时间)
或者在线通过指令访问proc“伪文件系统”,其中stat输出的是CPU时间。
cat /proc/stat
(CPU时间)
其中btime表示系统启动时间,每次系统启动会发生变化;processes表示系统所创建的进程总数。
cat /proc/uptime
(时间属性)
这里有两组数值,第一个数值表示开机到现在的累积时间(btime到现在这一刻),第二组数据表示系统空闲时间。
-
当前系统的版本
cat /proc/version
(当前Linux版本)
-
或者当前设备CPU信息
cat /proc/cpuinfo
(CPU信息)
-
用户命令行历史
(命令行历史记录)
-
获取联机设备
可通过系统中的DHCP分配表来判断联机过的设备,其中可以包括联机时间、Mac地址、分配的IP地址、设备名称等。
cat /tmp/dhcp.leases
(DHCP分配表)
同时由于具有Linux系统的特性,所以也可以在OpenWrt中寻找到大量的日志,其中也包含了很多有价值的信息。
— 往期回顾 —
2021.08.17

原文始发于微信公众号(天鉴科技):【技术分享】家用路由器取证实战2