锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务,锦州广厦维修电脑,公司IT外包服务
topFlag1 设为首页
topFlag3 收藏本站
 
maojin003 首 页 公司介绍 服务项目 服务报价 维修流程 IT外包服务 服务器维护 技术文章 常见故障
锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务技术文章
物联网设备固件分析之小试牛刀

作者: 佚名  日期:2018-11-02 19:44:31   来源: 本站整理

 近几年,物联网设备已渗透到生活的方方面面,为人们带来了极大的方便。但是,因其承载有人们日常生活产生的数据和隐私信息,其安全性也越来越受到人们的关注。在上一篇中,我们讨论了用脚本控制小米设备,这主要是从流量层面入手来进行的安全分析;在这一篇,主要从固件入手,分析固件的脆弱性。

开篇

“工欲善其事,必先利其器”,在正式开始,先来讲讲固件分析环境的搭建,主要就是binwalk的安装。由于固件压缩打包的方式有很多种,单用apt instll binwalk这条命令安装,很多文件系统的格式是不支持解压的,需要将各种解压插件一并安装,才能正确解压出固件中的文件系统。完整安装可参考binwalk的官方安装文档。但每次都要这样手动安装,笔者觉得很麻烦,因此写了安装脚本自动完成安装。

同时,考虑到有很多依赖包需要安装,Ubuntu系统带的apt源下载贼慢,可将其更换成阿里云的源,主要参考这篇文章。但每次照着帖子操作,相当浪费时间,也写了一个脚本自动换源的脚本,如下所示。

#!/bin/bash

# [*]change ubuntu system sources to aliyun source
#:<<BLOCK
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak.1

codename=`lsb_release -c | cut -c 11-`
echo "codename is $codename"

sudo touch /etc/apt/sources.list

sudo echo "deb http://mirrors.aliyun.com/ubuntu/ $codename main restricted universe multiverse" >> /etc/apt/sources.list
sudo echo "deb-src http://mirrors.aliyun.com/ubuntu/ $codename main restricted universe multiverse" >> /etc/apt/sources.list
sudo echo "deb http://mirrors.aliyun.com/ubuntu/ $codename-security main restricted universe multiverse" >> /etc/apt/sources.list
sudo echo "deb-src http://mirrors.aliyun.com/ubuntu/ $codename-security main restricted universe multiverse" >> /etc/apt/sources.list
sudo echo "deb http://mirrors.aliyun.com/ubuntu/ $codename-updates main restricted universe multiverse" >> /etc/apt/sources.list
sudo echo "deb-src http://mirrors.aliyun.com/ubuntu/ $codename-updates main restricted universe multiverse" >> /etc/apt/sources.list
sudo echo "deb http://mirrors.aliyun.com/ubuntu/ $codename-backports main restricted universe multiverse" >> /etc/apt/sources.list
sudo echo "deb-src http://mirrors.aliyun.com/ubuntu/ $codename-backports main restricted universe multiverse" >> /etc/apt/sources.list
sudo echo "deb http://mirrors.aliyun.com/ubuntu/ $codename-proposed main restricted universe multiverse" >> /etc/apt/sources.list
sudo echo "deb-src http://mirrors.aliyun.com/ubuntu/ $codename-proposed main restricted universe multiverse" >> /etc/apt/sources.list

sudo apt-get update
#BLOCK
# [*]change pip sources to aliyun source
if [ ! -d ~/.pip ];then
    mkdir ~/.pip
fi
   
if [ -f ~/.pip/pip.conf ];
then
    sudo mv ~/.pip/pip.conf ~/.pip/pip.conf.bak
    sudo touch ~/.pip/pip.conf
else
    sudo touch ~/.pip/pip.conf
fi

sudo echo "[global]" >> ~/.pip/pip.conf
sudo echo "index-url = https://mirrors.aliyun.com/pypi/simple" >> ~/.pip/pip.conf
在脚本中,主要分为两部分,先是将Ubuntu系统的源换成阿里云的源,并按照Ubuntu系统codename的不同,形成有针对性的apt源文件;再将pip的源也换成的阿里云的源。换源后,安装速度快了几十倍。

接着,就是对binwalk完整版的安装了,binwalk的安装文件和它的相关插件,我已从github上下载完成(在后文的工具中,已集成),如下图所示。

binwalk的安装文件和它的相关插件

安装脚本为: install_binwalk.sh,如下所示,即是按照官方的安装方案编写的脚本(官方虽然有./deps.sh自动安装脚本,安装很慢,表示不太好用),该脚本目前只适用于Python2.7。

#!/bin/bash

#dependencies
sudo apt -y install python-lzma python-crypto
sudo apt -y install libqt4-opengl python-opengl python-qt4 python-qt4-gl python-numpy python-scipy python-pip

sudo pip install pyqtgraph
sudo pip install capstone

# Install standard extraction utilities(必选)  
sudo apt -y install mtd-utils gzip bzip2 tar arj lhasa p7zip p7zip-full cabextract cramfsswap squashfs-tools sleuthkit default-jdk lzop srecord
#Install binwalk
#sudo apt-get install binwalk
cd binwalk
sudo python setup.py install
cd ..

# Install sasquatch to extract non-standard SquashFS images(必选)  
sudo apt -y install zlib1g-dev liblzma-dev liblzo2-dev  
cd sasquatch && sudo ./build.sh
cd ..

# Install jefferson to extract JFFS2 file systems(可选)  
sudo pip install cstruct  
cd jefferson && sudo python setup.py install
cd ..

# Install ubi_reader to extract UBIFS file systems(可选)  
sudo apt -y install liblzo2-dev python-lzo   
cd ubi_reader && sudo python setup.py install
cd ..
# Install yaffshiv to extract YAFFS file systems(可选)   
cd yaffshiv && sudo python setup.py install
cd ..

#install unstuff (closed source) to extract StuffIt archive files



热门文章
  • 机械革命S1 PRO-02 开机不显示 黑...
  • 联想ThinkPad NM-C641上电掉电点不...
  • 三星一体激光打印机SCX-4521F维修...
  • 通过串口命令查看EMMC擦写次数和判...
  • IIS 8 开启 GZIP压缩来减少网络请求...
  • 索尼kd-49x7500e背光一半暗且闪烁 ...
  • 楼宇对讲门禁读卡异常维修,读卡芯...
  • 新款海信电视机始终停留在开机界面...
  • 常见打印机清零步骤
  • 安装驱动时提示不包含数字签名的解...
  • 共享打印机需要密码的解决方法
  • 图解Windows 7系统快速共享打印机的...
  • 锦州广厦电脑上门维修

    报修电话:13840665804  QQ:174984393 (联系人:毛先生)   
    E-Mail:174984393@qq.com
    维修中心地址:锦州广厦电脑城
    ICP备案/许可证号:辽ICP备2023002984号-1
    上门服务区域: 辽宁锦州市区
    主要业务: 修电脑,电脑修理,电脑维护,上门维修电脑,黑屏蓝屏死机故障排除,无线上网设置,IT服务外包,局域网组建,ADSL共享上网,路由器设置,数据恢复,密码破解,光盘刻录制作等服务

    技术支持:微软等