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

Posted on in Categories , , last updated September 17, 2014

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

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
Output:

 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

test:123456:1002:1002:test,,,:/home/test:/bin/bash
didi:abc123:1003:1003::/home/didi:/usr/bin/rssh

2 passwords cracked, 1 left

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

Related:

Further readings:

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

Share this on (or read 38 comments/add one below):

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. 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.
    smith

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

      Try with those:
      num:CR9.E1Q9XBCbs:0:1:Operator:/:/bin/csh
      dra:CR.L.LLfgc/5Y:0:1:Operator:/:/bin/csh
      sec:CR6Xdsh28cJFA:0:1:Operator:/:/bin/csh

  5. 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

  6. 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.

  7. 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

  8. 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