Assessment Item 2 — Assignment 2
Due date: Friday, 5:00pm (AEST), Week 10 ASSESSMENT
Weighting: 25% 2
Length: N/A
Note: Your assignment must be in Microsoft Word format, and must be submitted electronically by the due date via the Moodle website
Question 1: Snort Rules (10 Marks)
This question presents a fictitious security vulnerability in a range of lasers printers. The question requires that you develop SNORT IDS rules to detect exploits of this fictitious vulnerability. All information regarding this vulnerability is fabricated to give the illusion of a real security threat. As a result, searches on the Internet will not yield any information regarding the signature of this vulnerability. All the information required to detect exploits for this vulnerability are presented in this question, except where noted otherwise.
You are a security specialist working for XYZ Incorporated. XYZ use SNORT as their NIDS which protects both their IP sub-networks being 192.168.1.0/24 and 192.168.2.0/24.
A security vulnerability has been detected in the Humphrey Pollard Laserprint 12050 printer model. This vulnerability is remotely exploitable and allows the execution of arbitrary code.
There is a bug in the way the printer processes the postscript spool management header. A sample of a spool header is given below:
%!PS-Adobe-3.0 %%Creator: texttops/CUPS v1.2.2%%CreationDate: Thu 21 Sep 2006 11:49:57 AM EST%%Title: TODO %%For: username %%DocumentNeededResources: font Courier-Bold …
The printer’s code which parses these headers only allows 8 bytes for the “%%For†field value buffer in memory. In the example above, the field value is “usernameâ€. It is possible to overflow the buffer by providing a value to the “%%For†field that is greater than 8 bytes. The “%%For†field can be found anywhere in the packet.
An exploit has been released in the form of a worm which when infecting the Laser printer’s memory, tricks the laser printer into emailing all documents received for printing to an email account in Russia. The worm propagates by scanning networks in proximity of its own for other vulnerable printers. On finding vulnerable machines, it copies itself to them and the cycle continues.
It also propagates via email as a PDF attachment. The malicious code is embedded in the PDF file. The email message suggests that the attached document contains a joke and requires printing to a laser printer to view. When the user prints the PDF, its payload is sent to the printer either directly, or via a printer spooling server. Effectively, this means the worm can attack printers from any host on the network.
If a printer is found to be compromised, power-cycling (turning off and then on) the printer will erase the worm from the printer’s volatile memory. However, this does not prevent the printer from being re-infected.
You are required to write 2 SNORT IDS rules labelled (ONE) and (TWO) to manage this vulnerability until patches are applied and printers reset.
Rule (ONE) must detect attempts to exploit this vulnerability on any printer in the company network. The rule should scan for attempts from any host on the network to any host on the network. It should also scan only for connections to the Jetdirect printing TCP/IP port number, used by this range of printers. You may need to research Jetdirect to identify which port number it uses for printing and what transport protocol. Google is a good place to start.
The signature of the exploit is given as follows:
%%For: username
The value “username†can be any sequence of characters, but must be exactly 8 characters long. For example, “username†could be “abcdefghâ€. Note also there is a space between the colon and “usernameâ€. Immediately following the 8 characters for the username is the payload of the exploit, which is given below as decimal byte values:
124 185 30 135 99 214 51 29
Your rule should match the entire sequence as described above starting from “%%For:†through to the last decimal byte of the exploit payload “29â€. On detecting packets, your rule should generate an alert with a message stating: “Attempt to exploit laser printer vulnerabilityâ€.
Rule (TWO) must detect attempts by the malicious payload running on any infected printers to email documents to the Internet.
You have 6 printers on your network that are vulnerable to this attack. Their IP addresses are:
192.168.1.45
192.168.1.40
192.168.2.15
192.168.2.30
192.168.2.31
192.168.2.40
Your email rule must apply only to the vulnerable printers on the network. In other words, your rule should detect attempts to email the hacker from only the above printers, and no other hosts.
This model of laser printer also provides scanning and faxing capabilities. When the scanning function is used, the unit will email the scanned document to an Internet email address given by the user when scanning. As a result, it is normal behaviour for these printers to send emails via SMTP. Therefore, it is necessary to check the recipient email address of the document. The rule should detect attempts to email users outside of the organisation, as no document should be emailed outside the company from a printer. The organisation’s domain name is: xyzcorp.com.au. So any emails sent to an address of form:
[email protected] should not be detected as these addresses are for company employees. Any other email addresses without the exact domain name above should be detected. Any mail server could be used to deliver the email. On detecting an email from one of these printers to an address outside the organisation, your rule should generate an alert with the message: “Compromised printer attempting to email document outside organisationâ€
For both rules, be sure to complete the following:
1. Allocate an appropriate SID value and a revision number
2. Designate an appropriate class type for this attack.
3. Annotate your rules with comments describing what each component of the rule does, so other security specialists in your team can see how your rules are written. Comments can be introduced to your rules file snort.conf by preceding each line with a hash character “#â€. Anything after the hash character to the end of the line will be treated as a comment by SNORT and ignored by the rule parsing code. This is how you should comment your rules.
An example of how to present your rules in your assignment document is shown below:
# Your explanation of the below in italics
var HOME_NET 138.77.23.0/16
var EXTERNAL_NET !138.77.23.0/16
# Your explanation of the below
drop udp $EXTERNAL_NET any -> $HOME_NET 993
#Your explanation of the below, and so on...
...
An example explanation for a SNORT rule option:
# The content of the packet must contain the string “USER root†to be matched.
# Furthermore, the offset option specifies that the string “USER root†should be
# matched exactly 10 bytes from the beginning of the packet. In other words, it will
# only match packets where 10 bytes from the start of the payload, the string
# “USER root†is specified.
content: “USER rootâ€; offset:10;
Tips:
• Search for the SMTP RFC document “RFC0821†via google. In particular, you will need to familiarise yourself with the “RCPT TO:†SMTP command. This is the format you need to check for to detect safe receiving email addresses.
• Certain characters are “special†in SNORT rules. These characters must be escaped to tell SNORT to treat them literally, rather than interpret their special meaning. To escape a special character, you simply precede it with a back-slash “â€. For example, if you wish to continue your rule on a new line in the configuration file, then you end the line with a Ҡcharacter to escape the special meaning of the ENTER character at the end of the line. SNORT treats the ENTER character as special. It means it is the end of the current rule. With a Ҡat the end of the line, it tells SNORT to treat it as a literal ENTER which will be interpreted as just spacing for your rule and allows it to continue on the next line. If you receive the following error when you attempt to run your rule through SNORT: “ParsePattern Got Null enclosed in quotation marks (")!â€, then you have a special character in your rule content that needs to be escaped. Refer to the SNORT documentation website for details on which characters have special meanings.
• Research how to express a group of unrelated individual IP addresses as a source or destination.
Make sure you include the classtype in your rule. Refer to the SNORT documentation to determine which classtype is appropriate for this exploit as described above. You will probably have to make use of the classification.config file (located in the Snortetc directory) – research how to make reference to this file from your rules file.
Failure to use the correct syntax in your rule will mean the rule is ineffective. This means you will lose marks on this question.
Refer to the Snort manual for assistance in writing the rules – a link to the manual is availed from the Software Resources section of the course web site.
Note: Duplicating the contents from the text, lecture slides, weekly notes or the Internet is not acceptable (even if it is referenced) and will not attract any marks. Your solutions must be written in your own words. If you cannot write your answer in your own words, then you have not yet mastered the topic and require further reading or advice from your tutor. Any information taken from an external source (either from the textbook or any other source) must be referenced appropriately. Failure to do so constitutes plagiarism.
Question 1 Marking Criteria
There is a total of 5 marks for each of the two rules. 2.5 marks for commenting, and 2.5 marks for rule correctness explained below.
Commenting criteria:
• 2.5 marks
A very good, in depth explanation of the SNORT Rule. Shows good understanding of the material
• 2 marks
Has a few misunderstandings or explanations
• 1 – 1.5 marks
Passable explanations, a few mistakes, some major and not very descriptive
• 0.5 marks
Major problems. Does not demonstrate a good understanding of the material or solution is very vague
• 0 marks
Essentially nothing correct or solutions have been copied verbatim from other sources
SNORT rule correctness criteria:
• 2.5 marks
A correct, concise SNORT rule that identifies malicious packets, without false positives or false negatives, and adheres to the assignment specification fully
• 1.5 – 2
marks A few mistakes, but still essentially correct and does not contain syntax errors
• 0 - 1 marks
Does not meet the specifications, has false positives/false negatives, or syntax errors
Question 2: Kerberos Authentication Protocol (5 Marks)
A. Give your general description of the Kerberos authentication protocol
B. Explain the term: Authenticator used in the Kerberos authentication protocol
C. In the Kerberos authentication protocol, there are 3 basic roles: client, server and Key Distribution Centre (KDC). Give your description of each of them.
D. By explaining the term: Session Ticket, describe how a session key is created by KDC, distributed to the client and the server
E. Describe the mutual authentication procedure between the client and the server after the client obtains the session ticket.
Question 2 Marking Criteria
There is a total of 5 marks available for this question. Each question (A – E) is worth 1 mark. A question that is addressed thoroughly will score 1 mark – a lesser mark should be awarded if material is missed or the answer is unclear. 0 Marks will be awarded if the answer is copied directly from sources (i.e. isn’t in your own words).
Question 3: Wireless Protocols (10 Marks)
A. Describe 802.1x authentication and the steps that when a wireless client connects to a network using RADIUS server for authentication.
B. Explain the PEAP protocol – how does it differ from EAP and what EAP deficiency does it address?
C. What makes a brute-force attack both particularly difficult and potentially easy on a wireless network using AES/CCMP encryption and 802.1x authentication? Hint: What do you need to know in order to attempt the attack?
D. Assume an office wireless network was only configured with AES/CCMP encryption (i.e. no additional authentication standards). What problems would this cause?
E. Assume an office wireless network was only configured with 802.1x authentication (i.e. no additional encryption). What problems would this cause?
Question 3 Marking Criteria
There is a total of 10 marks available for this question.
Question A – 3 Marks
Question B – 3 Marks
Question C – 2 Mark
Question D – 1 Mark
Question E – 1 Mark
A question that is addressed thoroughly will score full marks – a lesser mark will be awarded if material is missed or the answer is unclear. 0 Marks will be awarded if the answer is copied directly from sources