Optimisation of John the Ripper in a Clustered Linux Environment

Total Page:16

File Type:pdf, Size:1020Kb

Optimisation of John the Ripper in a Clustered Linux Environment Edith Cowan University Research Online Theses : Honours Theses 2004 Optimisation of John the Ripper in a clustered Linux environment Christian Frichot Edith Cowan University Follow this and additional works at: https://ro.ecu.edu.au/theses_hons Part of the Information Security Commons Recommended Citation Frichot, C. (2004). Optimisation of John the Ripper in a clustered Linux environment. https://ro.ecu.edu.au/theses_hons/145 This Thesis is posted at Research Online. https://ro.ecu.edu.au/theses_hons/145 Edith Cowan University Copyright Warning You may print or download ONE copy of this document for the purpose of your own research or study. The University does not authorize you to copy, communicate or otherwise make available electronically to any other person any copyright material contained on this site. You are reminded of the following: Copyright owners are entitled to take legal action against persons who infringe their copyright. A reproduction of material that is protected by copyright may be a copyright infringement. Where the reproduction of such material is done without attribution of authorship, with false attribution of authorship or the authorship is treated in a derogatory manner, this may be a breach of the author’s moral rights contained in Part IX of the Copyright Act 1968 (Cth). Courts have the power to impose a wide range of civil and criminal sanctions for infringement of copyright, infringement of moral rights and other offences under the Copyright Act 1968 (Cth). Higher penalties may apply, and higher damages may be awarded, for offences and infringements involving the conversion of material into digital or electronic form. USE OF THESIS The Use of Thesis statement is not included in this version of the thesis. E:DtTHCOWAN UNIVERSITY LIBRARY Optimisation of John the Ripper in a Clustered Linux Environment By Christian Frichot A Thesis submitted in partial fulfilment of the requirements for the degree of Bachelor of Science Honours ( Computer Science) School of Computing and Information Science Faculty of Computing, Health and Science Edith Cowan University J Optimising John the Ripper fora Clustered Environment Christian Frichot ABSTRACT To aid system administrators in enforcing strict password policies, the use of password cracking tools such as Cisilia (C.I.S.l.ar, 2003) and John the Ripper (Solar Designer, 2002), have been employed as software utilities to look for "weak" passwords. John the Ripper (JtR) attempts to crack the passwords by using a dictionary, brute-force or "other" mode of attack. The computational intensity of cracking passwords has led to the utilisation of parallel-processing environments to increase the speed of the password-cracking task. Parallel-processing environments can consist of either single systems with multiple processors, or a collection of separate computers working together as a single, logical computer system; both of these configurationsallow operations to run concurrently. This study aims to optimise and compare the execution of JtR on a pair of Beowulf clusters, which are a collection of computers configured to run in a parallel manner. Each of the clusters will run the Rocks cluster distribution, which is a Linux RedHat based cluster-toolkit. An implementation of the Message Passing Interface (MPI), MPICH, will be used for inter-node communication, allowing the password cracker to run in a parallel manner. Experiments were performed to test the reliability of cracking a single set of password samples on both a 32-bit and 64-bit Beowulf cluster comprised of Intel Pentium and AMD64 Opteron processors respectively. These experiments were also used to test the effectiveness of the brute-forceattack against the dictionary attack of JtR. The results from this thesis may provide assistance to organisations in enforcing strong password policies on user accounts through the use of computer clusters and also to examine the possibility of using JtR as a tool to reliably measure password strength. Optimising John the Ripper for a Clustered Environment Christian Frichot Declaration I certify that this thesis does not incorporate, without acknowledgement, any material previously submitted for a degree in any institution of higher education; and that to the best of my knowledge and belief, it does not contain any material previously written by another person except where due referenceis made in the text. Signature Date ii Optimising John the Ripper fora Clustered Environment Christian Frichot Acknowledgements I would firstlylike to thank Doctor Craig Valli for providing me with guidance and supervision over the duration of this thesis, and also for encouraging my interest in the expanding fieldof computer security and digital forensics. I would also like to thank everyone who attended our weekly research meetings or took part in the SCISSEC research group, for providing an interesting forum to discuss not only topics directly related to computer and information security, but also research methodologies and methods. In particular I would like to thank Suen Y ek, Chris Bolan, Daniel Mende, Chris Hu, Professor William Hutchinson and Mark Brogan, who patiently allowed me to ask a multitude of questions during the year regarding a wide range of topics. I would finallylike to thank my family and friends for what felt like endless support during the year, in particular my younger sister Amy, who put up with me even when I was grumpy. iii Optimising John the Ripper fora Clustered Environment Christian Frichot Table of Contents ABSTRACT ............................................................................................................................................. 1 DECLARATION ................................................................................................................................... 11 ACKNOWLEDGEMENTS ................................................................................................................. 111 TABLE OF CONTENTS ..................................................................................................................... IV LIST OF TABLES ............................................................................................................................... VI TABLE OF FIGURES ....................................................................................................................... VII 1.0 INTRODUCTION ............................................................................................................................ 1 2.0 LITERATURE REVIEW ................................................................................................................ 3 2.1 PASSWORDS AS A MEANS OF AUTHENTICATION ............................................................................. 3 2.1.1 Forms ofAuthentication ........................................................................................................ 3 2.1.2 Prevalence of Password Authentication ................................................................................ 4 2.1.3 Password Policies .................................................................................................................. 4 2.2 BREAKING PASSWORDS .................................................................................................................. 7 2.2.1 Attacking reusable passwords ................................................................................................ 7 2.2.2 The Human Factor ................................................................................................................. 9 2.2.3 The Technologyof Password Systems ................................................................................. 11 2.2.4 One-Way Hashing ................................................................................................................ 12 2.2.5 Password Cracking Tools .................................................................................................... 17 2.3 CLUSTERED COMPUTING .............................................................................................................. 18 2.3.1 Background .......................................................................................................................... 18 2.3.2 BeowulfClusters..................................... ............................................................................. 19 2.3.3 The MessagePassing Interface..................... ...................................................................... 20 2.3.4 Previous Clustered Password Cracking Solutions .............................................................. 21 2.3.5 Implications of a 64-bit Architecture ................................................................................... 22 3.0 RESEARCH QUESTIONS ........................................................................................................... 23 4.0 RESEARCH METHODOLOGY .................................................................................................. 23 4.1 EPISTEMOLOGY ............................................................................................................................ 23 4.2 RESEARCH DESIGN ....................................................................................................................... 23 4.3 THE METHODOLOGY USED FOR THIS RESEARCH .......................................................................... 24 4.4 CONCEPTUAL FRAMEWORK........................................... ..............................................................
Recommended publications
  • Assignment 3 – Authentication July 2021 Due Thursday, August 12, 2021
    CryptoWorks21 Network Security Assignment 3 – Authentication July 2021 due Thursday, August 12, 2021 Assignment 3 – Authentication Assignment reports must be submitted by Thursday, August 12, 2021. Assignment Description In this assignment you will carry out exercises related to the lectures on authentication. You will work on cracking password hashes, as well as investigate two-factor authentication on the Internet. Assignment Requirements and Setup Virtual machines. You will need to use the Kali Linux virtual machines. If you have not downloaded and installed it yet, please check the “Assignment 0” document. John the Ripper. You will need to use a tool called John the Ripper in order to crack password hashes. This tool is pre-installed in the Kali Linux virtual machine. However, John is very computationally intensive, and it might run faster on your main computer rather than inside a virtual machine. If you do decide to install it on your main computer, be sure to use the “jumbo” version, which contains support for many more types of hash algorithms. • For Windows, you can download a jumbo build from the John the Ripper homepage (http://www.openwall.com/john/) • For macOS, you can install John using the command-line package manager “Home- brew”. To install Homebrew, visit https://brew.sh/. Once you’ve installed Home- brew, you can install John using the command brew install john-jumbo . Getting text to and from your virtual machine. During this assignment, you may need to copy text to or from your various virtual machines. This can be somewhat annoying. It is possible to set up shared clipboards in VirtualBox (Settings Ñ General Ñ Advanced Ñ Shared Clipboard Ñ Bidirectional), but these are not always reliable.
    [Show full text]
  • Hash Crack: Password Cracking Manual
    Hash Crack. Copyright © 2017 Netmux LLC All rights reserved. Without limiting the rights under the copyright reserved above, no part of this publication may be reproduced, stored in, or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise) without prior written permission. ISBN-10: 1975924584 ISBN-13: 978-1975924584 Netmux and the Netmux logo are registered trademarks of Netmux, LLC. Other product and company names mentioned herein may be the trademarks of their respective owners. Rather than use a trademark symbol with every occurrence of a trademarked name, we are using the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The information in this book is distributed on an “As Is” basis, without warranty. While every precaution has been taken in the preparation of this work, neither the author nor Netmux LLC, shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in it. While every effort has been made to ensure the accuracy and legitimacy of the references, referrals, and links (collectively “Links”) presented in this book/ebook, Netmux is not responsible or liable for broken Links or missing or fallacious information at the Links. Any Links in this book to a specific product, process, website, or service do not constitute or imply an endorsement by Netmux of same, or its producer or provider. The views and opinions contained at any Links do not necessarily express or reflect those of Netmux.
    [Show full text]
  • NCL Password Cracking--Key Getting Started You Can Install a Pre-Built Vmware VM from Here
    NCL Password Cracking--Key Getting Started You can install a pre-built VMware VM from here. You just need to open the VM, not install it. The login credentials are kali, kali. https://www.offensive-security.com/kali-linux-vm-vmware-virtualbox-image-download/ Then read this excellent blog from NCL. https://cryptokait.com/2019/09/24/everything-you-need-to-know-about-password-cracking-for-the- national-cyber-league-games/ A Note about Hashcat Hashcat, and the older John the Ripper, keep a list of hashes they have already cracked. If the hash is in the list, it will not appear in the output. This can be confusing if you are having problems and run the same hash file repeatedly. If you think some cracked hashes are missing, look in .hashcat/hashcat.potfile in your home directory, or perhaps where you ran hashcat from. If you want to start from scratch, just delete .hashcat/hashcat.potfile A Crack to Start With This is from the paragraph in the NCL Blog, “Using a Pre-Made Wordlist on Kali.” Follow the procedure to unzip (actually Gnu unzip or gunzip) the password list from the rockyou.com breach (I moved rockyou.txt to my home directory instead of Downloads.) Then run the hashcat line, hashcat -m 0 {means the hashes are MD5} -a 0 {attack will be wordlist only} -o outputfile {where the output goes} hashlist pwlist Here are the hashes. 8549137cd494c22ae87eef3e18a46986 0f96a320a8c0bf7e3f6d375b0d9d3a4c 1a8cb8d148b513dfa1d285077fc4e3fb 22a313110bf5b84c0a58eecc27deaa30 e4fd50109f0e40e8c1a895d8e5c71199 These are easy and should crack in under a minute. Solution Save the hashes in a file on Kali.
    [Show full text]
  • UGRD 2015 Spring Bugg Chris.Pdf (464.4Kb)
    We could consider using the Mighty Cracker Logo located in the Network Folder MIGHTY CRACKER Chris Bugg Chris Hamm Jon Wright Nick Baum Password Security • Password security is important. • Users • Weak and/or reused passwords • Developers and Admins • Choose insecure storage algorithms. • Mighty Cracker • Show real world impact of poor password security. OVERVIEW • We made a hash cracker. • Passwords are stored as hashes to protect them from intruders. • Our program uses several methods to ‘crack’ those hashes. • Networking • Spread work to multiple machines. • Cross Platform OTHER HASH CRACKING PRODUCTS • Hashcat • Cain and Abel • John the Ripper • THC-Hydra • Ophcrack • Network support is rare. WHAT IS HASHING • A way to encode a password to help protect it. • A mathematical one-way function. • MD5 hash • cf4ff726403b8a992fd43e09dd7b5717 • SHA-256 hash • 951e689364c979cc3aa17e6b0022ce6e4d0e3200d1c22dd68492c172241e0623 SUPPORTED HASHING ALGORITHMS • Current Algorithms • MD5 • SHA-1 • SHA-224 • SHA-256 • SHA-384 • SHA-512 WAYS TO CRACK • Cracking Modes • Single User • Network Mode • Methods of Cracking: • Brute Force • Dictionary • Rainbow Table • GUI or Console BRUTE FORCE • Systematically checking all possible keys until the correct one is found. • Worst case this would transverse the entire search space. • Slowest but will always find the solution if given enough time. DICTIONARY ATTACK • List of common passwords from leaks/hacks. • Many people choose common passwords • Written works of Shakespeare ~66,000 words • Oxford English Dictionary ~290,000 words • Small dictionary = 900,000 words • Medium dictionary = 14 million words • Large dictionary = 1.2 billion words RAINBOW TABLE • Can’t store all possible hash/key combinations. • 16 character key = 10^40th combinations • 10^50th atoms on earth • Rainbow tables • Reduced storage.
    [Show full text]
  • Password Cracker Tutorial
    Password cracker tutorial In cryptanalysis and computer security, password cracking is the process of recovering passwords[1] from data that has been stored in or transmitted by a computer system. A common approach (brute-force attack) is to repeatedly try guesses for the password and to check them against an available cryptographic hash of the password.[2] The purpose of password cracking might be to help a user recover a forgotten password (installing an entirely new password is less of a security risk, but it involves System Administration privileges), to gain unauthorized access to a system, or to act as a preventive measure whereby system administrators check for easily crackable passwords. On a file-by-file basis, password cracking is utilized to gain access to digital evidence to which a judge has allowed access, when a particular file's permissions are restricted. Time needed for password searches The time to crack a password is related to bit strength (see password strength), which is a measure of the password's entropy, and the details of how the password is stored. Most methods of password cracking require the computer to produce many candidate passwords, each of which is checked. One example is brute-force cracking, in which a computer tries every possible key or password until it succeeds. With multiple processors, this time can be optimized through searching from the last possible group of symbols and the beginning at the same time, with other processors being placed to search through a designated selection of possible passwords.[3] More common methods of password cracking, such as dictionary attacks, pattern checking, word list substitution, etc.
    [Show full text]
  • LAB 1 – Cracking Weak Passwords
    LAB 1 – Cracking weak passwords Introduction Password-based authenticaiton is still the most popular metod of access control. Methods based on passwords have numerous advantages: low implementation cost, ease of passwords change, reconfigurability, lack of any external systems to depend on. Passwords can be memorized, so it is not easy to steal them, unlike tokens or ID cards. Passwords are hard to recover, for example by means of reverse engineering, on condition that the password satisfies certain quality criteria. Passwords, which are short or too simple to guess, must not be used. This laboratory session aims to show the vulnerabilities to password-based authentication. We will evaluate passwords, which are too short or too simple. Short phrases or dictionary words must be avoided. This laboratory is not a hacking tutorial – its sole objective is to show, that common software can be used to break a passwod by brute force atatck or to recover it by other means, such as a dictionary attack. The lab also aims to show that strong passwords need to be enforced in all systems as a common security control, by means of an appropriate security policy. The methods and techniques presented here also aim to show administrators a few techniques to test the quality of a password, since a weak password presents considerable vulnerabiblity. Many network attacks follow some repetitive pattern: 1. Step 1: find login name and recover password of any user in the system. Contrary to many expectations, it is not difficult. Many users do not adhere to security principles, unless they are enforced.
    [Show full text]
  • Lab 8: Using John the Ripper to Crack Linux Passwords
    ETHICAL HACKING LAB SERIES Lab 8: Using John the Ripper to Crack Linux Passwords Certified Ethical Hacking Domain: System Hacking Document Version: 2015-08-14 This work by the National Information Security and Geospatial Technologies Consortium (NISGTC), and except where otherwise noted, is licensed under the Creative Commons Attribution 3.0 Unported License. Development was funded by the Department of Labor (DOL) Trade Adjustment Assistance Community College and Career Training (TAACCCT) Grant No. TC-22525-11-60-A-48; The National Information Security, Geospatial Technologies Consortium (NISGTC) is an entity of Collin College of Texas, Bellevue College of Washington, Bunker Hill Community College of Massachusetts, Del Mar College of Texas, Moraine Valley Community College of Illinois, Rio Salado College of Arizona, and Salt Lake Community College of Utah. This workforce solution was funded by a grant awarded by the U.S. Department of Labor's Employment and Training Administration. The solution was created by the grantee and does not necessarily reflect the official position of the U.S. Department of Labor. The Department of Labor makes no guarantees, warranties or assurances of any kind, express or implied, with respect to such information, including any information on linked sites, and including, but not limited to accuracy of the information or its completeness, timeliness, usefulness, adequacy, continued availability or ownership. Lab 8: Using John the Ripper to Crack Linux Passwords Contents Introduction .......................................................................................................................
    [Show full text]
  • Forensics Book 2: Investigating Hard Disk and File and Operating Systems
    Forensics Book 2: Investigating Hard Disk and File and Operating Systems Chapter 7: Application Password Crackers Objectives Understand password terminology Use a password cracker Implement various cracking methods Perform system-level password cracking Perform application software password cracking Use default password databases Use password-cracking tools Copyright © by EC-Council Press All rights reserved. Reproduction is strictly prohibited Introduction This chapter: Deals with password crackers and the tools used in password recovery Covers concepts such as ways to bypass BIOS passwords, methods for removing CMOS batteries, and Windows XP/2000/NT keys Discusses BIOS password crackers and explains the Passware Kit, default password databases, and distributed network attacks Copyright © by EC-Council Press All rights reserved. Reproduction is strictly prohibited Password Terminology Passwords Gateway to most computer systems One of the easiest and most common ways to improve security: adopt good password procedures Passwords can be classified as weak or strong Strength of passwords can be calculated mathematically by the length of time it would take for a brute force cracker to discover them Strong passwords would take years to crack, while weak passwords could be broken in less than a second. Copyright © by EC-Council Press All rights reserved. Reproduction is strictly prohibited Password Terminology Strength of a password is not the only thing determining its quality Good password must also be easy for the creator
    [Show full text]
  • Rainbow Tables & Rainbowcrack Introduction
    Learn Security Online, Inc. © https://www.learnsecurityonline.com/ Rainbow Tables & RainbowCrack Introduction Rainbow tables reduce the difficulty in brute force cracking a single password by creating a large pre-generated data set of hashes from nearly every possible password. Rainbow Tables and RainbowCrack come from the work and subsequent paper by Philippe Oechslin.1 The method, known as the Faster Time-Memory Trade-Off Technique, is based on research by Martin Hellman & Ronald Rivest done in the early 1980’s on the performance trade-offs between processing time and the memory needed for cryptanalysis. In his paper published in 2003, Oechslin refined the techniques and showed that the attack could reduce the time to attack 99.9%of Microsoft's LAN Manager passwords (alpha characters only) to 13.6 seconds from 101 seconds. Further algorithm refinements also reduced the number of false positives produced by the system. The main benefit of Rainbow Tables is that while the actual creation of the rainbow tables takes much more time than cracking a single hash, after they are generated you can use the tables over and over again. Additionally, once you have generated the Rainbow Tables, RainbowCrack is faster than brute force attacks and needs less memory than full dictionary attacks. Rainbow Tables are popular with a particularly weak password algorithm known as Microsoft LM hash. LM stands for LAN Manager, this password algorithm was used in earlier days of Windows and still lives on only for compatibility reasons. By default Windows XP or even Windows Server 2003 keeps the LM hash of your passwords in addition to a more secure hash (NTLM or NTLMv2).
    [Show full text]
  • Practical Password Cracking
    Practical Password Cracking “wannabes worry about clock speed – real computer companies worry about cooling” Jamie Riden Email: [email protected] Twitter: @pedantic_hacker Password Cracking Bad hashes and why they’re bad Good hashes and why they’re good Protecting your users from themselves Cracking tools and techniques Problem We want to store the user password in a reasonably safe way. That means, we can check it’s correct but if an attacker breaches the system, they can’t just recover the password. The solution is a one-way function, of which a hash is one example. Obviously we want a one-way function with low number of collisions. Problem II Supposedly a “one way” function should be hard to reverse. We can make lots of guesses and see whether the answer is the same. Quick function => quick guesses. Example MD5 hash: “secret” -> 5ebe2294ecd0e0f08eab7690d2a6ee69 Collisions are so unlikely they’re not worth worrying about. This is nothing to do with hash tables. Properties of Hash Functions Maps arbitrary data to fixed length – eg any input produces 256-bit output. Don’t want predictable collisions. In many branches of Computer Science, faster is better (not here). Small change in input produces large change in output. Should be difficult to reverse. Examples – MD5 MD5 is a quick hash function mapping anything to a 128-bit value. Unsalted hash, so feasible to build a lookup table. $ for w in `cat /usr/share/dict/words` ; echo –n $j ; echo –n $j | md5sum ; done > lookup.txt MD5 is very quick – so guessing is quick. Examples – Salted MD5 We don’t want people to build a lookup table, so we chuck a large random number (salt) into each hash.
    [Show full text]
  • Supercharged John the Ripper Techniques
    Supercharged John the Ripper Techniques Austin OWASP Spring, 2011 Rick Redman - KoreLogic Introduction Who am I: Rick Redman – Senior Security Consultant – Penetration Tester Bio: During my 11 years as a security practitioner, I have delivered numerous application and network penetration tests for a wide range of Fortune 500 and government clients. I serve as KoreLogic's subject matter expert in advanced password cracking systems. I present at a variety of security forums such as ISSA Chapters and AHA (Austin Hackers Anonymous) and provides technical security training on topics such as web application security. I has served as a member of a penetration testing tiger team supporting Sandia National Laboratories. I am a graduate of Purdue University with a degree in Computer Science in the CERIAS/COAST program taught by Gene Spafford. 2 Who is KoreLogic Who is KoreLogic: . An expert-based information security and IT risk management firm. Serve Fortune 500 and Government clients. 500+ security engagements delivered. Invited speakers: OWASP, Shmoocon, CEIC, SIM, ISSA, DoD, Universities . Winner: File Carving Challenge, Digital Forensic Research Workshop. Creator: “Crack Me If You Can” password cracking contest at DEFCON . Privately held and founder-operated allow us to practice a quality- and client-first approach. 3 Today’s Focus Today’s goal: Show default password cracking methods/tools. Pros/Cons of each. Show patterns used by users in environments that enforce password complexity (patterns observed from over 3.1 million hashes cracked by KoreLogic). Improve the methods/rules used to crack passwords, in order to crack large amounts of complex passwords. Give advice on how to create complex passwords that aren’t based on known patterns.
    [Show full text]
  • Taxonomist: Application Detection Through Rich Monitoring Data
    Taxonomist: Application Detection through Rich Monitoring Data Emre Ates1( ), Ozan Tuncer1, Ata Turk1, Vitus J. Leung2, Jim Brandt2, Manuel Egele1, and Ayse K. Coskun1 1 Boston University, Boston MA 02215, USA {ates,otuncer,ataturk,megele,acoskun}@bu.edu 2 Sandia National Laboratories, Albuquerque NM 87185, USA {vjleung,brandt}@sandia.gov Abstract. Modern supercomputers are shared among thousands of users running a variety of applications. Knowing which applications are run- ning in the system can bring substantial benefits: knowledge of applica- tions that intensively use shared resources can aid scheduling; unwanted applications such as cryptocurrency mining or password cracking can be blocked; system architects can make design decisions based on system usage. However, identifying applications on supercomputers is challeng- ing because applications are executed using esoteric scripts along with binaries that are compiled and named by users. This paper introduces a novel technique to identify applications running on supercomputers. Our technique, Taxonomist, is based on the empiri- cal evidence that applications have different and characteristic resource utilization patterns. Taxonomist uses machine learning to classify known applications and also detect unknown applications. We test our technique with a variety of benchmarks and cryptocurrency miners, and also with applications that users of a production supercomputer ran during a 6 month period. We show that our technique achieves nearly perfect clas- sification for this challenging data set. Keywords: Supercomputing · HPC · Application Detection · Mon- itoring · Security · Cryptocurrency 1 Introduction Resource utilization and efficiency of supercomputers are top concerns for both system operators and users. It is typical to use figures of merit such as occupation of compute nodes or total CPU usage to assess utilization and efficiency; however, these metrics do not measure if the compute capacity is used meaningfully.
    [Show full text]