Jordan Herzstein

Jordan Herzstein

My Little Techy Projects Summer 2023

#technology #personal #qubes-os #openwrt #switch

Not gonna lie I had an extremely baller summer and I’m sad that the 21st is coming soon to take it away from me. Regardless, here is a quick summary of what I was able to accomplish:

Switch? Hacked. Coreboot? Flashed. Hotel? Trivago.

Switch hacks

I hacked my day 1 Switch with a piece of literal tinfoil.

Some boring skippable personal info

For some reason, while everyone doubled down on gaming extra during the COVID years, I stopped almost entirely. I used to play smash bros competitively as a kid, almost exclusively to any other game and when COVID happened I was no longer able to attend tournaments. This coupled with getting sick of the Nintendo Switch online service and I was no longer having fun playing. Additionally, wider community controversy and its ensuing aftermath gave me a more negative view of the scene which deterred me from wanting to return. Pretty much quit after that, and since I was not really into any other kinds of games I stopped gaming for a couple of years unless I was at a friend’s place.

Actual Switch hacks

I know that the switch modding scene has had the past 6-7 years to mature but I did not expect it to be this easy. Of course, I reccommend following a written guide that’s constantly updated (such as the rentry guide) to avoid bricking your device, but it really wasn’t that complicated (Unknown 2021). The basics of the hack are to short two pins in the right joycon rail and presing the + and power button to put the device in recovery mode (RCM), which I did using a literal peice of tinfoil, though there are RCM jig devices on amazon that are easier to use. Burned onto the Tegra bootROM on all early Switches has a buffer overflow vulnerability that allows hackers to slip by the bootloader signature check, allowing unsigned payloads to be pushed to the device (Qyriad 2018).

So far I’ve installed Atmosphere and Android on the switch with the extra microSD storage that I added, and allowing some old nintendo DS emulation as well. As an aside, BW and B2W2 were the peak of the entire franchise, with HGSS being a close second, anyone who disagrees with me here is wrong by every objective measure. Also, by complete coincidence the new Zelda game leaked the next day. I also just so happened to beat the final boss day of launch which I also started to play day of launch. Hmmmm… curious.

Now daily driving Qubes on Thinkpad T430

I found a listing on kijiji.ca for a Thinkpad T430 for $100CAD and jumped at the oppountunity to get it. One coreboot mod and an SSD later and I’m now running Qubes OS on it! Qubes OS is a reasonably secure operating systems that compartmentalizes your digital life into different virtual machines or “qubes”(Unknown 2024b). Qubes OS is mainly focused on security, and, to be honest, made for people with threat models much higher than mine. Regardless, given my computer God complex and years of linux knowledge, Qubes OS has been working quite nicely for me. I love how much control it has given me in the little time that I’ve used it, it just works so much more seamlessly than a regular host OS with virtualbox or virt-manager running multiple machines. I can run multiple different environments from school to work and personal activities without making a complete mess of my computer, still sharing the same applications, and still running only one desktop environment. VMs are colour coded to create a mental separation between activities. I can easily configure how each virtual environment connects to the internet, whether it does at all, uses a vpn, or tor. I can securely share files and text between qubes with a bit of overhead, but not hard to get used to. If I want to distrohop, test another OS and/or programs without messing with my regular configuration Qubes empowers me to do that.

The coreboot image I used this time around was Skulls which I flashed using my own RaspberryPi 3B+ (Kepplinger 2021). It was easy enough to install, certainly easier than having to build my own coreboot image. It’s quick to boot up compared to the stock Lenovo BIOS and I have the peice of mind that I don’t have a proprietary firmware subsystem running on my computer that has several known vulnerabilities (Newman 2017; Denis Carikli 2018).

I got the T430 for multiple reasons: my current T400 would not be able to support Intel VT-x or VT-d to make Qubes work, it goes up to 16GB of RAM, and most Qubes certified laptops are from the Thinkpad xx30 generation (Unknown 2024c, 2024a). It is also extremely modular (Gee 2018). Of course this is no gaming machine, but Qubes isn’t made for that use case anyways, and 98% of the time I don’t feel I need that extra power. This is also the first Lenovo Thinkpad is that it doesn’t officially come with the classic Thinkpad keyboards, but this is possible to mod this in the future. I recently upgraded the laptop RAM 8GB to 16GB, got a 9-cell battery, and replaced the i5 with an i7-3840QM.

Honestly this experience made me realize how scammed for when I purchased my thinkpad T400 for about $200. The ebay sellers know too well the value of their products and you need the average Joe from Kijiji that just wants to throw out their old laptop to get a great deal. Thanks Kijiji.

This blog is (not) sponsored by

Openwrt

I’ve wanted to get around to replacing my ISP router for a while. Your average ISP “router” is really more of a router, modem, and firewall all baked into one. ISP companies want to make these devices cheaply, convenient to use to reduce support calls, and with infrequent updates, but this comes at the expense of security, additional features, and user control over the device and network. So, I bought a Lynksys EA8450 router, installed openwrt on it, and put my ISP router in bridge mode hopefully permanently.

OpenWRT is a linux-based OS targeted for small embedded devices such as routers with a fully writable filesystem and a package management system that makes it easy to install additional software (Brown 2024). So far, I’ve configured my network into segmented VLANs to isolate creepy IoT devices around the house, create a guest network, and a regular LAN for everyday desktop, laptop, and cellular devices. I also changed my DNS servers to which support DoH, and installed a wireguard VPN to access my self-hosted services and do remote administration for when I’m away from home.

Overall, I don’t have much else to say other than trying out OpenWRT has been a great learning experience and I’m enjoying the feturaes I’ve gotten out of it. I would encourage others to replace their ISP router with one running secure custom firmware. Of course, not everyone is used to the learning curve, nor have the knowledge or time to configure OpenWRT, and for those people there are many projects that come more ready out of the box such as DD-WRT.

Do I do anything other than be a big autistic nerd?

Yes, I actually worked at a summer camp for most of the summer which I may write about in the future, but I make no promises to all 0 of my readers and my 3 imaginary ones.

References

Brown, Rich. 2024. “[OpenWrt Wiki] Welcome to the OpenWrt Project.” https://openwrt.org/.
Denis Carikli, Molly de Blanc. 2018. “The Intel Management Engine: An Attack on Computer Users’ Freedom.” https://www.fsf.org/blogs/sysadmin/the-management-engine-an-attack-on-computer-users-freedom.
Gee. 2018. “The Definitive T430 Modding Guide.” https://medium.com/@n4ru/the-definitive-t430-modding-guide-3dff3f6a8e2e.
Kepplinger, Martin. 2021. “Skulls - Thinkpad T430.” https://github.com/merge/skulls/blob/master/t430/README.md#first-time-installation.
Newman, Lily Hay. 2017. “Intel Management Engine Flaws Leave Millions of PCs Exposed | WIRED.” https://www.wired.com/story/intel-management-engine-vulnerabilities-pcs-servers-iot/.
Qyriad. 2018. “Fusée Gelée.” https://github.com/Qyriad/fusee-launcher/blob/master/report/fusee_gelee.md.
Unknown. 2021. “Switch Hacking Is Easy.” https://rentry.co/SwitchHackingIsEasy.
———. 2024a. “Certified Hardware | Qubes OS.” https://www.qubes-os.org/doc/certified-hardware/.
———. 2024b. “Introduction | Qubes OS.” https://www.qubes-os.org/intro/.
———. 2024c. “System Requirements | Qubes OS.” https://www.qubes-os.org/doc/system-requirements/.