How to Check Your Linux Version: os-release, uname and lsb_release

Ever wonder what Linux version is running on your machine? I commonly connect to friends’ machines, or to one of my servers, and I have no clue what’s on it. This can make a huge difference, as some distributions use apt, some use dnf or yum, and some use something else entirely. Luckily, there are a few commands that answer this in a second.

In this article, we’re going to cover /etc/os-release, uname, lsb_release, and hostnamectl.

Continue reading How to Check Your Linux Version: os-release, uname and lsb_release

Undocumented APIs

Because I always love to push the envelope, and love learning how different services work in the background, I find myself running into undocumented APIs fairly regularly. Through writing many random bots, I’ve come up with a pretty nice workflow for handling, and documenting these APIs.

This article is going to cover how I typically go about the endeavor of documenting unknown APIs.

Continue reading Undocumented APIs

How to Build and Install a Linux Kernel from Source on Ubuntu

I find myself fairly regularly hearing about new features in the Linux kernel (the core of Linux operating systems), getting excited, and checking to see if my distribution’s repository of packages has the latest kernel built. Unfortunately, Ubuntu’s repositories don’t get new kernel versions for a long time. Ubuntu 24.04 LTS still ships a 6.8 kernel, while kernel.org is on 7.2 as I’m writing this.

Fortunately, the Linux kernel is open source, so we can freely download the kernel’s source code, compile it, and install it.

This article walks through building the current stable kernel on Ubuntu 24.04 LTS (Noble Numbat) and installing it as a normal .deb package. The same steps work on Debian and most other Ubuntu releases. (I originally wrote this for Ubuntu 19.10 and Linux 5.4 back in 2020, and updated it in 2026, since several steps no longer work the old way.)

Continue reading How to Build and Install a Linux Kernel from Source on Ubuntu

OverTheWire Bandit Part 2

In my last post, I walked us through connecting to OverTheWire’s Bandit server, and completing level 0 and level 1. Following along with the previous article is a prerequisite to following this article, as you’ll need to get the password from the file in level 1 first.

You can view my last post about this by following this link.

Continue reading OverTheWire Bandit Part 2

OverTheWire Bandit Part 1

OverTheWire is a website with two games. One is “Wargames”, which is a level based game, the other game is “Warzone”, which is more of a free-for-all hacking game.

In this series of articles, I’m going to give a walkthrough of how to complete the “Bandit” series of levels on their website.

Continue reading OverTheWire Bandit Part 1

Hack The Box Intro

Hack The Box is a website that gives people a great place to test their penetration testing (hacking) skills. They have a selection of different machines available that are vulnerable to different types of attacks. This site uses the capture the flag scoring mechanism, where you hack machines, get a “flag” from them, and submit it to their site for points.

In this article, I’ll cover how to make an account on HTB.

Continue reading Hack The Box Intro