Exploring domain name services and its security

Assignment Help Computer Engineering
Reference no: EM134013358

IT Infrastructure and Security

Overview

The objective of Assignment 2 is to evaluate your knowledge on the topics covered by Lecture 1-11. You are required to prepare the solutions (recording if required, and reports with screenshots + explanations). Then upload them as a single ZIP to CANVAS.

Learning outcome 1: Describe all of the IT Infrastructure Architecture components and the issues relating to each of them.

Learning outcome 2: Demonstrate knowledge of higher level aspects of data communication and networking appropriate for the development of software applications in a networked environment and design simple computer scripts that are aware of basic aspects of networking.

Learning outcome 3: Analyse and determine an appropriate enterprise networking systems and secure web server configuration based on stated user needs.

Learning outcome 4: Describe and review emerging networking and security technologies within the broader field of information technology and system environments.

Section 1: Exploring Domain Name Services (DNS) and its Security

DNS (Domain Name System) is the Internet's phone book; it translates hostnames to IP addresses (and vice versa). This translation is through DNS resolution, which happens behind the scene. DNS attacks manipulate this resolution process in various ways, with an intent to misdirect users to alternative destinations, which are often malicious. Suppose Figure1 depicts the environment of your company's network, which comprises four separate machines: one for the victim, one for the local DNS server, and two for the attacker.

Assume you are configuring your company network's DNS services. Please implement the following DNS service testing cases in the following sub-questions to test your company network's DNS services' functionality and security. Use the Lab 7's Labsetup files to construct the network.

Write a report for the following sub-questions with screenshots and explanations, as well as a video recording to demonstrate.

Tips-1: Use the command $ docker system prune -a -f when encountering the error "Cannot create the container for service attacker: Conflict. ... container name .. is already in use".

Tips-2: IP_1 is defined by the last four digits of your student No. Suppose your student No. is ‘s3123456', then the IP_1 is ‘3.4.5.6' Demonstrate your protection succeeds and briefly describe your protection.

Tips-3: You may consider the demonstration in Week 6's Lecture and Week7's Tutorial as an example.

Q1.1 Write Linux commands to find out the IP address of www.example.com. Please walkthrough the entire DNS lookup in a recursive way. Please use the IP address of root name server "a.root-servers.net" to perform the first layer DNS lookup.

Q1.2 Based on your screenshots of DNS lookup in Q1.1, please explain the DNS response packets.

Q1.4 When a user types the name of a web site (a host name, such as www.example.com) in a web browser, the user's computer will send a DNS request to the local DNS server to resolve the IP address of the host name. Attackers can sniff the DNS request message, they can then immediately create a fake DNS response, and send back to the user machine.

Please write a program to launch such an attack. A code skeleton is provided in the following dns-spoof-1.py. The fake IP address should be IP_1. Demonstrate your attack has been successfully launched.

Q1.5 When a local DNS server receives a query, it first looks for the answer from its own cache; if the answer is there, the DNS server will simply reply with the information from its cache. If the answer is not in the cache, the DNS server will try to get the answer from other DNS servers. When it gets the answer, it will store the answer in the cache, so next time, there is no need to ask other DNS servers.

Please modify the program dns-spoof-1.py used in the previous task Q1.4 for this DNS cache poisoning attack. Attackers will spoof the response (fake IP_1 for www.example.com) from other DNS servers, the local DNS server will keep the spoofed response in its cache for certain period of time. Next time, when a user's machine wants to resolve the same host name, it will get the spoofed response from the cache. Demonstrate your attack has been successfully launched. Before attacking, make sure that the DNS Server's cache is empty using Linux command $ rndc flush.

Section 2: Web Client and Security

The client side of web infrastructure interacts with users directly. It is vulnerable to various types of attacks, such as phishing attacks and cross-site scripting attacks. This section involves a victim user, a trusted site (www.seed-server.com), and a malicious site. Students will be attacking a social networking web application using the CSRF attack. The website's Docker is based on Lab 8's Labsetup. In order to perform this attack, students first need to create a phishing website using the provided RMIT.zip.

Understanding secure web applications often requires knowledge of database management DBMS concepts and client-server interactions.

Figure Elgg Website
We have created several user accounts on the Elgg server; the user name and passwords are given in the following.

UserName

Password

admin

seedelgg

alice

seedalice

boby

seedboby

charlie

seedcharlie

samy

seedsamy

Write a report for the following sub-questions with screenshots and explanations, as well as a video recording to demonstrate.

Tips-1: Use the command $ docker system prune -a -f when encountering the error "?Cannot create the container for service attacker: Conflict. ... container name .. is already in use".

Q2.1 Create a phishing website "?https://www.attacker32.com/" using iFrame that emulates RMIT's homepage, but contains an invisible malicious button on top of "Courses" link, as shown in the following Figure 3. Once the victim user clicks the "Malicious button", the webpage is redirected to "?https://www.attacker32.com/addfriend.html" page. The "Malicious button" should be displayed with your student number as "Malicious button s31234567".
Tips-1: Students can put the unzipped RMIT.zip website into "attacker" folder in Labsetup.
Tips-2: Students can modify the "attacker/index.html" to make it as a phishing website.
Tips-3: Students can use $ sudo chmod -R 4777 .. command to grant full access to RMIT website if you encounter 403 forbidden error.

Q2.2 Modify the phishing website in Q2.1 to make the "Malicious button" and iFrame invisible. Students can modify the CSS style of HTML button tag and iframe tag.

Q2.3 Now we need two people in the Elgg social network: Boby and Samy. Samy wants to become a friend to Boby, but Boby refuses to add him to her Elgg friend list. Samy decides to use the CSRF attack to achieve his goal. He sends Boby an URL (via an email or a posting in Elgg); Boby, curious about it, clicks on the URL, which leads her to Samy's web site: www.attacker32.com.

Pretend that you are Samy, demonstrate how you can construct the content of the web page, so as soon as Boby visits the web page, Samy is added to the friend list of Boby (assuming Boby has an active session with Elgg).

Section 3: Web Server and Security

SQL injection is a code injection technique that exploits the vulnerabilities in the interface between web applications and database servers. In this section, we have created a web application given in the Lab 9's Labsetup Docker, which is vulnerable to the SQL injection attack.

Assume you are an attacker who attempts to exploit the web application without knowing any user's password. Please conduct the following SQL injection attacks in the following sub-questions.

Write a report for the following sub-questions with screenshots and explanations, as well as a video recording to demonstrate.

Q3.1 In the above SQL statement, the variable $input_uname holds the string typed in the Username textbox, and $hashed_pwd holds the string typed in the Password textbox. User's inputs in these two textboxes are placed directly in the SQL query string. There is a SQL-injection vulnerability in the above SELECT query. Exploit the vulnerability and log into Ted's account without knowing the correct password. Demonstrate that your attack succeeds and explain your attack based on your exploited SQL.

You also need to make an unauthorised modification to the database. Your goal is to modify another user's profile using SQL injections. In this web application, if users want to update their profiles, they can click the Edit Profile link on the navigation bar, and then fill out a form to update the profile information.

Q3.2 In above sub-question Q3.1, you have exploited the web application and logged in as Ted. Exploiting the vulnerability in this UPDATE SQL statement by using Ted's account to modify Boby's nickname to your student name, email to your RMIT student email, and address to "RMIT", without knowing Ted's password and Boby's password. Demonstrate that your attack succeeds and explain your attack based on your exploited SQL.

Q3.3 In above sub-question Q3.1, you have exploited the web application and logged in as Ted. Exploiting the vulnerability in this UPDATE SQL statement by using Ted's account to modify Boby's password to PWD_1 without knowing Ted's password and Boby's password. Note that the password is protected using SHA1 in this application. You can use the online tool to compute hash. Demonstrate that your attack succeeds and explain your attack based on your exploited SQL.

Reference no: EM134013358

Questions Cloud

Initiating conversations about advanced directives : Providing Nurses with Evidence-Based Guidelines for Initiating Conversations about Advanced Directives - Ensuring Patients' Rights and Preferences are Respected
Influence the attribution of external and internal causes : As we know, Schermerhorn identifies the three factors that influence the attribution of external and internal causes: peculiarity, consensus and consistency.
What is the role of climate in human adaptation : What is the role of climate in human adaptation? Give three examples and explain how each example works as an adaptation.
Health assessment on newborn infant : You are the registered nurse performing a health assessment on a newborn infant. From the functional health pattern portion of the assessment
Exploring domain name services and its security : COSC2737 IT Infrastructure and Security, RMIT University - Exploring Domain Name Services (DNS) and its Security and Web Server and Security
What does the make it bun dem video mean : Make It Bun Dem is a song by Skrillex and Damian Jr. Gong Marley. Based on what you have learned so far in this course what does the Make It Bun Dem video mean?
How does total reward improve employees performance : How does total reward improve employees' performance? How does total compensation connect to performance management?
Describe formal and informal characteristics of the training : Explain how this training fulfilled a broader organizational goal(s). Describe the formal and/or informal characteristics of the training.
About cannabis use and schizophrenia : What psychoeducation would you provide the patient about cannabis use and schizophrenia?

Reviews

Write a Review

Computer Engineering Questions & Answers

  Mathematics in computing

Binary search tree, and postorder and preorder traversal Determine the shortest path in Graph

  Ict governance

ICT is defined as the term of Information and communication technologies, it is diverse set of technical tools and resources used by the government agencies to communicate and produce, circulate, store, and manage all information.

  Implementation of memory management

Assignment covers the following eight topics and explore the implementation of memory management, processes and threads.

  Realize business and organizational data storage

Realize business and organizational data storage and fast access times are much more important than they have ever been. Compare and contrast magnetic tapes, magnetic disks, optical discs

  What is the protocol overhead

What are the advantages of using a compiled language over an interpreted one? Under what circumstances would you select to use an interpreted language?

  Implementation of memory management

Paper describes about memory management. How memory is used in executing programs and its critical support for applications.

  Define open and closed loop control systems

Define open and closed loop cotrol systems.Explain difference between time varying and time invariant control system wth suitable example.

  Prepare a proposal to deploy windows server

Prepare a proposal to deploy Windows Server onto an existing network based on the provided scenario.

  Security policy document project

Analyze security requirements and develop a security policy

  Write a procedure that produces independent stack objects

Write a procedure (make-stack) that produces independent stack objects, using a message-passing style, e.g.

  Define a suitable functional unit

Define a suitable functional unit for a comparative study between two different types of paint.

  Calculate yield to maturity and bond prices

Calculate yield to maturity (YTM) and bond prices

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