DEV Community

Cover image for Mezz: a curl-able wifi sandbox for IoT pentesting
Temuri Takalandze
Temuri Takalandze

Posted on

Mezz: a curl-able wifi sandbox for IoT pentesting

Every time I picked up a new smart device to look at, I'd end up rebuilding the same setup on a Linux box. Edit hostapd.conf, edit dnsmasq.conf, figure out the
iptables rules for NAT, fight NetworkManager for control of the radio. By the time the AP came up the afternoon was gone.

So I packaged it. Mezz is a docker compose stack. Two curl commands, edit .env, bring it up.

What's inside:

  • isolated wifi AP via hostapd, WPA2-PSK
  • DHCP and DNS via dnsmasq, with per-query logging so you can see exactly what each device is talking to
  • NAT out through a wired uplink
  • local .lan domain
  • optional mitmproxy profile for transparent HTTP/HTTPS interception

The name is from mezzanine, the half-floor between two main floors of a building. This network sits in the same place: between your devices and the rest of your home network.

I used Mezz to do the lab work for my last writeup, the cheap video doorbell teardown. Got what I needed in about an hour. The full post is on my blog if you want to see the workflow end to end.

Give it a try. If something breaks or you have a feature request, open an issue on GitHub.

Source: https://github.com/ABGEO/mezz
Project page: https://www.abgeo.dev/projects/mezz/

Top comments (0)