Case Study: OpenWrt Full-System Fuzzing
In this chapter, we will explore one of the most famous open source projects for Wi-Fi routers, OpenWrt (https://openwrt.org/). As of today (at the end of 2022), the OpenWrt project supports almost two thousand router models, and it is capable of bringing enhanced functionality with respect to stocking firmware for many models. For the sake of simplicity, in this chapter, we will compile the system for x86 because we want to reuse our fuzz harness (TriforceAFL). We will see how easy is to generate crashes to explore for vulnerability research.
In this chapter, we will cover the following topics:
- OpenWrt
- Building the firmware
- Fuzzing the kernel
- Post-crash core dump training