Did You Know?
Donate to TecMint

LFCS - Linux Foundation Certified SysAdmin - Exam Preparation Guide

How to Hack Your Own Linux System

Download Your Free eBooks NOW - 10 Free Linux eBooks for Administrators

Passwords are the sole criteria of system Security for most of the System. And when it comes to Linux, if you know the root password you owns the machine. Passwords are as a Security measure for BIOS, Login, Disk, Application, etc.

Linux is considered to be the most Secure Operating System to be hacked or cracked and in reality it is, still we will be discussing some of the loop-holes and exploits of a Linux System. We will be using CentOS Linux throughout the article as an article to crack our own machine’s security.

Press any key to interrupt the boot, as soon as Linux machine boots and you will get a GRUB menu.

Linux Boot Screen

Linux Boot Screen

Press ‘e‘ to edit and go to the line starting with kernel (Generally 2nd Line).

Linux Single User Mode

Switch to Single User Mode

Now press ‘e‘ to edit the kernel and add ‘1‘ at the end of line (after one blank space) forcing it to start in single user mode and thus prohibiting it to enter default run-level. Press ‘Enter’ to close the kernel editing and then boot to the altered option. For booting You need to press ‘b

Login into Single User Mode

Logged into Single User Mode

Now you are logged in to single-user mode.

Change root Password

Set root Password

Yeah! Now using ‘passwd‘ command we can change the root password. And once you have root password you owns the Linux Machine – Don’t you Remember? You can now switch to graphical screen to edit anything and everything.

Add new root Password

Add new root Password

Note: In case the above ‘passwd‘ command doesn’t work for you and you didn’t get any output, it simply means that your SELinux is in enforcing mode and you need to disable it first, before proceeding further. Run following command at your prompt.

# setenforce 0

An then run the ‘passwd‘ command, to change root password. Moreover command.

Switch to X Windows

Use command “init 5” (Fedora Based) systems and “gdm3” (Debian Based) systems.

Switch to X Window

Switch to X Window

So was this not a cake-walk to hack a Linux box? Think about the scenario if somebody did this to your server, Panic! Now we will be learning how to safeguard our Linux Machine from being modified using single user mode.

How we breaked into the system? Using Single-user mode. OK, so the loophole here was – logging into single user mode without the need of entering any password.

Fixing this loophole i.e., password protecting the single user mode.

open file “/etc/rc1.d/S99single” in your favourite editor and search for line.

exec init -t1 s

Just add the following line above it. save it an exit.

exec sbin/sulogin
Password Protecting Single User Mode

Before Preview

Protect Single User Mode

After Preview

Now before entering single user mode you will need to provide root password to proceed. Check again trying to enter single user mode after these changing above said file.

Login to Single User Mode

Enter Root Password for Single User Mode

Why don’t you check it, Yourself.

Hack Your Linux System Without Using Single User Mode

OK, so now you will be feeling better that your system is secure. However this is partially true. It is true that your Linux Box can’t be cracked using single user mode but still it can be hacked the other way.

In the above step we modified the kernel to enter single user mode. This time also we will be editing the kernel but with a different parameter, let us see how ?

As a kernel parameter we added ‘1‘ in the above process however now we will be adding ‘init=/bin/bash’ and boot using ‘b‘.

Single User Mode

Add ‘init=/bin/bash’

And OOPS you again hacked into your system and the prompt is enough to justify this.

Hacked into Your System

Hacked into Your System

Now Trying to change the root password using the same process as stated in the first method using ‘passwd‘ command, we got something like.

Changing Root Password

Changing Root Password

Reason and Solution?
  1. Reason: The root (/) partition is mounted Read only. (Hence password was not written).
  2. Solution: Mount the root (/) partition with read-write permission.

To mount the root partition with read-write permission. Type the following command exactly.

# mount -o remount,rw /
Mount / Partition in Read Write

Mount / Partition in Read Write

Now again try to change the password of root using ‘passwd‘ command.

Change Password of root

Change Password of root

Hurrah! You hacked into your Linux System once again. Ohhh man is the system so easy to exploit. No! the answer is no. All you need is to configure your system.

All the above two process involved tweaking and passing parameters to kernel. So if we do something to stop kernel tweaking obviously our Linux box would be Secure and not that easy to break. And in order to stop kernel editing at boot we must provide password to boot loader, i.e., password protect the grub (Lilo is another bootloader for Linux but we won’t be discussing it here) boot loader.

Provide encrypted password to bootloader using ‘grub-md5-crypt‘ followed with your password. First encrypt the password

Password Protect Boot Loader

Password Protect Boot Loader

Copy the above encrypted password, exactly as it is and keep it safe we will be using it in our next step. Now open your ‘grub.conf‘ file using your favourite editor (location might be: /etc/grub.conf) and add the line.

password --md5 $1$t8JvC1$8buXiBsfANd79/X3elp9G1

Change “$1$t8JvC1$8buXiBsfANd79/X3elp9G1” with your encrypted password which you generated above and copied it safely to some other location.

The “grub.conf” file after inserting the above line, save and exit.

Password Protect Grub

grub.conf Preview

Now Cross Checking, editing the kernel at boot, we got.

Checking Grub

Cross Cheking Boot Loader

Now you would be breathing that you system is fully secure now and not prone to hack, however still the game is not over.

You better know that you can enforce rescue mode to remove and modify the password using a bootable image.

Just put your installation CD/DVD in your drive and select Rescue Installed System or use any other rescue image, you could even use a Live Linux Distro, mount the HDD and edit the ‘grub.conf‘ file to remove password line, reboot and again you are logged in.

Note: In rescue mode Your HDD is mounted under ‘/mnt/sysimage‘.

# chroot /mnt/sysimage
# vi grub.conf (remove the password line)
# reboot

I know you would be asking- so where is the end. Well i would say is to.

  1. Password protect your BIOS.
  2. Change you Boot order to HDD first, followed by rest (cd/dvd, network, usb).
  3. Use Password sufficiently Long, Easy to remember, Hard to guess.
  4. Never write Your Password to anywhere.
  5. Obviously use Uppercase, Lowercase, Numbers and Special Character in your password thus making it hard to break.

This guide was just to make you aware of facts and tell you how to secure your System. Tecmint.com and the writer of this article strongly discourage this guide as a base of exploiting other’s system. It is the sole responsibility of the reader if they engage in any such activity and for such kind of act neither the write nor Tecmint.com will be responsible.

Your positive comments makes us feel good and encourages us and that is always sought from you. Enjoy and Stay Tuned.

I am a major in computer science, love to research nix. I love to write codes and scripts, review distros, experiment Foss Technologies, write technical articles, Hack, of course Ethically. I am working as System Administrator (nix) for a NGO.

Your name can also be listed here. Work as a Paid freelancer/writer at TecMint.
Download Free eBooks
Advanced Bash-Scripting Guide
Linux Bible
A Newbie's Getting Started Guide to Linux
Ubuntu Linux Toolbox: 1000+ Commands

33 Responses

  1. Tonto says:

    This has been a very eye opening tutorial – I’ll have to test it out. Obviously the hacker would have to have access to my machine to run these exploits right? If the machine is secure then these hacks would be impossible to run over the network – or am I missing something. Great read – keep up the good work…

  2. x321x321 says:

    if you use full disk encryption then you can prevent these problems though the boot loader can be compromised for an evil maid attack if the attacker is determined so you may need to have that initial bootable partition an a portable stick that is always with you

  3. f2069980@rmqkr.net says:

    good tutorial. There is a typo here:

    passwor –md5 $1$t8JvC1$8buXiBsfANd79/X3elp9G1

    password is missing the last “d”

  4. ep0xcc says:

    Haha, the `init` parameter hack is interesting! Anyway, the best way to protect your data is encrypt the disk, and use special mechanisms to prevent cold boot attack. This prevents the attackers who control your device physically, including installing your HDD on another computer and access the data.

  5. One of the main rules of information security: If the hacker has physical access to your machine – it’s no longer your machine.

  6. Curt Wuollet says:

    IF someone has physical control of your box and can take it down, reboot, etc. they still own you. For example I can take a bootable cd, boot it, mount your partition and edit out all those changes. That’s why all the smart linux folks haven’t bothered to plug those holes. Encrypting your filesystems would make it much more difficult.

  7. kustodian says:

    This has nothing to do with hacking, nor it shows how Linux is insecure. If someone has physical access to your server, the server is already theirs.

    You could deny him access by encrypting your drive, but you would never encrypt a server, since you will have a performance penalty. This article should have probably been called how to change your root password if you forgot it.

    If you were aiming for desktop security, than this is also insecure, since if someone took your hard drive they could still do whatever they want with it. The only way to secure a desktop PC is to encrypt the drive/partition.

  8. bootux says:

    security starts with controlling access to the machine; without access to the console nobody could do the things you describe here
    anyway, these are not hacks, I learned these when I got my rhce 10 years ago :))
    and of course, these days I never install an operating system on a non-encrypted disk

  9. As someone said, I feel it is an eye-opener. Of course, there always pros and cons of every activity. Thanks for the interesting article Avisek.

    Keep up the good work!!

    Raghavan alias Saravanan M
    Jeddah | Kingdom of Saudi Arabia.

  10. RelativePrime says:

    The above methods still leave the system open to being accessed via a live CD, from which you can chroot to the installed system, circumventing the GRUB password. Or just re-install grub.

    As others have stated 1) Physical access essentially allows any system to be owned and 2) Encrypting the drive is one of the best ways to prevent unauthorized access.

    • ChickenNinja says:

      Y’all didn’t read everything do you?

      * Password protect your BIOS.
      * Change you Boot order to HDD first, followed by rest (cd/dvd, network, usb).

      Now you can’t book from a cd… Nor can you change it to boot from cd.

      • Boomerang says:

        *Password protect your BIOS…
        If you have physical access to the machine, take a screwdriver, unplug the computer and open it (desktop or laptop). Then you locate the battery (flat battery) on the motherboard. You removed it for at least 10 seconds, it will reset the BIOS settings and hence forget the password protecting the BIOS. Enjoy… :D

  11. Tamas says:

    You can password protect your grub configuration.

    • Ravi Saive says:

      The X Window known as X or X11 is a computer application system and network protocol that gives GUI (Graphical User Interface) to users.

  12. hzdtony says:

    I then type the first letter of the password and I get immediately:

    Login incorrect
    Give root password for maintenance
    (or type Control-D to continue):

    And so it goes on and on…. until i switch the machine off or reboot.
    I think there is a bug here.

  13. Lucho Gopalanda says:

    I have done the last option many times (dvd or usb booting) on some customers. Sysadmin leaves the company and they dont know root pass or sysadmin forgot root pass or sometimes they got hacked and root pass was changed…

    I personally believe that the info in this article is very useful for sysadmins and security people. Really brilliant article.

    When taking all this info to the practice in the real world, just make sure you guys are not doing something illegal. So just practice on your own systems or make sure that the ones asking you for help are the legitimate owners of the hacked system and it is indeed needed to be hacked.

    Thanks for all this useful info on different ways to do useful things.

  14. Gaurav Garg says:

    can i change the boot image and splash screen of my fedora and centos ??

  15. Hi Avishek,

    Good post , look like you missed to include LUKS, its provides a better way protecting your machine from these simple dorks

  16. ngare says:

    can you do this remotely?

    • Aqar says:

      Not possible unless you have a Remote Code Execution vulnerability in the server and even if thats the case that vulnerability has to be in a process that has a root privilege

  17. shrtsns says:

    I have a vmdk file which is password protected and bootloader also protected by Password.
    My question is, Is there any way to login or crack the boot password.

    Please any one reply this ASAP..

    Thanks for your time.

  18. Marcel says:

    This is an excellent article on hardening physical security.

    Well done!

  19. Khawar Nehal says:

    There is something called a BIOS and grub password.
    If you lock the machine and put a BIOS password and a grub password then you need to physically break the lock and the cover to access the machine.
    We do this to show evidence of attempts to mess with the machine.
    For users who do not know the root password and keep it that way, just put a lock on the box, BIOS and GRUB.
    The installation usually asks if you want a grub password.
    You are showing people how to change the root password after NOT putting a boot loader grub password.

    — Khawar Nehal

Leave a Reply

This work is licensed under a (cc) BY-NC | TecMint uses cookies. By using our services, you comply to use of our cookies. More info: Privacy Policy.
© 2012-2014 All Rights Reserved.