Booting Into Writable Filesystem Using Grub

0. Preface
This is a very different post than the usual HackTheBox/VulnHub write-ups on this site. I managed to brick my Kali VM while testing out an exploit locally, which unfortunately, involves manually editing /etc/sudoers.
I realised I done goofed when I couldn’t run sudo, and I also didn’t set a password for the root user.
…and the last snapshot of the VM was taken a month ago.
Note that there will be some swearing involved.
1. How to Goof
Simply (and stupidly), editing your /etc/sudoers file without testing it out using visudo first.
If you edit /etc/sudoers via visudo, it will warn you if you made a mistake, and will ask you what to do next.

Stupidly, I just ran the following:
sudo sed -i -e '$akali ALL=[ALL:ALL] NOPASSWD:ALL' /etc/sudoers
Notice the mistake?
It’s supposed to be ( ) instead of [ ].
And this is when you know you’ve fucked up.

Now you can P A N I C.
2. The Fix
I desperately tried to su root with every password I can think of, but of course, it doesn’t work because there’s no password set in the first place.

So, I tried to boot into single user mode in the hopes that I can edit /etc/sudoers with the root user.
To do so, I had to edit the bootloader script.

Press e to edit.
Find the following line and add a 1 behind it.
linux /boot/vmlinuz-5.7.0-kali3-amd64 root=UUID=114c498f-de75-44bb-a5ec-6339282d4171 ro quiet splash

Press Ctrl+X to boot.

F u c k.
Cue more P A N I C.
After some research, I found that you could append init=/bin/bash instead, and change ro to rw to boot into bash directly with a writable filesystem.

Ctrl+X.


Now to revert the sudoers file, this time using visudo.

Next to power off the machine and boot it again normally.

Lesson learnt.