CSCI 351 Assignment60 pointsInstruction: · Show your

CSCI 351 Assignment

60 points

Instruction:

· Show your own work (at least 50% penalty otherwise)

· Submit
(1) a single word document containing the source code (copied from the source program file) of your program and screenshot of the program run including the number of words tested.

· Submit
source program files (e.g.,checker.py) and a Word document containing the plaintext password found, the number of words tested, and the screenshot capturing the program run and the password found, and the source code (copied from the source program file)

· Make sure you submit the intended one. It is recommended that you download what has been uploaded and double-check if the correct document has been submitted.

· You can submit as many times as you want, but the last submission will only be graded. If the last submission is made after the deadline, there will be a late submission penalty.

· No plagiarism: Do not copy and paste any from textbooks and other resources to answer questions (Zero points will be given otherwise).

· No resubmission/extension request will be accepted.

Problem 1. Linux File Permissions (20 pt., 4 pt. each)

For each permission requirement below, provide (1) symbolic permission and (2) 4-digit octal (numeric) permission.

a. For a file named “a.png”,

· Owner: can read and write

· Group: can read and write

· World: forbidden

Symbolic permission?

Numeric permission?

b. For a directory of “dir1”,

· Owner: can read, write, and execute

· Group: can read and execute

· World: can read and execute

Symbolic permission?

Numeric permission?

c. For a file named “passwd”,

· Owner: can read, write, and execute

· Group: can read and execute

· World: can read and execute

· Set user ID bit enabled

Symbolic permission?

Numeric permission?

d. For a directory of “dir2”,

· Owner: can read, write, and execute

· Group: can read, write, and execute

· World: can read, write, and execute

· Sticky bit enabled

Symbolic permission?

Numeric permission?

e. For a file of “b.txt”,

· Owner: can read, write, and execute

· Group: can read, write, and execute

· World: can read and execute

· Set group ID bit enabled

Symbolic permission?

Numeric permission?

Problem 2. (10 pt.) Password Strength Checker

What makes a strong password?

Strong passwords have many different attributes:

· Length – typically > 8 characters

· Case – contain both uppercase and lowercase letters

· Special characters – contain at least one special character (e.g., !, %,@)

· Numbers – contain one or more numbers

· Additionally, your password should never contain any personal information (like your birthday, middle name).

Develop a Python or C++ program that can check the strength of a password. There are a few requirements for the program.

Requirements

· Take user input (the password to be tested)

· Calculate a score based on the contents of the password

· Tell the user the score of their password

· Tell the user the strength of their password (Weak, Moderate, Strong)

Below is a python program snippet for reference.

# Get user’s password to check

userPassword = input(“What is your password: “)

# Set a baseline for the possible counts of each character type

# Loop through each character and see what type it is

# Calculate the score of the password

# Tell the user how strong their password is

Problem 3. Password Brute-force Attack (30 pt.)

Write a program that performs the brute-force attack to break the password. The following table shows encrypted passwords using the crypt() function. Your mission is to break the password corresponding to your CWID in the table. For example, the last digit of your CWID is 1, then you should identify the password for indBOW06MoVz6.

In this case my last number is 7.

Last digit of CWID

Encrypted password

1

indBOW06MoVz6

2

in79RsnfG/VWo

3

inbqJM0dLgWvo

4

incT1ji3YqQ/Y

5

in7haMV00ylgk

6

in1U0tb9WpIcI

7

inPlXS.yNKivQ

8

inqidvfWapJp2

9

injY7hdQJTeu2

0

inQW.HgtuEe.M

Crypt() is a function to check UNIX/LINUX passwords, and the encrypted passwords above are encoded by the standard crypt() function. Hence, you should use the crypt() function to break the password. The crypt() function takes two input parameters and returns the encrypted password, as follows:

Input parameters:

· Password (plaintext): string

· Salt: string

Output:

· Encrypted password: string

The password length is six and the salt is set to ‘infosec’ (without using the quotation mark). For the brute-force attack, you should try 6-character lower case letters of alphabet from ‘aaaaaa’, ‘aaaaab’, ‘aaaaac’, …, to ‘zzzzzz’, with the salt. Report the original plaintext password by breaking the encrypted password (one based on your CWID). Also report how many words you tested to find the original password.

It is recommended to write a program using either Python or C/C++. While there are numerous resources for referencing crypt(), the following shows just two of them (but you can refer to any other helpful resources).

· Python:



· C:

pages/man3/crypt.3.html

Below is a python program snippet for reference.

# Please show the pycharm inside our VM with Kali Linux to do the coding

# import the following modules import pwd

import crypt

#usage and sample output password = “computer”

salt=”science”

crypt.crypt(password, salt)

Output is:

‘scRKJfdmHndxk’

Finally, submit the following:

· Screenshot showing the program running, the key found, and the number of words tested: 10 pts.

· Source code in the document: 10 pts.

· Source programming file (must be compliable and executable): 10 pts.

1

1

1

Share This Post

Email
WhatsApp
Facebook
Twitter
LinkedIn
Pinterest
Reddit

Order a Similar Paper and get 15% Discount on your First Order

Related Questions

do a cset diagram for Staples print department, Departments and Key Tasks: Print Services Department: In the diagram identify:● major

do a cset diagram for Staples print department, Departments and Key Tasks: Print Services Department: In the diagram identify: ● major departments and their key tasks/activities/responsibilities ● major systems and databases ● threats/vulnerabilities/risks Tasks: Printing: Handling various types of printing including bulk, specialized, and quick print services. Copying: Providing self-service

  IT543-4: Design an implementation of cryptographic methods for an organization. Assignment Instructions: Perform the lab described in the zip

  IT543-4: Design an implementation of cryptographic methods for an organization. Assignment Instructions: Perform the lab described in the zip folder Wireshark — Capturing SSL Packets. Follow the directions, perform the indicated instructions, and provide the requested information. Take screenshots of each step to show that you are working through the steps.