I've been busy as hell this past week.

A lot of people have been asking hard questions about the security of LoRa systems when they hear about mesh radios.

I'm not one to trust the marketing so I and several friends put together two new LoRa tools to help us audit the security claims of LoRa mesh systems!

🤘🏿 📡 ✨

#radio #cybersecurity #privacy #meshtastic #lorapipe #meshmarauder #lora #mesh

The first new tool is lorapipe, a firmware that runs on most consumer LoRa radios.

We've tested it a ton on ESP32-S3 based Xiao Wio boards.

This turns your lora radio into extremely minimal serial device that sends and receives packets in a dirt simple CSV format.

The radio can be tuned on the fly to switch between meshcore, meshtastic and LoRaWAN sync words and frequencies.

https://github.com/datapartyjs/lorapipe

#lorapipe #lora #lorawan #meshtastic #meshcore

GitHub - datapartyjs/lorapipe

Contribute to datapartyjs/lorapipe development by creating an account on GitHub.

GitHub

And because all the lorapipe firmware is doing is sending and receiving packets it means you can handle the encoding and decoding on a different device.

We tried to keep some of the dispatch behavior in lorapipe so that the firmware will automatically wait for gaps in traffic to find a good time to transmit.

It's pretty damn zippy . . .

https://github.com/datapartyjs/lorapipe

Which brings me to part two, MeshMarauder.

An open source tool demonstrating proof-of-concept exploits against the DEFCON 33 Meshtastic firmware.

MeshMarauder will demostrate:

- Tracking user activity on any mesh regardless of encryption usage
- Hijack all meshtastic user profile metadata
- Change any users public key
- Send messages as any user in channel chats that appear authentic
- MITM direct messages

https://meshmarauder.net

#defcon #meshtastic #meshmarauder #cybersecurity

meshmarauder - framework for mesh radio pentesting

framework for mesh radio pentesting

One of the exploits demonstrated is PKI poisoning, this is where we listen for a complete user profile and only change the public key to one we control.

In the case of mesh marauder we also add a little 🥷to the user name so people can see something is wrong.

If they never have seen this user before they will appear as a green contact.

If this is a contact they already knew the meshtastic app provides a warning but appears to replace the original key without user input.

The core issue to the above PKI poisoning attack is that NO core parts of meshtastics protocol is signed.

The user profile transmits the public key and there is no way to verify any of the information in it was even sent by that included public key 🙄

Nothing is signed and simply setting someone else's MAC address in the unencrypted header makes you that user.

The scale of meshtastics avoidance of building security into the design is pretty epic.

It allows for the formation of an entire mesh just for MITMing it.

This ONE liner here in the PKI attack means that once a node gets poisoned the key we created is based on the MAC so -anyone- who knows your MAC can read your MITM'd traffic.

When attackers run mesh marauder against the DEFCON 33 firmware they are all working together. Anyone in range can read the MITM'd DMs.

https://github.com/datapartyjs/meshmarauder/blob/channel-chat/src/lorapipe-raw-packet.mjs#L191-L193

meshmarauder/src/lorapipe-raw-packet.mjs at channel-chat · datapartyjs/meshmarauder

LoRa mesh radio pentesting tool. Contribute to datapartyjs/meshmarauder development by creating an account on GitHub.

GitHub

So when it's this easy to get a MITM going things like making posts in public chats as anyone you want feels kinda low key.

But I do hope that extended warranty works out, everyone seems pretty concerned about them.

#defcon #meshtastic #lora #cybersecurity

There's been a ton of bad advice for the privacy conscious and in particular for activist to use meshtastic.

I think that's very bad advice, because meshtastic is in no way architected to meet modern security expectations.

I hope this provides the proof of the dangerously lacking state of security on meshtastic today and some tools to verify if it ever improves.

Expect a more detailed blog post of all the exploits and findings soon.

https://meshmarauder.net

meshmarauder - framework for mesh radio pentesting

framework for mesh radio pentesting

Please consider donating, I'm housing insecure and going through a ton of costly bullshit right now. Wish I could make more tools and content.

Anything helps.

https://ko-fi.com/nullagent

Support nullagent

Support nullagent's work with a donation

Ko-fi

A few notes on the meshtastic disclosures:

1. I'm an amateur cybersecurity researcher. I've never done this professionally

2. I believe every single exploit we demo'd was previously documented in meshtastics bug tracker 1yr+ ago and were closed by the MT devs and largely ignored for a year.

3. When I began trying MT in 2024 the devs shutdown convos asking for security fixes saying people should use other comms tools if they wanted security. Rather than address fixable security bugs.

As I began reading the code and watching the discord conversations around meshtastic security I began to realize this team simply did not value security design and were rejecting all feedback short of full blown demos of these WELL documented security lapses.

I supported a friend with research who tried for months to get through to the meshtastic devs via discord (bc the github issues were being closed) and frankly the MT team were egotistical, rude and completely disinterested in security.

By January of this year I had run out of personal interest and free resources to devote to the project of meshtastic given the lack of security focus I'd seen in the prior six 6 months.

I wrote a final writeup on my meshtastic experiences and wrote a complete listing of the security issues I and others had already informed meshtastic of at that time.

My last post on the topic fully outlined the PKI poisoning we demo'd a DEFCon's CTF back in January of 2025.

https://partyon.xyz/@nullagent/113862707600980520

nullagent (@[email protected])

Finally I suspect that IF meshtastic ever does fix their routing algo they will suffer from MITM exploits due to issues around #1, #6, #8, and #9. Bc when you have MAC as the root of trust I can respond to your MAC and poison the routing table. There might even by a solid security downgrade attack here too bc they have backwards compatibility for insecure DMs. So once I clone your MAC I can also downgrade security and ppl are trained to accept downgrades. #meshtastic #cybersecurity #mitm

PartyOn

So I'm not sure how to say it in a more concise way but YES meshtastic direct messages are at risk of MITM (man-in-the-middle) if your public key can be replaced by an attacker who spoofs the PKI.

Due to the way DMs and adverts work I believe this risk likely exists for any device on meshtastic regardless of whether they are on public channels or not.

#privacy #cybersecurity #meshtastic

This segment of meshtastic's DEFCON post are sadly not correct.

I can't tell you why how exactly the firmware and phone app work but I can tell you that if you are near someone PKI spoofing it absolutely does replace the users private key on BOTH the app and the firmware.

The only pub keys that are pinned are your favorites list.

It doesn't matter what -type- of AES is used after the public key is replaced you're already MITMd.

https://meshtastic.org/blog/that-one-time-at-defcon

#privacy #cybersecurity #meshtastic

@nullagent so.... No comment on the responsible disclosure then?