Timeline2GUI - A Log2Timeline CSV Parser and Training Scenarios
Timeline2GUI - A Log2Timeline CSV Parser and Training Scenarios
Timeline2GUI - A Log2Timeline CSV Parser and Training Scenarios
Electrical & Computer Engineering and Electrical & Computer Engineering and
Computer Science Faculty Publications Computer Science
3-2019
Parvathy Mohan
University of New Haven
Frank Breitinger
University of New Haven, [email protected]
Part of the Computer Engineering Commons, Computer Sciences Commons, and the Electrical and
Computer Engineering Commons
Publisher Citation
Debinski, Mark, Frank Breitinger, and Parvathy Mohan. "Timeline2GUI: A Log2Timeline CSV parser and
training scenarios." Digital Investigation (2018). Volume 28, March 2019, Pages 34-43.
Comments
This is the authors' accepted version of the article published in Digital Investigation. The version of record can be
found at http://dx.doi.org/10.1016/j.diin.2018.12.004
Timeline2GUI: A Log2Timeline CSV Parser and Training Scenarios
Abstract
Crimes involving digital evidence are getting more complex due to the increasing storage capacities and utilization of
devices. Event reconstruction (i.e., understanding the timeline) is an essential step for investigators to understand a case
where a prominent tool is Log2Timeline (a tool that creates super timelines which is a combination of several log files
and events throughout a system). While these timelines provide great evidence and help to understand a case, they are
complex and require tools as well as training scenarios. In this paper we present Timeline2GUI an easy-to-use python
implementation to analyze CSV log files create by Log2Timeline. Additionally, we present three training scenarios –
beginner, intermediate and advanced – to practice timeline analysis skills as well as familiarity with visualization tools.
Lastly, we provide a comprehensive overview of tools.
Keywords: Log2Timeline, timeline, timestamps, parser, Timeline2GUI, training cases.
2
• The Coroner’s Toolkit (grave-robber, mactime)
Table 1: Fields in the CSV file created by psort.py.
Field Explanation • NFILabs Aftertime
date date of when the event occurred
• SIMILE Timeplot
time time of when the even occurred
timezone timezone that was used to call the tool with While we will not discuss these tools in detail, Carbone
MACB Modification, Access, Creation, and Birth & Bean (2011) “provided a short timeline capability for
source source short name such as registry entries are each tool listed [...to] better comprehend their timeline
REG generation capabilities.” Some more information about
sourcetype description of the source
timeline creation and analysis for different tools is also
provided by Chapin (2013).
type timestamp type such as last accessed or last
However, according to Eichelberger (2014), “each of
written
these tools has the capability to generate a timeline based
user what user name is associated with event if
on the information collected from a system. From the
any
above list, Log2Timeline provides the most diverse assort-
host what hostname is associated with entry is ment of artifact information collection currently available
there is one
using an automated straightforward implementation.”
short this contains a short description field where
text is stored 2.4. Visualization of timelines
desc this is where majority of the information that Timelines, especially super timelines, have a large num-
is parsed is stored
ber of events (hundreds of thousands or even millions)
version gives the version number of the timestamp which makes them “difficult to analyse and extremely
inode gives the inode number of the file being problematic to visualise in a manner that is useful” (Har-
parsed greaves & Patterson, 2012).
notes additional storage location for information The most native approaches to analyze the super time-
for some input modules line are commandline tools such as mactime from the
format input module which was used to parse Sleuthkit6 or grep. While these tools are powerful, they
extra parsed information that is joined together are not user friendly and require proficiency. Similarly,
and stored here. All these pieces of examiners may use common text processing tools such
information make up the super timeline that as Excel, Apples Numbers, Wordpad or any other editor
Log2Timeline creates. which may work for small timelines but is cumbersome
for complex ones. Note, a common procedure to ana-
lyze Log2Timeline CSV files is a modified Excel template
2.3. Timeline Creation and Analysis Tools sheet7 that highlights certain events (Weber, 2017).
Besides Log2Timeline, there are other tools available for Coming to general visual tools, one possibility is SIM-
timeline analysis (free and commercial). Carbone & Bean ILE Widgets Timeline8 which creates a horizontal timeline
(2011) “have compiled a representative list of digital foren- that displays logs based on the time they have occurred.
sic software tools and frameworks offering timeline gener- “While this seems like an ideal way to view Log2Timeline’s
ation capabilities in use today by forensic investigators” output, there were many cautions against using this tool
which include when there are more than 200 items as the SIMILE wid-
get loads and operates very slowly”9 (Esposito & Peterson,
• EnCase, FTK 2013). A similar tool, and thus also not favorable for large
timelines, is BeeDocs (Gudjonsson, 2010a) (which is only
• Log2Timeline available for Mac OS).
This last category are specialized tools; particularly
• The Sleuth Kit (ils, fls, mactime), PTK, Autopsy, Fi-
made for forensic timeline analysis, log file analysis or
walk
specifically for Log2Timeine. The most well-known ap-
• Ex-Tip proach might be the ELK stack (Elasticsearch, Logstash
3
& Kibana). While Log2Timeline supports exporting it to To summarize: there are several tools for timeline anal-
an Elasticsearch database and there are several tutorials ysis however several are outdated / not maintained any-
online, we could only find a few usability reports. Walter more. The two most promising approaches are Timesketch
(2016) mentions that he has “been pleasantly surprised at and ELK Stack which come with a lot of functionality but
how easy it is to access timeline data, as well as perform also require configuration; they are not as straightforward
searches using these tools.” However, he misses “about to use as Timeline2GUI.
the Excel process is the highlighting that visually called
attention to items of interest.” Furthermore, it also re- 2.5. Challenges of Timeline analysis
quired some time to set up the complete system as well There are several challenges of timeline analysis mainly
as needed some practice. The second tool is CyberForen- discussed by Hargreaves & Patterson (2012) and Chabot
sics TimeLab (CFTL10 ) by Olsson & Boldt (2009) which et al. (2015). Both articles stress that it is difficult to
shows a promising GUI however it does not seem to be analyze the large number of events (e.g., can be several
maintained anymore - the last Github upload was over 6 million ‘low-level’ events) and problematic / important to
years ago. On the other hand, it requires an XML file visualize the information.
which is not supported by Log2Timeline anymore. To support investigators, Hargreaves & Patterson (2012)
Timesketch is the third visualization possibility for “propose a technique that can automatically reconstruct
Log2Timeline which is “an open source tool [... that was] high-level events (e.g. connection of a USB stick) from
designed to make collaboration, sharing and search easy as this set of low-level events.” While their evaluation shows
well as quickly correlate disparate events” and is mainly promising results and reduces the complexity / informa-
developed by Berggren et al. (2018) (most Github contri- tion overload of super timelines, the Python Digital Foren-
butions). sic Timeline (PyDFT) utilizes its own parser framework
Given that there is only limited information about the to extract events which replicates much of Log2Timeline.
tool, the following assessment is based on our experiences Thus, it is irrelevant for individuals using Log2Timeline.
using it. According to Timesketch’s Github page, it of- Chabot et al. (2015) identified three major problems
fers three different types of installation: Install Times- (volume, heterogeneity, and legal requirements) with event
ketch manually, using docker or using Vagrant. The first reconstruction and present seven necessary criteria (ad-
attempt to use Timesketch on Windows 10 was trouble- dressing the problems) that an efficient reconstruction tool
some as there are only instructions for Linux. The next must meet. With respect to volume, the authors argue
option was to use Vagrant where we identified some com- that “many tools do not offer an intuitive interface but
plications when being used on Windows. The last option only a query tool that appears to be a powerful but com-
did not work as well since Docker only works on Windows plex and tedious way to access the information. This is
10 Pro Operating Systems. After switching to Mac OS, the case of approaches using databases and providing a
the Vagrant installation method worked smoothly. The SQL query interface which is efficient but not intuitive for
installation process was simple as instructions were pro- an untrained user.” In detail, they propose the following
vided but it was time consuming. three requirements:
Once installed, Timesketch has various features such as
1. Automation to reconstruct and analyze timelines and
filters (e.g., set any time range they want to view) or charts
certain tasks that become too complex to be carried
(e.g., user has a option to see a heatmap or a histogram).
manually.
Both options allow the user to see the timeline from differ-
2. Visualization tools that highlight relevant informa-
ent angels. In addition, Timesketch allows users to ‘star’
tion; guide investigators to interpret, analyze and
(similar to a e-mail flag) any logs which indicates a higher
draw conclusions.
importance. Logs in Timesketch are also similarly high-
3. Efficient browsing of the data in a clear and intuitive
lighted like those in Timeline2GUI. While using TimeS-
way.
ketch, it was noticed that loading large CSV files took a
long time for the program to process. With respect to heterogeneity, the authors stress that
To sum it up: while the GUI is very similar to Time- information is spread throughout systems and it is impor-
line2GUI, Timesketch has more functionality but the in- tant to consider a broad variety of different sources. For
stallation is more complex and performance seems slower legal requirements, “the challenge is to ensure that the re-
for large timelines. sults are admissible in a court of law.” Note, given that
Lastly, there is Evidence Fetcher (efetch) a web-based Timeline2GUI is only a visual frontend, the requirements
file explorer, viewer, and analyzer for timelines created by proposed for heterogeneity and legal requirements are less
Maurer (2016). Similar to CFTL, it looks like a promising relevant.
environment but seems not maintained as there was only Based on their identified criteria, they present a three-
few commits since October 2016. layered ontology, called ORD2I including several scripts
to support investigators. However, their implementations
10 https://github.com/jensolsson/CFTL (last accessed 2018-12- suffer performance issues: it takes about 3h to process
05). 20,000 entries (which is a very small timeline).
4
3. Timeline2GUI Tool Grey highlights indicate logs like for example firewall
logs.
Timeline2GUI is a graphical frontend that can read
CSV files generated by Log2Timeline and supports their Note, color settings are stored in a configuration file and
analysis. The goal was to make the parsing (reading) of can be changed (details are in the next section). After the
the log files straightforward for the end user. The GUI desired results are found, our tool can store the filtered
is kept simple and is based on the Excel sheet which logs into a new CSV file.
is widely used11 . A screenshot can be found in Fig-
ure 1. Timeline2GUI can be download from Github: 3.2. Implementation
https://github.com/parvathycec/Timeline2GUI.
Timeline2GUI is written in Python 3.6 and utilizes 3
With respect to the previously mentioned requirements,
major libraries: (1) Tkinter, (2) Pandas, and (3) Pan-
Timeline2GUI highlights relevant information which can
dastable (developer version12 ). The data from the CSV file
also be easily changed by a user (details see Sec. 3.1). For
is imported to a Pandas DataFrame. Pandas DataFrame
efficient browsing, we implemented two views (see Fig. 1) .
is an efficient data structure to store data from a spread-
Reduced view is a summary of major events, i.e., it shows
sheet and provides powerful data operations like filtering
all highlighted events; detailed view shows the full time-
or searching. The pandastable library provides a table
line. To switch from reduced to detailed view, one can
widget for Tkinter with plotting and data manipulation
use the index column. Our tool currently does not have
functionality. It uses pandas’ DataFrame class to store ta-
any automation to keep it simple but more importantly
ble data. Hence, we have used this combination of libraries
performant.
to display and manipulate data from CSV files. The oper-
ations performed by the tool are as follows:
3.1. Functionality
Timeline2GUI Version 1.0 allows loading a CSV file 1. Filter the data based on column values: If a query is
by clicking the ‘Select CSV File’ button. Next, the ap- given in the filter value text field, only the rows of the
plications allows the user to filter the logs before actu- CSV file which satisfies the query will be displayed.
ally loading them where filtering requires a date range The DataFrame.query(query) function is used to filter
(in the format YYYY-MM-DD HH:MM:SS), e.g., date the data. Query supports operators like >, <, == etc.
> ‘2017-03-16’ and date < ‘2017-03-17’. Option- 2. Sort column values: This feature allows the user to
ally, one can add a time to make it even more pre- double click on the column header to sort the column
cise, e.g., date > ‘2017-03-16 12:34:56’ and date < values in ascending/descending. This feature was in-
‘2017-03-17 10:10:10’. Once loaded, Timeline2GUI tegrated with pandastable table widget.
has an easy-to-use search functionality to look for a spe- 3. Free text search: This feature allows a user to search
cific keywords which can be accessed by clicking the search for a string anywhere in the CSV data. Pandas
button. Filtering or searching will only change the view DataFrame provides a ‘contains’ function to check if
but not delete / modify the loaded CSV file. Thus, a user the given string is in any of the column / row.
can always revert to the complete timeline by pressing the 4. Highlight rows in the table widget: The user can
load data button. configure automatic highlighting in highlights.txt
To support investigations, Timeline2GUI highlights log which helps finding certain events faster. The file ac-
entries which could be relevant and thus makes skimming cepts one setting / entry per line, e.g.,
the timeline easier. Specifically the following highlighting
is done where the logic is copied from the Excel template: *=CONTAINS=USB=#1E00FF
short=ENDS=.lnk=#92D051
Green indicates that a file may have been opened or cre-
ated. where each entry consists of four parts separated by
the equal sign (=). The first part is the column name
Yellow shows that the event is related to web activity. which can be one particular column (e.g., short) or *
which indicates any column. The second parameter
Blue indicates that an external device (e.g., USB stick) is the comparison operator which can be STARTS,
has been mounted / interacted with the system. ENDS, EQUALS or CONTAINS (indicating how the
Red means some sort of execution was done on the system string will be searched). Third is the keyword we are
like a application was started. looking for which can contain spaces or other spe-
cial characters except the equal sign. The last option
Magenta highlighting indicates files that have been is the color code. Consequently, the two lines above
deleted. mean:
5
Figure 1: Screenshot of our Timeline2GUI application with a CSV loaded. The image in the background shows the reduced view and the
image in the foreground shows the detailed view. The index column in the reduced view and be used to find the corresponding section in the
detailed view.
• Highlight any row in blue (hex code #1E00FF) timelines in CSV format can be downloaded from
that contains the string ‘USB’. https://www.fbreitinger.de/wp-content/uploads
• Highlight any row in green (hex code #92D051) /2018/08/Timeline2GUI_training_cases.zip.
where the string in the short-column ends with For each scenario, we have brief background stories
‘.lnk’. which describe the scenario and can be passed to a user
Note, keywords are case insensitive. To highlight / student / practitioner; these will set the expectations
multiple keywords with the same color, one may / baseline. Next, we describe the setup, i.e., some more
add another entry with the same color code, e.g., technical details on how the scenario was created. Lastly,
*=CONTAINS=SanDisk=#1E00FF. we present the solution for each case using Timeline2GUI
5. Save the displayed data to a CSV file: Pandas (detailed view). Before presenting the details about the
DataFrame contains a method to csv(filename, index, training cases, we summarize our overall apparatus.
encoding) to save the current displayed information to Note, the CSV timelines are independent from Time-
a CSV file. line2GUI and can be used with any other tool capable of
parsing Log2Timeline CSV files.
self.current_data.to_csv(filename,
index=False, encoding=‘utf-8’);
4.1. Training cases setup
29 21:00:00’ and date < ‘2018-03-29 21:15:00’) was ate prefetch files when applications are executed on the system.
14 http://www.processlibrary.com/en/directory/files/wudfho
entered to reduce the timeline to the relevant time st/78364/ (last accessed 2018-12-05).
frame. We used a longer time frame (15 min) in case 15 http://www.processlibrary.com/en/directory/files/explor
the device time was not synchronized. er/24746/ (last accessed 2018-12-05).
7
be found only on the USB device), someone clearly ac- prior to downloading ‘EvidenceTopSecret.png’ (com-
cessed the device while she was on the phone. Thus, mak- pare item 2). The yellow line 3053 at 22:18:35 then
ing the assumption that the folder / file was stolen is com- revealed that Bob had visited a website that gives the
pelling. user a beginners tutorial on how to use VeraCrypt.
This coincides with the investigator’s assumption that
4.3. Case II - Intermediate VeraCrypt may have been used.
The intermediate scenario is a case where illegal files 6. Next, we set (date > ‘2018-04-06 22:18:36’ and date
have been downloaded. < ‘2018-04-06 23:59:59’) to focus on the time after
the VeraCrypt tutorial was searched. The red line
4.3.1. Case description 1075 shows that VERACRYPT FORMAT.EXE was
executed.
Bob is a suspect to police for downloading illegal files
7. Going down a bit further to line 1161 shows that a se-
from ‘DropBox’. Police apprehended a warrant and ex-
cret files was created (note the log entry can be both
ecuted it on 2018/04/06 to seize any electronic devices
file or folder creation). Explanation: The ‘short’ col-
in his house. Authorities collected multiple devices that
umn of the log states USB REASON FILE CREATE
belonged to Bob to find evidence that was downloaded.
which means that a file or directory was created for
Investigators examined all the devices collected and nar-
the first time16 .
rowed it down to a computer and a USB drive. The com-
8. About 200 entries later, line 1361 indicates
puter did not contain any downloaded files; the USB drive
that secret files has been overwritten and the
has a file named secrets file which cannot be accessed /
file’s basic information was changed. According
opened. Investigators believe that it is encrypted because
to Microsoft16 , USN REASON DATA OVERWRITE
VeraCrypt was found on the device. Note: Police records
means that data has been changed in the file / di-
indicate that the files were downloaded on 2018/04/05.
rectory and USN REASON BASIC INFO CHANGE
means that a user may have changed the file / direc-
4.3.2. Setup
tory attributes or timestamps.
The scenario was created within a 2 day span on the
9. Subsequently, logs 1372 to 1380 show that
virtual machine. We accessed the DropBox website and
the downloaded files TopSecret.rtf, Classi-
downloaded content using direct links. Additionally, we in-
fied.rtf, and EvidenceTopSecret.png had secu-
stalled VeraCrypt on the system and created an encrypted
rity changes. Explanation: The logs showed
container which contains the downloaded files. A USB
USN REASON SECURITY CHANGE which means
drive was utilized to store the encrypted container (moved
that access permissions have been changed to the file
from the PC to the USB device).
or directory16 .
10. Logs 1383, 1385, and 1386 which occur at
4.3.3. Solution
23:20:51 on 2018-04-06 show that the three
The information used to solve this case was from the files were deleted from the system (logs show
police reported which provides details on what to analyze USN REASON FILE DELETE16 ).
(e.g., the existence of the secret files).
Summarizing all the logs / events, one may assume that
1. Given the information from the case description, we the suspect created a container using VeraCrypt named
used the following filter (date > ‘2018-04-05 00:00:00’ secret files and copied the files into it. Afterwards, the
and date < ‘2018-04-06 23:59:59’) to narrow down re- suspect deleted the files off the device.
sults. Subsequently, we searched for ‘dropbox’.
11. The blue log 1430 (22:36:09 on 2018-04-06) shows
2. The refreshed logs reveal ‘Classified.rtf’, ‘TopSe-
the first indication that a USB Drive was plugged in
cret.rtf’, and ‘EvidenceTopSecret.png’ in lines 232,
the computer followed by some WinPrefetch activity
240, 260, respectively, which were downloaded be-
in log 1448 at 22:36:25 (red) which shows that EX-
tween 23:04:28 and 23:07:04 on 2018-04-05. The logs
PLORER.EXE was executed (e.g, to allow Bob to ac-
are highlighted in yellow (webhist) which was how we
cess the files on the USB device). Next, log 1455 shows
identified them.
another WinPrefetch log loading WUDFHOST.exe
3. Knowing the time range and file names, we re- (recall: this is the process to load drivers and com-
moved the ‘dropbox’ filter (which brings us back to municate with hardware devices).
(date > ‘2018-04-05 00:00:00’ and date < ‘2018-04-06 12. Continuing searching for evidence, we can see the red
23:59:59’)) and then searched for ‘download’. log 1531 which states that VeraCrypt was executed
4. Lines 147 to 154 (yellow) show that VeraCrypt was again on the system at 22:37:14.
downloaded at 14:18:48 on 2018-04-05.
5. In a next step we narrowed down the time range to 16 https://docs.microsoft.com/de-de/windows/desktop/api/
(date > ‘2018-04-05 23:07:05’ and date < ‘2018-04- winioctl/ns-winioctl-read_usn_journal_data_v0 (last accessed
06 23:59:59’) which hides all activities that occurred 2018-12-05).
8
13. The USN REASON BASIC INFO CHANGE value number of log entries). Additionally, TOR was installed
is shown for the secret files container in log 1549 for accessing the dark web as well as Google Chrome for
(22:37:19). This means that there is some type of regular browsing. Lastly, setMACE, which is an anti-
activity with the file shortly after VeraCrypt was ex- forensic tool that allows to tamper with timestamps, was
ecuted. Logs 1665 and 1666 indicate that something installed but never executed17 . Several files and directories
was deleted shortly after the secret files folder was were set up throughout the virtual machine.
being modified (one can only see that something was
deleted but there is no proof that it was the files down- 4.4.3. Solution
loaded). Based on the case description, we know that the Fred
The final step is to load the usb2sen.csv into Timeline2GUI is accused of credit card fraud / scam and that the police
which is the log file for the USB Drive. Due to small arrested the suspect on April 19, 2018. Given that our
timeline, no filter is required. initial filter will look at a wide range of events: (date >
‘2018-01-01 00:00:00’ and date < ‘2018-04-20 23:59:59’).
14. Log 40 at 22:37:33 shows that the secret files was cre-
ated on the USB. 1. We started by searching terms like scam, credit and
fraud which revealed several entries. Logs 0 to 2 in-
In summary, the logs support the assumption that Vera- dicate that a ‘credit card info’ file was created on
Crypt was executed and ‘secret files’ was created. Fur- the system at 14:31:00 on 2018-04-05 (lines are high-
thermore, we saw that security changes were made to all lighted).
downloaded files before they were deleted. Next, a USB 2. Having a better idea about the timeframe, we ad-
Drive was connected where the USB logs showed that se- justed the filter to (date > ‘2018-04-05 14:20:00’ and
crets files was created around the same time. Once the file date < ‘2018-04-20 23:59:59’). The aforementioned
was moved to the USB, the secrets file was deleted from creation of the file can now be found in logs 2389 and
the system. To conclude, there is a high chance that the 2390.
files are located in the secrets files container on the USB 3. While scrolling, two more green lines caught our at-
dongle. However, in order to be 100% certain, one would tention: ‘phone numbers.rtf’ in line 2405 at 14:33:16
have to open the encrypted container or see if the files can on 2018-04-05 followed by ‘Call Instructions’ (line
be recovered (e.g., file carving). 2671 at 14:36:16). Note, the files are included and
can be analyzed as well.
4.4. Case III - Advanced 4. Next, we looked for modifications of the files. There-
The advanced scenario is a case where a suspect’s com- fore, re-searching ‘credit’ revealed several logs ranging
puter is seized, and then evidence is found that the suspect from 2018-04-06 to 2018-04-19 which indicate that the
was stealing credit card information but the suspect claims credit card info file was modified (e.g., maybe cause
s/he innocent. of adding new credit card details). The logs are high-
lighted in yellow and green.
4.4.1. Case description
Having a look at these 3 files (provided in the sce-
Alice received a phone call from a person trying to steal
nario.zip file) reveal that ‘phone numbers.rtf’ contains a
her credit card information. Fortunately she was prepared
list of phone numbers which was utilized by the ‘Call In-
and did not fall for the scam but contacted the police and
structions’ pseudo script to call the individuals. If success-
provided the phone number that called her. The police
ful, the data was stored in ‘credit card info’.
tracked down the cellphone owner to be a person by the
name Fred who was arrested on April 19th. Fred claims Given that the logs prove that the files had been created
that he did not steal credit card information nor wanted after April 4th (the date the machine was purchased), it
he to sell them on the dark web. To the contrary, he claims is unlikely that the previous owner was involved. Moving
that it was the previous owner from whom he purchased forward, the investigator can focus on the question if the
the computer and phone on April 4th. While seizing the suspect attempted to sell the information (charge him with
computer, the machine was still running and the officers attempting to sell stolen property).
noticed that a TOR browser was open and that ‘setMACE’
6. To analyze web activity, we filtered for (source
was downloaded successfully.
== ‘WEBHIST’) which returns what the user had
searched / visited on the Internet.
4.4.2. Setup
7. One will find setMACE in log 4832 (on 2018-04-12
The scenario was created over a 4 day span and is 34 GB at 23:00:23; highlighted yellow) and a hint for TOR
in total (compared to the previous 8 GB images). Our
intention was to create a more realistic and comprehen-
sive case. Avast Internet Security was installed and secu- 17 While there were several attempts to execute it, it never actually
rity scans were executed periodically once a day (increased run.
9
browser in log 5013 (on 2018-04-19 at 23:04:10; high- browsing (e.g., highlighting improves the user experience
lighted yellow)18 . and eventually accelerate the process).
8. We then went back to the complete range (date This worked presented an easy-to-use parser for CSV
> ‘2018-04-05 14:20:00’ and date < ‘2018-04-20 timelines (created with Log2Timeline) named Time-
23:59:59’) and searched for ‘setMACE’. line2GUI as well as three training cases – beginner, in-
9. Log 36 to 54 (on 2018-04-10 at approximately 14:34) termediate and advanced – including detailed descriptions
show that setMACE was downloaded onto the com- of the setup and solutions. The layout and highlighting
puter. capabilities of Timeline2GUI are based on the well-known
10. Continuing scrolling, logs 300 and 338 allows to con- Excel sheet. However, our tool comes with two views (re-
clude that setMACE was executed on the system. duced view and detailed view), an enhanced filtering mech-
Both of execution happened on 2018-04-19 (high- anism and is more straightforward to use. Additionally,
lighted in red). our python tool is open-source and thus can be extended.
11. As a next step we focused on TOR since the browser We developed three training cases that are freely avail-
was active when seizing the machine. Therefore, we able, independent from our implementation and can be
searched for TOR and TorProject which led us to used to improve investigator’s timeline analysis skills by
2018-04-19 at 23:04:32 – TOR was downloaded. either using Timeline2GUI, the Excel sheet or any other
12. Focusing on the final 2 days before the device was tool. Our scenarios range from from 8 GB to 34 GB which
seized, the results revealed that Fred searched for how can be seen rather small compared to the real world sce-
to access the dark web on 2018-04-19 at 23:03:24. narios. The timelines (logs) are available for download (see
A few seconds later (23:03:55) we can see that he Sec. 4); one possible solution path per case was provided
searched for how to sell information online. in this article.
13. There were no identifiers / logs that the user actu- As indicated by our solutions, highlighting certain
ally accessed the dark web or sold information but he events (e.g., file creating, web history or prefetch files) cer-
certainly informed himself. tainly helps to find interesting / relevant events. However,
in order to understand the complete case, an investigator
14. Lastly, we had a second look at setMACE again where
also has to be familiar with computer / operating system
we focused on the last day. Under the refined results,
events and may still have to look at x-thousand logs to find
logs 17, 23, 37, 42, 50, 55, 69, 82, 87, 98, 106, 114, and
a clue. For instance, it is important to be familiar with
multiple more logs indicated that setMACE failed to
system events, e.g., what are the implications if a prefetch
run on the system. This is an indicator that setMACE
log event occurs or if WUDFHOST.exe is run. In case of
was not executed correctly on the system by the user
beginners, it may be helpful to create a cheat sheet that
and it is likely that nothing was manipulated.
contains the log event and a brief explanation on its impli-
15. The save CSV button was pressed and all the logs for
cation. Overall, reviewing the 3rd scenario took about 4-5
2018-04-19 were saved because it was within that time
hours using Timeline2GUI (although we created the case).
frame where the majority of the actions happen.
It would have taken longer when looking at the plain text
To conclude this scenario: Some evidence was found on using a regular text editor.
the device (e.g, telephone numbers, credit card numbers Timeline analysis is a powerful technique to understand
as well as a script for calling individuals) indicating that what happened to a system or device. However, it is not
the machine was used for illegal activities. All logs imply trivial and can be very time consuming. In the future,
that the activities happened after April 4th (the date the we want to further improve Timeline2GUI to hopefully
machine was purchased). Even though a timestamp ma- speed up the process, e.g., by removing irrelevant events,
nipulation tool (setMACE) was found, the timeline seems or combining events. In a first step, we will explore if we
unaltered and does not contain any outliers. The existence can use techniques from approximate matching combine
of TOR and the search history show an intent to sell in- similar events (Breitinger et al., 2014).
formation but there is no evidence that it was sold or for
accessing the dark web.
References
5. Conclusion and future work Berggren et al. (2018). Timesketch. https://github.com/google/
timesketch.
Reading / parsing CSV files is straightforward and sev- Breitinger, F., Guttman, B., McCarrin, M., Roussev, V., & White,
eral tools exist (e.g,. Excel, Apples Numbers). However, D. (2014). Approximate matching: definition and terminology.
research stresses the importance of dedicated tools that NIST Special Publication, 800 , 168.
Buchholz, F. P., & Falk, C. (2005). Design and implementation of
support investigators to do fast filtering and allow efficient zeitline: a forensic timeline editor. In DFRWS .
Carbone, R., & Bean, C. (2011). Generating Computer Foren-
sic Super Timelines under Linux: A Comprehensive Guide for
18 Note, we scrolled through and looked at it line by line but espe- Windows-based Disk Images. Technical Report Defence Research
cially for highlighted lines. and Defence Canada-Valcartier Quebec, Quebec.
10
Carvey, H. (2011). Howto: Creating mini-timelines. https://wind Appendix A. Log2Timeline parsers
owsir.blogspot.com/2011/09/creating-mini-timelines.html.
Carvey, H. (2015). Micro & mini-timelines. https://windowsir.bl
ogspot.com/2015/04/micro-mini-timelines.html.
Chabot, Y., Bertaux, A., Nicolle, C., & Kechadi, M.-T. (2014). A Below is a list of all available Log2Timeline /
complete formalized knowledge representation model for advanced plaso parsers which we received by running the
digital forensics timeline analysis. Digital Investigation, 11 , S95– log2timeline.py --help in the Terminal.
S105.
Chabot, Y., Bertaux, A., Nicolle, C., & Kechadi, T. (2015). An
ontology-based approach for the reconstruction and analysis of ***************************** Parsers *****************************
digital incidents timelines. Digital Investigation, 15 , 83–100. Name : Description
Chandrawanshi, R., & Gupta, H. (2013). A survey: Server time- -------------------------------------------------------------------
line analysis for web forensics. International Journal of Scientific amcache : Parser for Amcache Registry entries.
Research Engineering and Technology (IJSRET), 1 , 017–021. android_app_usage : Parser for Android usage-history.xml files.
asl_log : Parser for ASL log files.
Chapin, B. (2013). Timeline Creation and Analysis Guides. Tech- bash : Parser for Bash history files
nical Report Senator Patrick Leahy Center for Digital Investiga- bencode : Parser for bencoded files.
tion (LCDI). https://www.champlain.edu/Documents/LCDI/Tim binary_cookies : Parser for Safari Binary Cookie files.
eline_Creation_and_Analysis_Guides.pdf. bsm_log : Parser for BSM log files.
Eichelberger, F. (2014). Automation of report and timeline-file based chrome_cache : Parser for Chrome Cache files.
chrome_preferences : Parser for Chrome Preferences files.
file and url analysis. Interested in learning more about cyber se- cups_ipp : Parser for CUPS IPP files.
curity training? SANS Institute InfoSec Reading Room, . custom_destinations : Parser for *.customDestinations-ms files.
Esposito, S., & Peterson, G. (2013). Creating super timelines in win- dockerjson : Parser for JSON Docker files.
dows investigations. In IFIP International Conference on Digital dpkg : Parser for Debian dpkg.log files.
Forensics (pp. 135–144). Springer. esedb : Parser for Extensible Storage Engine (ESE)
database files.
Esposito, S. J. (2012). Analysis of forensic super timelines. Technical
filestat : Parser for file system stat information.
Report Air Force Inst Of Tech Wright-Patterson AFB OH School firefox_cache : Parser for Firefox Cache version 1 files
Of Engineering And Management. (Firefox 31 or earlier).
Gudjonsson, K. (2010a). Mastering the super timeline - log2timline firefox_cache2 : Parser for Firefox Cache version 2 files
style. https://digital-forensics.sans.org/summit-archives/ (Firefox 32 or later).
2010/eu-digital-forensics-incident-response-summit-krist fsevents : Parser for fseventsd files.
java_idx : Parser for Java WebStart Cache IDX files.
inn-gudjonsson-mastering-the-super-timeline.pdf. lnk : Parser for Windows Shortcut (LNK) files.
Gudjonsson, K. (2010b). Mastering the super timeline with mac_appfirewall_log : Parser for appfirewall.log files.
log2timeline. Technical Report. https://www.sans.org/summit-a mac_keychain : Parser for MacOS Keychain files.
rchives/file/summit-archive-1493923574.pdf. mac_securityd : Parser for MacOS securityd log files.
Gudjonsson, K. (2015a). Using log2timeline. https://github.com/l mactime : Parser for SleuthKit version 3 bodyfiles.
macwifi : Parser for MacOS wifi.log files.
og2timeline/plaso/wiki/Using-log2timeline. mcafee_protection : Parser for McAfee AV Access Protection log
Gudjonsson, K. (2015b). Using pinfo. https://github.com/log2tim files.
eline/plaso/wiki/Using-pinfo. mft : Parser for NTFS $MFT metadata files.
Hargreaves, C., & Patterson, J. (2012). An automated timeline re- msiecf : Parser for MSIE Cache Files (MSIECF) also
construction approach for digital forensic investigations. Digital known as index.dat.
olecf : Parser for OLE Compound Files (OLECF).
Investigation, 9 , S69–S79.
openxml : Parser for OpenXML (OXML) files.
Harrell, C. (2011). What’s a timeline. http://journeyintoir.blog opera_global : Parser for Opera global_history.dat files.
spot.com/2011/09/whats-timeline.html. opera_typed_history : Parser for Opera typed_history.xml files.
Ieong, R. S. (2006). Forza–digital forensics investigation framework pe : Parser for Portable Executable (PE) files.
that incorporate legal issues. digital investigation, 3 , 29–36. plist : Parser for binary and text plist files.
Maurer, M. (2016). Evidence fetcher (efetch). https://github.com pls_recall : Parser for PL/SQL Recall files.
popularity_contest : Parser for popularity contest log files.
/maurermj08/efetch. prefetch : Parser for Windows Prefetch files.
McQuaid, J. (2014). Forensic analysis of prefetch files in win- recycle_bin : Parser for Windows $Recycle.Bin $I files.
dows. https://www.magnetforensics.com/computer-forensics recycle_bin_info2 : Parser for Windows Recycler INFO2 files.
/forensic-analysis-of-prefetch-files-in-windows/. rplog : Parser for Windows Restore Point (rp.log)
Metz, J. (2015). Using psort. https://github.com/log2timeline/ files.
sccm : Parser for SCCM logs files.
plaso/wiki/Using-psort. selinux : Parser for SELinux audit.log files.
Metz, J. (2017). Log2timeline/plaso. https://github.com/log2tim skydrive_log : Parser for OneDrive (or SkyDrive) log
eline/plaso/wiki. files.
Olsson, J., & Boldt, M. (2009). Computer forensic timeline visual- skydrive_log_old : Parser for OneDrive (or SkyDrive) old log
ization tool. digital investigation, 6 , S78–S87. files.
sophos_av : Parser for Anti-Virus log (SAV.txt) files.
Quick, D., & Choo, K.-K. R. (2014). Impacts of increasing volume
sqlite : Parser for SQLite database files.
of digital forensic data: A survey and future research challenges. symantec_scanlog : Parser for Symantec Anti-Virus log files.
Digital Investigation, 11 , 273–294. syslog : Syslog Parser
SANS Institutes (2011). Log2timeline cheatsheet. https://digita usnjrnl : Parser for NTFS USN change journal
l-forensics.sans.org/media/log2timeline_cheatsheet.pdf. ($UsnJrnl).
Walter, J. (2016). Kibana and SANS Evidence of ... . http://www. utmp : Parser for Linux/Unix UTMP files.
utmpx : Parser for UTMPX files.
carpeindicium.com/blog/kibana-sans-evidence-of/. winevt : Parser for Windows EventLog (EVT) files.
Weber, R. (2017). How to use log2timeline! https://medium.com/d winevtx : Parser for Windows XML EventLog (EVTX) files.
fclub/how-to-use-log2timeline-54377e24872a. winfirewall : Parser for Windows Firewall Log files.
Wiedeman, G. (2016). Practical digital forensics at accession for winiis : Parser for Microsoft IIS log files.
born-digital institutional records. Code4Lib Journal, 31 . winjob : Parser for Windows Scheduled Task job
(or At-job) files.
winreg : Parser for Windows NT Registry (REGF) files.
xchatlog : Parser for XChat log files.
xchatscrollback : Parser for XChat scrollback log files.
zsh_extended_history : Parser for ZSH extended history files
-------------------------------------------------------------------
11
Appendix B. Log2Timline output modules
12