Need help with IoT-vulhub?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

firmianay
530 Stars 68 Forks Other 71 Commits 7 Opened issues

Description

IoT 固件漏洞复现环境

Services available

!
?

Need anything else?

Contributors list

# 11,743
Shell
C
F#
misc
59 commits
# 87,249
unicorn...
Python
Shell
binary
1 commit

IoT-vulhub

Vulhub 项目的启发,希望做一个 IoT 版的固件漏洞复现环境。

安装

在 Ubuntu 20.04 下安装 docker 和 docker-compose:

# 安装 pip
$ curl -s https://bootstrap.pypa.io/get-pip.py | python3

安装最新版 docker

$ curl -s https://get.docker.com/ | sh

启动 docker 服务

$ systemctl start docker

安装 docker-compose

$ python3 -m pip install docker-compose

使用说明

# 下载本项目
$ wget https://github.com/firmianay/IoT-vulhub/archive/master.zip -O iot-vulhub-master.zip
$ unzip iot-vulhub-master.zip && cd iot-vulhub-master

构建 ubuntu1604 基础镜像

$ cd baseImage/ubuntu1604 && docker build -t firmianay/ubuntu1604 .

构建 binwalk 容器,方便使用

$ cd baseImage/binwalk && docker build -t firmianay/binwalk .

进入一个漏洞环境目录

$ cd D-Link/CVE-2019-17621

解包固件

$ docker run --rm -v $PWD/firmware:/root/firmware firmianay/binwalk -Mer "/root/firmware/firmware.bin"

初始化环境(arm/mips/mipsel)

$ ./init_env.sh xxxx

自动化编译环境(目前通常有四种模拟方式)

$ docker-compose -f docker-compose-user.yml build # QEMU 用户模式模拟 $ docker-compose -f docker-compose-system.yml build # QEMU 系统模式模拟 $ docker-compose -f docker-compose-firmadyne.yml build # firmadyne 模拟 $ docker-compose -f docker-compose-firmae.yml build # firmae 模拟(方便调试)

启动整个环境

$ docker-compose -f docker-compose-xxxx.yml up

每个环境目录下都有相应的说明文件,请阅读该文件,进行漏洞测试

测试完成后,删除整个环境

$ docker-compose -f docker-compose-xxxx.yml down -v

注意事项:

  • 在构建 qemu-system 前务必下载对应的 qemu 镜像!
  • 退出 qemu 用
    Ctrl+A
    ,再输入
    X
  • 容器中使用 systemctl 可能会有问题,使用
    /etc/init.d/xxxx start
    代替
  • 如果要从实体机直接访问 Qemu,例如打开固件的 web 界面(实体机 -> Docker -> Qemu):
    • 首先在启动 docker 时需要将 ssh 端口映射出来,如
      -p 1234:22
    • 然后在本地开启端口转发,如
      ssh -D 2345 [email protected] -p 1234
    • 最后对浏览器设置 socks5 代理
      127.0.0.1:2345
      。Burpsuite/Python脚本同理。

漏洞环境列表

请查看漏洞环境列表

贡献指南

在研究漏洞的同时,也请给我们提交一份复现环境吧!贡献指南

开源协议

IoT-vulhub use SATA(Star And Thank Author) License, so you have to star this project before using. 🙏

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.