Develop software based on a design

Assignment Help Other Subject
Reference no: EM133097627

Programming and Algorithms - Local Enumeration and Privilege Escalation

Learning Outcome 1: Working with version control systems
Learning Outcome 2: Use appropriate testing methodologies and tools
Learning Outcome 3: Develop software based on a design

Task: Tasks are to be undertaken in the Python programming language. You will be expected to include comments in your code to explain the behaviour of your code and provide a justification of your algorithm selection. You are also strongly advised to test your code for compilation on a system other than your own, prior to submission. Non-compiling code will not pass, see the marking rubric for further information.

You will create a GitHub private repository to store your source-code and manage version control of your work. Evidence of version control must be included in your regular commits to the repository over the period between the hand out date and due date. Your eventual submission via TurnItIn will link to that repository which must include all of your source-code.
The purpose of this task is for students to work in groups (a maximum of six people per group, but no less than three) to build a local enumeration and privilege escalation tool.

Local enumeration is concerned with analysing the target host for details such as:
• Usernames and group names
• Hostnames
• Network shares and services
This list is not exhaustive and can consist of more features. You can read this article for more information on what this tool may contain.
Privilege escalation is concerned with the increase of level access, either through a bug or design flaw. You can read this article for more information on what this tool will contain.

Assignment Tasks
To successfully complete this assignment you are required to complete the following tasks. Each task has a weight that is attributed towards a portion of the overall grade.

Task 1: Basic Tool
The purpose of this task involves creating a basic tool that consists of a menu system that can perform two methods of enumeration and one method of privilege escalation.
As this is a basic task, it is not required to work on multiple operating systems, and it can be assumed that you will be developing it to run on the system it is being developed within. The enumeration method will be expected to have a form of output displayed on the screen, whilst the privilege escalation should drop the user into a shell with an increased level of privilege.

Task 2: Advanced Tool
The purpose of this task is to build upon the work you have done in task one and adding six more methods of enumeration and another two methods of privilege escalation.
Additionally, the tool should also determine which operating system it is running on and only suggest appropriate options of your implemented methods to the user. The methods you have implemented for enumeration and privilege escalation, at least one of these should work on a different operating system to the others.

Task 3: Outputting
The purpose of this task is to build upon task one and two and provide a more advanced logging method. Instead of outputting to the console, it is expected for your groups tool to output to a file. An option is to be added to the menu to change from outputting to the terminal to a file. Note, it is best to ensure that you can log to a file of a given name and location.
Additionally, it is expected to see your tool be able to run with a parameter from terminal. For example, instead of running python LEAP.py, it is expected we can do python LEAP.py enumerate to display the menu options for enumeration methods.

Task 4: Testing
The purpose of this task will build upon the work you and your group have done in tasks one to three. For each method implemented, you are expected to write a test case to ensure it is working as expected.
It will be expected that the unit testing will be executed in a separate class file, and following the convention as shown in the lectures and labs.

Task 5: Version Control
The purpose of this task is to ensure that you are developing the tool iteratively and collaboratively using relevant version control features, such as forking, cloning and merging.
For your submission, you are to include a URL to the GitHub service repository along with the commit tag you want marking.

Task 6: Documentation
To aid in the marking of the assignment, documentation is relevant for the tool you are implementing. For each function worked upon, it is recommended you included a description of the methodology followed along with the name and student identification number of who implemented the function. It may have been a collaborative effort on a function, therefore explain who worked upon which part.
Additionally, documentation will be required to explain how the tool works. Therefore, it is important to include a README file in the repository outlining how the tool works, and a quick synopsis of functions that exist.

Task 7: Team Software Development
As this is a group assignment, you will be expected to work within a group of maximum six team members, but no less than three members. A portion of the marks have been allocated towards working as a group; and will be expected to see that each group member has provided something towards the project.

The purpose of this task is to see how you can work as a team and how you can interact with code written by other group members. It will also demonstrate your ability to work with other code repositories and using advanced functionality of the version control system.

Attachment:- Programming and Algorithms.rar

Reference no: EM133097627

Questions Cloud

Four most important financial metrics : Assume you are the office manager at a low-budget healthcare facility. You need to hire a new nurse. How will you compete with others in the market if you are u
Recent tragedies at apparel manufacturing facilities : With the recent tragedies at apparel manufacturing facilities overseas, do you think that these companies do enough to protect their workers?
Human resources recruitment and selection : Human Resources managers must keep informed of changing factors within and outside their organizations that could impact their effectiveness.
Explain the characteristic and job performance : Choose a specific job you are familiar with and choose one characteristic that you think is critical to successfully performing that job. If you were the HRM hi
Develop software based on a design : Use appropriate testing methodologies and tools and Develop software based on a design - create a GitHub private repository to store your source-code
Practice-based selection process : A medium-sized information technology company is having difficulties recruiting and retaining several of its administrative assistant positions.
What is the juxtaposition of evidence : In your words describe what is meant by evidence HRM, what is the juxtaposition of evidence-based HRM and HR capacity to be strategic?
Developing a working relationship : Staffing is a criticalorganizational function concerned with the continuous processof finding, selecting evaluating and developing a working relationship with c
Create large amounts of e-waste : Businesses can create large amounts of e-Waste. What should a business do, to reduce this e-waste, and green footprint? Use examples to develop your concepts or

Reviews

Write a Review

Other Subject Questions & Answers

  Cross-cultural opportunities and conflicts in canada

Short Paper on Cross-cultural Opportunities and Conflicts in Canada.

  Sociology theory questions

Sociology are very fundamental in nature. Role strain and role constraint speak about the duties and responsibilities of the roles of people in society or in a group. A short theory about Darwin and Moths is also answered.

  A book review on unfaithful angels

This review will help the reader understand the social work profession through different concepts giving the glimpse of why the social work profession might have drifted away from its original purpose of serving the poor.

  Disorder paper: schizophrenia

Schizophrenia does not really have just one single cause. It is a possibility that this disorder could be inherited but not all doctors are sure.

  Individual assignment: two models handout and rubric

Individual Assignment : Two Models Handout and Rubric,    This paper will allow you to understand and evaluate two vastly different organizational models and to effectively communicate their differences.

  Developing strategic intent for toyota

The following report includes the description about the organization, its strategies, industry analysis in which it operates and its position in the industry.

  Gasoline powered passenger vehicles

In this study, we examine how gasoline price volatility and income of the consumers impacts consumer's demand for gasoline.

  An aspect of poverty in canada

Economics thesis undergrad 4th year paper to write. it should be about 22 pages in length, literature review, economic analysis and then data or cost benefit analysis.

  Ngn customer satisfaction qos indicator for 3g services

The paper aims to highlight the global trends in countries and regions where 3G has already been introduced and propose an implementation plan to the telecom operators of developing countries.

  Prepare a power point presentation

Prepare the power point presentation for the case: Santa Fe Independent School District

  Information literacy is important in this environment

Information literacy is critically important in this contemporary environment

  Associative property of multiplication

Write a definition for associative property of multiplication.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd