Reference no: EM132972470
Assessment Task 1: Knowledge Questions
Q1. Explain in at least one sentence the following components / technologies of web application and web server:
1. HTTP Server (for example Apache)
2. Database Server (for example MySql)
3. Backend (Server side) scripting (for example PHP)
4. Operating system (for example Windows, Linux)
5. DNS server
6. Web Firewall operations/configurations
• Block by default
• Allow specific traffic
• Specify source IP addresses
• Specify the destination IP address
• Specify the destination port
Q2. The following picture is an HTTP request from a client to a web server. Answer the following questions about the HTTP protocol
1. What is the web server domain name we are trying to connect to?
2. What is the web browser the user is using?
3. What is the specific web page the user is trying to open (full path + file name is required)?
4. What is the web protocol used? (including version of the protocol)
5. Identify the HTTP operation in this request.
Q3. What is the default port number for HTTP?
What is the default port number for HTTPS?
Q4. With you understanding of DNS server, explain in at least a paragraph how the web browser determines which IP address will resolve the domain name "google.com" when this is queried.
Q5. Explain in at least at least a paragraph the process of "TCP/IP Encapsulation and Decapsulation"
Q6. Explain OSI 7-layer model. List all 7 layers and explain in at least a paragraph of each of them.
Q7. Map the following internet protocols to the correct layer of the OSI 7-layer model
Q8. In IT terms, what is the primary function of a firewall? Describe three features and three operations?
Q9. You currently have a basic firewall that only understands IP addresses and port numbers but you need extra protection for your company web server (run over HTTP).
What is the OSI layer your firewall must operate at to understand HTTP traffic?
Q10. Use the OWASP framework to identify common software and web security vulnerabilities. Search for the "Top Ten Project" on the OWASP website and answer the following questions
1. Which is the latest version of "Top Ten". Identify the name?
2. What is the link to the latest "Top Ten" PDF document?
3. List the names of the ten risks below.
Q11. Briefly describe the following common Web application security risks and vulnerabilities based on the OWASP framework:
• A1:2017- Injection
• A2:2017-Broken Authentication
• A3:2017- Sensitive Data Exposure
• A4:2017-XML External Entities (XXE)
• A5:2017-Broken Access Control
Q12. What is the tool DIRB (Directory Buster) used for?
Q13. What is the tool Nikto used for?
Q14. What is the tool "nmap" used for?
Q15. What is the tool Burp Suite used for? Explain at least 3 tools embedded in Burp Suite.
Q16. About the term AAA, match the correct term with its description.
The process of granting or denying a user access to resources Authentication
Accounting
Authorisation
The process of keeping track of a user's activity while accessing the network resources Authentication
Accounting
Authorisation
The process of identifying an individual Authentication
Accounting
Authorisation
Q17. Explain in at least one sentence what web application server architecture is and list two web application components?
Assessment Task 2: Knowledge Workbook
Test concepts and procedures for cyber security
Question 1: Identify 2 current cyber threats, which can include trojan, virus or a worm, with a paragraph description of each.
Question 2: Describe the following types of attacks:
- Denial of Service
- Distributed Denial of Service
Your response must include legal implications and mitigation strategies for each attack.
Question 3: Identify 1 method of DNS attack & mitigation strategies used to defend against this type of attack.
Question 4: Describe what is meant by term, ‘Zero day' Vulnerability. Give one (1) example of a ‘Zero-day Exploit'.
Question 5: Define the term ‘CVE'. In your response, give 1 example of a CVE and include the URL from the source.
Question 6: Identify two (2) WLAN hardware vulnerabilities and give a brief description of each issue.
Question 7: Identify 2 WLAN software vulnerabilities and provide a brief description of each issue.
Question 8: Investigate the OWASP Top !0 Vulnerabilities. Choose 1 Vulnerability and discuss its features.
Question 9: Identify two (2) application layer security vulnerabilities and provide the basic characteristics of each security vulnerability.
Each vulnerability should be at least (1) paragraph.
Question 10: Referring to Question 9 security vulnerabilities, identify a policy or mitigation technique that is used to enhance the security of the application.
Question 11: Describe both DoS & DDoS Attack methodologies. Use a case example in your response.
Question 12: Describe the fundamental phases of the Penetration Testing Execution Standard.
Question 13: Explain any legal implications that may arise from exceeding the scope of an agreed penetration test.
Question 14: The following image is of a scan taken on a Windows 10 workstation. Identify the toolsets available from the image. You may use FortiClient to assist with your research.
Assessment Task 3: Project / Portfolio
Assessment Task comprises of TWO (2) Parts with several steps to each part. To be satisfactory you must complete both Part A and Part B. Screenshots of your work are required. Students will use the PRT SCRN function ONLY.
All the questions in this assessment should only be completed in order.
You are required prepare the virtual environment, create & install a Kali Linux and a Broken Virtual Machine, configure & test connectivity, complete maintenance tasks and troubleshoot.
Both your Virtual Machines should be on the HOST ONLY network adapter. The network adapter should be enabled with DHCP.
NB: - The IP addresses quoted in this lab may change for your own virtual environment.
Part A: Prepare the environment & Create the Virtual Machines
Step 1: Install Broken VM machine and Kali Linux. Provide screenshot of each machine.Step 2: Build a virtual VM network
2.1 Create a virtual network that is "host only" and with DHCP enabled. You can decide the network address by yourself. Provide a screenshot of the virtual network configuration.
2.2 Attach the Kali machine and Broken machine to the virtual network above.
Step 3: Use proper Linux command to verify Kali VM is correctly configured with an ipv4 address. Provide screenshot of the result.
Note: Because the login to the Broken machine is unknown yet. You are not required to login to the Broken machine to check its IP.
Step 4: Confirm the IP address of the target VM (Broken) by issuing the netdiscover or arp-scan commands. Provide a screenshot of your results.
Step 5: Now you are required to run a scan of the target IP address (discovered in Step 4).
5.1 Discover any running services and open ports. Issue the appropriate nmap commands and screenshot your results.
5.2 You are required to identify and explain the types of service of all discovered ports. An example has been given in the answer box.
Step 6: Enumeration - the process of discovering potential attack vectors in the target system.
In step 5, you have identified that http service is running on port 80. You are required to commence the enumeration process against the host machine by examine the website. You will see a list of files within the web browser. Use Firefox ESR or Iceweasel as a web browser. There should be six (6) files in total.
6.1 Screenshot each of the file and explain your findings. One of them has been done for you as an example.
6.2 Decode "README.md" file
The content of .html and .jpg files are straight forward, while the file "README.md" is mysterious. It is a plain text file contains many hex numbers. Here is a sample of the content and you are required to decode the data.
In order to decode the data, you need to build a theory and verify if it works. If not, build another theory and verify again. You are required to finish the following tasks.
Theory #1. These represent a serial of meaningful numbers. To verify this theory, you are required to
1. Convert the hex numbers to decimal format. You may use this online tool to perform the conversion. And Provide a screenshot of the result.
2. You are required to analyse these decimal data and explain your conclusion below
Theory #2. Each octet in this file represent a character in ascii table. To verify this theory, you are required to
What is Ascii table
1. Convert the hex numbers to ascii characters. You may use this online tool to perform the conversion. And Provide a screenshot of the result.
Theory #3. All the data in this file represent a binary file of a kind of format (ideally a video, a piece of audio or a picture). You required to
1. Convert all the hex numbers to a binary file. You may use this online tool to perform the conversion. And Provide a screenshot of the binary file in file system
2. You are required to run Linux "file" command against the binary file and provide a screenshot of the result
3. What is the file format of the binary file?
4. Once the format of the file is determined, open this file with proper software (e.g. image viewer for image file) and provide a screenshot of the result.
5. You are required to analysis the content of this binary file. Explain your finding below?
Step 7: You have identified some key words in the previous steps (file name of the pictures, special word in the README.md picture etc..). You will now prepare a wordlists that will be used in a brute force password attack against the Broken machine. To begin, create two (2) lists of words as you see below which will act as your username and password lists.
• 5terre
• forrest
• lights
• mountains
• broken
• gallery
Files will be named "user" & "pass".
Step 8: Exploitation
You are now tasked with launching your brute-force password attack against Broken. The tool of choice is ‘Hydra'. You will attack on port 22 for SSH login credentials. Remember to be persistent with Hydra.
What is significant about the output showing after Hydra has completed?
Part B: Team Configuring & Troubleshooting Processes
NB: For Part B of the assessment task, you must now add another Network Adapter to your Kali VM Machine.
Step 1 - Add another network adapter card and issue the command on CLI that will confirm the installation of the second network adapter. Screenshot your result. (The new adapter should be on Host Only also).
Step 2: Connectivity testing.
Turn on Wireshark within Kali Linux and select the eth0 interface. Ensure Kali can still connect to Broken VM. Screenshot your results here that verify connectivity. Do not stop the ping from Kali to Broken.
Step 3: Open a new terminal in Kali and then issue the following script commands:
sudo ifconfig eth0 down
sudo ifconfig eth1 192.168.231.129 netmask 255.255.255.0
sudo route add default gw 192.168.231.253 eth1
If you have stopped the ping in Step 2, re - issue the ping command from Kali to Broken Machine. Remember Kali has a continuous ping.
Can you still ping Broken VM? Screenshot your results.
Step 4: Troubleshoot the connection issues. Document your troubleshooting methods below and issue a short report to your TSD team leader. Your report should document the steps taken before and after diagnosis. (Answer in one short paragraph or two.)
Part C: Python scripting
Now you have finished all the testing procedures manually in Part A and Part B. In this part, you are required to automate at least one of the testing steps above using Python language. Below is a list of recommended testing procedures for you to select. If you would like to automate anything outside this list, you must discuss with your assessor about the idea and obtain approval from your assessor.
1. Program your own version of network scan tool.
Implement a similar function as the tool used in Part A Step 4 for scanning active computer terminal in for a given network.
Input requirement: A subnet, i.e. 192.168.1.0/24
Output requirement: A list of IP addresses for all active computer terminal
Verification requirement: Use the result in Part A Step 4 to verify the result
2. Program a webpage crawler
Implement a webpage crawler to automatically detect and download all files attached on the target webpage hosted to local Kali storage for Part A Step 6.1
Input requirement: A webpage URL
Output requirement: All files attached on the webpage of the given URL
Verification requirement: Use the result in Part A Step 6.1 to verify the result
1. Programmingly decode the content of README.md
Implement the testing procedure applied in Part 1 Step 6.2 Theory 3, in which the text content of README.md file is converted to a binary file and the type of file are examined with Linux "file" command.
Input requirement: file README.md
Output requirement: A converted binary file, and the type of file.
Verification requirement: Use the result in Part 1 Step 6.2 Theory 3 to verify the result
4. Programmingly generate username and password file for hydra tool
When generating the username and password files in step 7 using the key words collected, we had an assumption that the username and password are the same word, which is not a good enough coverage in terms of the key words combination. You are required to generate a more sophisticated username and password combination for testing, in which all possible combinations are covered. Here is input & output requirement
Step 1: Clearly describe the testing procedure that you are going to automate with Python language.
Step 2: Clearly explain the core function of your program and screenshot the Python code for this part. You may insert flow chart, or pseudo code for the explanation part.
Note: "Core function" means the part of code that handles the most important job in the program, it is usually the core algorithm in the program. For example, for network scan program, the "core function" means the code that iterate the IP range, and scan each of the target IP. How to present the output is not considered as "core function"
Step 3: Identify the Python programming environment on the Kali machine. The following information to be included.
Step 4: Explain the logic of the program in detail. You may insert flow chart, or pseudo code for the explanation.
Step 5: Submit all your codes for review. You may provide a screenshot of all the codes or attach all your codes in the submission.
Step 6: Verify the program and the result must be correct.
Attachment:- Cyber security.rar