Linux Password Cracking: Explain unshadow and john Commands ( John the Ripper Tool )

last updated in Categories , ,

Can you tell me more about unshadow and john command line tools? How does it protect my server from crackers?

Both unshadow and john commands are distributed with “John the Ripper security” software. It act as a fast password cracker software. It is a free and Open Source software. It runs on Windows, UNIX and Linux operating system. Use this tool to find out weak users passwords on your own server or workstation powered by Unix-like systems.


John cracking modes

[donotprint][/donotprint] John the Ripper can work in the following modes:
[a] Wordlist : John will simply use a file with a list of words that will be checked against the passwords. See RULES for the format of wordlist files.

[b] Single crack : In this mode, john will try to crack the password using the login/GECOS information as passwords.

[c] Incremental : This is the most powerful mode. John will try any character combination to resolve the password. Details about these modes can be found in the MODES file in john’s documentation, including how to define your own cracking methods.

Install John the Ripper Password Cracking Tool

John the ripper is not installed by default. If you are using Debian / Ubuntu Linux, enter:
$ sudo apt-get install john

RHEL, CentOS, Fedora, Redhat Linux user can grab john the ripper here. Once downloaded use the rpm command as follows to install the same:
# rpm -ivh john*

How do I use John the ripper to check weak passwords or crack passwords?

First use the unshadow command to combines the /etc/passwd and /etc/shadow files so John can use them. You might need this since if you only used your shadow file, the GECOS information wouldn’t be used by the “single crack” mode, and also you wouldn’t be able to use the -shells option. On a normal system you’ll need to run unshadow as root to be able to read the shadow file. So login as root or use old good sudo / su command under Debian / Ubuntu Linux:
$ sudo /usr/sbin/unshadow /etc/passwd /etc/shadow > /tmp/crack.password.db
RHEL / CentOS / Fedora Linux user type the following command:
# /usr/bin/unshadow /etc/passwd /etc/shadow > /tmp/crack.password.db
To check weak password (crack password), enter the following command:

WARNING! These examples uses brute-force ~ CPU-time consuming password cracking techniques.

To use John, you just need to supply it a password file created using unshadow command along with desired options. If no mode is specified, john will try “single” first, then “wordlist” and finally “incremental” password cracking methods.
$ john /tmp/crack.password.db

 john  /tmp/crack.password.db 
Loaded 1 password (FreeBSD MD5 [32/32])

This procedure will take its own time. To see the cracked passwords, enter:
$ john -show /tmp/crack.password.db


2 passwords cracked, 1 left

Above output clearly indicates that user test has 123456 and didi has abc123 password.


Further readings:

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.


38 comment

  1. It clearly shows that the more complex and non-dictionary words we use, the longer it takes for John to crack them.

    Rules of thumb,

    – never use the same password forever, change it on a periodic time.

    – don’t use personal information as password or any partial of that

    – mix numbers, punctuations. symbols if possible

    – never share password to others

    – never use root account for normal usage

    – keep system up to date always

  2. nice short tutorial: just a question though:
    whats the equivalent of this command in non redhat variant systems where unshadow does not exist?
    sudo /usr/sbin/unshadow /etc/passwd /etc/shadow > /tmp/crack.password.db

  3. Always take care that you dont alter the file permissions for the /etc/shadow file, which by default is “-r——–” read only for root(This is definetly true for CentOS and FC,am not sure about the rest). If the read permissions are set for the user for /etc/shadow, a non root user may be able to execute john to retrieve passwords for root as well as other users on that system. Overall this system can then be viable to remote attacks via pre installed back door user accounts.

  4. Well i can say its simply doesnt work on tough passwords it works only on simple text passwords i dont know y this package got so…much of popularity

  5. I have recentaly accured some passwods and am in need of a nother there are 3 computers that anr pertected by passwords I have 2 of them but the last one evades me for computer 2 the password is 036915307. for computer3 the password is036915364.
    i need the passwoed for computer1 the pass words goes 0369152 I could not figure out the res if some one would help i would appreat it.

    1. That simply means that there is no password hashes in the file, which you try to search into

      Try with those:

      1. I think John the Ripper community-enhanced version supports SHA but the regular release does not, perhaps the John Pro supports SHA too…

  6. I hav a problm when making a copy:
    cp /etc/passwd > passwd.1—>cp: opérande du fichier cible manquant après `/etc/passwd’
    Pour en savoir davantage, faites: « cp –help ».
    Can someone help me!thank

  7. hey jabronis, this will work on strong passwords. it has a brute force mode which checks all possible combinations, you just have to be patient :p

  8. hey anybody..
    tell me how to crack the login password ini ubuntu.
    i’ve to use the software for crack but still doesnt work..
    tell me sooner .
    dhanke well

  9. I had the same problem (Debian squeeze), too. So I uninstalled “john” and “john-data” via apt-get and compiled it by myself. Now it is running wonderful!

    @VIVEK: Thank you for this short but detailed article.

  10. Hi ,
    I am getting the following error on My RHEL6.3 machine. Can anyone help me?

    john /root/crack.password.db
    fopen: $JOHN/dynamic.conf: No such file or directory

    1. I ran into the same problem on CentosOS 6. You have to comment out a line in /etc/john.conf.

      Change .include to #.include

      For me it was line 1435.

  11. can i use awk command for sort /etc/passwd and /etc/shadow , maybe on /etc/shadow too much password stored , like output : cat /etc/passwd | awk /root/ combine with cat /etc/shadow , then unshadow them

  12. Tengo un HP-UX, e este servidor no hay el archivo /etc/shadow. He intentado trabajar solo con el /etc/passwd pero no lo he logrado. No tengo estos problemas con Linux. Por favor, su apoyo para poder avanzar con el HP-UX.

Leave a Comment