Stack Smashing at Home

There are various wargaming sites such as SmashTheStack, OverTheWire, and IO Wargame that provide a platform for users to legally exploit real world software vulnerabilities. Source code is provided with a few of the challenges, which you can copy to a local research machine instead of working remotely. Keep in mind that the sites hosting … Read more Stack Smashing at Home

Ansible User Account Provisioning

Whenever I stand up a new Linux machine, I always find myself doing the same four things:  Creating my main user account  Creating an ansible user account  Configuring sudoers  Copying over SSH Public Keys. Definitely, not something that evokes fun. I have tried various automation tools, but ansible has found a very special place in … Read more Ansible User Account Provisioning

Working with Raw LVM Disk Images

Mounting disk images on Linux is fairly straight forward, however an image with a Logical Volume Manager (LVM) partition requires a little more attention. The first thing I do is find out some information about the image(s):

-l lists the partition table and -o outputs the columns specified. This particular image has two partitions … Read more Working with Raw LVM Disk Images

Slackware LVM over LUKS

This is mostly a post to document my process of setting up Full Disk Encryption (FDE) using the Linux Unified Key Setup (LUKS) and the Logical Volume Manager (LVM). Most major distributions already enable this process at installation, however Slackware does not and it must be done by hand. I am going to use an … Read more Slackware LVM over LUKS

Using NetworkManager with DNSMasq and Slackware

dnsmasq on Slackware 14.2 is compiled without D-Bus.

The logs show NetworkManager trying to start dnsmasq, but failing:

After downloading the source files and SlackBuild resources from a Slackware Mirror, validate the GPG  signature using the provided .asc file. Below are the contents of a directory after I assembled all the required pieces. … Read more Using NetworkManager with DNSMasq and Slackware

Migrating and Upgrading Apache Guacamole to Docker

UPDATED: I have created an all-in-one (AIO) version that includes nginx using TLS. Apache Guacamole is a client-less remote desktop gateway. I use it in order to access my lab when traditional methods are not available. Guacamole does not use agents or fancy plugins, you only need an HTML5 supported browser and you can access … Read more Migrating and Upgrading Apache Guacamole to Docker

AutoFS with DHCP Classless Static Route Option

My FreeNAS server is a virtual machine (VM) on my Dell r710 server. I mount my NFS and CIFS Shares using AutoFS and configure my static routes to the NAS using the DHCP Server on my pfSense Appliance. AutoFS is software that uses the automounter of the Linux kernel to dynamically mount file systems on demand. … Read more AutoFS with DHCP Classless Static Route Option

Handcrafting Linux Shellcode

Crafting your own shellcode requires getting muddy with low level programming. One does not simply write machine code from memory. This blog post is my attempt at providing a template and tutorial of the shellcode creation process for a 32-bit Linux machine. The first step we will take is to write the task we want … Read more Handcrafting Linux Shellcode

Raspberry Pi Centralized Log Server

Setting up a Pi to be a centralized log store is amazingly simple. If you are using Raspbian it comes with rsyslog installed by default, so all that’s left is to setup the config and tailor log rotation. First you should create a directory under /var/log for all the remote logs.

Then edit the configuration for … Read more Raspberry Pi Centralized Log Server

ELF Binary Disassembly

Let us take a tour through a disassembly dump of an ELF binary and see if we can reverse engineer it. The following output is a result of:

The reader is assumed to be familiar with the above output. I have removed the memory addresses so each line can fit on a 80 … Read more ELF Binary Disassembly