Binwalk

三、固件分析-固件提取

寵の児 提交于 2021-01-24 07:56:48
  上节初步介绍一些硬件基础知识和分析硬件所需要的基本工具,本篇将讲述利用编程器直接读取芯片固件的方法。 为了读取 Flash 芯片的内容,有以下两种常用方式: 1、直接将导线连接到芯片的引脚,在通过飞线连接编程器,进行在线读取固件; 2、把芯片拆焊下来,通过烧录座编程器,离线读取固件。 飞线法读取 通过夹具夹住芯片引脚,然后连接编程器读取芯片内容,通过编程器连接芯片需要注意引脚的顺序,在 IC 芯片上都会有一个小点,大多数情况下,小点对应的引脚即为芯片的第一脚,而连接编程器的导线也需要插入编程器上相应的引脚。 案例一:读取中控 F7 门禁固件 拆掉门禁外壳,通过电路图和芯片印字分析,在主板上有一颗 FM25F04A 存储芯片,通过夹具连接芯片到编程器,在通过专用编程器软件,对该芯片进行读取。 连接完成,确定引脚接线正确后,打开编程器对应软件,通过智能识别芯片ID,即可开始读取固件工作。 如无法识别,可根据印字说明,尝试类似的型号,一般情况下兼容。 点击读取,即可开始固件提取,成功之后会保存为 BIN 格式文件,打开即可看到 16 进制的内容,为下一步分析提供基础。 案例二:读取某智能摄像头固件 拆掉摄像头外壳,通过分析 PCB 上的各个 IC,找到 Flash 存储芯片。 在显微镜下,可以看到是一颗 25L64 型号的 Flash 芯片。 用夹具连接各引脚,并和编程器连接

用维阵还原 Zyxel 后门漏洞

十年热恋 提交于 2021-01-13 09:56:11
作者:km1ng@极光无限维阵漏洞团队 原文链接: https://mp.weixin.qq.com/s/Ol3B3PFLLXLFF8ThA9nxEg 一、简介 荷兰网络安全公司Eye Control的安全研究人员发现,超过10万个合勤科技(Zyxel)公司的防火墙、接入点控制器和VPN网关产品中存在管理员级后门账户。这些在二进制代码中硬编码的管理员级别账户使攻击者可通过Web管理面板或SSH界面获得对设备的root访问权限。合勤科技(Zyxel)是一家位于中国台湾新竹的网络设备制造商。 Zyxel固件中发现的后门漏洞cve编号为cve-2020-29583等分为7.8 CVSS 二、影响范围 cve官网上表示USG设备4.60,真实影响范围如下: zyxel:ap_controller_nxc_2500: zyxel:ap_controller_nxc_5500: zyxel:atp_firmware: 4.60 zyxel:usg_firmware: 4.60 zyxel:usg_flex_firmware: 4.60 zyxel:vpn_firmware: 4.60 三、固件后门分析 3.1、固件下载 下载链接: https://portal.myzyxel.com/my/firmwares 需要注册账户登录,选择USG40固件,4.60版本下载。如下图所示

记第一次CTF参赛

坚强是说给别人听的谎言 提交于 2020-10-02 05:14:34
第一次参加比赛 什么也不懂,赛前十五天才开始从零准备,在此之前只会写零星的python和C语言,能看弄html 赛前准备看到misc不需要很多的知识,就选择了这一方向,开始比赛才知道自己的天真,最终自己只做出了一道半 Misc 签到题 点亮全国地图,当所有地区ip数大于10,官方放出flag,很简单,拼手速的题 the-best-ctf-game 拿到附件,一个在windows打不开的文件,二话不说直接放到kali里binwalk,没有隐藏文件,用cat,在一群乱码之中隐约看到flag,直接拼出来, 回答正确 电脑被黑 题目拿到没什么思路,队友直接使用ext3grep,恢复磁盘,出现的flag.txt和fakeflag.txt全都是乱码,一直想也没有想到方法,最后想到将elf文件反汇编,拿到源码,再用这个算法,对flag.txt进行计算得到flag(还没有做完就结束了,之后再次尝试) Crypto bd 拿到附件为python脚本,提示是RSA算法,最下面给出了n、e和c,在网上搜索RSA大数分解,发现当n和e都很大的时候,可以利用wienerattack https://github.com/pablocelayes/rsa-wiener-attack 打开RSAwienerhack.py,不用管test,在下面加上n和e的值并且调用RSA_hack()函数

BUUCTF--firmware

元气小坏坏 提交于 2020-08-11 13:17:38
测试文件: https://www.lanzous.com/iaup43c 文件提取 binwalk 首先需要使用binwalk对文件进行提取。安装教程: https://blog.csdn.net/QQ1084283172/article/details/65441110 binwalk -e fire.bin firmware-mod-kit分析 安装 sudo yum install git build-essential zlib1g-dev liblzma-dev python-magic git clone https://github.com/mirror/firmware-mod-kit.git cd firmware-mod-kit/src ./configure make 说明 extract-firmware.sh 解包固件 build-firmware.sh 重新封包 check_for_upgrade.sh 检查更新 unsquashfs_all.sh 解包提取出来的squashfs文件 将_fire.bin.extracted文件夹中的120200.squashfs文件,转存到firmware-mod-kit文件夹 mv /root/_fire.bin.extracted/120200.squashfs /root/firmware-mod-kit cd

合天网安实验室CTF-解密200-找茬游戏

Deadly 提交于 2020-08-09 06:40:11
合天网安实验室CTF-解密200-找茬游戏 题目描述    diff 相关附件    cry200.zip 参考解题步骤 1、下载附件解压后得到一个文件夹,里面有两张图片 2、直接仔细观察未发现不同之处 3、既然表面没有不同,那应该是内部信息不同啦,用binwalk看一眼。    确实第一张图里有Zlib压缩的信息 4、既然有两张图,自然使用StegSolve的Image Combiner(图像拼接)功能。    这里要注意,如果打开第一张拼第二张的话出现的二维码不清晰,而打开第二张拼第一张就很清晰啦。 (开第一张拼第二张) (开第二张拼第一张) 5、扫描二维码    这里遇到一个问题,很多在线二维码解码网站不识别黑底白色的二维码,于是进行反色处理再解码。 解码结果: flag{#justdiffit} 6、提交flag内的数据 #justdiffit 验证通过 来源: oschina 链接: https://my.oschina.net/u/4316091/blog/4352609

BUUCTF--firmware

依然范特西╮ 提交于 2020-07-28 17:26:00
测试文件: https://www.lanzous.com/iaup43c 文件提取 binwalk 首先需要使用binwalk对文件进行提取。安装教程: https://blog.csdn.net/QQ1084283172/article/details/65441110 binwalk -e fire.bin firmware-mod-kit分析 安装 sudo yum install git build-essential zlib1g-dev liblzma-dev python-magic git clone https://github.com/mirror/firmware-mod-kit.git cd firmware-mod-kit/src ./configure make 说明 extract-firmware.sh 解包固件 build-firmware.sh 重新封包 check_for_upgrade.sh 检查更新 unsquashfs_all.sh 解包提取出来的squashfs文件 将_fire.bin.extracted文件夹中的120200.squashfs文件,转存到firmware-mod-kit文件夹 mv /root/_fire.bin.extracted/120200.squashfs /root/firmware-mod-kit cd

qemu-system和qemu-user两种模式动态模拟运行嵌入式固件方法总结

*爱你&永不变心* 提交于 2020-04-29 08:24:31
#qemu-system和qemu-user两种模式动态模拟运行嵌入式固件方法总结 ##前言 搭建嵌入式固件的动态模拟环境的过程中遇到了许多的坑,最终终于搭建了起来,很有必要记录下遇到的问题,避免今后再踩坑。 ##工具 ###1.buildroot 下载地址 以buildroot 2019.02.4版本为例,编译mips大端架构环境。 tar zxvf buildroot-2019.02.4.tar.gz apt-get install libncurses5-dev make menuconfig Target options中选择架构为mips big endian: Toolchain中选择的linux内核要尽量的低: Save之后开始 make ,编译时间很久,可以先去完成一次星际旅行。 ###2.qemu apt-get install qemu qemu-user-static ###3.binwalk binwalk项目的github地址 ,安装过程可能会出现小问题。例如cramfsprogs这个包在官方的源中找不到,需要手动下载 cramfsprogs ,使用 dpkg -i install package.deb 安装。 ###4.gdb gdb -v 检查是否已经安装。 ###5.ida pro “度娘,你有没有ida pro给我下载啊?” ##qemu

如何分析和解密已加密的路由器固件

邮差的信 提交于 2020-02-26 06:31:25
我们直奔主题!现在,查看你的路由器品牌及型号信息,然后去对应厂商的官方网站下载你路由器对应的固件。下载完成之后,把固件文件丢到binwalk里,这样我们就可以在QEMU中模拟路由固件了。此时,你将会看到如下图所示的画面: 发生了什么? 一般来说,每一个非binwalk友好的固件都要用不同的方法来进行分析,因此我们无法给大家提供一个针对所有类型加密固件的通用手把手教程。不过,我们将在这篇文章中给大家演示几种常见的固件分析场景,并提供一个处理这类加密固件的一般性指南。除此之外,沃恩还将提供一个解密D-Link DIR-882固件的示例。 加密固件的三种情形 解密固件最简单的方法就是在固件中寻找解密程序。那我们该怎么做呢?如果路由器可以解密新固件并进行更新,那么解密程序就肯定位于就固件镜像中的某个地方。如果你遇到的是加密固件,那你就可以访问厂商官网并寻找这个固件的旧版本,然后下载所有的旧版本固件并开始分析。 下面给出的是三种常见的固件发布场景。 场景1 设备固件在出场时未加密,也未包含任何解密程序。解密程序与较新版本(v1.1)中未加密版本的固件一起提供,以便将来进行加密固件更新。此后发布的固件为加密固件。 此时,我们可以从固件v1.1处获取解密程序,然后用它来解密最新版本的固件v1.2。 场景2 设备固件在原始版本中加密,厂商决定更改加密方案并发布一个未加密的转换版本v1.2