zoukankan      html  css  js  c++  java
  • Root谷歌OnHub路由器

    Exploitee.rs极客小组因破解谷歌电视而成名,并且他们还发布了许多硬件相关的工具和exp。这次他们root了OnHub路由器。并发布在了他们的博客里。

    Google OnHub是谷歌于今年八月下旬发布的智能路由器。详细参数如下:

    材料:

    一台谷歌OnHub
    一个空间在4GB以上的U盘

    Root步骤:

    制作一个OnHub USB启动盘

    1.下载Google OnHub USB镜像

    2.解压下载文件,得到a.img文件

    3.用你喜欢的工具把镜像文件写入U盘(linux可以使用dd命令 windows可以使用win32diskimager工具)

    dd示例:dd if=<PATH-TO-USB-IMG> of=<PATH-TO-USB-Device> bs=64K
    if=文件名:输入文件名,即指定源文件:< if=input file > 这里输入USB镜像的绝对路径(包括文件名)
    of=文件名:输出文件名,即指定目的文件:< of=output file > 这里输入USB设备的绝对路径(如/dev/bus/usb*)
    bs=bytes:同时设置读入/输出的块大小为 XX bytes个字节。

    启用OnHub的开发者模式

    1.移除谷歌OnHub的电源、网线;

    2.拧下OnHub的螺丝,找到隐藏的“开发者模式”开关;

    3.在路由器的USB接口插上USB键盘;

    4.按下路由的重置按钮(按钮在电源接口附近);

    5.插入电源;

    6.设备上的IED先是白色,然后橙色闪烁,接着变为红色;

    7.LED为红色且不停闪烁时,在键盘上按下CTRL + D,此时LED灯转为紫色;

    8.现在按下隐藏的“开发者模式开关”

    9.OnHub重启,LED再次紫色闪烁状态:这表明我们已经成功进入Google OnHub的开发者模式。

    插入USB启动盘进入“intermediary shell” 启用内核

    1.在OnHub插入U盘

    2.按下隐藏的开关,从USB启动路由

    3.现在可以看到U盘的LED开始闪烁

    4.插入网线或连接路由器的WIFI(让路由和PC处于同一局域网)

    5.通过Telnet或SSH连接路由

    IP: 192.168.86.1  默认ip
    User: root
    Password: onhub

    6.现在你应该成功以root身份登陆OnHub路由了

    修改OnHub启动引导

    烧录开发版固件+Resigning内核+增加telnetd和busybox

    执行下面的命令,用devkeys重编写固件镜像

    bash /usr/share/vboot/bin/make_dev_firmware.sh

    输出:

    Disabling system software write protection status...
    Reading system live firmware...
    Using keyblocks (normal, normal)...
    Preparing new firmware image...
          Backup of current firmware image is stored in:
            /mnt/stateful_partition/backups/firmware_WHIRLWIND_D3A-Q2Q-Q8B_20150623_223857.fd
          Please copy the backup file to a safe place ASAP.
          To stop using devkeys and restore original firmware, execute command:
            flashrom -w [PATH_TO_BACKUP_IMAGE]
          Ex: flashrom -w /mnt/stateful_partition/backups/firmware_WHIRLWIND_D3A-Q2Q-Q8B_20150623_223857.fd
          
    Writing system live firmware...
    Successfully changed firmware to Developer Keys. New HWID: WHIRLWIND D3A-Q2Q-Q8B DEV

    为防止路由器变砖,固件的备份将会储存在U盘当中,你可以利用备份对固件进行还原。

    Resigning 内核,禁用rootfs verification

    运行下面的命令以来Resigning 内核并禁用rootfs verification

    bash /usr/share/vboot/bin/make_dev_ssd.sh --remove_rootfs_verification --image /dev/mmcblk0

    输出:

    Kernel A: Disabled rootfs verification.
    Backup of Kernel A is stored in: /mnt/stateful_partition/backups/kernel_A_20150623_223724.bin
    Kernel A: Re-signed with developer keys successfully.
    Kernel B: Disabled rootfs verification.
    Backup of Kernel B is stored in: /mnt/stateful_partition/backups/kernel_B_20150623_223733.bin
    Kernel B: Re-signed with developer keys successfully.
    Successfully re-signed 2 of 2 kernel(s)  on device /dev/mmcblk0.

    运行命令,修改引导环境

    1.在Telnet或SSH进入路由root shell环境,运行下面的命令把busybox和Telnet增加到正常的启动模式里面:

    mkdir /tmp/roota
    mount /dev/mmcblk0p3 /tmp/roota/
    mkdir /tmp/rootb
    mount /dev/mmcblk0p5 /tmp/rootb/
    cp /bin/busybox /tmp/roota/bin/busybox
    cp /bin/busybox /tmp/rootb/bin/busybox
    cp /etc/init/telnetd.conf /tmp/roota/etc/init/telnetd.conf
    cp /etc/init/telnetd.conf /tmp/rootb/etc/init/telnetd.conf
    chmod 755 /tmp/roota/bin/busybox
    chmod 755 /tmp/rootb/bin/busybox
    cp /etc/shadow /tmp/roota/etc/shadow
    cp /etc/shadow /tmp/rootb/etc/shadow
    sync
    umount /dev/mmcblk0p3
    umount /dev/mmcblk0p5

    2.现在路由的内核已经获得开发者key的签名,并且Telnetd服务已经增加到文件系统里。

    重启退出开发者模式

    1.重启路由器,拔下U盘:路由重启后仍会处于开发者模式,并且依旧从USB设备启动,这时我们需要退出开发者模式,从内部闪存启动路由;
    2.插入USB键盘;
    3.反复敲空格键,直到LED灯进入不闪烁紫色的状态;
        这可能需要多尝试几次
        第一次重启可能需要花费五分钟
    4.现在OnHub将会再次从内置闪存启动系统。

    通过Telnet连接到root之后的路由

    IP: 192.168.86.1 (默认)
    User: root
    Password: onhub

    演示视频

    *参考:Exploitee.rsHackNews ,编译/0xroot,内容有所修改

  • 相关阅读:
    mysql创建用户后无法访问数据库的问题
    mysql索引
    hadoop安装
    MySQL工作原理
    MySQL数据库优化的八种方式
    FLOAT 和 DOUBLE区别
    在C++中定义常量
    C++变量类型
    FTP主动模式、被动模式(转)
    FtpClient ReplyCode 意义及 FtpClientHelper辅助类
  • 原文地址:https://www.cnblogs.com/k1two2/p/4904845.html
Copyright © 2011-2022 走看看