riusksk / riufuzz-pub

riufuzz —— honggfuzz modifited version by riusksk, better support for windows (cdb symbols) and macOS, and more colorful UI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

riufuzz

Feedback-Driven Mode on Linux

Dry Run Mode on Windows/Cygwin

External Mode on Windows/Cygwin

Dumb Fuzzing Mode on macOS

2018-02-06 更新说明

  1. 发布v1.1版本
  2. 增加Windows崩溃样本去重功能
  3. 使用cdb自动分析崩溃,包括可利用性、漏洞类型,以及栈回溯等信息
  4. 增加External Fuzzer运行模式
  5. 增加bing_download脚本用于批量下载样本
  6. 修复cygwin下的多处bug

2018-01-01 更新说明

  1. 更新运行时间格式
  2. 使用 cdb 监控 windows 平台下的应用崩溃,并添加相应的设置脚本
  3. 支持 macOS 10.13
  4. 在 Dry Run 模式下增加剩余时间
  5. 使用 "@@" 代替 "___FILE___"
  6. 增加 "--monitor_sigabrt" 选项以支持忽略abort信号
  7. Windows平台 Dry Run 模式下崩溃样本名称包含原始文件名
  8. 更改 coverage 显示信息

2017-09-15 更新说明

  1. 修复无样本后缀名的bug
  2. 修复sprintf栈溢出漏洞
  3. 修复cygwin下程序名提取的显示bug
  4. 增加"Dry Run Mode"模式,用于验证漏洞,并不做文件变异处理
  5. 变更界面高亮风格
  6. 仅在漏洞被验证后才会发送邮件通知
  7. 移植新版honggfuzz中的界面固定显示位置的功能
  8. 更换安装目录,免去root权限安装
  9. 添加Windows平台下基于cdb.exe的崩溃监控脚本

2017-07-02 更新说明

  1. 修复cygwin下样本路径识别错误的问题
  2. 支持中断后各线程退出
  3. 显示输入的样本数
  4. 去掉变异文件的隐藏性
  5. 增加发现漏洞时的邮件通知(配置方法参见《Mac OS X 下用命令行发送邮件》

2017-04-20 更新说明

  1. 增加字体格式分析脚本;
  2. 增加 google 批量文件下载工具;
  3. 添加 fuzzer 脚本;
  4. 增加针对闭源程序的基于代码覆盖率的样本筛选工具;
  5. 使用样本绝对路径,解决部分软件无法识别样本路径的问题;
  6. 增加百度 pdf 批量下载脚本;
  7. 修复 macOS 10.12.4 系统下的编译问题;
  8. 添加 libarchiver fuzzer
  9. 添加Windows GUI 程序崩溃监控

2016-12-03 更新说明

  1. fix bug:保留后缀名的bug;
  2. 增加显示最后一次新路径发现距离现在的时长;
  3. 移植afl中的各种不同文件格式的字典文件,通过-w可直接传递使用
  4. 添加make install安装命令
  5. 精简CPU使用率的显示
  6. 添加macOS系统下的fuzzing脚本

2016-11-20 更新说明

  1. 修改显示内容,高亮标题,精简内容;
  2. 增加-e any参数选项,以保持原始样本后缀,因为有些GUI程序有检测后缀名(默认为.fuzz),设置后则允许同时fuzzing多种文件格式,比如图片格式;
  3. fix bug: 增加Windows平台下的超时检测,若超时则自己关闭程序;
  4. 修复-C代码覆盖率驱动导致无语料库输入则中断的bug,保证能生成sancov.map等文件;
  5. 增加扩展fuzzer的功能,通过-c参数(原始功能无法使用,只会生成空文件导致程序中断)指定fuzzer文件名,默认传递样本(文件名为honggfuzz.*的格式),它会代替原有的fuzzer策略;
  6. 当硬盘空间不足时,自动提醒并等待用户清理完毕后,输入y命令即可继续fuzzing。
  7. 增加execvp执行结果检测,以匹配最新版macOS,虽无实际功能,但若不增加,有时可能会因此导致无法正常启动目标程序。

Description

  • A general-purpose, easy-to-use fuzzer with interesting analysis options. See USAGE for details
  • Supports several hardware-based (CPU) and software-based feedback-driven fuzzing methods
  • It works (at least) under GNU/Linux, FreeBSD, Mac OS X, Windows/CygWin and Android
  • Supports persistent modes of fuzzing (long-lived process calling a fuzzed API repeatedly) with libhfuzz
  • Can fuzz standalone long-lasting processes (e.g. network servers like Apache's httpd and ISC's bind)

Code

Requirements

  • Linux - The BFD library (libbfd-dev) and libunwind (libunwind-dev/libunwind8-dev)
  • FreeBSD - gmake
  • Android - Android SDK/NDK. Also see this detailed doc on how to build and run it
  • Windows - CygWin
  • if Clang/LLVM is used - the BlocksRuntime Library (libblocksruntime-dev)

Trophies

The tool has been used to find a few interesting security problems in major software packages; Examples:

Other

This is NOT an official Google product.

About

riufuzz —— honggfuzz modifited version by riusksk, better support for windows (cdb symbols) and macOS, and more colorful UI

License:Apache License 2.0


Languages

Language:BlitzBasic 49.7%Language:C 42.1%Language:Python 3.9%Language:Makefile 2.3%Language:Shell 0.8%Language:C++ 0.6%Language:Perl 0.3%Language:Go 0.3%Language:HTML 0.1%Language:Batchfile 0.0%