Recovering a Failed Upgrade with an Encrypted LUKS Partition

So a few weeks ago I decided to do the responsible thing and upgrade my Ubuntu distro from 20.04 to 22.04 because it’s been long enough. As you might guess from the title, things did not go quite as planned and I had to force shutdown my laptop while attempting the upgrade. You might guess correctly, dear reader, that this caused some issues. Booting my laptop up displayed a kernel panic. Trying to switch to the recovery kernel also resulted in kernel panic. Then I started to panic. The rest of this blog is to hopefully help you in a similar situation. I can’t take credit for being the source of any wisdom here, but this is a rough summary of my steps for recovering my encrypted LUKS partition data and reviving my upgrade.

Read More

Easy way to Move Files with Python

Short post but a fast way to move files from one computer to another in your network is with Python. Requires the host’s (the one with the file you want) local IP address, and access to the commandline. Note: both devices have to be accessible, meaning same VLAN/subnet/etc. Can always test by pinging the address first.

Read More

SSH Configs and Multiple Github Accounts

SSH is a pretty neat technology using asymmetric cryptography to keep your communication with the server safe and secure. If you’ve used Github with SSH keys, you’ll know that you have to provide your SSH public key to your account’s list of public keys. Then, when you clone/pull/push anything to your repo, it’ll use your public key to open an SSH tunnel to transport your commands. You can verify your SSH connection with ssh -T git@github.com, and it should respond with Hi <username>! You've successfully authenticated, but GitHub does not provide shell access.

Read More

Secret Santa

At work this year, I wanted to make my secret santa gift a little interesting. Having been working with wifi for a large part of the year, I thought it would be fun to make a wifi ctf as part of the process.

Read More

Analog To Digital And Back Again

Overview

I’ve been playing a lot recently with WiFi and let me tell you, WiFi is freaking weird. It’s safe to say that usually when we connect to hot spot “FREE COFFEE WIFI!!!” we don’t normally think of all the intricacies of how it works on the protocol or RF level. This complex type of networking allows us to reliably connect our devices to each other and the internet as we know it without having to deal with crazy lines of wires everywhere. However, this also opens opportunities for abuse by malicious actors if we’re not careful. I’m aiming to write a series of posts starting with this one providing an overview of wireless communication and networking, along with how to use Linux utilities and tools to sniff and craft our own packets, whether for good or evil.

Read More

Patching Binaries

Background

I’ve been playing around with IDA as an exercise for both work and leisure. IDA is a powerful disassembler by HexRays, which can basically turn any binary of almost any architecture into its assembly instructions. This makes debugging and reversing much easier, though can still be tricky to get familiar with. In this exercise, I’ll show you how to reverse a simple crackme and patch it so we’ll always get to the right answer with IDA. The binary I’m using is “Easy_ELF” from reversing.kr.

Read More

Environmental Gas Sensor Using the Raspberry Pi & Arduino - Part 1

Hey all! Apologies all around for being so late, but a lot of exciting stuff has happened in the…half year since my last post, so I will try to fill in the gaps. This series of posts is going to cover a project I did for a company where I made a remote environmental monitoring system using a Raspberry Pi, Arduino, and lots of Internet help.

Read More