家用路由器研究介绍

  • soho路由器
  • 常见路由器品牌
  • 家用路由器漏洞主要四个方面
  • WI-FI常见加密认证方式3种
  • WPS一键加密技术(Wi-Fi Protected Setup)
  • 路由器密码
  • 后门|溢出漏洞
  • 路由器的LINUX系统特点
  • 路由器中系统常用的文本编辑器(^G注:等价Ctrl+G):
  • 一些常用的命令
  • MIPS汇编语言(即用即查即可)
  • 交叉编译(了解即可)
  • 仿真测试模拟环境中使用到的工具
  • WINE安装
  • Binwalk安装
  • Buildroot安装(不好装)
  • gcc安装(为了匹配别的工具版本问题可能需要)
  • Qemu安装
  • Mips和Ubuntu网络配置
  • 其他安装环境各种工具方法

soho路由器

small office home office 路由器(泛指家用路由器)

常见路由器品牌

  • D-Link
  • Cisco
  • Linksys
  • Netgear
  • Tenda
  • H3C

家用路由器漏洞主要四个方面

  • 密码破解漏洞
  • web漏洞
  • 后门漏洞
  • 溢出漏洞

WI-FI常见加密认证方式3种

  • WPA
  • WPA2
  • WEP

WPS一键加密技术(Wi-Fi Protected Setup)

WPS设置下的PIN码(一般两小时内可破解)(密码破解漏洞)

概念:一共8位,最后一位是校验位,可不必破解直接计算。通过PIN码可获得wi-fi密码。
当第一次PIN认证连接失败,路由器会回发一个EAP-NACK信息。通过该信息可以确定PIN的前半部分(前4位)和后半部分正确性。

路由器密码

无线路由器两个重要密码

  • 一个用户连接WiFi的密码;
  • 一个路由器管理密码(Web漏洞);

后门|溢出漏洞

开发者留下的便于调试管理的超级权限入口(后门漏洞)

攻击路由器上运行的程序发现可溢出点进而控制权限(溢出漏洞)

路由器的LINUX系统特点

指令架构:嵌入式,多采用MIPS和ARM
路由器的shell是基于BusyBox(裁剪版的shell)

路由器中系统常用的文本编辑器(^G注:等价Ctrl+G):

  • nano
  • vi

一些常用的命令

  • gcc
    -ggdb 产生符号调试工具所必须的符号

  • gdb
    bt 回溯命令,显示栈帧名称
    up/down 向上或向下移动栈帧

  • du命令 -sk:查看文件大小

  • cat text.text >> readme.txt 将内容附加过去
    cat n1 n2 > readme.txt 将n1和n2合并成一个文件

  • rm -v myfile 显示删除过程

  • grep -n “root” /etc/passwd 查找/etc/passwd文件包含root的行 并输出行号
    grep -R --include="*.php" “POST” ./ 递归查找当前目录下的所有PHP文件,要求文件中包含关键字“POST”

  • ps -ef 显示所有进程
    ps -aux 显示不以终端区分,所有进程按用户ID排列

  • kill pid 根据进程号pid终止进程
    kill -9 pid 强制终止进程号为pid的进程

  • killall command-name 根据进程名command-name终止进程
    killall bash 杀死所有进程名为bash的进程
    killall -9 bash 强制终止进程名为bash的进程

  • ifconfig eth0 192.168.0.0 netmask 255.255.255.0 设置eth0网卡的IP地址及子网掩码
    ifconfig eth0 up 启动
    ifconfig eth0 down 关闭

  • uname -r 显示操作系统发行版本号
    uname -a 显示系统名,节点名称,操作系统发行版本号,操作系统版本,运行系统的机器ID

MIPS汇编语言(即用即查即可)

通用寄存器和特俗寄存器组成
32个通用寄存器

$Rs 源寄存器(source)
$Rt 中间缓存寄存器(temp)
$Rd 目标寄存器(destination)

注意:load/store的传送方向,跟intel汇编固定方向有点不同。

SLT(set on less than)指令用于比较
SLTI
SLTU

交叉编译(了解即可)

参考:交叉编译详解 一 概念篇

仿真测试模拟环境中使用到的工具

  • 系统
    Vmware
    Ubuntu
  • 工具
    ida
    wine(LINUX下支持兼容使用WINDOWS软件)
    qemu(仿真系统,解决不同架构问题)
    python
    binwalk(提取分析固件firmware)
    buildroot

WINE安装

sudo apt-get install wine

参考:https://blog.csdn.net/qq_34638161/article/details/81271977

Binwalk安装

$ sudo apt-get update
$ sudo apt-get install build-essential autoconf git$ git clone https://github.com/devttys0/binwalk
$ cd binwalk
$ sudo python setup.py install# 如果安装的是 python 2.x,还需要安装python-lzma模块
$ sudo apt-get install python-lzma

参考:Binwalk工具的安装

  • binwalk使用

binwalk xxx.bin //固件扫描
binwalk -e/–extract //提取文件
-d提取深度
-M根据签名扫描

-W/–hexdump 对给定的文件进行字节比较。
绿色表示字节都相同
红色不同
蓝色仅在某些文件不同

-y/–include= //过滤,只包含与签名相匹配的
-x/–exclude=

-I/–invalid //显示所有扫描结果

-f/–log= //用于将扫描结果保存到一个指定的文件中

-A/–opcodes //指令系统分析

-E/–entropy //熵分析,生成熵图

Buildroot安装(不好装)

这个软件不好装,装的时间久,问题多,参考少。
解决:仔细跟着步骤走,仔细看提示erro问题,在配置里面去找到相信的修改

去官网下包:https://buildroot.org/download.html

下好后解包:

 tar -jxvf buildroot-snapshot.tar.bz2

配置Buildroot:

cd buildroot
sudo apt-get install libncurses5-dev patch
make clean
make menuconfigsudo make    //编译,时间超久...

参考:buildroot使用介绍
buildroot详解和分析
安装:Buildroot自动化交叉编译工具

gcc安装(为了匹配别的工具版本问题可能需要)

参考:Linux(ubuntu18.04)安装GCC-9.3.0全指导–2021年尝试成功经验

Qemu安装

# 下载源码包 (如果下载速度过慢可以把地址替换为我们提供的地址:http://42.194.184.212:5212/#/s/4dHZ)
wget https://download.qemu.org/qemu-5.0.0.tar.xz
# 解压
tar xvJf qemu-5.0.0.tar.xz
# 编译安装并配置 RISC-V 支持
cd qemu-5.0.0
./configure --target-list=riscv32-softmmu,riscv64-softmmu
make -j$(nproc)
sudo make install

如果在运行 configure 时遇到软件包依赖的问题(以 Ubuntu 系统举例):

出现 ERROR: pkg-config binary 'pkg-config' not found 时,可以通过 sudo apt-get install pkg-config 安装;
出现 ERROR: glib-2.48 gthread-2.0 is required to compile QEMU 时,可以通过 sudo apt-get install libglib2.0-dev 安装;
出现 ERROR: pixman >= 0.21.8 not present 时,可以通过 sudo apt-get install libpixman-1-dev 安装。

如果有其他问题,请针对不同操作系统在软件包管理器中查找并安装依赖。

其他方法:

sudo apt-get install qemu    //缺点:可能版本没及时更新

安装完成后检测安装是否成功:

qemu-system-riscv32 --version

Mips和Ubuntu网络配置

1,
sudo apt-get install uml-utilities bridge-utils # 安装依赖文件,网络配置工具

2,修改ubuntu主机网络配置,写入

sudo vim /etc/network/interfaces                        # 修改主机配置auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp        # dhcp方式获取IP地址
iface br0 inet dhcp
bridge_ports eth0
bridge_maxwait 0

这里eth0用ifconfig查看你对应的网卡,我这里是ens33。

3,创建qemu网络接口启动脚本

sudo vim /etc/qemu-ifup#!/bin/sh
echo "Executing /etc/qemu-ifup"
echo "bridge networking"
echo "Bringing up $1 for bridge mode"
sudo /sbin/ifconfig $1 0.0.0.0 promisc up
echo "Adding $1 to br0"
sudo /sbin/brctl addif br0 $1           #brctl的最后是L的小写
sleep 2

4,更改qemu-ifup权限,重启使配置生效

sudo chmod 777 /etc/qemu-ifup
sudo /etc/init.d/networking restart

5,在qemu仿真系统中关闭原先网卡,打开br0网卡

sudo ifdown eth0
sudo ifup br0

呜呜~配成了,各种细节注意!!!

其他方法:
QEMU 网络配置一把梭
https://blog.csdn.net/u014022631/article/details/53411557
各种问题按以下命令直接一把梭:

apt-get install bridge-utils        # 虚拟网桥工具
apt-get install uml-utilities       # UML(User-mode linux)工具ifconfig <你的网卡名称(能上网的那张)> down    # 首先关闭宿主机网卡接口
brctl addbr br0                     # 添加一座名为 br0 的网桥
brctl addif br0 <你的网卡名称>        # 在 br0 中添加一个接口
brctl stp br0 off                   # 如果只有一个网桥,则关闭生成树协议
brctl setfd br0 1                   # 设置 br0 的转发延迟
brctl sethello br0 1                # 设置 br0 的 hello 时间
ifconfig br0 0.0.0.0 promisc up     # 启用 br0 接口
ifconfig <你的网卡名称> 0.0.0.0 promisc up    # 启用网卡接口
dhclient br0                        # 从 dhcp 服务器获得 br0 的 IP 地址
brctl show br0                      # 查看虚拟网桥列表
brctl showstp br0                   # 查看 br0 的各接口信息tunctl -t tap0 -u root              # 创建一个 tap0 接口,只允许 root 用户访问
brctl addif br0 tap0                # 在虚拟网桥中增加一个 tap0 接口
ifconfig tap0 0.0.0.0 promisc up    # 启用 tap0 接口
brctl showstp br0                   # 显示 br0 的各个接口

启动:

sudo qemu-system-mipsel -M malta -kernel vmlinux-3.2.0-4-4kc-malta -hda debian_squeeze_mipsel_standard.qcow2 -append "root=/dev/sda1 console=tty0" -nographic -net nic -net tap,ifname=tap0,script=no,downscript=no

详细参考及参数说明:https://wiki.archlinux.org/title/QEMU

-net nic 表示希望 QEMU 在虚拟机中创建一张虚拟网卡,-net tap 表示连接类型为 TAP,并且指定了网卡接口名称(就是刚才创建的 tap0,相当于把虚拟机接入网桥)。

script 和 downscript 两个选项的作用是告诉 QEMU 在启动系统的时候是否调用脚本自动配置网络环境,如果这两个选项为空,那么 QEMU 启动和退出时会自动选择第一个不存在的 tap 接口(通常是 tap0)为参数,调用脚本 /etc/qemu-ifup 和 /etc/qemu-ifdown。由于我们已经配置完毕,所以这两个参数设置为 no 即可。

完成啦啦啦:

其他安装环境各种工具方法

[路由器漏洞挖掘环境搭建]https://pup2y.github.io/2020/03/30/lu-you-qi-lou-dong-wa-jue-huan-jing-da-jian/
h4lo安装参考(里面遇见的问题我也基本都碰到了,按里面的解决方式安装应该能解决大家很多时间,唉!我是安装好了以后才发现这篇文章,就浪费了大量时间在安装环境,解决报错上。)
路由器环境基础工具安装

家用路由器研究详解入门(内含仿真环境搭建)相关推荐

  1. kafka详解及集群环境搭建

    一.kafka详解 安装包下载地址:https://download.csdn.net/download/weixin_45894220/87020758 1.1Kafka是什么? 1.Kafka是一 ...

  2. 手动angular2环境搭建_详解.Net Core + Angular2 环境搭建

    本文介绍了.Net Core + Angular2 环境搭建,具体如下: 环境搭建: 1)node.js版本>5.0,NPM版本>3.0,TypeScript版本>2.0(全装最新版 ...

  3. 2W 字详解 Redis 集群环境搭建实践

    点击上方 "终端研发部"关注, 星标或置顶一起成长 本文是Redis集群学习的实践总结(基于Redis 6.0+),详细介绍逐步搭建Redis集群环境的过程,并完成集群伸缩的实践. ...

  4. JAVAWEB开发之工作流详解(一)——Activiti的环境搭建、插件安装、核心API

    工作流的概念 工作流(Workflow),就是"业务过程的部分或整体在计算机应用环境下的自动化",它主要解决的是"使在多个参与者之间按照某种预定义的规则传递文档.信息或任 ...

  5. HSQLDB数据库使用详解(入门)及快速使用

    hsql数据库使用详解(入门)及快速使用 一.简介: hsql数据库是一款纯Java编写的免费数据库,许可是BSD-style的协议,如果你是使用Java编程的话,不凡考虑一下使用它,相对其 他数据库 ...

  6. Arduino:数码管显示原理详解和Proteus仿真实验

    Arduino:数码管显示原理详解和Proteus仿真实验 Proteus仿真 数码管介绍 数码管是半导体发光元件,其基本单元是发光二极管.根据段数,数码管分为七段管和八段管. 八段管比七段管还多一个 ...

  7. ExoPlayer详解——入门(官方文档)

    ExoPlayer详解系列文章 ExoPlayer详解--入门(官方文档) ExoPlayer详解--媒体类型(官方文档) ExoPlayer详解--高级主题(官方文档) 一.ExoPlayer,你好 ...

  8. mhdd应用详解-入门篇(图文教程)

    mhdd应用详解-入门篇(图文教程) 来源:wxiu.com 作者:fox 时间:2009-03-13 点击: 54 对于专业的 电脑维修人员来说, MHDD是必备的硬盘工具,但是技术人员一般只拿他 ...

  9. 详解音视频直播平台搭建中的低延时

    详解音视频直播平台搭建中的低延时 音视频实时通讯的应用场景已经随处可见,从"吃鸡"的语音对讲.直播连麦.直播答题组队开黑,再到银行视频开户等.对于开发者来讲,除了关注如何能快速实现 ...

最新文章

  1. Fork and Join: Java Can Excel at Painless Parallel Programming Too!---转
  2. 201807 相关性度量的几种方法-卡方检验、相关系数、信息增益...
  3. PXE装机+kickstart无人值守安装
  4. php mysql 拼音首字母,Mysql应用MySQL查询汉字的拼音首字母实例教程
  5. C/C++ OpenCV图像的线性混合
  6. Android倒计时案例展示
  7. 30天扣篮训练计划_明日之后:网易CH用心良苦?狼人画出“辐射高校30天计划”,绝了...
  8. 确认过眼神,你是要来百度AI开发者实战营深圳站的人
  9. python根据index合并_通过index和cols合并/联接/追加两个Pandas数据帧,其中包含多索引列...
  10. LAMP架构调优(七)——Apache Prefork模式调优
  11. 黑马程序员——C语言基础 字符串
  12. 文件被占用?系统自带的“资源监视器(resmon)”也能帮你找到占用它的真凶
  13. [渝粤教育] 西南科技大学 语言学概论(英语) 在线考试复习资料
  14. autojs pro逍遥游模拟器vscode调试
  15. GEE|假彩色目视解译山东省玉米、水稻、小麦等样本集制作代码
  16. 打印服务spoolsv.exe应用程序错误解决方法
  17. Ubuntu 18.04 安装搜狗拼音
  18. 面试造火箭系列,栽在了cglib和jdk动态代理
  19. r语言 怎么把字调大_R语言 如何为图片添加文字说明(转载)
  20. java基础入门第二版二手,细节爆炸

热门文章

  1. 计算机科学与技术专业毕业答辨问题,计算机网络技术专业答辩问题及答案
  2. 网页抠图(正则表达式)
  3. Windows10 中 Apple 云盘 iCloud Drive 默认在 C 盘下的存储目录迁移到其他盘符的指定目录
  4. 今天发现一个玩崩坏3手游效果特别好的神器,特意来安利一下
  5. 访问 Linux 服务器上的文件(以图片为例)
  6. 2020 的吉光片羽
  7. 如何使用智能问答机器人服务
  8. sourcemap功能简介
  9. Python+正则表达式编写多线程百度贴吧网页爬虫
  10. WMS系统条码作业项目实施经验浅谈